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

133 Commits

Author SHA1 Message Date
hvlad
2a67db1b06 Better (i hope) fix for the bugcheck appeared in test bugs.core_195.
The original fix broke cursor stability when there are sub-queries, see also CORE-3362.
Misc fixes for better debugging.
2014-01-09 10:29:37 +00:00
dimitr
8586171695 Core support for records longer than 64KB. Not exposed to the external world yet. 2013-08-21 07:40:31 +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
dimitr
15e4367810 Small refactoring. 2013-03-17 17:35:53 +00:00
asfernandes
d8a9ec4392 Cleanup. 2013-03-10 20:38:44 +00:00
dimitr
358b173fee More work towards unlimited SQL/BLR lengths. 2013-01-25 12:34:19 +00:00
asfernandes
07557dc297 Misc. 2012-05-26 18:05:56 +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
dimitr
0ea7ae11f3 Fixed CORE-3092: ROW_COUNT is not cleared before the singleton INSERT statement, 2012-03-15 10:40:45 +00:00
asfernandes
be18048455 Avoid waste some bytes per record and procedure streams. 2011-10-06 01:41:10 +00:00
asfernandes
7ad98cd292 Work in progress on the external engines API changes. 2011-06-01 01:44:54 +00:00
asfernandes
2c9dd7e1ff Misc. 2011-05-28 02:05:45 +00:00
alexpeshkoff
cc2ac69db8 Make sure rpb is initialized 2011-05-27 10:13:08 +00:00
hvlad
99c9c8e2db Enabled background threads (garbage collector and cache writer).
Introduced special kind of system attachments used in this threads and show its activity in monitoring.
2011-05-27 07:57:16 +00:00
asfernandes
72b7e83082 Misc 2011-02-26 19:05:09 +00:00
hvlad
07e245ab1b Implement improvement CORE-3362 : Cursors should ignore changes made by the same statement 2011-02-25 12:26:57 +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
alexpeshkoff
8a8a95448f warnings 2010-10-15 09:05:34 +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
173b23109c 1) Better organization between request and statement. 2) Consts. 2010-08-05 15:55:49 +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
dimitr
1e2edd445d Reworked the rsb/cursor logic a bit. Now I don't think sub-queries should be cursors. 2010-04-15 16:10:51 +00:00
asfernandes
3387c9c288 Move impure area and rpbs to their own arrays 2010-04-09 15:43:48 +00:00
asfernandes
5ac2130415 Cleanup - switch from pointer arithmetics to sane way to get impure places 2010-04-05 21:20:08 +00:00
asfernandes
82ccb81d3b Unify even more procedure and function handling. While at it, fix a wrong access to req_procedure when validating function. 2009-12-30 01:40:39 +00:00
dimitr
debe65bcfb Support for PSQL functions (other JRD changes). Still work in progress. 2009-12-21 17:43:01 +00:00
dimitr
45b5fc2811 Cleanup. 2009-12-16 18:35:55 +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
robocop
45cc25511c Cleanup. 2009-11-28 07:29:26 +00:00
robocop
25c45ea7b2 Compact the flags values. 2009-10-31 11:27:17 +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
8e36474f76 More explicit (and shorter) life-time for sort blocks. Now they belong to either requests (user sorts) or transactions (index sorts).
This also resolves CORE-2477: mon$memory_usage: Sorting memory should be reported as owned by the statement.
2009-09-04 06:11:55 +00:00
asfernandes
398975b940 Misc 2009-08-20 01:32:24 +00:00
robocop
1816523040 Comments. 2009-08-16 06:23:19 +00:00
asfernandes
26c1892310 Misc 2009-06-20 18:46:59 +00:00
hvlad
4bb9891d96 Much more easy way to please Sun compiler and not touch anything more 2009-06-10 12:15:40 +00:00
hvlad
643a6f933b Undo huge and not friendly fix for Sun compiler 2009-06-10 12:11:53 +00:00
alexpeshkoff
cf14a23b6f Fixed Sun compiler build 2009-06-10 10:09:01 +00:00
asfernandes
f8eb935eb7 Misc 2009-06-06 18:13:57 +00:00
hvlad
903df425fc Implement improvement CORE-2492 : Work correctly with external tables larger then 2GB 2009-06-03 09:56:29 +00:00
asfernandes
f6f364da49 Trim trailling spaces 2009-04-04 16:39:31 +00:00
hvlad
7b2f120ae4 Performance : don't perform costly operations if not needed 2009-02-05 16:15:05 +00:00
asfernandes
612c108e3e Misc 2009-02-02 03:35:52 +00:00
hvlad
115602ff06 Trace services support 2009-02-01 22:10:12 +00:00
robocop
2fadc0e456 Style. 2008-12-22 09:00:05 +00:00
roman-simakov
b1f08e4492 Small optimization of RuntimeStatistics to avoid multiple constructor/destructor usage.
RuntimeStatistics::operator-= (+=) were moved to class declaration to make them inline.
2008-12-16 15:17:50 +00:00