dimitr
e2aab75891
Fixed the optimizer in regard to the partitioned window functions.
2010-01-19 07:52:38 +00:00
asfernandes
7fbee2c76b
Feature OVER (PARTITION BY ...) clause for window functions
2010-01-18 21:37:47 +00:00
asfernandes
d26457bc6d
Remove a var. shadow
2010-01-18 13:38:36 +00:00
dimitr
e9a3f9e213
Misc.
2010-01-18 13:18:20 +00:00
dimitr
df53be29bf
Misc.
2010-01-18 11:39:34 +00:00
dimitr
4862999990
Cleanup. Hopefully valid this time ;-)
2010-01-15 11:36:42 +00:00
asfernandes
fc948e44a6
I believe the expression may produce wrong results depending on compiler optimizations
2010-01-14 16:45:13 +00:00
dimitr
2f28556820
Fixed CORE-1274 (Wrong results when PLAN MERGE is chosen and datatypes of the equality predicate arguments are different) and CORE-1752 (Results of a join with different collations depend on the execution plan).
2010-01-14 12:25:13 +00:00
dimitr
dfa7f00cf7
Trivial support for hash joins in the optimizer.
...
Currently they completely replace the merge joins (for debugging purposes).
2010-01-14 11:41:36 +00:00
dimitr
ef05207a8d
Misc.
2010-01-14 07:13:38 +00:00
dimitr
27ff3bf1df
Misc.
2010-01-13 11:46:54 +00:00
dimitr
7d7aef4228
Cleanup and refactoring in the optimizer (mostly related to rivers and sort/merge).
2010-01-13 11:46:16 +00:00
asfernandes
5277b99bcf
Misc
2010-01-12 14:21:30 +00:00
dimitr
6256cebc83
Misc.
2010-01-12 09:53:08 +00:00
dimitr
5f39df8d27
Allowed merge joins for IS NOT DISTINCT equalities.
2010-01-11 17:37:49 +00:00
dimitr
59ee638622
Fixed the sorting.
2010-01-06 14:16:21 +00:00
robocop
eb571b41eb
Warning.
2009-12-16 09:31:36 +00:00
asfernandes
b137cdfd80
Misc
2009-12-14 23:55:56 +00:00
dimitr
793bfb91dd
Simplification.
2009-12-14 16:01:06 +00:00
robocop
00c5d74904
Cleanup.
2009-12-13 13:49:43 +00:00
dimitr
bda5c179d1
Cleanup the unneeded routines.
2009-12-13 11:50:27 +00:00
robocop
546bf76a24
Unused functions, unused parameters, unused vars.
2009-12-13 11:07:05 +00:00
robocop
dae574f7f1
Misc, style and unused vars.
2009-12-13 10:41:53 +00:00
asfernandes
7c38226dfc
Misc
2009-12-12 21:02:01 +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
8cbaa89e7e
Fixed the merge join algorithm. Thanks to Adriano.
2009-12-10 15:26:46 +00:00
dimitr
d09fba5ebd
Fixed (hopefully) CORE-2798: Incomplete plan output (lack of view names) when selecting from views containing procedures inside.
2009-12-10 14:47:52 +00:00
dimitr
4052e12065
Corrected the logic. Thanks to Adriano.
2009-12-10 10:13:22 +00:00
asfernandes
925bcc9cf6
Misc / warnings
2009-12-10 00:02:01 +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
7e04ec0ab5
Clean it per Claudio request
2009-11-27 14:39:48 +00:00
asfernandes
a3dd1d0482
Misc
2009-11-26 00:20:59 +00:00
robocop
579a456329
Style.
2009-11-25 08:38:52 +00:00
robocop
d6ceb87638
Cleanup.
2009-11-25 04:52:54 +00:00
robocop
75df0fc37d
Comments.
2009-11-25 03:58:43 +00:00
robocop
804ad6048a
Restrict us to ODS11 and ODS12 until the dust settles down.
2009-11-24 11:42:56 +00:00
robocop
1386adcf90
Style.
2009-11-16 08:06:31 +00:00
asfernandes
7e0f76e708
Misc
2009-11-02 14:42:27 +00:00
asfernandes
79e9320875
Refactor aggregate handling into AggregateRsb class
2009-10-31 19:03:30 +00:00
asfernandes
d59001341c
Misc
2009-10-31 17:31:48 +00:00
dimitr
5ae7b7f340
Cleanup.
2009-10-31 11:08:11 +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
asfernandes
ed0e0daeb3
- External Engines implementation.
...
- Plugins API.
- Feature CORE-2700 - UDR (User Defined Routines) Engine - C++ API supporting functions, triggers and stored procedures.
- Feature CORE-2470 - Support for alternate format of strings literals.
- Feature CORE-2310 - DDL triggers.
- Feature CORE-2312 - PSQL Packages.
- Feature CORE-1209 - CONTINUE statement.
- Feature CORE-1180 - DDL syntax to change (not) nullable state of columns.
- Feature CORE-2090 - Support OVER () clause with current aggregate functions.
- Fixed CORE-2699 - Common table expression context could be used with parameters.
- Introduce ODS 12.0.
- Work in progress in type-safe parser.
- Refactor some DDL commands (procedures and triggers) from DYN to DdlNodes.
- Refactor virtual tables to use a class hierarchy instead of namespaces. This is basic thing, not based on the changes done in Vulcan. Window functions is based on this work.
- Refactor COMMENT ON and DROP FUNCTION from DYN to DdlNodes. COMMENT ON do not use GDML anymore, it uses DSQL with PreparedStatement class.
- Refactor EXECUTE BLOCK to StmtNodes.
- Refactor the IUDF to SysFunctions. That eliminates RDB$GET_CONTEXT and RDB$SET_CONTEXT from RDB$FUNCTIONS.
2009-10-21 00:42:38 +00:00
dimitr
d60030074d
Just a consistency with other variables.
2009-10-05 16:06:44 +00:00
hvlad
89d72e5fba
Fixed bug CORE-2633 : SELECT WITH LOCK with no fields are accessed clears the data
2009-09-18 07:13:34 +00:00
asfernandes
50102f6f4c
Misc
2009-08-23 01:27:46 +00:00
robocop
97c384d984
Comments.
2009-08-22 12:16:47 +00:00
robocop
ebca9af164
Mostly comments.
2009-08-20 10:19:02 +00:00
dimitr
1d817afa1b
More complete solution for CORE-1971 (evaluation from left to right).
2009-08-05 15:26:05 +00:00
asfernandes
5063bafc36
Misc
2009-07-15 03:13:16 +00:00
dimitr
9b90f012ca
Fixed CORE-1971: Set the fixed and documented check order for WHERE clause and other conditional sentences.
...
The order of evaluation is now always from left to right.
2009-07-12 10:16:15 +00:00
alexpeshkoff
fe4aec8a12
Fixed CORE-2550: Bus error when working with DB_KEY on bigendian machines. Introduced dtype_dbkey inside engine.
2009-07-09 14:04:42 +00:00
asfernandes
8a94ecf6bc
Misc
2009-06-29 02:06:00 +00:00
uid32383
e704280a59
Style.
2009-06-28 10:29:36 +00:00
robocop
f10e1b72eb
Style.
2009-06-27 06:23:36 +00:00
asfernandes
91c2a6d464
Misc: replace MAX_UCHAR by MAX_STREAMS
2009-06-25 02:06:14 +00:00
robocop
c202492a2e
Style.
2009-06-21 10:34:33 +00:00
robocop
ab2141b5e6
Misc.
2009-06-19 13:00:53 +00:00
asfernandes
a263449fa2
Fix build
2009-06-18 23:24:14 +00:00
robocop
6bfacad413
CORE-2509. Took the opportunity to fix several data types.
2009-06-18 12:07:07 +00:00
robocop
66b1227b22
Unused params, some formatting, cleanup.
2009-05-01 17:21:36 +00:00
asfernandes
1c20adb8fc
Misc
2009-04-29 01:52:49 +00:00
robocop
2d7cb94844
Unused params
...
Some BLR checks
2009-04-28 13:08:04 +00:00
asfernandes
f6f364da49
Trim trailling spaces
2009-04-04 16:39:31 +00:00
alexpeshkoff
77498cac9b
Fixed some warnings
2009-04-03 10:49:07 +00:00
robocop
a730fbf074
Get rid of more typedefs.
2009-04-03 10:07:55 +00:00
asfernandes
628eb5b557
Misc
2009-02-09 01:43:49 +00:00
hvlad
0950f997fb
Fixed bug CORE-2311 : Possible memory leak in WITH RECURSIVE query
2009-02-08 15:50:12 +00:00
robocop
66dc4ddad9
Make code easier to read.
2009-02-08 09:39:59 +00:00
asfernandes
1105286dee
Misc
2009-02-07 15:20:34 +00:00
asfernandes
636b304d8e
Fix the problem reported by Vlad (another case of CORE-2237)
2009-02-05 01:19:20 +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
robocop
9161be9116
Style.
2008-12-18 11:29:10 +00:00
asfernandes
4769d47fa3
Fixed CORE-2237 - Assertion at src\jrd\intl.cpp 569
2008-12-13 18:25:45 +00:00
asfernandes
8fbf0e8e8c
Remove trailing spaces (.cpp files)
2008-12-05 01:20:14 +00:00
asfernandes
da7386109d
Fixed CORE-2215 - GROUP BY concatenation with empty string
2008-11-28 14:59:17 +00:00
asfernandes
c51af68ff9
Misc
2008-11-09 22:42:11 +00:00
asfernandes
720a49c89e
Fixed the others two problems of CORE-2176
2008-11-09 17:00:19 +00:00
dimitr
591186dd00
Misc.
2008-09-12 12:23:52 +00:00
dimitr
aad133369c
Cleanup.
2008-09-12 08:48:47 +00:00
alexpeshkoff
13a15d4bfe
1. Final fix for CORE-1964 - finished vararg cleanup in jrd.
...
2. Generic cleanup of error reporting functions all around engine.
2008-08-27 12:20:47 +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
99a17e984b
Fixed the main problem of CORE-1971: inconsistency in the evaluation order between Windows and POSIX.
...
Now the order is always right-to-left. I would prefer to see it reversed, but that's for another day.
2008-07-09 11:46:44 +00:00
alexpeshkoff
a2e416210b
Fixed CORE-1964: Use of 0 instead of isc_arg_end to terminate list of ERR_post's (and cousines) arguments is invalid.
...
Also cleaned up use of gds__log() in a few places.
2008-06-26 09:47:59 +00:00
robocop
5777ff76fa
More VC6 cleanup.
2008-05-14 13:11:41 +00:00
hvlad
5f8774827c
Better and simpler fix for bug CORE-1884.
2008-05-06 12:15:09 +00:00
dimitr
e0c6d0e13d
Fixed CORE-1812.
2008-05-06 09:40:22 +00:00
hvlad
f672d51a14
Avoid manipulations with TDBB_use_db_page_space flag in jrd_rel::getPagesInternal
2008-04-02 13:55:10 +00:00
asfernandes
cacb90b74c
Fixed CORE-1795 - Server crashes on SQL script
2008-03-19 15:59:25 +00:00
dimitr
de7d3f7e95
Optimizer adjustments for the new built-in functions.
2008-02-20 09:24:31 +00:00
robocop
10d74a7642
Style.
2008-02-13 12:57:04 +00:00
asfernandes
46c115411a
Fixed CORE-1254 - Problem with DISTINCT and insensitive collations
2008-02-09 15:19:21 +00:00
asfernandes
6dd361603f
Misc
2008-02-04 17:01:36 +00:00
robocop
4c3381ef6b
Style, constness and macro cleanup.
2008-02-03 10:41:44 +00:00
dimitr
fec2f3e155
Restored the legacy logic for blob sorting, thus rolling back changes for CORE-859 and CORE-1530.
2008-01-26 18:06:42 +00:00
alexpeshkoff
39896cb955
Fixed CORE-1671: atexit() calls in client libraries cause segfaults
...
and CORE-1079: Every attach of fbclient/fbembed library leaks 64KB of memory
To do it:
- created new template GlobalPtr, controlling access to destructors of global objects.
- applied it to global objects.
Also some related cleanup.
2008-01-23 15:52:40 +00:00
asfernandes
05b90fa684
Eliminate some warnings
2008-01-16 14:37:26 +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
robocop
2d2b8cf718
Misc.
2007-11-17 10:18:10 +00:00
paulbeach
7602a29b94
HPUX Port
2007-11-12 14:26:44 +00:00
dimitr
4d7d563e6e
Fixed CORE-1533.
2007-10-29 17:57:24 +00:00
alexpeshkoff
6a844b2041
Avoid unneeded cast
2007-10-02 17:03:53 +00:00
dimitr
33fb126a74
Fixed CORE-1436.
2007-08-31 10:14:09 +00:00
hvlad
671e59e993
Fixed bug CORE-1373 : Incorrect result of recursive CTE query when recursive member's SELECT list contains expression using self-referenced fields
2007-07-21 21:28:56 +00:00
asfernandes
f09ea7782f
Transliterate object names from PLANs to the client charset
2007-05-25 14:06:55 +00:00
asfernandes
c97d57013e
Fixed CORE-1253 - LIST(DISTINCT) concatenate VARCHAR values as CHAR
2007-05-11 02:07:36 +00:00
dimitr
1b44f36eda
Front-ported RISC-specific fixes.
2007-03-09 08:11:10 +00:00
dimitr
7eefa833f8
Adjusted the logic accordingly to the Alex's fix.
2007-03-01 15:08:11 +00:00
alexpeshkoff
86344f06c3
Use faster and more clear method when possible
2007-03-01 13:09:09 +00:00
asfernandes
e544f6fd1e
Misc
2007-03-01 00:44:14 +00:00
asfernandes
2d26b3f5f8
Allow BLOBs in EXECUTE STATEMENT and possibly in others unkown cases
2007-02-27 02:36:20 +00:00
dimitr
02035b1860
Fixed CORE-1130.
2007-02-15 07:20:59 +00:00
dimitr
c2392582af
Fixed CORE-1029.
2006-11-29 17:48:54 +00:00
dimitr
eecccbbc72
Fixed CORE-1025.
2006-11-28 13:26:24 +00:00
asfernandes
9ca610d9f4
Misc
2006-11-23 00:30:07 +00:00
dimitr
81bbdfd4f2
Attempted to fix CORE-995.
2006-11-21 14:02:29 +00:00
dimitr
e95f81408d
Fixed CORE-1005.
2006-11-21 07:47:02 +00:00
asfernandes
1d422a8330
1) Refactor intl_classes.h and intl.cpp
...
2) Make conversions from CharSet1->UTF16->CharSet2 job of CsConvert class
2006-10-10 19:40:33 +00:00
robocop
db7c21a752
Misc.
2006-09-14 09:40:58 +00:00
asfernandes
87c0e8360d
Check limits
2006-09-12 16:31:38 +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
asfernandes
5c26d54f02
1) Fixed CORE-899 - Problems with explicit cursors in unwanted states
...
2) Make RDB$DB_KEY in outer joins returns NULL when appropriate
2006-09-07 01:55:49 +00:00
arnobrinkman
eaf233717a
Fix bug CORE-897
2006-08-31 18:16:58 +00:00
hvlad
b20aa92714
Common table expressions implementation
2006-08-01 20:37:58 +00:00
dimitr
cffe207614
A few fixes for the monitoring tables.
2006-07-23 12:14:59 +00:00
dimitr
a05bc8f15d
1) Fixed CORE-859.
...
2) I've restored the asserts disabled by Frank in 2000. I really don't see how skd_dtype == 0 can be valid, as the sorter works inproperly in this case and it allows unsupported datatypes to be attempted to sort on.
2006-07-20 11:11:37 +00:00
dimitr
c68587fe66
1. Virtual tables
...
2. ODS 11.1, procedure type and relation type
2006-07-17 17:44:18 +00:00
dimitr
211645e3dc
Getting rid of the old allocator routines.
2006-05-23 10:17:00 +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
alexpeshkoff
b056a118b5
1. Avoid use of STL
...
2. Reworked exceptions to make status_exception always hold correct status vector
3. Avoid use of RTTI
2006-05-19 15:17:02 +00:00
dimitr
9d2af66fc0
Fixed bug with explicit plans and dependent vs free streams.
2006-05-19 11:09:44 +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
b0cb5b92cd
Misc.
2006-05-13 05:00:21 +00:00
dimitr
bf1e56bff1
Fixed a bugcheck by restoring to the old nod_count processing.
...
Still clueless why it's done that way.
2006-04-25 12:54:12 +00:00
asfernandes
7e7f4183a3
Misc
2006-04-25 03:48:19 +00:00
dimitr
54d4cc4ddf
The core implementation of the LIST function. Unstable yet.
2006-04-24 16:56:58 +00:00
arnobrinkman
782f902948
Fix "no current record .." bug when an undependent stream A is dependent on stream B and B is dependent on stream C.
...
Stream A was merged with the stream C and only B was correctly joined.
2006-04-22 21:18:19 +00:00
robocop
c5f2284b15
Style.
2006-04-06 08:18:53 +00:00
robocop
e455915e74
Misc.
2006-02-18 23:39:23 +00:00
robocop
044c5841ad
Misc.
2006-02-10 03:28:43 +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
robocop
2011950972
The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
...
Ninth step: while doing cleanup, I discovered some data members that aren't used anymore or that should be inside conditional code. This is the result.
2006-02-03 02:28:58 +00:00
dimitr
bf1562a49a
Fixed a bug with NOT ANY/ALL reported by Alex.
2006-02-02 12:56:57 +00:00