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

429 Commits

Author SHA1 Message Date
alexpeshkoff
b3f9759960 Take locks in AST before building tdbb
Fixed assertion in CCH_exclusive_attachment 
Rolled back my changes required to let cancelOperation() enter engine after shutdown
Better locks' history in SyncObject
2012-12-18 13:54:18 +00:00
alexpeshkoff
c7454a49a5 Work in progress (committed due to SF upgrade). Checked only on SS.
1. Frontported fix for CORE-3935 and CORE-3993.
2. Added debugging support for mutexes and rwlocks in Vulcan style.
Unfortunately after last 'svn up' build asserts in JrdStatement:71.
2012-12-14 17:59:02 +00:00
asfernandes
d574d43aa4 Fixed CORE-3992 - No records in the table rdb$dependencies for ddl trigger. 2012-11-22 13:55:31 +00:00
alexpeshkoff
4ca6e669fe 1. Fixed CORE-3786: Firebird 2.5.1 Hangs on MacOSX 10.7 (Lion) on DB create after reboot.
2. Cleanup: avoid functional style in stuff exception.
2012-11-01 11:40:18 +00:00
dimitr
42a4c93b97 1) Removed the no longer actual "parent lock" concept from both the lock and event managers.
2) Reworked the lock manager synchronization: added the RAII mutex holders and avoided dirty reads for the shared memory.
3) Encapsulated lck_length into the Lock class + small related  refactoring.
4) Front ported recent fixes from the v2.x branches.
5) Misc cleanup.
2012-06-21 15:37:38 +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
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
hvlad
96a7fa2576 Front ported fix for bug CORE-3812 : Connection lost to database during massive dropping and altering primary keys of tables 2012-04-12 13:03:25 +00:00
hvlad
ec29332fec Fixed wrong pool usage 2012-04-12 12:32:22 +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
robocop
eed418a89e Make blb resemble more a class: private data members, convert some functions into methods, add methods with code that was in other files, etc. 2012-02-15 03:34:21 +00:00
robocop
186c817caa Playing with fire: converting some static functions into member functions. I tried to check every change I did. 2012-02-07 03:17:52 +00:00
robocop
21cd78a0fd Cleanup: unused functions, parameters & variables. 2012-01-24 03:37:43 +00:00
asfernandes
c627005a89 Feature CORE-3626 - Subfunctions in PSQL and EXECUTE BLOCK.
Tests at http://firebird.cvs.sourceforge.net/viewvc/firebird/fbtcs/GTCS/tests/FB_SQL_SUBFUNC_1.output.

Also did:
- Refactor to share more code/data between procedures and functions.
- Fixed some PSQL functions problems.
2011-10-16 20:36:07 +00:00
hvlad
3e9577bcd8 Port forward fix for bug CORE-3549 : Database corruption after end of session : page xxx is of wrong type expected 4 found 7 2011-07-17 09:49:46 +00:00
asfernandes
f14ec26183 Misc. 2011-06-04 02:18:55 +00:00
dimitr
a09ca42e8e Cleanup. 2011-06-01 17:29:51 +00:00
dimitr
df893a708d Better (I hope) solution for CORE-3058: New generators are created with wrong value when more than 32K generators was previously created. It also resolves the [temporary] inability to restore generator values. 2011-06-01 16:58:55 +00:00
hvlad
190abcf635 Fixed related bugs
CORE-3502 : DROP VIEW ignores the existing non-column dependencies, and 
CORE-3503 : ALTER VIEW crashes the server if the new version has an artificial (aggregate or union) stream at the position of a regular context in the older version.
// Name REL_view is already used in DSQL so i introduced ugly REL_jrd_view flag
2011-05-30 14:26:15 +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
hvlad
fef1f49c94 Shared page cache implementation 2011-05-09 10:15:19 +00:00
dimitr
7a405a4eea Fixed CORE-3058: New generators are created with wrong value when more than 32K generators was previously created. 2011-02-17 06:05:16 +00:00
asfernandes
f1ac2b2ab5 Simplified fix for problem with default values in formats. 2011-02-11 00:43:15 +00:00
dimitr
69e6fdd8d3 Corrections, thanks to Adriano. 2011-02-04 07:45:01 +00:00
dimitr
6de88387c7 Simplification. Adriano, please review. 2011-02-03 09:35:57 +00:00
asfernandes
681c542480 Fixed CORE-3330 - Server crashes while recreating the table with a NULL -> NOT NULL change. 2011-02-02 14:41:28 +00:00
hvlad
e04bd813f8 Fixed bug CORE-3095 : Client receive event's with count equal to 1 despite of how many times EVENT was POSTed in same transaction 2011-01-31 10:40:00 +00:00
dimitr
e0f5a68da0 More work on enlarging the message buffers. To be continued. 2011-01-28 18:50:27 +00:00
asfernandes
c9ec26c0c3 Feature CORE-726 - Boolean data type 2010-12-18 02:17:06 +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
af23581244 Front ported my recent changes. I'm unable to verify the compilation now, sorry. 2010-10-14 05:27:08 +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
hvlad
6a37e8c261 Fixed bug CORE-3170 : Engine could enter infinite loop if EVENT's are posted but no subscribers exists 2010-10-08 11:57: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
96cd57ba83 Better error reporting and adjustments 2010-07-29 00:36:31 +00:00
asfernandes
36f092fe0e Improvement CORE-3085 - Add clause ALTER DOMAIN <name> [NOT] NULL 2010-07-28 16:14:20 +00:00
hvlad
4495a7ce16 Fixed bug CORE-3079 : Strong slowing down inserts with EVENT-s in a single transaction 2010-07-26 10:51:00 +00:00
asfernandes
08bbc59f03 Fixed CORE-3056 - Problems may happen when issuing DDL commands in the same transaction after CREATE COLLATION was issued 2010-06-18 12:49:31 +00:00
alexpeshkoff
f28f040e0f Fixed CORE-3024: Error "no current record for fetch operation" after ALTER VIEW (and a lot of other possible inconsistencies) 2010-06-15 12:27:33 +00:00
asfernandes
d6e4b53865 Misc 2010-05-08 02:25:58 +00:00
skidder
5b3486586c Fix CORE-2985: The new 2.5 feature to alter COMPUTED columns doesn't handle dependencies well. Also fix the similar situation for ALTER TRIGGER statement 2010-05-02 12:49:14 +00:00
skidder
f0733c2dc7 Add comments (hopefully helpful) 2010-05-02 08:41:37 +00:00
robocop
9eaa31856a Cleanup. 2010-04-29 05:15:57 +00:00
asfernandes
c1ac5ddc87 Misc 2010-04-23 01:59:21 +00:00
asfernandes
ef4fa156f2 Misc 2010-04-21 15:47:18 +00:00
asfernandes
0c47a04538 1) Use RAII with the non-cached requests.
2) Change GPRE generated code to something that fits the future SMP-aware engine, replacing calls of "request = CMP_compile2(...)" by "request.compile(...)". Boot build required.
2010-04-19 22:49:18 +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
39498cb65b Use AutoCacheRequest in all cacheable system requests. Fixes some request leakages. 2010-04-18 15:04:52 +00:00
dimitr
307c3be080 Fixed evaluation of default arguments for PSQL (and, supposedly, external) functions.
Improved error handling.
2010-04-14 09:45:27 +00:00
dimitr
1c9adc5300 Cleanup. 2010-04-06 16:26:27 +00:00
robocop
ac551e2b71 Cleanup. 2010-04-04 08:52:10 +00:00
asfernandes
e1ba33a2ae Fix problem of the system transaction storing pointer to random or already deallocated attachment. Full build (or kind of) required. 2010-04-02 21:48:15 +00:00
robocop
7a4640366d Misc. 2010-01-30 09:58:01 +00:00
robocop
0da76615ab Fix misinterpretation of MET_get_dependencies's parameters done years ago with Alex' conversion to MetaName class. 2010-01-26 08:29:03 +00:00
asfernandes
9c1bab1793 Feature CORE-1385 Identity columns - in its basic form 2010-01-13 19:14:15 +00:00
asfernandes
32baf214bb Always use the dialect 3 for system SQL queries 2010-01-03 18:23:22 +00:00
asfernandes
e8b3caa105 The easy fix to the dialect problem 2010-01-03 15:21:13 +00:00
asfernandes
7ff112a901 Some syntactic sugar 2010-01-03 00:19:14 +00:00
asfernandes
5c407c739c Convert an uncached GDML query to equivalent SQL with PreparedStatement 2010-01-02 23:29:32 +00:00
asfernandes
0057047932 Misc 2009-12-30 00:50:39 +00:00
asfernandes
e8cc188227 Store the view context type when it doesn't came from backup and simplify the code. Still problems altering procedures used in views. 2009-12-28 15:31:09 +00:00
asfernandes
d8c99a9be2 1) Make procedures and functions member of the same hierarchy (Routine class)
2) Some completion for external functions
2009-12-27 22:05:22 +00:00
asfernandes
534b8c020e Misc 2009-12-25 19:29:58 +00:00
dimitr
7f4bb8c418 Misc. 2009-12-25 07:26:49 +00:00
robocop
f3091483ca Misc. 2009-12-25 04:41:10 +00:00
dimitr
6e1f8db753 Metadata cache support for PSQL functions. 2009-12-24 14:15:21 +00:00
dimitr
debe65bcfb Support for PSQL functions (other JRD changes). Still work in progress. 2009-12-21 17:43:01 +00:00
asfernandes
1b1f90d06c Work in progress on RDB$VIEW_RELATIONS 2009-12-17 15:07:02 +00:00
robocop
5cfc9dc78b CORE-2787: Make rdb$system_flag not null.
Please do a full rebuild.
2009-12-03 12:52:10 +00:00
dimitr
f6512d4cac Fixed bug in my recent commit. 2009-11-28 22:26:45 +00:00
dimitr
08e0e238c6 An attempt to fix CORE-2766: page 0 is of wrong type (expected 6, found 1).
Mutex is used just to wait on a event with allowed recursive execution.
2009-11-28 12:53:52 +00:00
robocop
d8a012014b Comments. 2009-11-27 08:34:34 +00:00
robocop
6b58626584 Cleanup. 2009-11-27 06:57:17 +00:00
robocop
f955568fc9 The architect created ODS12 and saw it was good, then he said "thy shall be the only one among your race", dropped the older ones and sent the developers to the four corners of the cyberspace to convert the masses to ODS12. 2009-11-27 02:33:40 +00:00
robocop
804ad6048a Restrict us to ODS11 and ODS12 until the dust settles down. 2009-11-24 11:42:56 +00:00
robocop
0f16326892 Comments. 2009-11-21 03:23:47 +00:00
asfernandes
13e1546a70 Misc 2009-11-21 00:10:16 +00:00
robocop
2d58a58ef2 If the functions' params can fit in 100 columns... 2009-11-20 09:22:29 +00:00
robocop
0411da9f59 Related to CORE-2759 (but doesn't fix it yet). 2009-11-20 04:53:15 +00:00
robocop
6dcb9c1d01 We align the parentheses with the code. 2009-11-19 09:52:30 +00:00
robocop
6b4f015458 Shortcut. 2009-11-19 09:31:38 +00:00
asfernandes
218f419b5c Fixed related issues:
CORE-1518 - Adding a non-null restricted column to a populated table renders the table inconsistent
CORE-2696 - "alter table" command can add a field which has "not null" definition
CORE-1748 - Unrestorable backup
CORE-1355 - Zero display instead of NULL
2009-11-18 14:24:47 +00:00
robocop
9ce4040042 Replace the now obsolete dbb_minor_original by dbb_minor_version. 2009-11-18 12:02:00 +00:00
asfernandes
4b49453bb8 Correction 2009-11-12 00:44:40 +00:00
asfernandes
79caf4e326 Improve efficiency and error reporting of CORE-1180 2009-11-11 15:12:56 +00:00
asfernandes
0faabd1e6f Fix logical error caused by concurrent branches development (CORE-1180) 2009-10-31 20:21:37 +00:00
asfernandes
4a3d198ade Misc 2009-10-31 01:46:06 +00:00
robocop
07dc116ed2 Misc. 2009-10-30 10:50:59 +00:00
asfernandes
3057090c9a Misc: replace array + conditional allocation by HalfStaticArray 2009-10-28 23:39:56 +00:00
asfernandes
530f0eed0f Fix some original problems and others done in merges, thanks to Claudio 2009-10-26 14:48:21 +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
robocop
514fe7355f Misc. 2009-09-30 06:09:05 +00:00
asfernandes
90dfb9a411 Misc 2009-09-30 01:10:11 +00:00
alexpeshkoff
b19dacee16 Ported fix for CORE-2634: Performance regression when restoring database with big metadata 2009-09-29 10:35:16 +00:00
alexpeshkoff
9629eafccd Use per-thread circular strings buffers instead common and per-attachment combination 2009-09-01 09:20:24 +00:00