paulbeach
7602a29b94
HPUX Port
2007-11-12 14:26:44 +00:00
asfernandes
a1c1df532c
Simple fix for CORE-1539 - select * from rdb$triggers where rdb$trigger_source like 'CHECK%'
2007-11-03 17:49:42 +00:00
alexpeshkoff
82d480d75e
Fixed CORE-1560: NULLIF crashes when first parameter is constant empty string
2007-11-02 14:43:11 +00:00
asfernandes
944108171e
Use const in SysFunction as suggested by Dmitry Kovalenko
2007-10-12 20:25:04 +00:00
asfernandes
63de95f1d9
Fixed CORE-1451 - Using RDB$DB_KEY in where section while selecting from a procedure crashes the server
2007-09-27 15:52:47 +00:00
hvlad
776188e1d9
Fixed bug CORE-1428 : Incorrect timestamp substraction in 3 dialect when result is negative number
2007-08-27 21:48:47 +00:00
robocop
715b05566e
Misc.
2007-08-01 09:00:20 +00:00
dimitr
cc0b9f9d4a
Fixed CORE-1389.
2007-07-31 13:06:11 +00:00
asfernandes
b5a23c12d1
Improvements:
...
1) CORE-1387 - Add MILLISECONDS handling to EXTRACT, DATEADD and DATEDIFF functions
2) CORE-663 - EXTRACT(WEEK FROM DATE)
2007-07-31 01:22:59 +00:00
asfernandes
e68d7a24f3
Fixed CORE-1347 - Unexpected "cannot transliterate" error
2007-07-05 15:39:01 +00:00
asfernandes
3e33eda40b
Fixed CORE-1334 - Joins with NULL RDB$DB_KEY crash the server
2007-07-01 23:13:09 +00:00
alexpeshkoff
e5f1e63836
Fixed CORE-1312: A remote attacker can check, if a file is present in the system, running firebird server
2007-06-08 10:24:57 +00:00
robocop
5f3d9bbd54
Misc.
2007-05-18 06:15:26 +00:00
asfernandes
7ddc994041
Fixed CORE-1267 - Small bug with default value for domains in PSQL
2007-05-18 01:50:26 +00:00
asfernandes
c97d57013e
Fixed CORE-1253 - LIST(DISTINCT) concatenate VARCHAR values as CHAR
2007-05-11 02:07:36 +00:00
hvlad
c4d77fe045
Fixed CORE-1248 : Incorrect timestamp arithmetic when one of operands is negative number
2007-05-07 13:23:22 +00:00
asfernandes
cfe0ad95cf
Fixed CORE-1227 - LIST() function seems not work if used twice or more in a query
2007-05-05 19:28:46 +00:00
dimitr
6ced0295a5
Misc.
2007-04-13 13:21:23 +00:00
asfernandes
166fc0b865
Misc
2007-04-13 01:37:44 +00:00
asfernandes
8c7076b67f
Port of Yaffil builtin functions
2007-04-12 15:56:34 +00:00
alexpeshkoff
9068d7787f
Frontported alignment and endianess fixes from 2.0
2007-03-25 16:09:00 +00:00
asfernandes
0b3e789230
Fixed CORE-1150 - Error conversion error from string " " using outer join on int64 and int fields
2007-03-02 15:22:48 +00:00
asfernandes
2100a06c84
Make MOV_move know how to move blobs.
...
This fixes CORE-1147: Blobs are not converted to string in UDF parameters.
2007-03-02 00:46:03 +00:00
asfernandes
2d26b3f5f8
Allow BLOBs in EXECUTE STATEMENT and possibly in others unkown cases
2007-02-27 02:36:20 +00:00
asfernandes
05e6ebd58c
Check constraints when reading variables/parameters only if it's the first read and it's wasn't assigned yet
2007-02-06 14:25:10 +00:00
dimitr
92a267a81b
Addressed issue spotted by Claudio.
2007-02-05 09:13:05 +00:00
dimitr
117b30c4dc
Fixed one more related issue for CORE-1112.
2007-01-29 03:03:43 +00:00
dimitr
bbd2aec3ab
Fixed both bugs mentioned in CORE-1112.
2007-01-29 03:00:09 +00:00
asfernandes
be9e3a8a84
1) Correction for input parameters
...
2) Correct message for constraint violation in CAST
3) Display parameter/variable number when there is no debug info
2007-01-17 23:59:23 +00:00
asfernandes
c359f0c080
Fixed a crash when validating NULL with a constraint
2007-01-17 14:21:50 +00:00
asfernandes
aca179f398
Full domain support and NOT NULL in PSQL
2007-01-17 01:19:01 +00:00
hvlad
65aad0d540
Fixed my mistake pointed by Dmitry
2007-01-06 11:06:22 +00:00
dimitr
5320dae4ce
Fixed CORE-1073.
2006-12-30 07:22:46 +00:00
hvlad
2e343c74ef
Implement improvement CORE-1069 : Optimize index scan when more than one index scanned and ANDed
2006-12-27 21:01:02 +00:00
alexpeshkoff
7802ca6662
removed old hack for AIX, no idea what it was for (frontport)
2006-11-30 09:23:55 +00:00
dimitr
543fc5e0d1
Enabled rescheduling points for classic. It allows to shutdown database or cancel operation timely for a heavy loaded attachment.
2006-10-31 15:59:23 +00:00
asfernandes
1d422a8330
1) Refactor intl_classes.h and intl.cpp
...
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
dimitr
988782a96a
1) A new class to handle aggregated multi-level performance counters.
...
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00
dimitr
a4f78f4365
1) Fixed CORE-925
...
2) Added assertion to EVL to catch other related bugs
3) An attempt to simplify my previous solution
2006-09-12 11:36:18 +00:00
asfernandes
20dcfe733b
Misc
2006-09-10 15:24:22 +00:00
robocop
af8ecc26ca
Solve three problems with arrays:
...
- Don't allow to apply scalar/subscript syntax to fields that aren't array.
- Detect if we get corrupt database containing array with more than 16 dimensions.
- Reject attempt to subscript array with more than 16 dimensions and thus fix the buffer overrun.
2006-09-10 09:05:40 +00:00
robocop
e56aeea01a
Cleanup.
2006-09-09 08:32:32 +00:00
asfernandes
5c26d54f02
1) Fixed CORE-899 - Problems with explicit cursors in unwanted states
...
2) Make RDB$DB_KEY in outer joins returns NULL when appropriate
2006-09-07 01:55:49 +00:00
asfernandes
1f23f34790
Misc
2006-09-03 19:32:43 +00:00
aafemt
e6151fd57f
Warnings
2006-09-01 10:51:57 +00:00
asfernandes
0b0da9cfba
Don't generate error with large length even for substring of string.
...
The substring will never be larger than the source string.
2006-08-17 12:48:26 +00:00
asfernandes
1d44a0a6ac
1) Allow large offset and length in substring of blob.
...
2) Don't generate error in case of large offset of substring of string, it will correctly return empty string.
Thanks to Claudio
2006-08-17 12:34:33 +00:00
asfernandes
ad5a99420d
Fixed CORE-896 - SUBSTRING with NULL offset or length don't return NULL
2006-08-16 00:09:27 +00:00
robocop
7f6ae13541
Do not cheat with const.
2006-08-13 06:47:52 +00:00
asfernandes
4180a46169
1) Make SUBSTRING of BLOB work
...
2) More refactoration on describing result of expressions (concatenate and substring)
2006-08-12 03:17:01 +00:00
asfernandes
eb4fb2f491
1) Concatenate of BLOBs
...
2) Start a refactoration on descriptor manipulations
2006-08-10 02:53:16 +00:00
asfernandes
da697e6e78
Work on CORE-655 - Blob Type 1 compatibility with VarChar:
...
Compatibility of blobs with others data types and different blob sub_types in assignments and CAST.
2006-08-05 19:52:26 +00:00
dimitr
708ef58eea
Restored the evaluation-time checks I removed recently.
2006-07-25 05:35:04 +00:00
robocop
692d7e649c
Workaround for CORE-870
2006-07-25 05:08:47 +00:00
dimitr
bbaea14abe
Misc.
2006-07-23 11:14:43 +00:00
dimitr
4d6df6d2e6
1) Replace API encode/decode routines with TimeStamp methods
...
2) Encapsulate range checks inside TimeStamp class
3) Fixed CORE-347
2006-07-21 08:15:48 +00:00
asfernandes
9d11604e9f
Fix CORE-852 - substring(current_user from 4) without for fails
2006-07-12 18:42:46 +00:00
dimitr
6c2b110a8e
Fixed the bug reported by Adriano.
2006-06-20 04:16:50 +00:00
dimitr
7cc12e8489
1) Reworked memory management in SORT. Now we're pools aware there.
...
2) Reworked error handling in SORT and its callers.
3) Replaced DLS+SortMem with the generic TempSpace class.
4) Replaced GDS temp file management with the TempFile class.
5) Various cleanup.
2006-05-31 08:53:00 +00:00
dimitr
211645e3dc
Getting rid of the old allocator routines.
2006-05-23 10:17:00 +00:00
hvlad
701f2cbda4
Global temporary tables implementation
2006-05-21 22:07:35 +00:00
alexpeshkoff
b056a118b5
1. Avoid use of STL
...
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
asfernandes
22640e1189
BLB_put_segment can't write more than 64K in one shot.
...
Create BLB_put_data and use it. Thanks to Claudio.
2006-05-13 18:35:13 +00:00
asfernandes
40bfb5f0f4
Make TRIM of blob work - returning a blob
2006-05-13 01:27:35 +00:00
dimitr
3aabec533d
More correct ttype handling for concatenation.
2006-04-30 18:13:27 +00:00
robocop
64f2d873bf
Misc.
2006-04-29 08:56:54 +00:00
robocop
70f47eb720
I don't get Adriano's observation, but I assume it's true. I restore Dmitry's code without the const: VC6 can't delete const data.
2006-04-29 05:41:31 +00:00
robocop
dbea8030f4
MSVC6 says:
...
error C2664: 'delete' : cannot convert parameter 1 from 'const class VaryingString *' to 'void *'
Conversion loses qualifiers
So maybe the rules changed for VC7. Anyway, I simplified the logic here to achieve the same in a direct way.
2006-04-29 00:57:26 +00:00
asfernandes
66423bfd37
Remove not needed asserts
2006-04-28 02:35:34 +00:00
dimitr
5d813ff2dd
Restored performance of the regular concatenation.
2006-04-25 16:22:41 +00:00
dimitr
bf1e56bff1
Fixed a bugcheck by restoring to the old nod_count processing.
...
Still clueless why it's done that way.
2006-04-25 12:54:12 +00:00
dimitr
54d4cc4ddf
The core implementation of the LIST function. Unstable yet.
2006-04-24 16:56:58 +00:00
asfernandes
386887ed47
Corrections - thanks to Claudio
2006-04-18 12:40:52 +00:00
asfernandes
33313db1aa
Misc
2006-04-16 18:49:26 +00:00
asfernandes
3b54c24652
Let LOWER/UPPER (blob) work - returning a blob
2006-04-16 18:45:40 +00:00
robocop
c5f2284b15
Style.
2006-04-06 08:18:53 +00:00
dimitr
25614c8969
Protected from assignments to not existing fields.
2006-03-28 09:55:45 +00:00
robocop
3389149564
The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
...
Tenth step: some code was tagged PC_ENGINE but was for SCROLLABLE_CURSORS instead, hence restore it. Also, clean unused data members, obsolete BLR verbs and the like.
2006-02-07 08:08:49 +00:00
robocop
97122ee389
Replace jrd_time.h by our timestamp.h, but I left timestamp.h's #includes commented where it *seemed* not necessary.
2006-02-03 08:39:36 +00:00
robocop
2b99e764e3
The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
...
Sixth step: remove the places protected by the macro PC_ENGINE. More to come. (I guess all of you who have pending functional changes to post will love this commit. <g>)
2006-02-02 07:32:07 +00:00
robocop
c2fe7385ab
The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
...
Second step: remove them from #include clauses in other files. More to come.
2006-02-01 08:55:43 +00:00
robocop
85d06131f6
Misc.
2005-12-28 06:42:58 +00:00
asfernandes
2b95393517
Fixed problem "STARTING WITH and subselect CASE bug" reported by Mustafa WILMAZ on fb-devel
2005-12-06 01:02:22 +00:00
alexpeshkoff
f4feffe700
fixed some warnings
2005-12-02 16:48:47 +00:00
robocop
f00fc0ff56
1.- Make "vec" type safe and get rid of several code contortions. Fix some small bugs meanwhile.
...
2.- Put inside PC_ENGINE several data members that belong to that feature.
3.- Put inside PC_ENGINE the code that does cleanup on those unused data members.
2005-12-02 07:35:34 +00:00
dimitr
3f5bb7564d
1) Prepare the blobs mover to be ready for dtype_blob variables.
...
2) Fix the string routines to work with PSQL blobs.
2005-11-25 15:20:26 +00:00
dimitr
5c3ab02e9e
Fixed division when compile-time and runtime scales don't match.
...
Look at multiply2() for example.
2005-11-08 15:24:01 +00:00
dimitr
8120b697fc
Fixed the bug reported by Jim.
2005-10-28 08:11:35 +00:00
dimitr
ece4b26cd4
Oops, committed unfinished work by accident. Restored.
2005-10-21 09:47:51 +00:00
dimitr
868a5bb21f
Better (and more honest) diagnostics.
2005-10-21 09:43:26 +00:00
dimitr
15874a6ed9
Added optional seconds precision to CURRENT_TIME and CURRENT_TIMESTAMP
...
as agreed with Ann and others times ago.
2005-08-24 09:16:19 +00:00
robocop
f3606028e1
No need to call SET_TDBB if we do nothing.
2005-07-08 03:27:07 +00:00
asfernandes
fc1f7057f0
Better handling in substring of large blobs
2005-06-26 02:09:39 +00:00
asfernandes
28bd971d6e
Comment
2005-06-24 15:38:31 +00:00
dimitr
e3578f5912
Fixed reported issues with ROW_COUNT.
2005-06-24 12:56:34 +00:00
asfernandes
890494ac7c
1) Fixed SF #1016040 Missing external libraries causes engine exception
...
2) Use better error messages
2005-06-14 03:16:54 +00:00
asfernandes
95d02bdd95
Removed wrong "deletes" noticed by Claudio
2005-06-13 03:55:20 +00:00
robocop
55a5a222e1
Misc.
2005-06-13 03:48:14 +00:00
robocop
a867f700d0
Substring evolved and the error message was never updated. Now I've done two messages, although I think we need three in the long term.
2005-06-12 23:45:15 +00:00
asfernandes
a44e8ffbd0
Fix TRIM(NULL FROM <something>) to return NULL
2005-06-12 21:20:12 +00:00
robocop
d431360780
EVL_expr grew too much. Make more functions.
2005-06-11 00:14:55 +00:00
asfernandes
559ce29c51
1) Replace length_ to strlen as noted by Claudio and Dmitry
...
2) Change USHORT to ULONG in intl.cpp
2005-06-06 18:14:10 +00:00
robocop
b8d1f00f94
- Corrections and changes to Adriano's commit, subject to his inspection.
...
- Solved an endless loop with trim and zero-length trim characters, etc.
- Some places are signaled with FB_COMPILER_MESSAGE for prompt attention.
2005-06-06 08:30:03 +00:00
asfernandes
59213efe7e
Merge INTL branch into HEAD
2005-05-27 22:45:31 +00:00
alexpeshkoff
c03d2241c5
fixed issues, reported by Claudio
2005-05-17 18:20:07 +00:00
robocop
3f0b18df85
Misc.
2005-05-16 09:15:31 +00:00
alexpeshkoff
5729790ed6
1. Applied class MetaName
...
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
dimitr
d9c5e93442
Removed unused crap.
2005-03-11 08:34:20 +00:00
arnobrinkman
6e12991438
little optimalization
2005-01-27 15:02:17 +00:00
robocop
af6a16107a
Misc.
2004-11-30 06:18:39 +00:00
robocop
54cc81876e
Misc.
2004-11-28 08:36:54 +00:00
robocop
b15c8531e0
Change my FB1 logic that returned the table's owner for the role when a not null field with default CURRENT_ROLE is added, the table has records already and the user does a SELECT. Now, if CURRENT_USER==table's owner, then the CURRENT_ROLE is returned, otherwise NONE.
2004-11-28 08:25:09 +00:00
skidder
c40eb08a27
Remove CURRENT_DATABASE keyword
2004-11-22 20:50:34 +00:00
dimitr
f241ba10c9
Cleanup.
2004-11-18 09:14:20 +00:00
dimitr
bc9c7c0b30
no message
2004-11-17 19:45:28 +00:00
dimitr
7072fa6bb4
Fixed bug found by Claudio.
2004-11-17 12:33:30 +00:00
skidder
23c5b5810c
Fix the bug I recently added to CURRENT_TIME precision handling
2004-11-14 21:08:32 +00:00
dimitr
2a4b4051fa
Restored missing asserts.
2004-11-12 05:32:13 +00:00
skidder
1e26d6c80d
CURRENT_DATABASE implementation. Established identity may also be used for isc_info_db_id datum
2004-11-11 05:37:52 +00:00
robocop
e5be73b048
Misc: extra semicolons do not help. :-)
2004-11-07 10:47:20 +00:00
skidder
933063c7ce
Slightly adjust Dmitry's Firebird::TimeStamp class to make it more useful, change is coordiated with Dmitry. Use thread-safe localtime_r routine when it is available
2004-11-04 19:14:20 +00:00
dimitr
5040f83365
Changed TimeStamp class a bit, as suggested by Claudio.
2004-11-01 08:29:16 +00:00
hvlad
13730a72a8
Fixed broken unique index creation found by Adriano dos Santos Fernandes (unique indices can be created with duplicate keys)
2004-11-01 07:51:55 +00:00
dimitr
feb6b7e006
Replaced non-centralized datetime management with a new class.
2004-10-30 19:41:54 +00:00
skidder
d65eac7698
Go back to passing pointers to impure areas instead of direct bitmap pointers. The approach I tried doesn't work with nod_bit_in correctly and doesn't seem pretty to me anymore
2004-10-28 23:26:16 +00:00
dimitr
1a6f5881db
Let's include milliseconds also in CURRENT_TIMESTAMP, accordingly to the SQL spec.
2004-10-27 13:27:30 +00:00
dimitr
09c51110b4
Added the equivalence operator. The major index optimizations are done.
...
Notes:
1) Some optimizations will follow after more deep analysis.
2) The syntax "==" is not yet agreed on. I'd prefer it to be changed.
2004-10-14 19:09:19 +00:00
hvlad
19f2f6fb05
Correct declaration as Claudio suggested
2004-10-11 17:18:42 +00:00
robocop
0ffefddd17
Misc.
2004-10-09 01:40:32 +00:00
hvlad
62bcf6c131
Move 'fini_agg_distinct' declaration and definition in alphabet order
2004-10-08 11:10:58 +00:00
hvlad
edf72a34f6
Fix memory leak when a query contains both GROUP BY and DISTINCT and result set is empty
2004-10-08 10:18:41 +00:00
dimitr
421f259a4e
1) Locks related cleanup
...
2) Got rid of TRA_nowait + transaction waits related cleanup
3) Return isc_lock_timeout when it's necessary
TODO: Enhance SET TRANSACTION
2004-10-07 09:15:32 +00:00
dimitr
ae9d129c1c
Added more points to reschedule.
2004-10-03 12:10:19 +00:00
robocop
95bd842887
Shorter code.
2004-10-02 09:29:48 +00:00
skidder
02a0915156
Teach engine to work with larger record numbers - 64-bit internally, 40-bit externally
2004-09-28 06:28:38 +00:00
skidder
497c601acc
Reading memory after the end of array is generally bad practice. Avoid it.
2004-09-25 20:29:51 +00:00
dimitr
87c1305c03
Removed compile-time upper bound checks.
...
Limited the SUBSTRING result by 32k characters.
2004-09-22 07:36:55 +00:00
robocop
b60c0e4cab
Misc: format
2004-08-21 09:29:46 +00:00
dimitr
ca4ea54a1e
Small optimization of multiple OR booleans (or a constant IN predicate).
...
The idea is to use a single sparse bitmap for an index matching and hence avoid OR'ing bitmaps for every argument value.
Ported from Yaffil.
2004-08-17 17:52:19 +00:00
dimitr
f9bc338798
Added more checks for a possible literal NULL and another cases when EVL_expr() may return NULL pointer.
2004-08-17 12:28:57 +00:00
alexpeshkoff
31039a254e
next step preparing to allocate auto objects memory from appropriate pool
2004-08-16 12:28:43 +00:00
dimitr
9dc9adf017
Fixed implementations of concatenation and SUBSTRING function.
...
Used new messages for error reporting. Changes should be fully SQLDA-compatible.
2004-08-02 19:49:12 +00:00
skidder
a624a4ac53
Small addition to my previous LIKE fix
2004-07-26 21:32:41 +00:00
skidder
2f7b378158
Fix another problem with my LIKE evaluator
2004-07-20 22:56:32 +00:00
skidder
a64a211a1d
allow processNextChunk receive empty string in pattern matchers. This fixes troubles in DEV_BUILD noticed by Claudio
2004-07-07 15:48:57 +00:00
robocop
682b582764
USHORT -> bool
2004-07-07 03:47:12 +00:00
robocop
949830d0c6
1.- const correctness
...
2.- style
3.- Try to fix the mess caused by different data types used to represent bifields of SCL_ constants defined in scl.h,
first round. No circular dependencies found through MSVC. Still pending dyn* and grant.epp files.
2004-06-29 04:37:59 +00:00
skidder
2915fcf547
Somewhat simplify invariant tracking stuff. It is more pessimistic now, but should work more reliably when invariants are modified (see QMDB tests for details)
2004-06-25 22:12:20 +00:00
alexpeshkoff
1591a54e5e
Thread cleanup:
...
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
alexpeshkoff
2f99a5ebf1
small strings cleanup
2004-05-26 16:12:05 +00:00