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

181 Commits

Author SHA1 Message Date
dimitr
df53be29bf Misc. 2010-01-18 11:39:34 +00:00
dimitr
5186898135 Misc. 2010-01-15 11:40:08 +00:00
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