dimitr
e85e7360ec
Fixed crashes or wrong results (empty result set) for inner joins and INTL columns.
2013-12-02 17:14:01 +00:00
asfernandes
2d15c34529
Fixed CORE-4247 - Delete "where current of" cursor fails for tables with newly added fields.
2013-10-24 14:47:45 +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
a4ec331d3d
On second thought, I'm removing the artifical message size limit.
2013-08-21 09:17:10 +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
dimitr
8df0ca0194
Misc.
2013-08-21 07:18:26 +00:00
asfernandes
a9c1e054b0
Fix assertion.
2013-08-14 02:20:00 +00:00
dimitr
b7372ba47e
Front ported CORE-3989: Bad performance / slow response when many concurrent sorts are executed.
2013-08-06 09:37:44 +00:00
dimitr
c12bab1332
A bit more information for the plan.
2013-08-05 16:11:15 +00:00
dimitr
4dba9ffc74
Misc adjustments.
2013-07-16 06:22:27 +00:00
dimitr
8a177d4793
Fixed crash appeared in test bugs.core_2291.
2013-07-15 11:56:23 +00:00
dimitr
7ef5725b5f
Fixed hash join of more than two streams.
2013-07-10 19:49:16 +00:00
asfernandes
741cba7293
Refactor AggregatedStream to remove duplicated code and make it easier to understand.
2013-06-30 02:15:35 +00:00
asfernandes
54243004a8
Fixed CORE-4131 - Error when processing an empty data set by window function, if reading indexed.
2013-06-28 15:55:02 +00:00
asfernandes
fc16bb34e4
Fixed crash when calling unimplemented packaged procedures.
2013-05-13 01:48:57 +00:00
dimitr
af97c12801
Simplified the code and reworked the NULL validation logic.
2013-05-06 12:34:20 +00:00
dimitr
18ac6284b7
Fixed bug in my recent refactoring, thanks to Adriano.
2013-05-04 16:19:07 +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
a74f8f1acd
Fixed CORE-4073 - Constant columns getting empty value with subselect from procedure.
2013-04-03 15:27:28 +00:00
dimitr
15e4367810
Small refactoring.
2013-03-17 17:35:53 +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
9b72aa53bc
Misc.
2012-12-19 00:56:57 +00:00
dimitr
fc139b16d5
Fixed rescheduling logic that was broken during the RSB refactoring.
2012-12-17 17:33:45 +00:00
dimitr
3971e49b30
Another bunch of changes for CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests. The looper nodes should never ignore req_unwind and transform it to something else.
...
Review and testing would be appreciated, especially in regard to EXE_assignment.
2012-12-06 12:09:11 +00:00
dimitr
4ff4290f11
Front-ported bugfixes related to CORE-4004: Sometimes long-running operations cannot be interrupted by asynchronous shutdown / cancellation requests.
2012-12-03 11:21:00 +00:00
alexpeshkoff
2a01e4bcf9
Implemented CORE-3861: Make it possible to encrypt database
...
Also some cleanups, the most important are:
- meaningful ctor on Jrd::Lock, helping to avoid code dup
- avoid unneeded h-file dependencies, making boot build engine dependent
2012-05-31 16:53:42 +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
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