asfernandes
9ec1c36a55
Cleanup
2009-11-28 19:39:23 +00:00
robocop
c1d4a1cc8e
Comments.
2009-11-20 09:19:50 +00:00
robocop
c3298fd6be
Style.
2009-11-20 07:03:20 +00:00
robocop
1386adcf90
Style.
2009-11-16 08:06:31 +00:00
asfernandes
f2cd6b7ec2
Misc
2009-11-12 01:38:48 +00:00
asfernandes
87e274b76a
Misc
2009-11-06 01:21:14 +00:00
alexpeshkoff
513a44ba40
Fixed CORE-2578: select rdb$db_key from a view with a more than 1 table joined, results in conversion error
2009-11-05 16:23:07 +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
robocop
07dc116ed2
Misc.
2009-10-30 10:50:59 +00:00
asfernandes
b31aaf0129
Some statements nodes refactor - creation of IfNode, ExitNode, SuspendNode, PostEventNode and SavePointNode.
2009-10-24 17:45:33 +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
asfernandes
870e35d120
Argh. Fix for the second time problem with line endings
2009-10-15 16:13:40 +00:00
asfernandes
da2f4c2b6d
Added some debug code to cmp
2009-10-15 16:06:22 +00:00
dimitr
c175687923
Misc.
2009-10-02 19:16:36 +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
82b6f6a794
Fixed CORE-2612 - Connection lost immediatelly after compiling procedure with RPAD system function
2009-08-31 15:28:07 +00:00
robocop
e90fc8d63f
Change the interface again. Please full rebuild (although the many recent changes to common.h almost qualify as full rebuild).
2009-08-05 12:30:32 +00:00
asfernandes
4759973045
Fixed CORE-2576 - Server may crash parsing wrong or truncated BLR
...
Full rebuild required - CMP_compile2 prototype changed
2009-08-02 04:10:07 +00:00
asfernandes
5063bafc36
Misc
2009-07-15 03:13:16 +00:00
dimitr
468b31fddd
1) Let the collation existence locks respect the database shutdown. In particular, let's distinguish between "releasing" and "destroying" the lock.
...
2) Explicitly invalidate and release the cached system requests.
2009-07-13 19:45:08 +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
robocop
f10e1b72eb
Style.
2009-06-27 06:23:36 +00:00
asfernandes
158a05c78d
Misc
2009-05-10 15:23:31 +00:00
robocop
66b1227b22
Unused params, some formatting, cleanup.
2009-05-01 17:21:36 +00:00
robocop
2d7cb94844
Unused params
...
Some BLR checks
2009-04-28 13:08:04 +00:00
robocop
a730fbf074
Get rid of more typedefs.
2009-04-03 10:07:55 +00:00
robocop
fab6a3a6cf
Get rid of superflous parentheses.
2009-02-28 11:57:40 +00:00
asfernandes
517f426392
Misc
2009-02-15 18:05:38 +00:00
asfernandes
b4c98c27a5
Fixed the ALL Regression reported by Bill (CORE-1137)
2009-02-14 18:18:41 +00:00
asfernandes
afed84f36c
Fixed CORE-2317 - select * from (select cast(.... returns null
2009-02-12 14:56:59 +00:00
dimitr
22bd1345c5
Let's count user DSQL statements only.
2009-02-05 20:41:47 +00:00
hvlad
115602ff06
Trace services support
2009-02-01 22:10:12 +00:00
robocop
3689f15321
Style.
2009-01-20 08:33:59 +00:00
asfernandes
2e3ced29fc
Fixed CORE-2258 - Internal error when select upper(<blob>) from union
2008-12-25 15:05:06 +00:00
dimitr
05299f653e
Fixed CORE-1607: Correlated subquery is optimized badly if it depends on the union stream.
2008-12-21 06:29:47 +00:00
asfernandes
5311dd5a5e
Misc
2008-12-20 19:57:43 +00:00
dimitr
2b87e94242
Use explicit iterators instead of the implicit (built-in) ones due to the thread-safety requirements.
...
This change affects GenericMap only, as it's used globally in a few places and we have a proven crash there.
I have a more complete solution (total cleanup of default accessors from BePlusTree and SparseBitmap) in my local tree (thanks to Dmitry Kovalenko), but it's incomplete (requires more changes inside the engine) and IMHO risky (~20 core modules are affected), so I'd like to defer finalization of this cleanup till v3.0.
All objects of these types seem being protected by dbb_sync, so they shouldn't cause us any problems currently.
2008-12-19 14:57:01 +00:00
robocop
ff99dc3d46
Style.
2008-12-18 10:47:25 +00:00
robocop
e4650d5027
Promote thread_data* as function argument. Only exception where both tdbb and dbb were left together as arguments is nbak.cpp's call to CCH_rollover_to_shadow to avoid any side effect in the changed code, but anyway, that function calls SDW_rollover_to_shadow that takes the dbb from the tdbb and not explicitly.
2008-12-14 09:28:25 +00:00
robocop
eb6ea18df4
Misc.
2008-12-01 09:21:31 +00:00
asfernandes
cf7ae27db5
Fixed CORE-1432 - Collation not propagated between record formats
2008-11-30 18:55:52 +00:00
asfernandes
97693bcd00
Fixed CORE-1842 - DEFAULT values are unnecessary evaluated.
2008-11-29 19:30:56 +00:00
asfernandes
4c9513dbd8
Misc
2008-11-23 21:54:56 +00:00
asfernandes
3e1f88a0e7
Fixed CORE-1137 - Server hangs with 100% CPU usage on NOT IN predicate
2008-11-23 16:29:10 +00:00
asfernandes
720a49c89e
Fixed the others two problems of CORE-2176
2008-11-09 17:00:19 +00:00
alexpeshkoff
d8ea120ded
AIX port - use FB_ prefix for alignment constants
2008-11-05 11:26:23 +00:00
dimitr
420ccf5496
Misc.
2008-11-01 13:01:24 +00:00
asfernandes
7a5b0121d8
Misc
2008-09-14 23:17:58 +00:00
asfernandes
dd83b27a13
Fixed problem detected by TCS caused by fix of CORE-1245
2008-09-14 02:58:09 +00:00
asfernandes
d1032aeb69
Fixed CORE-1245 - Incorrect column values with outer joins and views
2008-09-10 15:58:34 +00:00
asfernandes
78484df75c
Fixed CORE-2075 - Parts of RDB$DB_KEY of views may be inverted when using outer joins
2008-09-10 14:11:20 +00:00
asfernandes
22c65f0153
Misc
2008-09-10 02:21:13 +00:00
robocop
26727ea6c8
Misc.
2008-09-09 09:05:49 +00:00
asfernandes
751e9666f6
Misc
2008-09-08 15:19:33 +00:00
asfernandes
50ab76f9a7
Fixed:
...
CORE-2067 - GROUP by and RDB$DB_KEY problems
CORE-2068 - Comparision with IN and subquery with RDB$DB_KEY returns wrong result
CORE-2069 - Incorrect VIEW expansion when RDB$DB_KEY is used in view body
2008-09-07 21:50:00 +00:00
asfernandes
b550749a47
Fixed CORE-1246 - Incorrect column values with outer joins and derived tables
2008-09-07 19:44:48 +00:00
asfernandes
d3a6c8b404
Correct inversion of node parameters verified by Claudio
2008-09-04 16:04:42 +00:00
asfernandes
9150e6f4f2
This should fix regressions related to fixes of:
...
CORE-501 - Optimization problem with COALESCE
CORE-1343 - Bug with a simple case and a subquery
CORE-2041 - update or insert with gen_id() with wrong generator value
And should fix this one (snapshot build bug):
CORE-2051 - don't work subquery in COALESCE
2008-09-01 13:18:02 +00:00
asfernandes
1899067660
Misc
2008-08-30 03:14:08 +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
dimitr
2bbcb548ff
Fixed CORE-2053: Computed expressions may be optimized badly if used inside the RETURNING clause of the INSERT statement.
2008-08-25 06:23:20 +00:00
asfernandes
97a1b5bac5
Correction
2008-08-20 15:18:09 +00:00
asfernandes
b910161f82
Fixed CORE-501 - Optimization problem with COALESCE
2008-08-20 01:54:45 +00:00
asfernandes
a608f5eea6
Fixed CORE-2027 - Incorrect buffer size for ORDER BY expression with system fields
2008-08-01 15:26:13 +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
asfernandes
26a79e3c6e
Misc
2008-06-09 01:34:33 +00:00
hvlad
5d9c430674
Implemented improvement CORE-1928 : Allow EXECUTE STATEMENT to inherit access privileges of caller stored procedure or trigger.
...
Allow to specify EXECUTE STATEMENToptional clauses in any (not fixed) order.
Use INTERNAL_PROVIDER for access to the current database by another user too.
2008-06-08 20:42:27 +00:00
robocop
b8ea332022
Misc.
2008-06-05 11:02:42 +00:00
robocop
c4b60d4198
Style.
2008-05-21 12:56:11 +00:00
asfernandes
d52dc96278
1) Move the new Node classes to appropriate files
...
2) Creation of StmtNode
3) Conversion of IN AUTONOMOUS TRANSACTION to InAutonomousTransactionNode (inherited from StmtNode) - it makes this feature almost self-contained
Please do a boot build or at least run blr_table.
2008-05-19 13:47:48 +00:00
asfernandes
4343cbfeba
Do the same kind of cleanup in jrd/pass1 as done for "proc_flag" in dsql/pass1 - recursive passing the same parameters that is changed in specific situations makes difficult to understand the logic.
2008-05-18 01:02:35 +00:00
hvlad
85aed9d302
Make ViewContext::vcx_context_name able to store more than 31 chars as was discussed in fb-devel. Thanks to Claudio for the tips.
2008-05-11 21:27:21 +00:00
asfernandes
8b4a83f201
Misc
2008-05-11 03:00:46 +00:00
hvlad
5f8774827c
Better and simpler fix for bug CORE-1884.
2008-05-06 12:15:09 +00:00
dimitr
86e2473565
Correction.
2008-05-06 08:58:51 +00:00
dimitr
0a9e8c8382
Implemented CORE-1751. The changes include:
...
1) Make memory counters aggregated.
2) Add attachment pool and allocate appropriate resources out of this pool.
3) Always release attachments explicitly (via destructor).
4) Always delete user requests prior to attachment deletion.
5) Introduce memory usage counters per every monitoring object.
6) Misc refactoring.
Some pieces are still incomplete (although everything basically works), but I'd like to get feedback and testing sooner rather than later.
2008-05-06 08:46:39 +00:00
hvlad
c3e8b5c75b
Fixed bug CORE-1884 : Random AVs using stored procedures with expressions as default values of input parameters
2008-05-06 07:06:06 +00:00
robocop
83d3ddd6cb
Replace custom code by helper class ThreadStatusGuard.
2008-04-26 10:29:52 +00:00
hvlad
fe3f8c184b
New EXECUTE STATEMENT with support of external data source implementation
2008-04-09 20:18:47 +00:00
dimitr
7c78a004db
Fixed the "no current record" bug for "delete from T". Thanks to Adriano.
2008-03-25 10:32:17 +00:00
asfernandes
cacb90b74c
Fixed CORE-1795 - Server crashes on SQL script
2008-03-19 15:59:25 +00:00
dimitr
ebad313cfd
1) Fixed CORE-1788.
...
2) Protected from other similar deadlocks.
3) Refactoring.
2008-03-13 14:20:32 +00:00
hvlad
7d54298dea
Fixed CORE-1775 : Improve performance of security checking
2008-03-06 13:13:31 +00:00
hvlad
23679a8b04
Fix few race conditions during metadata load and make index lock block accounting more MT safe.
2008-03-05 14:23:19 +00:00
dimitr
d4df0eb5bf
Did the author imagine databases with more than 1000 tables? It seems not.
2008-02-14 07:28:00 +00:00
asfernandes
06328e6d21
Fixed CORE-1716 - Wrong variable initialization in recursive procedures
2008-01-30 19:05:02 +00:00
dimitr
a38b327886
Cleanup. Get rid of the JrdMemoryPool.
2008-01-29 10:11:52 +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
dimitr
132176a475
Major synchronization changes. Description of the commit will be posted to fb-devel.
2008-01-26 12:52:51 +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
dimitr
db7d3ecd4c
The merge continued.
2008-01-16 08:31:31 +00:00
asfernandes
2a1dc39600
Misc
2007-12-09 13:48:42 +00:00
alexpeshkoff
b776eeae19
1. Restored correct compilation order in pass2.
...
2. Avoid code duplication.
2007-12-08 14:03:24 +00:00
alexpeshkoff
bd51630b00
Optimized code for domain-based variables (and procedure arguments)
2007-12-08 13:41:26 +00:00
asfernandes
41faeba3cc
Misc
2007-12-05 00:03:15 +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
hvlad
2b47bbe55b
Revert files back after wrong commit
2007-11-19 00:21:18 +00:00
hvlad
86f1141328
Execute statement with support of external data source
2007-11-18 22:59:20 +00:00
asfernandes
893174a6dd
Take Alex suggestion to swallow the exception only when backuping. The index code is not prepared to handle such type of exceptions
...
well.
2007-11-03 19:02:13 +00:00
asfernandes
a09cfdfc08
Allow to backup databases when a collation is not available
2007-11-01 14:54:00 +00:00
dimitr
c952f13477
Fixed CORE-1530 and a small cleanup.
2007-10-29 11:14:33 +00:00
dimitr
91fa6a519b
1) Replaced the hackery LM-based ID generation with the local counter. Uniqueness will be ensured by the DatabaseSnapshot internals.
...
2) Fixed CORE-1441.
2007-09-05 07:18:37 +00:00
asfernandes
b5a23c12d1
Improvements:
...
1) CORE-1387 - Add MILLISECONDS handling to EXTRACT, DATEADD and DATEDIFF functions
2) CORE-663 - EXTRACT(WEEK FROM DATE)
2007-07-31 01:22:59 +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
dimitr
a2d61a07df
Fixed CORE-1338.
2007-07-03 05:19:50 +00:00
asfernandes
0f4663dc1a
Fixed CORE-1318 - Error "Identifier ... is too long using multiple (nested) derived tables.
...
Front-ported fix done by Alex in 2.0.
2007-06-13 01:53:00 +00:00
asfernandes
595a185dd3
Rework fix for CORE-1245 to fix:
...
CORE-1246 - Incorrect column values with outer joins and derived tables,
CORE-1306 - Indices not used for views
2007-06-08 02:20:00 +00:00
alexpeshkoff
ea8ba3370d
Cleaned up mutexes - removed MUTX_T and related macros
2007-06-06 12:37:24 +00:00
asfernandes
db9036bd07
Apply fix by Dmitry to problem caused by fix for CORE-1245
2007-05-24 15:39:12 +00:00
asfernandes
cfe0ad95cf
Fixed CORE-1227 - LIST() function seems not work if used twice or more in a query
2007-05-05 19:28:46 +00:00
asfernandes
94b1012770
Fixed CORE-1245 - Incorrect column values with outer joins and views
2007-05-05 15:35:31 +00:00
asfernandes
166fc0b865
Misc
2007-04-13 01:37:44 +00:00
asfernandes
8c7076b67f
Port of Yaffil builtin functions
2007-04-12 15:56:34 +00:00
asfernandes
217b3e8d35
Misc
2007-02-15 14:41:43 +00:00
asfernandes
a57d797ee8
Fixed CORE-1126 - UNION vs UTF8 literals : arithmetic exception is thrown
2007-02-13 01:17:40 +00:00
robocop
409ff041dd
Misc and replaced "IB" by "FB" where it made sense to me.
2007-02-11 09:04:54 +00:00
asfernandes
05e6ebd58c
Check constraints when reading variables/parameters only if it's the first read and it's wasn't assigned yet
2007-02-06 14:25:10 +00:00
alexpeshkoff
c190e609b4
Fix for CORE-1111 - memory was overwritten
2007-01-28 16:23:44 +00:00
asfernandes
f30ee6b63e
Use debug informations in EXECUTE BLOCK
2007-01-20 14:18:18 +00:00
asfernandes
aca179f398
Full domain support and NOT NULL in PSQL
2007-01-17 01:19:01 +00:00
dimitr
99c2df56b6
Changed cancellation implementation to work at the transaction level as being more efficient.
2007-01-07 15:15:06 +00:00
dimitr
6e0e0d784d
Fixed a bug in the yesterday's commit.
2006-12-06 08:21:27 +00:00
dimitr
b43b43eca9
1) Changed MON$STATEMENTS a bit.
...
2) Implemented statement cancellation.
2006-12-04 21:36:29 +00:00
asfernandes
570b6cd4b4
1) CORE-645 and CORE-745: Database triggers
...
2) CORE-711: Make syntax for "CREATE TRIGGER" compliant with SQL2003
2006-11-05 18:30:36 +00:00
hvlad
f48f2af25b
Few corrections pointed by Claudio
2006-11-03 09:42:42 +00:00
hvlad
58d381edd7
1. Remove blr_src_info code as it is prevents database downgrade from ODS 11.1
...
2. Put debug information (mapping between blr offset and source line\column and names of local variables) into new blob field RDB$DEBUG_INFO
This is first step to implement native SQL debugger i believe
2006-10-30 20:58:06 +00:00
dimitr
2719129a84
Simplified the code a bit.
2006-10-18 08:03:10 +00:00
dimitr
626ab18c42
Fixed CORE-954.
2006-10-17 12:55:01 +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
dimitr
988782a96a
1) A new class to handle aggregated multi-level performance counters.
...
2) Cleanup and minor fixing.
3) A few monitoring changes.
2006-10-07 10:53:01 +00:00
robocop
af8ecc26ca
Solve three problems with arrays:
...
- Don't allow to apply scalar/subscript syntax to fields that aren't array.
- Detect if we get corrupt database containing array with more than 16 dimensions.
- Reject attempt to subscript array with more than 16 dimensions and thus fix the buffer overrun.
2006-09-10 09:05:40 +00:00
robocop
55e7981aeb
Make compilable by older compilers.
2006-09-09 08:17:36 +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
asfernandes
b7af27215e
Allow usage of domains in PSQL (with TYPE OF syntax)
2006-08-19 02:52:39 +00:00
asfernandes
ad5a99420d
Fixed CORE-896 - SUBSTRING with NULL offset or length don't return NULL
2006-08-16 00:09:27 +00:00
asfernandes
4180a46169
1) Make SUBSTRING of BLOB work
...
2) More refactoration on describing result of expressions (concatenate and substring)
2006-08-12 03:17:01 +00:00
asfernandes
eb4fb2f491
1) Concatenate of BLOBs
...
2) Start a refactoration on descriptor manipulations
2006-08-10 02:53:16 +00:00
asfernandes
e538061c38
Implementation of CREATE/DROP COLLATION and ISQL show/extraction of collations
2006-08-07 16:39:21 +00:00
hvlad
b20aa92714
Common table expressions implementation
2006-08-01 20:37:58 +00:00
asfernandes
6cc9341c7a
Fixed CORE-881 - Singleton isn't respected in COMPUTED BY expressions
2006-07-29 20:59:48 +00:00
dimitr
f6de9f3fbc
Fixed crash when compiling old (wrongly generated) BLR.
2006-07-19 12:02:41 +00:00
dimitr
129e6229ee
Monitoring, continued.
2006-07-19 06:19:56 +00:00
asfernandes
84c593b954
Correction for problem with CURRENT_USER/ROLE and client charset
2006-07-12 18:44:08 +00:00
robocop
7040d668fd
Misc.
2006-05-25 08:40:23 +00:00
dimitr
006d5871b0
Restored my previous solution. The final decision is that NOT IN cannot be index-optimized reliably.
2006-05-24 13:19:33 +00:00
dimitr
211645e3dc
Getting rid of the old allocator routines.
2006-05-23 10:17:00 +00:00
dimitr
d95ccf926d
Ported the bugfix into HEAD for the time being.
2006-05-23 03:59:52 +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