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

313 Commits

Author SHA1 Message Date
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
skidder
8c62ac2800 Do not crash with MBCS blobs and LIKE/CONTAINING/STARTNING WITH. Use binary matching in this case for now until INTL is fixed 2004-05-21 23:26:38 +00:00
robocop
441817bd82 1.- Misc changes
2.- Style
3.- Recover dsc_ttype in dsc after Blas' cleanup as a synonym for dsc_sub_type in text types
2004-05-21 06:16:17 +00:00
brodsom
9d0ea30edf Rename evl_like.cpp to evl_like.h (after last changes it constains function templates) 2004-05-13 09:22:10 +00:00
brodsom
2e9c6e6c9f -Remove unused warning 2004-05-13 00:57:19 +00:00
brodsom
b30a0b8799 Macro cleaning 2004-05-12 00:02:37 +00:00
robocop
802f244ec1 Misc changes 2004-05-09 05:48:33 +00:00
brodsom
c8db819ac5 Replace defines with consts 2004-05-07 07:57:46 +00:00
brodsom
60d9d085a0 Macro cleaning 2004-05-03 21:43:56 +00:00
skidder
43cb0d1ce4 Y-Valve handle translation layer 2004-05-02 23:06:37 +00:00
brodsom
a549091c94 - Split sqlda.h to avoid duplicated definitions between ibase.h and sqlda.h
- Replace define for constants
- Remove contants.h where not used.
2004-04-30 22:47:16 +00:00
brodsom
2c0ab256cf Removing duplicated definitions between
ibase.h and blob_filter.h
ibase.h and constants.h
2004-04-29 17:48:39 +00:00
skidder
ab4eb9d452 Minor bugfixes related to MBCS support in new LIKE/CONTAINING implementation + small cleanup.
This should fix SJIS problem in FBTCS reported by Blas
2004-04-25 02:30:32 +00:00
robocop
59b235cea3 Small corrections 2004-04-10 00:25:22 +00:00
skidder
2621c0dc99 Fix spelling mistake in my comment 2004-04-09 16:32:52 +00:00
skidder
6e0c7285db Fix another place where we may loose a tick during timestamp arithmetics. 2004-04-09 16:27:31 +00:00
skidder
b97ee370e8 Fix rounding problem in date arithmetics 2004-04-08 22:29:50 +00:00
robocop
faa41f7b3b Cleanup 2004-03-30 04:10:52 +00:00
robocop
1824343930 Cleanup.
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
1e6c7b18e9 fixed problem with loop in includes 2004-03-22 11:38:23 +00:00
dimitr
869b69bed4 Fixed server crash when too big/small system year is set up. 2004-03-21 09:47:39 +00:00
alexpeshkoff
7007d6f2a4 1. introduced Jrd and Ods namespaces
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 14:57:40 +00:00
robocop
958f9e31aa Cleanup
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00
robocop
f58c769c37 Cleanup. In geeky words:
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
robocop
2ab1f94dd2 Cleanup
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
robocop
e6187cecd2 Cleanup
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
dimitr
1f7a1570e2 1) Some cleanup.
2) Fixed memory leak. Thanks to Oleg Loa.
2004-03-06 11:56:09 +00:00
robocop
2fa67d46bc Cleanup
Reduce reinterpret and C casts
Fix isql so it can show all predefined blob types in readable form.
2004-02-24 05:34:44 +00:00