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

215 Commits

Author SHA1 Message Date
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
07747144f7 Unify DSQL/JRD sub-nodes. 2012-05-03 16:43:29 +00:00
asfernandes
08fd639cee Fix window functions. 2012-04-25 16:00:09 +00:00
asfernandes
81d628f40a Warning. 2012-04-23 00:55:45 +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
dimitr
05c27aa212 Integrated the jumping information natively into the index bucket.
WARNING: This is an ODS change, databases must be recreated.
2012-03-14 14:33:41 +00:00
dimitr
455c4c82d6 Front-ported CORE-3457: Optimize the temporary space manager regarding small chunk allocations. 2012-03-14 14:00:38 +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
104814f721 Slightly refactored the b-tree nodes. This commit includes cleaning up ods.h from the runtime (in memory) structures and encapsulating the b-tree nodes implementation inside their corresponding objects. To be continued. 2012-01-26 07:01:45 +00:00
robocop
21cd78a0fd Cleanup: unused functions, parameters & variables. 2012-01-24 03:37:43 +00:00
asfernandes
d075c8459c Misc. 2011-12-17 01:34:39 +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
asfernandes
965bf3f159 Fixed the problem with windowed functions in recursive CTEs, reported by Frank Ingermann in fb-devel.
This fix is complementary to the one done in CORE-3683.
2011-12-04 18:36:26 +00:00
asfernandes
3009484b26 Fixed CORE-3683 - Recursive query with GROUP BY in root part: wrong results if no index exists for fields that are grouped. 2011-12-03 20:22:14 +00:00
asfernandes
a886171bf2 Fixed window function with empty streams. 2011-12-01 00:47:58 +00:00
asfernandes
475852fd57 Correction. 2011-10-23 21:26:58 +00:00
asfernandes
be18048455 Avoid waste some bytes per record and procedure streams. 2011-10-06 01:41:10 +00:00
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
robocop
6a201351e0 Warnings. 2011-04-03 03:03:23 +00:00
asfernandes
5dd20592b4 Correction. 2011-04-02 17:57:42 +00:00
robocop
82403a5621 Misc, style, etc. 2011-04-02 04:45:26 +00:00
dimitr
a672c012ad Fixed the NULL handling for MIN/MAX mapped to an index.
Adriano, please review and rework, if necessary.
2011-03-05 17:28:37 +00:00
dimitr
4be14cbad9 Fixed incorrect WITH LOCK handling (refactoring error). 2011-03-05 17:25:12 +00:00
dimitr
690cc4aa43 Corrections to make new assertions working properly. 2011-03-04 07:52:08 +00:00
dimitr
446ea88ba7 Misc. 2011-03-03 14:12:41 +00:00
dimitr
790b888561 Better protection from wrong casts. 2011-02-26 07:25:10 +00:00
dimitr
516b6f0887 Fixed CORE-3173: Empty result when select from SP that contains two CTE (second of them with GROUP BY clause) and INNER join. 2011-02-21 08:04:08 +00:00
dimitr
cc71f0835f Removed duplicated type declaration. 2011-02-20 15:34:08 +00:00
dimitr
aef577652f Totally misc. 2011-02-20 13:19:11 +00:00
dimitr
b1a74121d1 Front ported CORE-3138: Internal error or crash occurs when accessing any MON$ table after altering its structure. 2011-02-15 08:47:51 +00:00
dimitr
a59dc809a0 Misc. 2011-02-12 08:59:55 +00:00
dimitr
0232bc77f3 Misc. 2011-02-10 20:22:22 +00:00
dimitr
a7b85a2db8 Misc. 2011-02-10 14:52:21 +00:00
asfernandes
67f9c9b31d Do not reuse arbitrary nodes' impure space in aggregate. Relates to CORE-3255. 2011-02-09 00:29:46 +00:00
dimitr
bb1f7ad9a6 Implement CORE-3076: Better performance for (table.field = :param or :param = -1) in where clause. 2011-02-07 17:54:24 +00:00
dimitr
f8f2b4d942 Correction in the plan output. 2011-02-06 19:52:18 +00:00
dimitr
c7224b44ef Correction in the plan output. 2011-02-06 19:50:42 +00:00
dimitr
24804a4a4f Warnings. 2011-02-06 19:36:49 +00:00
dimitr
392bfbc0ef Warnings. 2011-02-06 19:34:43 +00:00
dimitr
0fbff04472 Warnings. 2011-02-06 18:55:22 +00:00
asfernandes
7800060e22 Misc 2011-02-04 23:58:10 +00:00
dimitr
c398168403 Slightly clearer output. 2011-02-04 12:13:46 +00:00
dimitr
e967ba7ba4 Correction. 2011-02-04 10:02:20 +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
dimitr
e0f5a68da0 More work on enlarging the message buffers. To be continued. 2011-01-28 18:50:27 +00:00
alexpeshkoff
f89ac854ef Getting ready to use 32 (not 31) page and transaction numbers 2011-01-21 17:55:04 +00:00
asfernandes
9c42d4e5af Finish the statements refactor in the engine. Get rid of jrd_nod. 2010-12-04 22:15:03 +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
4dea3a42a1 Remove dependency of jrd_nod in ExprNode 2010-11-14 22:31:42 +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
asfernandes
045c090a38 Misc 2010-11-06 18:56:46 +00:00
dimitr
b060fb4c67 Fixed CORE-3208: Significant memory leaks with recursive queries. 2010-11-01 19:32:17 +00:00
asfernandes
3317eeeebc Refactor literal values. 2010-10-24 00:26:00 +00:00
alexpeshkoff
e05c1a825f Moved some more .h-files to common from jrd as Vlad suggested 2010-10-13 10:39:52 +00:00
alexpeshkoff
83d6a2f88c Restored a lot of changes, rolled back by me unintentionally 2010-10-12 11:36:51 +00:00
alexpeshkoff
2dc25a44bb OSRI and new posix build 2010-10-12 08:02:57 +00:00
robocop
98a2c6822d Warnings. 2010-09-24 09:53:51 +00:00
asfernandes
9b8171d5c1 1) Refactor nod_value_if.
2) Created ExprNode::expressionEqual method to replace a new big and ugly switch.
3) Make boolean referencers use BoolExprNode instead of jrd_nod, except nod_validate for now. This includes BinaryBoolNode and NotBoolNode working without jrd_nod references.
4) Rework in the impure allocation code (replace "csb_impure += ..." by CMP_impure calls).
2010-09-20 16:07:50 +00:00
asfernandes
c1b5abfdf2 1) Refactor all types of boolean nodes.
2) Remove the scratch from the nodes.
2010-09-17 03:15:32 +00:00
dimitr
7083a2fff5 Corrections to the multi-key hashing. Thanks to Adriano. 2010-09-08 18:05:28 +00:00
asfernandes
ada671c034 Refactor nod_index and nod_bit_* to InversionNode 2010-08-31 00:20:33 +00:00
asfernandes
96f2829728 Refactor nod_map and nod_sort to type-safe MapNode and SortNode 2010-08-29 18:20:44 +00:00
asfernandes
588c545d17 Rework WindowSourceNode to use type-safe partitions 2010-08-25 15:52:46 +00:00
asfernandes
48d83b8fef Refactor nod_rse, nod_relation, nod_procedure, nod_union, nod_aggregate and nod_window. 2010-08-24 03:25:01 +00:00
asfernandes
18a6a6b4f9 More consts 2010-08-13 15:22:00 +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
dimitr
1249095a38 Reworked the SEC$USERS implementation so that no new physical table type and data access method would be required. More changes are likely to follow soon. 2010-07-13 12:33:55 +00:00
dimitr
da183a98ed Reworked the SEC$USERS implementation so that no new physical table type and data access method would be required. More changes are likely to follow soon. 2010-07-13 12:31:35 +00:00
alexpeshkoff
88db8b2fbc ODS change: made RDB$USERS system table, added virtual table SEC$USERS 2010-07-09 12:51:05 +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
4763533669 Refactor jrd_req into JrdStatement (shared part) and jrd_req (execution of a statement).
Fixed some bugs found in the way.
2010-04-18 22:19:11 +00:00
asfernandes
e3b4876245 Fix bug: impure space was not being allocated. 2010-04-09 15:35:52 +00:00
asfernandes
0762519962 Misc 2010-04-09 00:53:31 +00:00
dimitr
c030d0f939 Let's consistently handle offsets as unsigned integers. 2010-04-08 12:17:54 +00:00
dimitr
871ffb24d3 Extending the message size limit from 64K to 4G. First stage. 2010-04-08 11:14:57 +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
robocop
2ffe6d1ffe Totally misc. 2010-03-18 09:12:40 +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
dimitr
1e41092ae3 Cleanup the dead code remaining from the legacy scrollable cursors feature. 2010-03-16 06:26:41 +00:00
dimitr
b31f4b4a7d Misc. 2010-03-11 11:40:41 +00:00
asfernandes
725f7878ad Fix the bug reported by Ivan Prenosil (FB3 - problem with inactive triggers). It was the SortMap::flags not initialized. 2010-03-06 02:13:22 +00:00
alexpeshkoff
d6fcd8eb63 It was bad idea to make two TempSpace related parameters per-database - rolled back some changes 2010-03-03 15:02:01 +00:00
asfernandes
77a2706b73 Misc 2010-03-01 02:14:36 +00:00
alexpeshkoff
e5017f1a12 Extend format of firebird configuration file with a set of additional parameters for any parameter.
Use traditional firebird configuration files format in all places (intl, trace, etc.).
Add per-database configuration facility to aliases.conf (currently 15 parameters from firebird.conf).
2010-02-28 18:00:51 +00:00
asfernandes
af249fe61a Misc 2010-02-19 01:40:05 +00:00
asfernandes
a6bd7851e8 Misc and fix per Claudio comments 2010-02-16 21:16:21 +00:00
robocop
835750a54c Misc. 2010-02-16 08:53:31 +00:00
asfernandes
0ce6fb958c Feature CORE-2869 - Window functions: LAG and LEAD. 2010-02-16 00:26:53 +00:00
asfernandes
01f6e290fd Misc 2010-02-15 00:43:04 +00:00
asfernandes
d3c0e1971a 1) Feature CORE-2830 - Window functions: DENSE_RANK, RANK and ROW_NUMBER
2) Fix BLR filter for some procedure verbs
2010-02-14 19:08:22 +00:00
asfernandes
0affd15dc5 Merge OrderedWindowStream into AggregatedStream 2010-02-13 23:55:48 +00:00
asfernandes
c737d6a807 Create ExprNode class hierarchy.
Convert CONCATENATE and aggregate functions to it.

Fix some bugs:
- select sum(n) over (order by n2), sum(n) over (), n, n2 from x1;
- select (select 1 from x1 b where list(1, a.n) = 1) from x1 a;
2010-02-13 20:29:29 +00:00
asfernandes
e52fc518f1 Fix NULL pointer dereference in debug build 2010-01-27 19:26:23 +00:00
robocop
1d87d749f0 Misc. 2010-01-26 08:20:27 +00:00
robocop
79cd3bc57a Totally misc. 2010-01-25 06:48:09 +00:00