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
robocop
7e5696adcd
Misc.
2005-02-14 05:56:04 +00:00
dimitr
e05c387d47
1) Reworked logic of view updates (never apply validation code to views)
...
2) Cleanup and code refactoring
My tests didn't notice any failures yet, but some issues should be expected anyway.
2005-02-06 14:08:24 +00:00
robocop
8d4b89723f
Welcome to paranoid programming.
2005-01-25 06:33:07 +00:00
dimitr
5a3a80aa38
Fixed concatenation desciptor usage (e.g. GROUP BY failures) + minor corrections.
2005-01-05 12:13:37 +00:00
skidder
f44f06d085
Fix the memory leak from transaction pool when selectable stored procedures are called from PSQL or in subqueries
2004-12-07 01:19:55 +00:00
dimitr
79a99061ab
Fixed SF #1077595 .
2004-12-03 07:56:37 +00:00
skidder
e823628754
Dmitry asked me to add support for calling UDF routines ignoring return arguments so did I
2004-11-25 00:47:20 +00:00
robocop
d6535351a2
Misc: style.
2004-11-24 09:22:07 +00:00
robocop
735a50ccf0
Totally misc.
2004-11-23 06:48:17 +00:00
skidder
c40eb08a27
Remove CURRENT_DATABASE keyword
2004-11-22 20:50:34 +00:00
dimitr
b741e2c136
Fixed bugs SF #459059 and #543106 .
2004-11-17 19:33:11 +00:00
skidder
1e26d6c80d
CURRENT_DATABASE implementation. Established identity may also be used for isc_info_db_id datum
2004-11-11 05:37:52 +00:00
aafemt
adf6fa75c9
Fix warning
2004-10-27 09:33:10 +00:00
aafemt
60cd02de47
Variable shadowing that could cause memory leak
2004-10-27 09:31:30 +00:00
robocop
6ea3416959
Redundant cast.
2004-10-20 00:13:08 +00:00
dimitr
88177b22f7
Fixed WITH CHECK issue for naturally updatable views.
2004-10-17 12:35:19 +00:00
dimitr
09c51110b4
Added the equivalence operator. The major index optimizations are done.
...
Notes:
1) Some optimizations will follow after more deep analysis.
2) The syntax "==" is not yet agreed on. I'd prefer it to be changed.
2004-10-14 19:09:19 +00:00
dimitr
b18a2aebe1
1) Fixed bug related to SKIP vs derived tables.
...
2) Prepared views to handle FIRST/SKIP/PLAN properly
2004-10-10 20:02:51 +00:00
dimitr
421f259a4e
1) Locks related cleanup
...
2) Got rid of TRA_nowait + transaction waits related cleanup
3) Return isc_lock_timeout when it's necessary
TODO: Enhance SET TRANSACTION
2004-10-07 09:15:32 +00:00
robocop
ed17cfafbf
Style:
...
if<space>(
for<space>(
switch<space>(
while<space>(
2004-10-04 08:15:00 +00:00
skidder
02a0915156
Teach engine to work with larger record numbers - 64-bit internally, 40-bit externally
2004-09-28 06:28:38 +00:00
dimitr
f576ebbec7
Fixed bug with DELETE against naturally updatable views.
2004-09-23 05:21:32 +00:00
dimitr
87c1305c03
Removed compile-time upper bound checks.
...
Limited the SUBSTRING result by 32k characters.
2004-09-22 07:36:55 +00:00
dimitr
47d00c34e0
A number of little corrections.
2004-09-13 21:06:41 +00:00
alexpeshkoff
c3db4aaa97
added (and used in sources) template to change and restore default pool
2004-08-30 18:11:08 +00:00
brodsom
15a5a276da
Fix signed/unsigned comparisons
2004-08-26 21:47:19 +00:00
robocop
9ce5f2f683
Simplify expression
2004-08-21 09:30:54 +00:00
alexpeshkoff
31039a254e
next step preparing to allocate auto objects memory from appropriate pool
2004-08-16 12:28:43 +00:00
skidder
311d7b4b34
Fix a couple 'invalid read' problems found by Valgrind. Both could cause crashes, one could result in invalid nulls placement. Removed const*const*const stuff in couple places because things like that make code really hard to understand
2004-08-11 05:34:23 +00:00
aafemt
0f132c7212
Variable score
2004-08-04 06:29:23 +00:00
dimitr
321ac4792f
Prevent any modifications of the OLD context in triggers.
2004-08-02 19:53:45 +00:00
dimitr
9dc9adf017
Fixed implementations of concatenation and SUBSTRING function.
...
Used new messages for error reporting. Changes should be fully SQLDA-compatible.
2004-08-02 19:49:12 +00:00
robocop
9eecdd8066
Nickolay says the local variable is different from the outer variable.
...
Therefore, renamed the inner variable to avoid warning found by D. Sibiryakov. Some integer types made const, too.
2004-07-30 04:58:26 +00:00
skidder
5494b34caa
size_t is more correct type for container sizes and indices
2004-07-16 23:06:31 +00:00
robocop
b5c374a300
Style
2004-07-09 05:22:46 +00:00
aafemt
2978da19cd
Variable's scope
2004-07-07 10:12:55 +00:00
robocop
949830d0c6
1.- const correctness
...
2.- style
3.- Try to fix the mess caused by different data types used to represent bifields of SCL_ constants defined in scl.h,
first round. No circular dependencies found through MSVC. Still pending dyn* and grant.epp files.
2004-06-29 04:37:59 +00:00
dimitr
fe5962a281
1. Yet another attempt to fix that damned double-compile UDF args crap. Hopefully, the last one...
...
2. Temporary fix for the SUBSTRING (BLOB) issue (until Yaffil merge).
2004-06-27 19:06:41 +00:00
skidder
2915fcf547
Somewhat simplify invariant tracking stuff. It is more pessimistic now, but should work more reliably when invariants are modified (see QMDB tests for details)
2004-06-25 22:12:20 +00:00
brodsom
d2b64735c6
Removing wrong extra ;
2004-06-13 23:47:02 +00:00
alexpeshkoff
1591a54e5e
Thread cleanup:
...
1. Added macros to declare thread entrypoints
2. THD_mutex_* functions use Firebird::Mutex
3. Thread local storage use fb_tls.h
2004-06-08 13:41:08 +00:00
robocop
609ce1c1b1
Const correctness: we no longer need this disguised const_cast because
...
the function accepts a const string.
2004-05-29 04:58:56 +00:00
alexpeshkoff
9a34ce553c
make bool (isEmpty/hasData) checks for string and stack safe
2004-05-27 16:26:52 +00:00
alexpeshkoff
2f99a5ebf1
small strings cleanup
2004-05-26 16:12:05 +00:00
brodsom
f4ca41fa3d
-Replace *_thread_data macros with inline functions (jrd step 1)
2004-05-22 14:28:54 +00:00
brodsom
f55f6d5d3e
Multiple line comment warning
2004-05-21 15:24:30 +00:00
robocop
f6a7a6844e
Reading fb-checkins I realized some bad merges mine.
2004-05-21 07:28:17 +00:00
robocop
441817bd82
1.- Misc changes
...
2.- Style
3.- Recover dsc_ttype in dsc after Blas' cleanup as a synonym for dsc_sub_type in text types
2004-05-21 06:16:17 +00:00
brodsom
68cb86b274
- Remove *_THREAD_DATA definitions from thd.h, are unneeded and conflicts with definitions in providers/services main headers (which need to use undef).
...
- Use different names for each service/provider *_THREAD_DATA macros.
2004-05-19 18:14:29 +00:00
brodsom
df4aa2ec66
Macro cleaning (use ini.h instead repeating the macros)
2004-05-18 16:40:20 +00:00
brodsom
b30a0b8799
Macro cleaning
2004-05-12 00:02:37 +00:00
robocop
802f244ec1
Misc changes
2004-05-09 05:48:33 +00:00
brodsom
60d9d085a0
Macro cleaning
2004-05-03 21:43:56 +00:00
skidder
43cb0d1ce4
Y-Valve handle translation layer
2004-05-02 23:06:37 +00:00
brodsom
a549091c94
- Split sqlda.h to avoid duplicated definitions between ibase.h and sqlda.h
...
- Replace define for constants
- Remove contants.h where not used.
2004-04-30 22:47:16 +00:00
brodsom
2f4865a195
Replace defines for constants
2004-04-29 14:51:02 +00:00
dimitr
8b24551d15
Fixed bug in one of my previous commits.
2004-04-25 10:00:37 +00:00
alexpeshkoff
7b27fa55be
fixed number problems after lls to Stack conversion
2004-04-21 14:14:36 +00:00
alexpeshkoff
ce0d00e9f6
struct trig moved to class Trigger
2004-04-19 15:29:29 +00:00
alexpeshkoff
045e9dc8ec
1. removed any mentions of blk_pool() from engine (and method itself)
...
2. replaced 'struct lls' with 'template Stack'
2004-04-18 14:22:27 +00:00
skidder
abdbec6f84
Switch to Firebird container templates for request resource tracking. This significantly reduces CPU time any memory consumption for databases with complex metadata
2004-04-18 02:50:38 +00:00
alexpeshkoff
4650f4975f
string cleanup
2004-03-31 18:03:51 +00:00
robocop
faa41f7b3b
Cleanup
2004-03-30 04:10:52 +00:00
robocop
1824343930
Cleanup.
...
Fixed a linking error with MSVC6, too.
2004-03-28 09:10:30 +00:00
alexpeshkoff
695c222ad2
1. introduced Jrd and Ods namespaces
...
2. cleanup of blk* request conversions
3. fixed memory allocation in Execute Statement
2004-03-20 15:33:30 +00:00
robocop
958f9e31aa
Cleanup
...
A few new[] - delete[] pairs fixed.
2004-03-19 06:14:53 +00:00
robocop
f58c769c37
Cleanup. In geeky words:
...
PandoraBox* pbox = reinterpret_cast<PandoraBox*>(&can_of_worms);
pbox->open();
pbox->flush();
Nickolay may want to undo my ods.h changes if gcc insists
in its crusade against non-PODs and poodles.
2004-03-18 05:56:06 +00:00
alexpeshkoff
67f1740fea
Various cleanup to make engine compile and work after mentioned earlier changes.
...
Mainly:
1) MemoryPool* => MemoryPool& in arrays' constructors
2) use Firebird::string to keep strings data
2004-03-14 13:40:14 +00:00
skidder
1c870a7426
Fix issues in my code spotted by Claudio
2004-03-12 20:19:41 +00:00
skidder
c64f31b712
Fix some warnings from GCC/Linux build. Some of them were subtle errors
2004-03-12 07:00:52 +00:00
robocop
2ab1f94dd2
Cleanup
...
Some minor corrections
Second step to rename
2004-03-11 05:04:26 +00:00
dimitr
8c295fc475
1) Propagate fragments of the user-supplied plan to nested levels of joins, thus allowing to manually optimize complex outer joins.
...
2) Check the user-supplied plan for correctness in outer joins.
2004-03-07 14:37:00 +00:00
dimitr
cffa34f47a
1) Some cleanup and encapsulation.
...
2) Fixed a number of stream-related crashes.
2004-03-07 09:48:56 +00:00
robocop
e6187cecd2
Cleanup
...
Some bug fixes
Style
2004-03-07 07:58:55 +00:00
skidder
dc7aab8f9c
Fix up exception handling. Handle (do not ignore) std::bad_alloc and generic exceptions, provide syscall and error information in system_call_failed
2004-03-01 03:35:23 +00:00
dimitr
dfa944c71b
Prevent UDF arguments from being compiled/optimized twice. Every UDF node has nod_count = 1, so the correct handling will be done automagically in both pass1() and pass2().
2004-02-28 15:15:25 +00:00
robocop
5c3c8abd9a
Big cleanup.
...
God have pity on platform maintainers.
I only can compile/test Win32; sorry, folks.
2004-02-20 06:43:27 +00:00
robocop
663e3b16e7
Cleanup
2004-02-02 11:02:12 +00:00
robocop
2b295a9108
General cleanup. Sorry if I missed some occurrence.
2004-01-28 07:50:41 +00:00