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