dimitr
b795f91267
Misc.
2010-01-14 08:42:33 +00:00
asfernandes
d8c99a9be2
1) Make procedures and functions member of the same hierarchy (Routine class)
...
2) Some completion for external functions
2009-12-27 22:05:22 +00:00
dimitr
37b3b13956
Misc.
2009-12-14 16:43:47 +00:00
robocop
dae574f7f1
Misc, style and unused vars.
2009-12-13 10:41:53 +00:00
dimitr
753f4d62d5
Fixed the plan output (reversed order of view sub-elements) in HEAD (also broken by my yesterday's commit).
2009-12-10 15:03:56 +00:00
dimitr
916d9fab98
Fixed the plan output (table names) in HEAD (broken by my yesterday's commit).
2009-12-10 14:48:42 +00:00
dimitr
11495a55fb
Refactored the whole RSB stuff into classes. They're inside the /recsrc sub-directory now.
...
Fixed the layering for WITH LOCK and (partially) ANY/ALL predicates.
Cleaned up the outdated code that never worked (mapping DISTINCT to an index, some VMS remainings).
Wiped out a lot of the pre-ODS11 optimizer logic. Some minor adjustments there.
Re-implemented the full outer join from scratch. This resolves CORE-2678 (full outer join cannot use available indices).
Resolved CORE-2796: DB_KEY is always zero for external tables.
Implemented the core part of the scrollable PSQL cursors. Implementation is still incomplete, but ready for testing.
Some other changes I don't recall at the moment ;-)
WARNING! The engine may be unstable. Please email me about any issues found.
2009-12-09 18:45:44 +00:00
asfernandes
a3dd1d0482
Misc
2009-11-26 00:20:59 +00:00
robocop
804ad6048a
Restrict us to ODS11 and ODS12 until the dust settles down.
2009-11-24 11:42:56 +00:00
dimitr
e6909de7f7
Wipe out the SCROLLABLE_CURSORS code + minor cleanup.
...
Also, surfaced scrollability for PSQL cursors (without internal support yet).
2009-10-31 06:25:01 +00:00
dimitr
3a3512da8e
Fixed CORE-2659: Sub-optimal (not indexed) query plan for outer joins involving complex views.
...
We don't need to validate all the view streams inside the optimizer, just those inside the e_derived_expr_expr argument.
2009-10-03 11:37:46 +00:00
robocop
3e66cd45f5
Comments.
2009-08-20 11:18:57 +00:00
dimitr
17b630c1fe
More optimizer adjustments + named constants instead of hardcoded numbers.
...
In particular, this commit should resolve the degraded restore performance.
2009-08-19 09:18:30 +00:00
dimitr
ee941f9a3d
Misc.
2009-07-08 15:09:47 +00:00
robocop
f7bf07d9be
Style.
2009-07-03 11:02:17 +00:00
uid32383
e704280a59
Style.
2009-06-28 10:29:36 +00:00
dimitr
77dce5ac12
Fixed some issues with the optimizer, namely: (1) incorrect cost calculation for indexed retrievals in joins and (2) too pessimistic heuristics for indices with zero selectivity.
...
Also, I removed the restricition I put recently to address some issues reported in the tracker (it's no longer necessary).
2009-06-19 11:33:12 +00:00
dimitr
a082a6fba6
Slightly changed a bugfix for CORE-2078 to avoid affecting indexed retrievals.
...
It's a compromise targeted to resolve any regressions in v2.1.2 (like CORE-2411).
2009-05-14 15:41:48 +00:00
robocop
66b1227b22
Unused params, some formatting, cleanup.
2009-05-01 17:21:36 +00:00
robocop
888000e21e
Unused function params.
2009-04-26 10:24:44 +00:00
robocop
a730fbf074
Get rid of more typedefs.
2009-04-03 10:07:55 +00:00
robocop
3689f15321
Style.
2009-01-20 08:33:59 +00:00
robocop
582cdf185b
Style.
2009-01-14 09:19:00 +00:00
robocop
6406e45337
Shut up compiler warnings (unreferenced vars, uninitialized vars, compile-time conditional code, etc.)
2009-01-02 06:36:12 +00:00
asfernandes
5c97a235e3
Misc
2008-12-24 00:32:49 +00:00
robocop
2fadc0e456
Style.
2008-12-22 09:00:05 +00:00
asfernandes
5311dd5a5e
Misc
2008-12-20 19:57:43 +00:00
robocop
9161be9116
Style.
2008-12-18 11:29:10 +00:00
dimitr
4fabeb3c6a
Misc.
2008-11-23 12:53:29 +00:00
dimitr
6e4c0cd099
A better solution for CORE-2200 (Extremely slow executing a cross join of 3 tables in Firebird 2.X).
...
This time an optimizer level one.
2008-11-23 12:49:33 +00:00
alexpeshkoff
d8ea120ded
AIX port - use FB_ prefix for alignment constants
2008-11-05 11:26:23 +00:00
robocop
43ee87b07d
Misc.
2008-10-21 04:25:49 +00:00
asfernandes
ad716e38d9
Misc
2008-10-20 23:46:46 +00:00
dimitr
a58aaafdf2
Fixed CORE-2132: Indexed retrieval cannot be chosen if a stored procedure is used inside the comparison predicate.
2008-10-19 12:05:36 +00:00
asfernandes
7a5b0121d8
Misc
2008-09-14 23:17:58 +00:00
asfernandes
25d751ea32
New methods for array classes
2008-09-14 22:45:00 +00:00
dimitr
ddb3e8f07c
An attempt to fix CORE-2078. This approach is hopefully a bit more clever than the pre-ODS11 one.
...
I'll be waiting for the customer's report before backporting into v2.0/v2.1.
2008-09-12 14:36:14 +00:00
dimitr
407a4741f8
Cleanup.
2008-09-12 09:19:32 +00:00
dimitr
aad133369c
Cleanup.
2008-09-12 08:48:47 +00:00
asfernandes
22c65f0153
Misc
2008-09-10 02:21:13 +00:00
robocop
26727ea6c8
Misc.
2008-09-09 09:05:49 +00:00
dimitr
278d0f8ad6
Fixed CORE-2073.
2008-09-09 08:23:24 +00:00
asfernandes
b550749a47
Fixed CORE-1246 - Incorrect column values with outer joins and derived tables
2008-09-07 19:44:48 +00:00
asfernandes
84da641b55
Fixed CORE-2034 - Problems related to CORE-1254 (Problem with DISTINCT and insensitive collations) re. UNICODE insensitive collations with DISTINCT or GROUP BY.
2008-08-08 01:44:42 +00:00
asfernandes
628cccf32e
Misc
2008-07-16 13:55:41 +00:00
dimitr
e4e437eb3b
Relation must be locked for any DPM access. As it's normally done after request optimization, I put an extra lock into the optimizer.
...
This is one of the possible reasons for CORE-1938 to appear.
2008-06-26 11:01:07 +00:00
dimitr
e0c6d0e13d
Fixed CORE-1812.
2008-05-06 09:40:22 +00:00
robocop
61662f5b5b
Constness and style.
2008-04-19 09:42:01 +00:00
dimitr
9d9250a255
Misc.
2008-02-20 08:06:56 +00:00
robocop
4c3381ef6b
Style, constness and macro cleanup.
2008-02-03 10:41:44 +00:00
dimitr
6992f2a638
The merge continued.
2008-01-16 09:41:31 +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
dimitr
914ddbb957
Fixed CORE-1549.
2007-10-29 17:56:28 +00:00
asfernandes
595a185dd3
Rework fix for CORE-1245 to fix:
...
CORE-1246 - Incorrect column values with outer joins and derived tables,
CORE-1306 - Indices not used for views
2007-06-08 02:20:00 +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
f0d465bf34
Fixed gcc warnings, general (un)signed usage cleanup
2007-04-11 09:28:50 +00:00
asfernandes
032de38ae8
Fixed CORE-1153 - Activating index change "STARTING" working as "LIKE" in join condition
2007-04-01 15:50:54 +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
aafemt
e6151fd57f
Warnings
2006-09-01 10:51:57 +00:00
asfernandes
18b57e55b5
Misc
2006-08-27 02:48:51 +00:00
hvlad
bcb2836eb1
Cleanup
2006-08-26 12:24:11 +00:00
hvlad
ece81ac260
Proper but more complex fix for CORE-904: new ODS11 optimizer used unnecessary huge amount of memory while processing IN list with large number of items.
...
Use Firebird::ObjectsArray instead of Firebird::Array and remove IndexScratchListHolder as unneeded
2006-08-26 12:12:30 +00:00
asfernandes
fc0649ef17
Misc
2006-08-19 01:07:12 +00:00
hvlad
217511b0f2
Fix for CORE-904: new ODS11 optimizer used unnecessary huge amount of memory while processing IN list with large number of items
2006-08-18 20:48:26 +00:00
dimitr
4354b994b3
Cleanup.
2006-07-31 08:46:58 +00:00
dimitr
b1aab1da09
Typo.
2006-07-28 09:35:31 +00:00
dimitr
af6cdd9262
More protections.
2006-07-28 09:15:32 +00:00
dimitr
cffe207614
A few fixes for the monitoring tables.
2006-07-23 12:14:59 +00:00
alexpeshkoff
4c3fe4e7d3
Use MIN/MAX from common.h instead of STL templates
2006-06-06 11:30:43 +00:00
robocop
3fa49e994b
Style and typo correction.
2006-05-26 05:19:48 +00:00
dimitr
937008d479
Fixed a number of bugs related to the lost scale when matching some value to an int64 key.
2006-05-23 09:56:29 +00:00
dimitr
8c66a4883a
1) Fixed wrong ALL results in the ODS11 optimizer.
...
2) Fixed SF #527681 -- Strange/Inconsistent query results
2006-05-17 19:15:41 +00:00
dimitr
d42818dadc
More precise calculation of index cardinalities.
2006-03-07 14:43:39 +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
dimitr
819c970570
Temporary rolled back one one of my previous fixes due to discovered issues.
2006-01-19 16:53:22 +00:00
dimitr
1293d9fd97
Fixed bug related to expression indices vs. collates, reported by Ivan.
2006-01-15 16:04:39 +00:00
arnobrinkman
78dcb398ef
Fix bug with lower/upper -exlude flag for indexes
2006-01-15 13:19:05 +00:00
robocop
1ca7a582f9
EXPRESSION_INDICES code is considered stable and therefore there's no need to keep it protected by macros. Please do a full rebuild.
2006-01-14 07:00:44 +00:00
dimitr
88f5a0d05e
Fixed the issue related to non-indexed relationships (reported in fb-devel).
2005-12-19 13:59:03 +00:00
dimitr
7981fef9be
Fixed optimizer. Some adjustments may follow.
2005-12-17 10:37:58 +00:00
arnobrinkman
5a38bd903d
Another "workaround" for prepared statements on empty tables.
...
To be reviewed by Dmitry Yemanov.
2005-12-13 23:19:26 +00:00
hvlad
5160d8a9d4
Use EXE_find_request in optimizer at index expression comparison to avoid AV in case of using index simultaneously in some connections
2005-12-05 22:13:00 +00:00
robocop
84fb43d1c1
Misc.
2005-11-26 09:10:51 +00:00
arnobrinkman
06ffac16d0
Fix explicit PLAN issue with ODS11 optimizer
2005-11-25 12:49:14 +00:00
dimitr
060d5b9ce8
Fixed wrong optimization of join orders.
2005-11-23 14:22:06 +00:00
arnobrinkman
70f23e227f
no message
2005-11-19 18:45:11 +00:00
robocop
105cd42e21
Non-member functions that are used in other modules should have a prefix.
...
Created a couple of temporary vars for code simplification.
2005-11-06 01:56:03 +00:00
arnobrinkman
94e7337628
Use candidate cost for decision which candidate to use.
...
Stop using indexes when total cost is greater as the previous used total cost.
Fix excludeLower/exludeUpper problem with using more operators to the same field.
2005-11-05 14:50:01 +00:00
hvlad
15ac3a9f47
Fixed SF #223060
...
Slow processing of GREATER-THEN operator
2005-10-27 21:52:17 +00:00
dimitr
68a2827d2e
1) Commented code that doesn't work properly (until Arno is back).
...
2) Fixed some optimization issues in the new logic.
3) Small cleanup.
2005-09-08 10:22:59 +00:00
dimitr
6e927365fb
Fixed server crash in the optimizer.
2005-08-22 08:34:50 +00:00
robocop
132eedb7a6
Misc.
2005-08-12 08:05:53 +00:00
arnobrinkman
c3f9c5bebc
Some more cost based calculation. Fine-tunning will follow
2005-08-08 22:17:40 +00:00
aafemt
b61d8b3c17
Warnings
2005-06-22 05:13:54 +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
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
ad1a65f798
Apply forgotten opt.cpp changes in Optimizer.cpp
2005-06-03 01:25:47 +00:00
asfernandes
59213efe7e
Merge INTL branch into HEAD
2005-05-27 22:45:31 +00:00