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

258 Commits

Author SHA1 Message Date
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
robocop
5c3c8abd9a Big cleanup.
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
robocop
663e3b16e7 Cleanup 2004-02-02 11:02:12 +00:00
robocop
2b295a9108 General cleanup. Sorry if I missed some occurrence. 2004-01-28 07:50:41 +00:00
skidder
08eee5ebaa Further AMD64 fixes. Given this fixes you may start playing with databases using isql_static. 2004-01-21 07:18:30 +00:00
robocop
b441cd9aef Cleanup 2004-01-13 09:52:19 +00:00
robocop
fd93837ec3 Cleanup:
const correctness
BOOLEAN -> bool
Vars in scope
Formatting
JRD_REQ -> jrd_req*
JRD_TRA -> jrd_tra*
JRD_REL -> jrd_rel*
JRD_FLD -> jrd_fld*
event -> event_t, EVENT_T dropped, EVENT should go in the future
Frank's corrections
alice's STR -> alice_str*
remote's STR -> rem_str*
etc.
It creates entities and backups and restores for me. :-)
2004-01-03 10:59:52 +00:00
skidder
0fff87f4c3 Fix issues noted by Claudio 2003-12-31 16:09:07 +00:00
robocop
16cbc204df Cleanup 2003-12-31 05:36:12 +00:00
skidder
d7fb2d6cb3 Integrate new LIKE/STARTING WITH/CONTAINING algorithms into the engine. This has following impact:
1. String functions now search BLOBs correctly
2. Their performace is improved
3. Fixed crash when NULL is passed as escape value to LIKE
2003-12-27 04:37:23 +00:00
dimitr
bfbf1df46d Fixed bug in nulls handling in BETWEEN. Thanks to Oleg Loa. 2003-12-22 17:51:43 +00:00
robocop
ad0b5c4de3 General cleanup 2003-12-22 10:00:59 +00:00
robocop
d020ea5ca1 ping-pong cleanup: change one place and you have to change several others 2003-12-11 10:33:30 +00:00
robocop
84062732d8 More cleanup 2003-12-03 08:19:24 +00:00
skidder
16ea16b085 Fix invariant tracking in recursive procedures and when invariants
depend on variables. This solves issues like SF#627057.
2003-11-23 20:17:30 +00:00
brodsom
c5253ae8a5 -Replace gds__ constants with isc_ contants
-Replace codes.h with iberror.h (or remove)
-Move gds__vax_integer and gds__event_block* to alt.cpp and isc_ to gds.cpp
-Use ISC_QUAD internally
-Use isc_vax_integer internally
2003-11-11 12:19:20 +00:00
brodsom
146b6f2001 Extern function cleaning 2003-11-07 13:25:53 +00:00
aafemt
7b89091d39 'struct' cleanup 2003-11-04 11:35:51 +00:00
brodsom
ff070a16a8 Replacing assert with fb_assert 2003-11-03 23:59:24 +00:00
skidder
7b99b8a57b Basic INTL cleanup.
- Rework (mostly undo) John's changes
- Some function type safety
- Make INTL OO layer very thin (this should slightly improve performance)
2003-11-03 17:14:45 +00:00
dimitr
9b20660785 1. Fixed GDSCODE and SQLCODE variables
2. Enhanced ROW_COUNT variable
3. Fixed EXCEPTION statement
4. Added explicit cursor internals
5. Some cleanup
2003-11-02 11:55:17 +00:00
brodsom
76c7382b78 Macro cleaning 2003-10-20 22:41:11 +00:00
robocop
480c1ee968 const correctness 2003-10-08 08:42:48 +00:00
brodsom
2aeb693d06 extern cleaning
removing underscores in macros
DLL_EXPORT cleaning
2003-10-03 01:53:34 +00:00
dimitr
b3f672ddf4 A bit more cleanup. 2003-09-28 18:49:21 +00:00
brodsom
4a15406cd0 -Code format 2003-09-12 01:58:51 +00:00
dimitr
fe98c4c29c Fixed runtime check, as pointed by Claudio. 2003-08-30 16:45:06 +00:00
dimitr
2b43a8cb49 Fixed SUBSTRING function 2003-08-26 07:15:52 +00:00
robocop
3e8a613c7a Fix SF bug# 784121. 2003-08-12 09:56:50 +00:00
brodsom
e401cb40c7 -Fix cast warnings
-Fix signed/unsigned comparison warnings
2003-08-09 20:58:34 +00:00
dimitr
4628746c58 Fixed bug in the previous commit. 2003-02-21 09:25:17 +00:00
dimitr
bdb6d25a3b Committed Mike's introduction of short-circuit boolean evaluation. 2003-02-21 09:17:03 +00:00
aafemt
2dadf55537 WCHAR --> UCS2_CHAR and some cleanup around it 2003-02-18 05:24:35 +00:00
alexpeshkoff
f0c5ae36d7 Fixed bug with NULL ptr use 2003-02-16 16:55:57 +00:00
brodsom
8bdf295e25 Change build system to move warning control to only one header for each compiler 2003-02-16 11:39:22 +00:00
brodsom
3cb91fce80 Remove PIPE and STACK defines (PIPE_SERVER, PIPE_CLIENT, PIPE_LIBRARY, PIPE_SERVER_YVALUE, PIPE_BRIDGE_TO_V3, V3, V3_PATH, ALTPIPE)(STACK_EFFICIENT, STACK_REDUCTION) 2003-02-14 02:24:44 +00:00
tamlin
ffb2aa9c21 Reduce code size a little bit. Try to enhance readability of code. 2003-02-13 17:28:38 +00:00
dimitr
b096a2593d CONST -> const 2003-02-13 10:11:35 +00:00
eku
a7f18b2e31 Removed "register" variables from the source code. It's up to the compiler
to hold variables in CPU registers.
2003-02-10 13:28:35 +00:00
dimitr
feed25d451 Added support for parametrized events and runtime trigger action checks. 2003-01-15 12:08:59 +00:00
hippoman
9a8f0768b9 Changed struct fld and FLD to local module names 2002-11-30 17:45:02 +00:00
skidder
27b364320b Fixed crash when grouping by invariant subquery 2002-11-24 13:47:17 +00:00
hippoman
4a76e9e4fe change TRA,REQ,TRG,REL,CTX or PRC, to module local names. 2002-11-17 00:13:59 +00:00
dimitr
6c80fa5718 Some changes to support future improvements. 2002-11-16 17:41:12 +00:00
hippoman
25c1dbd367 * Changed NOD struct name to JRD_NOD. 2002-11-11 19:42:47 +00:00
tamlin
fb3cfa85da const correctness etc 2002-10-29 16:27:47 +00:00
dimitr
536d8c0552 1. Reworked internal_info implementation in both DSQL and JRD.
New helper class created to serve it properly.
2. Added exception re-raise semantics.
Syntax: EXCEPTION;
If there was handled exception, re-initiate it, otherwise evaluate to no-op.
3. Implemented run-time exception messages.
Syntax: EXCEPTION <exception_name> [<value>];
If <value> is specified, evaluate it and use instead of RDB$EXCEPTION_MESSAGE.
4. Added new SQLCODE and GDSCODE system variables.
Available in procedures/triggers only.
If there wasn't any exception raised, return zero (success), otherwise return an error code.
5. Implemented ROWS_AFFECTED system variable.
Available in procedures/triggers only.
Count rows affected by the last INSERT/UPDATE/DELETE statement.
For any other statement, result is always zero.
2002-09-28 14:04:35 +00:00
bellardo
79a6e8b099 Cleaned up some include directives after renaming jrd_time.h. 2002-09-27 01:28:27 +00:00
bellardo
0eaf588b49 renamed header files jrd/math.h and jrd/time.h to jrd/jrd_math.h and
jrd/jrd_time.h.
2002-09-27 00:20:12 +00:00
skidder
6d64014e57 Changed engine to store source file name/line number information for EVERY allocation when DEBUG_GDS_ALLOC is defined. All allocation should be done using FB_NEW or FB_NEW_RPT macros instead of keyword new since now 2002-09-25 17:12:16 +00:00
eku
4eaf8c0914 Autoconf cleanup:
o since the define 'VAX' was only used to tell that the byte order is
   LITTLE_ENDIAN (it have nothing else to do with the VAX computer family)
   it can safely replaced with '!WORDS_BIGENDIAN'.
 o check if pointers are 64 bit
 o replaced HAS_64BIT_POINTERS with 'SIZEOF_VOID_P == 8'
2002-09-17 05:58:40 +00:00
dimitr
b9ef9abcc0 Get rid of the legacy GATEWAY (vms/oracle) implementation. 2002-08-22 08:20:27 +00:00
dimitr
ba4a17a374 Minor additions to my previous changes. 2002-07-10 14:52:42 +00:00
skywalker
350b251820 Changes to get compiling on linux (post fb1 changes). 2002-07-05 15:00:26 +00:00
dimitr
c8266b189f Merging changes from fb1. 2002-06-30 09:58:20 +00:00
dimitr
cd33516d1d Fixed bug SF #562417
(the fix is not obvious, so it should be properly tested)
2002-06-16 14:19:15 +00:00