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
dimitr
65f2f69dd3
Just an extra protection from double pool reallocation.
2006-05-18 08:40:32 +00:00
asfernandes
b4c5f0ef21
Misc
2006-05-16 19:09:18 +00:00
asfernandes
f92e56a1b8
More corrections to TRIM and NULLs
2006-05-14 14:47:18 +00:00
dimitr
b0cb5b92cd
Misc.
2006-05-13 05:00:21 +00:00
asfernandes
40bfb5f0f4
Make TRIM of blob work - returning a blob
2006-05-13 01:27:35 +00:00
asfernandes
669c6fe8cf
Correct compute descriptor of SUBSTRING of non-string
2006-05-08 03:04:12 +00:00
asfernandes
960804adbc
Correct compute descriptor for LOWER/UPPER of blob
2006-05-03 02:39:30 +00:00
asfernandes
f3251b285b
Misc
2006-05-02 00:15:29 +00:00
dimitr
8814993472
Fixed memory corruption caused by aggregates whose map format exceeds the size limit.
...
As a side effect, it makes impossible to use more than one LIST function in the select list. What a cruel world.
2006-05-01 06:10:09 +00:00
dimitr
43d83fbd64
Prevent SUM from corrupting the impure area.
2006-04-30 04:59:09 +00:00
dimitr
fcfc2a4283
Fixed one of the bugs in the LIST code.
2006-04-27 11:50:02 +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
dimitr
54d4cc4ddf
The core implementation of the LIST function. Unstable yet.
2006-04-24 16:56:58 +00:00
robocop
c5f2284b15
Style.
2006-04-06 08:18:53 +00:00
dimitr
d2f823b821
Fixed yet another bug in cursors. Will this ever end? :-)
2006-03-29 17:47:50 +00:00
alexpeshkoff
95911b4842
fixed memory leak - SF#1422471
2006-03-10 17:46:18 +00:00
dimitr
8da75613c4
Fixed yet another bug in explicit cursors.
...
Unfortunately, BLR compatibility is not provided, so users have to recompile their SPs/triggers.
2006-03-07 17:52:33 +00:00
robocop
58a1a5c098
We better do not have loop variables with the same name in nested loops.
...
:-)
2006-02-23 05:03:16 +00:00
dimitr
bccc5d5843
Sorry, the unused code has been committed.
2006-02-22 07:11:24 +00:00
dimitr
2100ef53bd
Fixed imcomplete invariants tracking for subqueries.
...
Views are still a problem, so more to follow.
2006-02-22 05:30:30 +00:00
dimitr
77dafd90c3
More clever solution for bug #459059 .
...
Deoptimization of NOT ANY is no longer necessary.
2006-02-15 13:34:35 +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
2b99e764e3
The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
...
Sixth step: remove the places protected by the macro PC_ENGINE. More to come. (I guess all of you who have pending functional changes to post will love this commit. <g>)
2006-02-02 07:32:07 +00:00
robocop
c2fe7385ab
The files rng.cpp, rng.h, rng_proto.h, bookmark.cpp and bookmark.h belong exclusively to PC_ENGINE, that's obsolete functionality.
...
Second step: remove them from #include clauses in other files. More to come.
2006-02-01 08:55:43 +00:00
dimitr
7ce9802818
Fixed bug reported in fb-support - wrong permission checks for view columns.
2006-01-27 07:59:54 +00:00
robocop
1e6d89ebfc
Comment excessive dependencies on license.h.
2006-01-07 00:31:37 +00:00
dimitr
e1e2dafa84
1) Replaced TEXT* with MetaName& in SCL.
...
2) Fixed SF #1396017 .
2006-01-03 15:47:56 +00:00
dimitr
2204fe9624
Fixed the garbage trigger name (reported by Alex).
2006-01-03 11:28:24 +00:00
hvlad
5b8c4cd0a7
Missing assignment
2005-12-25 23:12:23 +00:00
robocop
e2f440a374
Finish Mike work after 3 years. :-)
2005-12-03 06:43:19 +00:00
robocop
f00fc0ff56
1.- Make "vec" type safe and get rid of several code contortions. Fix some small bugs meanwhile.
...
2.- Put inside PC_ENGINE several data members that belong to that feature.
3.- Put inside PC_ENGINE the code that does cleanup on those unused data members.
2005-12-02 07:35:34 +00:00
dimitr
02cc16029e
Fixed corruption of the impure area introduced by myself a few months ago.
2005-11-08 12:49:52 +00:00
dimitr
cbf17d7a61
Fixed two bugs with PSQL cursors.
2005-09-30 11:40:52 +00:00
dimitr
15874a6ed9
Added optional seconds precision to CURRENT_TIME and CURRENT_TIMESTAMP
...
as agreed with Ann and others times ago.
2005-08-24 09:16:19 +00:00
dimitr
6494351243
Fixed a number of issues for Dialect 1 and Dialect 3 (string arithmetics) + some cleanup.
...
The issues are:
1) '1.5' / '0.5' doesn't work in Dialect 1
2) avg ('1.5') doesn't work in Dialect 1
3) 5 * '1.5' produces INT result instead of DOUBLE PRECISION in Dialect 1
4) sum ('1.5') produces NUMERIC(15, 2) result instead of DOUBLE PRECISION in Dialect 1
5) - '1.5' doesn't work in Dialect 1
6) '1.5' * '0.5' and '1.5' / '0.5' are not forbidden in Dialect 3
2005-08-06 05:29:31 +00:00
arnobrinkman
ae44349f26
Fix PLAN parsing inside VIEWs
2005-07-26 11:43:28 +00:00
hvlad
0bc1c4bf49
1. Allow to create FK constraints without exclusive database locking
...
2. Fix 'partner index not found' error when one process dropped FK and another trying to delete master record
3. misc changes in vio.cpp
2005-06-26 21:48:47 +00:00
dimitr
e3578f5912
Fixed reported issues with ROW_COUNT.
2005-06-24 12:56:34 +00:00
hvlad
6d1d2902ad
Fixed unregistered bug :
...
AV when PLAN for VIEW is specified but no table alias was given
CREATE VIEW V1 AS
SELECT D.RDB$RELATION_ID, C.RDB$CHARACTER_SET_ID
FROM RDB$DATABASE D JOIN RDB$CHARACTER_SETS C
ON D.RDB$CHARACTER_SET_NAME = C.RDB$CHARACTER_SET_NAME
SELECT * FROM V1
PLAN (V1 NATURAL)
2005-06-20 08:53:23 +00:00
robocop
a867f700d0
Substring evolved and the error message was never updated. Now I've done two messages, although I think we need three in the long term.
2005-06-12 23:45:15 +00:00
asfernandes
559ce29c51
1) Replace length_ to strlen as noted by Claudio and Dmitry
...
2) Change USHORT to ULONG in intl.cpp
2005-06-06 18:14:10 +00:00
asfernandes
59213efe7e
Merge INTL branch into HEAD
2005-05-27 22:45:31 +00:00
robocop
23f6de156e
Fix crash with views in expand_view_nodes caused by Alex' recent cleanup: unlike VaryingString (aka str) that inherits from pool_alloc_rpt, plain dynamic allocation of UCHAR[n] isn't memset to zero by our allocator, causing us to walk random garbage.
2005-05-22 06:18:51 +00:00
alexpeshkoff
5729790ed6
1. Applied class MetaName
...
2. Small generic cleanup
2005-05-12 18:28:04 +00:00
dimitr
4ec439dd14
1) Deliver trigger type to the compiler level
...
2) Disallow NEW context assignments for POST-triggers
2005-03-28 21:52:55 +00:00