8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 02:43:03 +01:00
Commit Graph

369 Commits

Author SHA1 Message Date
alexpeshkoff
13a15d4bfe 1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +00:00
asfernandes
b910161f82 Fixed CORE-501 - Optimization problem with COALESCE 2008-08-20 01:54:45 +00:00
dimitr
585d8a3eec Fixed CORE-2039: Domain-level CHECK constraints wrongly process NULL values. 2008-08-12 07:22:12 +00:00
asfernandes
607f55503d Misc 2008-07-11 02:37:23 +00:00
alexpeshkoff
7c8427bc35 Separated CVT functions to common and jrd parts.
This made possible to avoid ugly CVT_move export.

Cleanup of errors handling in CVT functions.
2008-07-10 15:57:33 +00:00
alexpeshkoff
a2e416210b Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +00:00
asfernandes
cf7af2292d Fixed CORE-1962 - Incorrect extraction of MILLISECONDs 2008-06-25 15:58:03 +00:00
asfernandes
1eef61d8e4 Fixed CORE-1859 - Arithmetic overflow or division by zero has occurred. in MAX function 2008-04-26 15:58:16 +00:00
robocop
b70fc21329 Collapse some lines of repetitive code. 2008-04-24 10:56:57 +00:00
robocop
37ca104c1a Misc. 2008-04-18 14:30:45 +00:00
asfernandes
f66f7b28f5 1) Fix another possible invalid memory access in parse.y and the memcpy problem reported by valgrind
2) Misc
2008-04-14 15:22:52 +00:00
robocop
a808a2bda2 const and style. 2008-04-12 11:56:32 +00:00
robocop
752e3f1d43 Totally misc. 2008-04-06 08:07:00 +00:00
dimitr
d0a6ff7fe7 More changes targeted to a better error diagnostics. 2008-04-04 10:13:44 +00:00
dimitr
60fcb5886c More details about arithmetical exceptions. 2008-04-01 12:04:08 +00:00
robocop
cc72b37c9a Introduce more specific errors for date-time operations. 2008-03-28 13:21:59 +00:00
dimitr
b87b5032ef Changes in the TimeStamp class by Dmitry Kovalenko. 2008-03-26 10:21:04 +00:00
robocop
f9d26619eb Avoid one more indentation level. 2008-03-18 13:02:52 +00:00
asfernandes
5debf97382 Correction 2008-02-10 17:58:07 +00:00
asfernandes
46c115411a Fixed CORE-1254 - Problem with DISTINCT and insensitive collations 2008-02-09 15:19:21 +00:00
asfernandes
11b869588d Misc 2008-02-08 01:25:41 +00:00
asfernandes
561f612c16 Fixed problem (invalid BLOB id) with LIST(DISTINCT) 2008-02-07 14:45:49 +00:00
asfernandes
e87406f058 Fixed problem (invalid BLOB id) with LIST, appeared after blob memory consumption optimization 2008-02-06 14:29:57 +00:00
dimitr
8f742ba52c Major synchronization changes. Description of the commit will be posted to fb-devel. 2008-01-26 12:57:52 +00:00
alexpeshkoff
39896cb955 Fixed CORE-1671: atexit() calls in client libraries cause segfaults
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory

To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.

Also some related cleanup.
2008-01-23 15:52:40 +00:00
dimitr
e3128c2479 The merge continued. 2008-01-16 08:54:50 +00:00
alexpeshkoff
bd51630b00 Optimized code for domain-based variables (and procedure arguments) 2007-12-08 13:41:26 +00:00
asfernandes
41faeba3cc Misc 2007-12-05 00:03:15 +00:00
alexpeshkoff
eea9070f48 Optimized RuntimeStaticstics (and related part of ThreadDb) for performance - some tests run 25faster 2007-12-03 15:46:39 +00:00
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