dimitr
d9c0e9548c
Fixed three issues together represented in CORE-4261:
...
- non-existent result of the window function (in outer joins) is reported as 0 instead of NULL
- derived constant is processed wrongly in windowed streams
- deeper-than-root partitions are not "nullified" in outer joins
Adriano, please review.
2013-12-05 13:59:12 +00:00
dimitr
e85e7360ec
Fixed crashes or wrong results (empty result set) for inner joins and INTL columns.
2013-12-02 17:14:01 +00:00
dimitr
ffbc33c270
Fixed CORE-4229: Bi-directional cursor is not positioned by the first call of FETCH LAST.
2013-09-20 07:06:08 +00:00
dimitr
c1cbd97163
Increased the sort record size limit to 1MB. I've kept this limit due to the possible performance implications, but it can be extended/removed any time.
2013-08-21 09:11:57 +00:00
asfernandes
741cba7293
Refactor AggregatedStream to remove duplicated code and make it easier to understand.
2013-06-30 02:15:35 +00:00
dimitr
d274c0287b
Refactoring: isolated the singularity checking logic and simplified the whole RSB beast.
2013-04-19 09:22:58 +00:00
asfernandes
e0567463bf
Revert external routines to request-based (*) code, but now using a totally different internal approach.
...
* This is not ideal IMO, but much more easier to currently support stack traces, and domain's defaults and validations.
2013-04-11 15:44:17 +00:00
asfernandes
48fd751c6e
Fixing FB_MESSAGE macro and external functions and procedures.
...
Isolate external routines them from request-based ones.
2013-03-04 01:42:58 +00:00
asfernandes
81d628f40a
Warning.
2012-04-23 00:55:45 +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
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
be18048455
Avoid waste some bytes per record and procedure streams.
2011-10-06 01:41:10 +00:00
dimitr
790b888561
Better protection from wrong casts.
2011-02-26 07:25:10 +00:00
dimitr
cc71f0835f
Removed duplicated type declaration.
2011-02-20 15:34:08 +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
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
392bfbc0ef
Warnings.
2011-02-06 19:34:43 +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
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
dimitr
b060fb4c67
Fixed CORE-3208: Significant memory leaks with recursive queries.
2010-11-01 19:32:17 +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
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
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
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
5ac2130415
Cleanup - switch from pointer arithmetics to sane way to get impure places
2010-04-05 21:20:08 +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
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
robocop
1d87d749f0
Misc.
2010-01-26 08:20:27 +00:00
asfernandes
b68658534f
Feature CORE-2823 - Support the ORDER BY subclause for current aggregate functions (except LIST)
2010-01-23 03:02:53 +00:00