aafemt
e20a3a4304
Fix variables' scope
2004-03-30 10:26:55 +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
441e9fbbd9
Correction.
2004-03-21 09:35:27 +00:00
arnobrinkman
b355d3411e
1) Fix bug with LEFT JOIN ViewX and where clause with ViewX.FieldX IS NULL
...
2) When FIRST / SKIP is used in a sub-query it may not be affected by conjunctions in higher contexts.
Example (should return 1 row instead of 5):
SELECT * FROM
(SELECT FIRST 5 SKIP 2 cs.* FROM RDB$CHARACTER_SETS cs)
WHERE
RDB$CHARACTER_SET_NAME starting with 'D'
2004-03-21 02:07:48 +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
8630547081
Cleanup.
2004-03-20 03:07:21 +00:00
aafemt
e2c3431671
Fix double const
2004-03-19 11:27:28 +00:00
robocop
958f9e31aa
Cleanup
...
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00
skidder
341c37033d
Fix SF#918653, nulls placement ignored with queries using UNION, GROUP BY and DISTINCT clauses
2004-03-18 19:19:30 +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
alexpeshkoff
67f1740fea
Various cleanup to make engine compile and work after mentioned earlier changes.
...
Mainly:
1) MemoryPool* => MemoryPool& in arrays' constructors
2) use Firebird::string to keep strings data
2004-03-14 13:40:14 +00:00
skidder
f015557545
GCC doesn't consider double const a valid C++
2004-03-11 05:41:51 +00:00
robocop
2ab1f94dd2
Cleanup
...
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
dimitr
9e5b3ef1a1
Added short-circuit optimization of user-supplied plans. Call find_best() exactly number-of-stream times.
2004-03-07 15:13:53 +00:00
robocop
e6187cecd2
Cleanup
...
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
skidder
dc7aab8f9c
Fix up exception handling. Handle (do not ignore) std::bad_alloc and generic exceptions, provide syscall and error information in system_call_failed
2004-03-01 03:35:23 +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
dimitr
64a481346f
Fixed recently introduced regression. Never rely on vector data pointers after a grow() call.
2004-01-11 12:28:06 +00:00
skidder
f13d160aa5
Fix resource leak for recursive procedures when procedure request is closed at
...
SUSPEND statement. This leak prevented more then 1000 such operations for one connection.
This bug was reported by Claus Holst
2004-01-10 01:48:46 +00:00
skidder
09214e8669
Use backward-compatible default nulls ordering for old ODS as suggested by Dmitry Emanov to preserve backward compatibility
2004-01-08 21:29:34 +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
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
robocop
ad0b5c4de3
General cleanup
2003-12-22 10:00:59 +00:00
skidder
e216f1f09d
Implement MSSQL-like (standard conforming) behavior regarding default nulls placement.
...
Thanks to Arno changes we can map default placement to indices directly for ODS11+.
This should close SF#225218
2003-12-21 02:34:34 +00:00
arnobrinkman
bcaa8859d3
Fix some descending bugs i created
2003-12-11 23:06:36 +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
arnobrinkman
ce69dfce07
Fix bugs created by myself and the problem (finally ;-) why descending indices were slower as ascending in some cases.
2003-12-04 00:22:12 +00:00
robocop
84062732d8
More cleanup
2003-12-03 08:19:24 +00:00
arnobrinkman
710037031f
Enhanced Index Structure.
...
1) NULLs on top when sorting on ASC index, DESC stays the same.
2) Support for larger index lengths, can be up to 1/4 page size.
3) Store record-number on non-leafpages for faster lookup in many duplicates.
4) Jump-nodes for faster key-lookup in index on larger page-sizes.
5) Segment selectivity calculation added.
2003-12-01 02:37:25 +00:00
dimitr
d0ad504f5e
Minor protection against improper index locks reference.
2003-11-23 17:54:59 +00:00
dimitr
4c0ce86c24
1) Fixed server crashes when a SP is used as inner stream in left joins
...
2) Fixed conjuncts out-of-limits issue
2003-11-18 16:54:01 +00:00
dimitr
e255304619
Fixed new bug with explicit plans.
2003-11-12 18:30:25 +00:00
brodsom
4285bc623c
Removing gdsold.h and gds.h
2003-11-08 16:40:17 +00:00
robocop
db77ffa605
const correctness, variables in scope, cleanup, etc.
2003-11-07 08:06:35 +00:00
dimitr
ef3c1183cb
Correction.
2003-11-06 16:21:59 +00:00
arnobrinkman
22e26c7dbf
bugfix: A user specified PLAN with MERGE and JOINS crashed the server, noted by Dmitry.
...
simplified : PLAN MERGE (JOIN ..., JOIN ...)
2003-11-06 00:25:48 +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
0856425a57
no message
2003-11-01 10:58:44 +00:00
skidder
908ae98a75
Return engine to compilable state on Win32 after Dmitry's cleanup
2003-10-30 21:17:16 +00:00
robocop
9ead7a37b4
const correctness
...
placed some variables in context
fixed some function signatures
closed a few possible buffer overruns
sorry to the platform maintainers, I can't verify what I did for non-Win32 builds
2003-10-29 10:53:47 +00:00
skidder
33ae7c50cb
Make Linux SS engine compile. Noted by Blas
2003-10-20 12:27:00 +00:00
robocop
1e75492a50
Style: make the code more readable, keep spaces around operators
2003-10-20 10:18:41 +00:00
skidder
d7e24011b7
Clean up optimizer
2003-10-17 20:29:52 +00:00
arnobrinkman
fa934885e8
bugfix: Missing initialization of position vector. Thanks for Nickolay who notice this.
2003-10-16 21:02:51 +00:00
robocop
8182b6cba2
const correctness and other tasks
2003-10-16 08:51:06 +00:00
skidder
4e8605294e
Forward port Sparc fixes
2003-10-10 23:56:57 +00:00
dimitr
7cc43e264a
Fixed bug introduced one year ago.
2003-10-01 19:46:01 +00:00
skidder
235db035ce
Ok, i'm joining Firebird destruction team with my cleanup:
...
1. Bring trace DSQL, DYN and BLR trace logging up-to-date
2. Remove redundant CSB pointer dereferences in BLR parser and request compiler
3. Convert RIGHT JOIN to LEFT JOIN early during BLR parsing
4. Check BLR syntax for unititalized contexts usage
5. Some type-safety and const-correctness fixes
2003-09-28 21:36:05 +00:00
arnobrinkman
7e024c858e
Remove IGNORE_NULL_IDX_KEY define.
...
Still to go : nav.cpp, nav_proto.h, ods.h, dba.epp
2003-09-16 23:19:46 +00:00
dimitr
f7aa490111
The final part of my little PLAN enhancement.
2003-09-14 15:37:05 +00:00
dimitr
5ec79f66ef
PLAN enhancements. The DSQL part of this change will follow.
2003-09-10 13:24:49 +00:00
arnobrinkman
6770751035
Don't forget the OR operations Arno
2003-09-08 08:56:13 +00:00
brodsom
382cd1c45e
Code cleaning
2003-09-08 01:45:09 +00:00
arnobrinkman
75486586c9
Added some comments and boolean replacement
2003-09-04 21:37:55 +00:00
brodsom
f76f59a61e
Replace BOOLEAN, TRUE and FALSE
2003-09-04 21:20:01 +00:00
arnobrinkman
bfd32caffa
Fix wrong last commit :-(
2003-09-02 16:39:58 +00:00
arnobrinkman
e5574959ad
Change BOOLEAN to bool type
2003-09-01 23:22:22 +00:00
arnobrinkman
df3c6abf15
1) fix: Unique index must be complete used else we keep on looking for another one.
...
2) MERGE can also handle expressions, stupid example :
SELECT
*
FROM
RDB$RELATIONS r,
RDB$RELATION_FIELDS rf
WHERE
rf.RDB$RELATION_NAME || 'A' = r.RDB$RELATION_NAME || 'A'
3) Do some code style issues
2003-08-31 22:41:19 +00:00
arnobrinkman
5ce032f2d9
Optimizer fix. Compound-indices were choosen above single-indices where we need only the single-field-index.
2003-08-30 19:51:44 +00:00
brodsom
6a2ef35fda
-Remove NULL_PTR
...
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:16:03 +00:00
skidder
27ebbfe696
Get rid of alloca usage
2003-08-19 12:49:33 +00:00
skidder
b05dc24810
Forward port removal of artificial index number limitation from 1.0.3.
...
Fix bug in dbb_max_idx calculation. Do not port GC and metadata versioning
changes as they seem very dangerous to me.
2003-08-18 21:13:56 +00:00
brodsom
daf2d5ff2c
-Fix cast warnings
...
-Fix signed/unsigned comparison warnings
-Fix format warnings
-Add MinGW 3.0 rc header
2003-08-09 21:15:32 +00:00
arnobrinkman
e091f9e9c3
bugfix: All flags csb_flags were cleared except csb_active. Thanks to Claudio V.
2003-08-08 21:35:27 +00:00
dimitr
38a973d2b1
Let's fix the cause instead of the effect. No more buffer overflows.
2003-07-15 13:35:23 +00:00
alexpeshkoff
5933e22503
added static function declaration
2003-07-08 12:26:44 +00:00
alexpeshkoff
8ecb3a933b
fixed AV on some combinations of CAST, BETWEEN and sub-select
2003-07-08 12:12:34 +00:00
dimitr
7374918a78
Bugfix for SF #736318 .
2003-06-27 17:04:07 +00:00
arnobrinkman
ec7ff125ce
bugfix: When 1 merge was done no other merge could be generated. for example with 4 stored procedures.
2003-06-26 22:14:55 +00:00
arnobrinkman
d26fd757cb
bugfix: More bugfixes for 'no current record for fetch operation' errors.
...
These were mostly related to queries where a MERGE was done and/or SP/VIEW/Aggregates/Unions were used together.
2003-06-09 23:04:29 +00:00
dimitr
cb844e541a
Fixed random crashes with big queries prepared.
2003-06-05 16:09:37 +00:00
arnobrinkman
98b28378a9
bugfix FB1.5: Optimizer crashed when all indices of a table had the selectivity of 1
2003-05-16 22:15:39 +00:00
brodsom
a4903c9278
- Comment unneeded checks or conditions
2003-04-02 11:13:11 +00:00
dimitr
46fd65228a
Cleanup.
2003-03-25 09:51:52 +00:00
dimitr
20ce2e24d8
Fixed optimizer bug introduced by me appr. one month ago.
2003-03-25 09:40:15 +00:00
tamlin
de27710a5e
Fixed a comment mistake (*/ leftover at EOL of //) spotted by Claudio.
2003-03-09 09:06:47 +00:00
brodsom
a808195f28
Avoid undefined function warning
2003-03-07 00:36:44 +00:00
tamlin
3ef654d69f
Just a bit of cleanup, nothing interesting.
2003-03-02 16:17:08 +00:00
arnobrinkman
28c3eb69a3
Comments added
2003-02-27 23:07:15 +00:00
tamlin
b99ae4c70c
Basic code cleanup and fixed a problem spotted by Dmitry Yemanov.
2003-02-27 18:46:49 +00:00
tamlin
66527bca20
Fix optimizer crasher with too many streams (UCHAR overflow/wrap-around).
2003-02-27 16:28:53 +00:00
arnobrinkman
57eb03f09f
bugfix: Fix FB1.5 optimizer bug which causes the server to crash.
2003-02-25 18:34:52 +00:00
dimitr
09c3847515
A bit reworked fixed-size vector allocations. Thanks to Mike for the hint.
2003-02-23 10:23:19 +00:00
dimitr
18549a8e14
Cleanup and some economy of the stack space (in favor of the heap). Performance penalty isn't noticable.
2003-02-22 17:09:02 +00:00
dimitr
02963521f8
Some cleanup of the optimizer.
2003-02-22 15:10:29 +00:00
dimitr
09dec233aa
Made the optimizer a bit better in the case of old index statistics.
2003-02-22 12:20:53 +00:00
tamlin
f5676d103e
A little bit of code cleanup and addition of a few asserts, to get early warning before it crashes.
2003-02-22 10:10:37 +00:00
arnobrinkman
59c31c48bc
Let the optimizer build MERGE/SORT where possible.
...
This is : Multiple STORED PROCEDURES and/or VIEWS with internally aggregate or union
2003-02-22 00:48:38 +00:00
dimitr
17f69fc9e5
Fixed stack oveflow caused by deep recursion and big stack arrays in the optimizer.
2003-02-20 10:58:46 +00:00
arnobrinkman
afc3d38954
More optimizer enhancements.
...
When an equal-node and other nodes (geq, leq, between...) are available for an index retrieval, then use the equal node always instead of the others.
2003-02-15 01:35:19 +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
dimitr
67749f906b
Fixed exception handling.
2003-02-13 13:33:57 +00:00
dimitr
b096a2593d
CONST -> const
2003-02-13 10:11:35 +00:00