dimitr
2f8c56b330
Fixed types convertion.
2003-09-28 12:05:10 +00:00
dimitr
f1cde7d613
Slightly reworked my labels implementation.
2003-09-28 11:12:03 +00:00
brodsom
4c9f386bd2
Macro cleaning
2003-09-28 00:36:28 +00:00
skidder
ad60c5b70b
Make RIGHT JOIN symmetrical to LEFT JOIN at DSQL layer.
...
This fixes a couple issues when engine rejected correct RIGHT JOINs
or accepted incorrect and failed subsequentally during query execution
2003-09-21 17:49:16 +00:00
arnobrinkman
71b17588d9
Added ORDER BY support on derived tables. (Suggested by Dmitry Yemanov)
2003-09-15 21:21:40 +00:00
dimitr
f7aa490111
The final part of my little PLAN enhancement.
2003-09-14 15:37:05 +00:00
arnobrinkman
74380ab714
Don't forget unnamed derived tables
2003-09-04 21:40:21 +00:00
brodsom
a4416db52a
-Replace BOOLEAN, TRUE and FALSE
2003-09-04 21:26:15 +00:00
brodsom
f51c931f6d
Correction
2003-09-04 15:26:53 +00:00
arnobrinkman
4a37161c8d
Changed internally derived-table support to better readable/understanding code
2003-09-04 15:02:22 +00:00
brodsom
c4179f6e13
Fix cast warning
2003-09-04 13:45:06 +00:00
arnobrinkman
f691e5d79c
Change types that were used as booleans to the real bool type
2003-09-03 23:52:47 +00:00
arnobrinkman
e5574959ad
Change BOOLEAN to bool type
2003-09-01 23:22:22 +00:00
brodsom
8624a7c209
-Use NULL instead 0 for null pointers
...
-Remove unneeded casts
2003-09-01 07:58:04 +00:00
dimitr
eb6acae759
Cleanup variable names.
2003-08-30 16:49:15 +00:00
brodsom
602c201989
-Remove NULL_PTR
...
-Remove unneeded NULL casts
-Remove (void) function return cast
2003-08-28 13:07:29 +00:00
dimitr
323bae2372
1. MAP renamed to DSQL_MAP
...
2. Minor cleanup
3. Fixed BREAK/LEAVE code to support FOR EXECUTE STATEMENT loops
4. Added support for loop labels and LEAVE <label> statement
5. Fixed SUBSTRING to support value expressions as its arguments
2003-08-26 07:13:33 +00:00
arnobrinkman
11b4fcf5b7
1) Make COALESCE/CASE output descriptor more SQL-standard.
...
Exception is that we allow mixing datatypes with (var)char (except blob), because all datatypes are convertable to character-type and because this functionallity was available from 1st day COALESCE is introduced inside Firebird.
2) Fix bug with expressions without fields inside aggregate-functions.
Example :
SELECT
(SELECT Count(1) FROM RDB$DATABASE)
FROM
RDB$RELATIONS
2003-08-25 23:35:30 +00:00
arnobrinkman
79c10074c0
Already fix COALESCE/CASE output-descriptor behaviour inside HEAD branch to conform with SQL-standard.
...
FB1.5_RELEASE will follow when error-message is added
2003-08-24 22:15:23 +00:00
arnobrinkman
9cf1f386fa
fix bad behaviour with auto-union-cast
2003-08-24 15:22:11 +00:00
arnobrinkman
006070b331
added comment and nested derived table fix
2003-08-24 02:56:53 +00:00
arnobrinkman
c61cbdc5ca
fix some derived tables problems
2003-08-24 02:36:46 +00:00
arnobrinkman
9b4b90d606
bugfix nested derived tables
2003-08-19 23:56:28 +00:00
arnobrinkman
05d343bda8
Oops missed something
2003-08-19 23:47:07 +00:00
arnobrinkman
506b858567
Added PLAN support for derived tables
2003-08-19 23:34:23 +00:00
arnobrinkman
f5002b3f5b
Code clean-up and re-apply comments as suggested by Claudio V.
2003-08-18 21:37:47 +00:00
arnobrinkman
9e82b6d20b
Fixed ambiguous columnname problems with derived tables.
...
Added support for unnamed derived tables.
2003-08-16 00:36:54 +00:00
arnobrinkman
0d203a2c36
derived table support
2003-08-15 00:02:18 +00:00
arnobrinkman
77d9804ed0
Support all expressions directly in GROUP BY clause
2003-08-10 15:19:43 +00:00
arnobrinkman
f81b831315
2nd RC4 bugfix, but much better tracking of supported nested aggregates.
2003-07-29 00:29:17 +00:00
arnobrinkman
0df22b0b31
bugfix RC4: a higher context was supported with nested aggregates, but this isn't possible.
...
Only a lower context is possible with nested aggregates.
2003-07-28 19:22:56 +00:00
skidder
905670f5f9
Separate DSQL cursors management and explicit locks as suggested by Ivan Prenosil
2003-07-11 22:36:05 +00:00
skidder
e9d8645824
Forbid pessimistic locks in queries with DISTINCT clause
2003-06-30 14:31:00 +00:00
skidder
c4727d695b
Add checks to allow explicit pessimistic locks only in cases when we really support them
2003-06-29 20:36:52 +00:00
dimitr
b41fee4014
New error messages for:
...
- gbak
- DSQL layer (aggregate tracking)
- JRD layer (EXECUTE STATEMENT)
- config stuff
2003-06-13 07:56:08 +00:00
dimitr
c1c723103f
Disallowed explicit locking for aggregate queries.
...
The same should be done for stored procedure streams (joins require some work too).
2003-06-12 09:38:01 +00:00
dimitr
112c7022b6
Fixed (hopefully) savepoints implementation:
...
1) RELEASE SAVEPOINT statement is added
2) SAVEPOINT statement now re-establishes existing savepoint with the same name
3) all savepoint stuff is changed to use single BLR verb
2003-06-10 13:40:19 +00:00
dimitr
43aaa45d42
Enabled BREAK/LEAVE and EXITcommands in non-system triggers.
2003-05-14 08:15:25 +00:00
skidder
f16736b802
Use explicit pessimistic locks only if WITH LOCK clause is specified
2003-05-11 19:32:41 +00:00
arnobrinkman
192ba388d4
1) bugfix RC1: Aggregates from a different parent_context where not allowed in the HAVING clause.
...
2) Enabled aggregate-functions from different parent_context (with lower scope_level) to be used inside another aggregate-function
Example:
SELECT
MAX((SELECT COUNT(*) FROM RDB$RELATIONS))
FROM
RDB$RELATIONS
2003-05-07 01:57:18 +00:00
arnobrinkman
962b5e21a3
fixed a typo and changed some comments
2003-05-04 22:02:42 +00:00
alexpeshkoff
8a6430c352
Fixed server crash in EXECUTE STATEMENT combined with exceptions handling block
2003-05-02 15:20:17 +00:00
arnobrinkman
a819ccb060
bugfix: stored procedure with input parameters and aggregate tracking/validating methods failed
2003-04-17 20:58:36 +00:00
arnobrinkman
975638783a
bugfix: Parameters from stored procedures in a sub-select where not remaped to the good context in a aggregate query.
...
example:
SELECT
(SELECT sp.x FROM SP_TEST(T1.ID) sp)
FROM
Table1 T1
GROUP BY
T1.ID
2003-04-16 22:49:41 +00:00
aafemt
b3436b5cd7
STATUS -> ISC_STATUS
2003-04-10 06:32:58 +00:00
brodsom
42ef1314ec
DSQL warning fixes.
2003-04-08 00:31:20 +00:00
dimitr
be5247dc1c
1. Cleanup
...
2. ROWS_AFFECTED is renamed to ROW_COUNT
(see SQL2002 specification)
3. CONNECTION_ID/TRANSACTION_ID are renamed to CURRENT_CONNECTION/CURRENT_TRANSACTION
(see SQL2002 recommendations for context functions)
4. Solved most of the shift/reduce conflicts and all reduce/reduce conflicts in the grammar
5. Fixed ambiguity in ORDER BY clause, when both the value and the clause itself could contain COLLATE word
(now explicit collation sequence of the value is used in the ordering logic)
6. Some of newly introduced tokens are made non-reserved
7. Added code to enable ORDER/GROUP BY ordinal when asterisk is used in the select list
(not sure which version it should go, so it's commented out so far)
2003-04-06 11:20:24 +00:00
brodsom
2c329ec811
- Spli macro to avoid not used warnings
...
- Minor code formatting
2003-04-03 09:29:10 +00:00
arnobrinkman
f83a6084ed
bugfix:
...
1) bug with sub-selects inside COALESCE function.
2) bug with parameter ordering.
2003-03-31 19:11:55 +00:00
arnobrinkman
b099026cdc
corrected mistake in previous commit.
2003-03-10 23:30:53 +00:00
arnobrinkman
f1ca8aed80
bugfix: A bug left with using a aggregate sub-query inside a IN clause.
2003-03-10 21:38:22 +00:00
alexpeshkoff
878b0b6091
Fixed EXECUTE STATEMENT to support INTO clause
2003-03-01 19:19:23 +00:00
arnobrinkman
f890eca4ea
bugfix: DISTINCT with sub-selects (context already in use (BLR error)). Distinct items are now correctly parsed and not just copied from the select-list.
2003-02-23 01:36:22 +00:00
hippoman
1cb0c17ace
* Formated comments to make Doxygen Happy..
2003-02-15 03:01:51 +00:00
hippoman
ad14320d0e
* formated dsql.h comments to make Doxygen happy..
...
* changed DSQL_debug values as follow..
/*! \var unsigned DSQL_debug
\brief Debug level
0 No output
1 Display output tree in PASS1_statment
2 Display input tree in PASS1_statment
4 Display ddl BLR
8 Display BLR
16 Display PASS1_rse input tree
32 Display SQL input string
64 Display BLR in dsql/prepare
> 256 Display yacc parser output level = DSQL_level>>8
*/
2003-02-15 02:05:10 +00:00
tamlin
bc383ff498
A bit const correctness added and some reinterpret_casts removed.
...
Changed DSQL's str to actually hold char.
2003-02-12 19:28:13 +00:00
arnobrinkman
bd7a1b6bed
bugfix: wrong context was used with FieldX IN (sub-select) predicate.
...
Caused by me by an other bugfix SF BUG # [ 213859 ]
2003-01-30 22:14:02 +00:00
arnobrinkman
9b5c62d89c
bugfix: It wasn't possible to use non-aggregate related-fields from a aggregate query inside an sub-query.
...
Example (this failed) :
SELECT
Count(T1.F1),
SUM((SELECT T2.F2 FROM Table2 T2 WHERE T2.F1 = T1.F1))
FROM
Table1 T1
2003-01-30 13:30:15 +00:00
skidder
3622fc966f
Fix intermittent bug in aggregate reference tracking
2003-01-17 12:47:19 +00:00
dimitr
55ed1b6444
1. Reworked internal info stuff once more.
...
2. Added DSQL support for parametrized events.
3. Fixed bug with cursors in triggers.
4. Added support for runtime trigger action checks (INSERTING/UPDATING/DELETING).
5. Fixed bug with concatenation and trashed RDB$FIELD_LENGTH.
2003-01-15 12:00:33 +00:00
arnobrinkman
3dcc0600c8
bugfix: SF BUG # [ 213859 ] Subquery connected with 'IN' clause
2003-01-12 20:27:00 +00:00
arnobrinkman
411c18bbf2
bugfix on my latest commits
2003-01-12 16:29:59 +00:00
arnobrinkman
1b552b007e
Introduce backwards compatibilty within aggregates.
...
Deepest field inside aggregate determine where an aggregate-context should belong too.
2003-01-11 02:49:13 +00:00
skidder
2975b16cce
Allow arbitrary expressions in ORDER-BY clause
2003-01-09 16:50:24 +00:00
dimitr
9dc68b4a7b
Fixed bug with BREAK and partially implemented labels and LEAVE statement.
2002-12-18 15:01:50 +00:00
dimitr
6e51db6e6e
1. Implemented ORDER BY clause in subqueries.
...
2. Disallowed FIRST/SKIP for views.
3. Allowed zero as valid argument for FIRST.
2002-12-03 18:04:36 +00:00
hippoman
9a8f0768b9
Changed struct fld and FLD to local module names
2002-11-30 17:45:02 +00:00
arnobrinkman
97caf1f635
bugfix: allow use of other outer-references in a aggregated sub-select
2002-11-25 20:29:39 +00:00
skidder
2b995ac2ab
Make SQLDA parameter mapping consistent with order and number of parameters in source SQL string
2002-11-24 15:22:03 +00:00
arnobrinkman
2ea3a3664a
no message
2002-11-24 13:03:51 +00:00
skidder
f13636d29c
Fixed nulls first/last and collation handling in "order by" clause of unions
2002-11-22 15:27:59 +00:00
hippoman
7387e6fb70
changed nod,tra,req,trg,rel,ctx,prc struct names to local module names
2002-11-20 23:18:16 +00:00
dimitr
776c54bdac
Renamed MSG to DSQL_MSG.
2002-11-19 12:35:28 +00:00
hippoman
62cf7d7a88
change TRA,REQ,TRG,REL,CTX or PRC, to module local names.
2002-11-17 00:04:19 +00:00
hippoman
c75a6d3019
* Changed NOD struct name to DSQL_NOD.
2002-11-11 19:08:37 +00:00
dimitr
7aaa9dc9ee
Let's report real statement, not it's internal meaning.
2002-10-31 12:22:05 +00:00
dimitr
1b2fc90266
Disallowed Nickolay's SAVEPOINT feature for SPs/triggers.
2002-10-31 12:01:53 +00:00
skidder
8e6622a20e
Merging changes from skidder branch - explicit locks, savepoints, build system changes
2002-10-29 20:20:44 +00:00
dimitr
5c8530579d
Re-allowed plans in triggers.
2002-10-25 08:29:12 +00:00
arnobrinkman
38a4597423
AB: "cosmetic changes"
2002-10-19 00:56:25 +00:00
arnobrinkman
ed61fc2a36
AB: bug fixed with sub-select and group by clause and cosmetic changes
2002-10-19 00:32:23 +00:00
arnobrinkman
8b7c1e763e
AB: Fixed bug with alias and GROUP BY clause
2002-10-04 17:53:35 +00:00
arnobrinkman
5d6efbeae8
AB: Fix error-message bug with aggregate only in sub-select
2002-10-01 00:34:29 +00:00
arnobrinkman
dd6b72d89e
AB: Adding better error-handeling and support for subqueries with group_by clause
2002-09-28 23:52:36 +00:00
dimitr
536d8c0552
1. Reworked internal_info implementation in both DSQL and JRD.
...
New helper class created to serve it properly.
2. Added exception re-raise semantics.
Syntax: EXCEPTION;
If there was handled exception, re-initiate it, otherwise evaluate to no-op.
3. Implemented run-time exception messages.
Syntax: EXCEPTION <exception_name> [<value>];
If <value> is specified, evaluate it and use instead of RDB$EXCEPTION_MESSAGE.
4. Added new SQLCODE and GDSCODE system variables.
Available in procedures/triggers only.
If there wasn't any exception raised, return zero (success), otherwise return an error code.
5. Implemented ROWS_AFFECTED system variable.
Available in procedures/triggers only.
Count rows affected by the last INSERT/UPDATE/DELETE statement.
For any other statement, result is always zero.
2002-09-28 14:04:35 +00:00
skidder
6d64014e57
Changed engine to store source file name/line number information for EVERY allocation when DEBUG_GDS_ALLOC is defined. All allocation should be done using FB_NEW or FB_NEW_RPT macros instead of keyword new since now
2002-09-25 17:12:16 +00:00
skidder
f8006cb881
added nulls first/last syntax support
2002-09-10 18:28:23 +00:00
dimitr
b36015e6e9
- allowed user-defined index names for PK/FK/UK constraints
...
- fixed ugly hardcoded name checks for primary/foreign keys
- implemented RECREATE VIEW statement
2002-09-01 15:49:03 +00:00
dimitr
b45eb004a2
Implemented CREATE OR ALTER statement for procedures/triggers/views.
2002-08-27 07:48:34 +00:00
arnobrinkman
d757d31ed4
Added code in pass1_simple_case for handeling parameters in case_operand together with when_operands.
...
The method used to get the derciber for parameters is taken from MAKE_desc_from_list in make.cpp
Example : SELECT CASE FieldA WHEN :param1 THEN 1 WHEN 2 THEN 2 ELSE NULL END FROM TableA
Note : At least one "know describer" must be in the list else no describer could be guested (logic but...) !
2002-08-26 19:40:59 +00:00
dimitr
7922269845
1. BIGINT is now the only keyword for the 64-bit exact numerics and it's available
...
in dialect 3 only.
2. BREAK statement has been disabled in triggers (like EXIT) because of the known
BLR limitations. I hope it can be safely used in stored procedures though, hence
I'd prefer to have it officially documented.
3. More complete implementation of the GROUP BY clause. You can group by internal
functions and have ability to use more complex grouping conditions than before.
By Arno Brinkman.
4. Allowed declaring and defining local variables at the same time.
By Claudio Valderrama.
Syntax: declare [variable] <var_name> <var_type> [{= | default} <default_value>]
5. Allowed ordinals to be used in the GROUP BY clause (like ORDER BY).
By Arno Brinkman.
Example: select extract(month from order_date), sum(order_sum) from orders group by 1
6. The first approach to the ALTER VIEW statement. Only high-level implementation so far.
A lot of work in dfw.epp, metd.epp, etc. still required.
By Dmitry Yemanov.
2002-08-11 08:04:54 +00:00
dimitr
15a9015236
1) Implemented CASE, NULLIF, COALESCE
...
2) Allowed grouping by internal functions (some work in pass1.cpp still required)
Thanks to Arno Brinkman.
2002-08-03 15:27:20 +00:00
skywalker
89e06a1b43
Merge final changes from fb1 tree.
2002-07-06 05:32:02 +00:00
dimitr
88edfc0714
Merging changes from fb1 (stage 2 - fixing porting errors).
2002-07-02 12:20:50 +00:00
skywalker
ae266af6d1
Merging changes from fb1.
2002-06-29 06:56:51 +00:00
dimitr
745d1093a2
Enabled support for empty BEGIN...END blocks
2002-06-20 11:42:15 +00:00
dimitr
95281ccf25
1. New system variables - CONNECTION_ID and TRANSACTION_ID
...
2. Universal triggers
(parser changes are not very nice, but at least it works;
perhaps it should be polished up a bit later)
2002-06-14 12:07:20 +00:00
bellardo
5993ece95e
Fixed some ugly code I committed yesterday.
2002-04-04 16:41:41 +00:00
dimitr
8463265fc1
Implemented 'EXECUTE VARCHAR' command.
2002-04-04 13:53:20 +00:00
bellardo
e68de5f1bc
Can't BLKCHK stack variables anymore. Fixed one such occurance in pass1.cpp
2002-04-02 17:10:34 +00:00
skywalker
a887af3646
Changes to make it compile on linux.
...
and work through a few issues.
2002-01-04 11:34:22 +00:00
tamlin
80f7fb6dd4
New C++ memory pool
2001-12-24 02:51:06 +00:00
skywalker
4c4bc9a95c
Global changes for new Makefile and firebird2 compile on linux
2001-07-29 23:43:24 +00:00
tamlin
9a776a604e
First steps towards a C++ conversion.
2001-05-23 13:26:42 +00:00