arnobrinkman
fcb77779fa
More and better optimizations with "complex" JOIN queries (LEFT JOIN, views, sp etc...).
...
bugfix: An SORT can't be generated when there are already RSBs on the stack, because this will lead to strange values. See also SF BUG # [ 221921 ].
2003-01-22 00:17:27 +00:00
arnobrinkman
d4624c794e
bugfix: SF BUG # [ 221921 ] ORDER BY has no effect
2003-01-12 22:33:43 +00:00
arnobrinkman
a09fc594fb
Reworked the last bugfix by dmitry
2003-01-12 13:55:35 +00:00
dimitr
ab4b67b24c
1. More proper implementation of my last bugfix.
...
2. Fixed known problems with explicit plans.
2003-01-11 19:04:36 +00:00
dimitr
2b0913546f
Fix for the optimizer issue with compound indices. Leave it up to Arno to decide whether this fix is correct or not.
2003-01-11 18:02:17 +00:00
arnobrinkman
c83b1db4a7
more cosmetic changes to opt.cpp
...
bugfix: When UNIONS where used in a VIEW and that VIEW was used in the where clause inside an sub-select then the engine crashed !!
2002-12-31 00:12:18 +00:00
arnobrinkman
7e2b62528a
bugfix: OUTER JOINs and no current record for fetch operation, caused by previous optimizer change
2002-12-28 00:20:45 +00:00
arnobrinkman
aa638632a3
another bugfix Alpha5 "no current record for fetch operation"
...
Added code so that more index-retrieval can be used.
Cases where an LEFT OUTER JOIN messed-up the optimizer should be much lower.
Example :
SELECT * FROM
SomeTable t1
LEFT JOIN AnotherTable t2 ON (t1.PK_Key = t2.FK_Key)
JOIN AnotherTable t3 ON (t1.PK_Key = t3.FK_Key)
This change fixed also BUG SF #219525 .
2002-12-16 00:45:35 +00:00
arnobrinkman
7f67f42a5f
bugfix: no index was used for STARTING WITH and IS NULL comparison inside OR structures.
2002-12-04 20:05:04 +00:00
arnobrinkman
fb42c5b975
Cosmetic changes with thanks to Claudio V.
...
A better/logical change so that the optimizer can use indices in sub-selects and aggregate-statements.
2002-12-04 18:39:14 +00:00
eku
34e9391a97
Use the new macro FB_NELEM to calculate the number of elements in an array.
2002-12-02 09:45:52 +00:00
arnobrinkman
b5f4f72800
1) bugfix another LEFT JOIN and 'no current record for fetch operation'.
...
2) Let sub-selects also use indices when there parent is a stored procedure.
2002-11-23 23:36:22 +00:00
dimitr
3d55c724ae
no message
2002-11-23 17:59:11 +00:00
arnobrinkman
5b4b3ef482
bugfix Optimizer LEFT OUTER JOIN and error : no current record for fetch operation
2002-11-21 23:02:54 +00:00
hippoman
7387e6fb70
changed nod,tra,req,trg,rel,ctx,prc struct names to local module names
2002-11-20 23:18:16 +00:00
arnobrinkman
e1f9fefb15
More optimizer improvement of handle AND nodes inside an OR node.
2002-11-18 21:31:01 +00:00
skidder
53f625e077
New explicit pessimistic locks implementation. It is logically consistent in all TPB modes and should be very fast.
2002-11-18 20:27:24 +00:00
hippoman
4a76e9e4fe
change TRA,REQ,TRG,REL,CTX or PRC, to module local names.
2002-11-17 00:13:59 +00:00
skidder
5a712a4fee
Fixed restore problem for databases having views that use procedures AND are used by procedures. General procedure metadata related cleanup.
2002-11-16 18:48:01 +00:00
hippoman
25c1dbd367
* Changed NOD struct name to JRD_NOD.
2002-11-11 19:42:47 +00:00
arnobrinkman
2600ac844b
Update for explicit PLAN support and little cosmetic changes.
2002-11-09 01:42:10 +00:00
dimitr
8d62d05d5c
Yep, I've joined with Arno in his struggle with the optimizer ;-)
2002-11-08 16:23:20 +00:00
arnobrinkman
65251221cd
no message
2002-11-06 19:23:48 +00:00
arnobrinkman
b652434669
New changes to the optimizer. Better backward compatibility with forced PLAN's
2002-11-06 03:07:50 +00:00
arnobrinkman
d3ed97fa75
Give ASC a higher priority against same selectivity indices.
2002-11-04 21:57:39 +00:00
arnobrinkman
1d84ffbfd3
Added better support for using indices with "OR".
...
Pick the best available compound index from all "AND" nodes.
2002-11-02 03:20:52 +00:00
seanleyne
0b82f4aa07
Removed obsolete "Netware" port
2002-10-30 06:40:58 +00:00
tamlin
fb3cfa85da
const correctness etc
2002-10-29 16:27:47 +00:00
arnobrinkman
3b053bc9c3
AB: Added support for detecting use of index with sub-selects in aggregate selects
2002-10-26 21:16:39 +00:00
skidder
6d499910f9
Move nulls first/last code out of SCROLLABLE_CURSORS ifdef
2002-10-12 20:27:26 +00:00
skidder
b9b600d7fd
Fixed problem which caused complex outer joins to produce wrong results
2002-10-12 19:46:29 +00:00
skidder
b4cb6b07ff
Fixed problem which caused complex outer joins to produce wrong results
2002-10-12 19:39:19 +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
skidder
f1b4c04d42
Added nulls first/last support
2002-09-10 18:34:00 +00:00
skywalker
d89b1a0842
Changes to make fb2 compile super version for linux
2002-07-29 15:37:59 +00:00
skywalker
82d8017317
Merged change from fb1.
2002-07-01 16:59:09 +00:00
dimitr
67fd70aa1d
Fixed bug with uninitialized local variables. Thanks to Oleg LOA.
2002-06-20 10:10:28 +00:00
dimitr
c5f50577cb
1. New system variables - CONNECTION_ID and TRANSACTION_ID
...
2. Universal triggers
2002-06-14 12:09:37 +00:00
bellardo
895801a449
Changes to bring intl support to FB2.
2002-06-04 19:56:16 +00:00
bellardo
773836f1b1
Finished removal of setjmp/longjmp code, and fixed a handful of FB1->FB2
...
porting bugs.
2002-04-04 07:10:40 +00:00
skywalker
a887af3646
Changes to make it compile on linux.
...
and work through a few issues.
2002-01-04 11:34:22 +00:00
tamlin
80f7fb6dd4
New C++ memory pool
2001-12-24 02:51:06 +00:00
skywalker
365a7fe19c
Changes to compile fb2 under autoconf includes some structural changes
2001-07-29 17:42:23 +00:00
tamlin
9a776a604e
First steps towards a C++ conversion.
2001-05-23 13:26:42 +00:00