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

27 Commits

Author SHA1 Message Date
dimitr
d274c0287b Refactoring: isolated the singularity checking logic and simplified the whole RSB beast. 2013-04-19 09:22:58 +00:00
dimitr
15e4367810 Small refactoring. 2013-03-17 17:35:53 +00:00
dimitr
fc139b16d5 Fixed rescheduling logic that was broken during the RSB refactoring. 2012-12-17 17:33:45 +00:00
robocop
642d506cd9 Change txn numbers to unsigned and commit after Vlad's review. If the compile-time checks (to ensure enough room for the new txn type) are too ugly, they may be deleted. 2012-05-19 12:04:37 +00:00
asfernandes
580172419b Misc. 2012-04-23 00:48:28 +00:00
robocop
70d5ebdfdf - Got rid of the fixed array that kept the stream count in the first element and 255 streams after it.
- Changed streams from UCHAR to ULONG as Dmitry wanted
- Got rid of some redundant flags to indicate BLR level
- Misc changes (for example, converted to test for DBB_read_only in Database to a function)
- BLR v6 is left commented (waiting for a better solution to appear, if any exists)
- This change is not going to raise the engine limits until a solution is found to express more than 255 streams in BLR.
2012-04-12 09:02:13 +00:00
dimitr
fe01201cd4 Fixed CORE-3806: Wrong data returned if a sub-query or a computed field refers to the base table in the ORDER BY clause. 2012-04-02 15:25:36 +00:00
alexpeshkoff
4e795f4047 Include platform definitions file common.h in firebird.h. Use OS-specific ThreadId instead artificial FB_THREAD_ID, avoiding unneeded casts in the code. This should fix BSD and MAC ports. 2012-03-01 08:55:43 +00:00
dimitr
f30f9e58e8 Reworked the fix for CORE-3683: Recursive query with GROUP BY in root part: wrong results if no index exists for fields that are grouped. It resolves some optimization regressions appeared after the original fix. 2011-12-14 06:45:24 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
dimitr
cc71f0835f Removed duplicated type declaration. 2011-02-20 15:34:08 +00:00
dimitr
a59dc809a0 Misc. 2011-02-12 08:59:55 +00:00
dimitr
6449c942e7 Implemented CORE-3332: Provide more detailed information about the query execution plan. Some details are still to be worked on. 2011-02-02 11:31:04 +00:00
asfernandes
a3064848d6 Make ExprNodes and RecordSourceNodes reference others directly instead of via jrd_nod.
Store ValueExprNodes instead of jrd_nod in the metadata cache.
Make RecordSourceNode child of ExprNode as they share most operations.
Get rid of the JRD visitors in favor of direct calls.
Convert assignments statement lists created inside expressions to separate source and targets ValuesExprNodes.
2010-11-21 03:47:29 +00:00
asfernandes
3eb252ec5f Refactored DSQL nodes: nod_derived_field, nod_map, nod_dbkey and nod_rec_version.
Refactored JRD nodes: blr_field (JRD side only), blr_dbkey, blr_record_version and blr_stmt_expr.
2010-11-14 17:25:48 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
asfernandes
dadc0f560c Const correction for EVL, EXE and they subsystems. Adjustments to CMP and OPT. 2010-08-09 15:48:51 +00:00
asfernandes
2da3eee4e5 More const correctness 2010-07-06 11:09:32 +00:00
asfernandes
33fc2bae16 Constify RecordSource methods - these classes are shared pieces of a (shared) statement 2010-07-05 18:37:35 +00:00
asfernandes
5ac2130415 Cleanup - switch from pointer arithmetics to sane way to get impure places 2010-04-05 21:20:08 +00:00
dimitr
c6b8f7aaab Corrections based on the scrutineers comments. 2010-03-19 03:53:45 +00:00
asfernandes
cd0c292823 Misc 2010-03-17 02:12:39 +00:00
dimitr
63bedffa71 Refactored the sorter into a proper class.
Removed some dead code and unused files.
2010-03-16 11:19:29 +00:00
robocop
dae574f7f1 Misc, style and unused vars. 2009-12-13 10:41:53 +00:00
asfernandes
7b8ea84561 Sort maps refactor 2009-12-12 20:36:56 +00:00
asfernandes
008e1bdb59 Remove usage of plain array with count in [0] in the new classes 2009-12-12 19:00:43 +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