8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-28 02:43:03 +01:00
Commit Graph

291 Commits

Author SHA1 Message Date
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
5f844f7428 added comment 2003-08-16 13:14:35 +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
c12b4da4b1 added comment and fix derived table bug inside view, that couldn't use unions. 2003-08-15 14:38:33 +00:00
arnobrinkman
0d203a2c36 derived table support 2003-08-15 00:02:18 +00:00
arnobrinkman
e9953885e5 forgotten cleanup, thanks for your attention BLAS 2003-08-11 01:06:52 +00:00
arnobrinkman
77d9804ed0 Support all expressions directly in GROUP BY clause 2003-08-10 15:19:43 +00:00
arnobrinkman
0100d93cc9 Added optional AS keyword to table alias 2003-08-10 10:06:34 +00:00
brodsom
e3d16f06ab -Fix cast warnings.
-Remove unneeded casts
2003-08-09 21:57:50 +00:00
skidder
64c12e15c4 Make Windows happier. DIFFERENCE defined as a macro there 2003-08-06 20:21:40 +00:00
skidder
143f8d2443 Implementation of fast physical incremental backup 2003-08-06 16:30:49 +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
659e44cc45 Fix problem in non-reserved Inserting/Updating/Deleting implementation found by Dmitry Emanov 2003-07-07 23:49:29 +00:00
dimitr
9bb1284b19 Correct the parser a bit. 2003-07-02 09:40:55 +00:00
brodsom
30ccb0a20b Solve macro conflicts on win 32 when using bison and msvc 2003-07-02 00:16:56 +00:00
dimitr
5eaf6394d1 Some savepoint-related changes:
1. release single savepoint
2. fixed exception handling
2003-06-26 10:44:16 +00:00
dimitr
2740167100 Fixed one more limitation in the parser. 2003-06-24 09:28:38 +00:00
skidder
213752d768 Oops. Part of my own RELEASE SAVEPOINT implementation leaked into to the previous commit 2003-06-15 22:26:04 +00:00
skidder
ee856f7729 Make INSERTING/UPDATING/DELETING non-reserved keywords. The patch causes compilation performance degradation for statements containing a lot of braces, but my testing indicated that this effect is surely unmeasurable for nesting level up to 250 2003-06-15 22:08:16 +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
7ffbfc1fd1 Let's be GNU Bison 1.75 friendly. 2003-06-05 12:37:49 +00:00
skidder
e0eab37746 Fix server crash when SKIP syntax with braces used (SF 747567). Really strange, but problem does not affect Linux version. This is why it escaped my testing 2003-06-02 16:11:13 +00:00
skidder
d8bae3c569 Add comment 2003-05-24 15:18:35 +00:00
skidder
b9480b21e1 Make FIRST/SKIP keywords non-reserved 2003-05-23 16:55:40 +00:00
aafemt
b3436b5cd7 STATUS -> ISC_STATUS 2003-04-10 06:32:58 +00:00
dimitr
1205d8c4e5 Misprint. 2003-04-09 10:51:42 +00:00
dimitr
566516464c no message 2003-04-09 10:18:54 +00:00
dimitr
f9849a9534 Fixed migration rule in the parser which allows columns to be renamed. 2003-04-09 10:14:19 +00:00
dimitr
7d7cef5157 no message 2003-04-06 11:34:31 +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
eku
53367847f5 SVR4 yacc doesn't like C++ style comments! 2003-04-03 06:55:32 +00:00
brodsom
9784aedc80 - Update parser (with byacc 1.9) 2003-04-03 01:36:52 +00:00
brodsom
a399bf764d Changes to allow use of bison to create parse.cpp 2003-03-31 23:40:53 +00:00
alexpeshkoff
878b0b6091 Fixed EXECUTE STATEMENT to support INTO clause 2003-03-01 19:19:23 +00:00
dimitr
7d4444165b Cleanup. 2003-02-24 09:37:52 +00:00
skidder
aade54d330 Fixed bug with line number tracking introduced recently + some cleanup 2003-02-17 14:56:58 +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
eku
6b0df2eb51 Fixed "'SHARED' redefined" 2003-02-14 14:22:10 +00:00
dimitr
f833079b2f CONST -> const 2003-02-13 09:33:26 +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
brodsom
ab6ba391f2 Change wrong define 2003-02-09 23:31:50 +00:00
brodsom
3a9b561a11 Remove JPN_ defines 2003-02-07 18:46:49 +00:00
dimitr
9ba418a493 Disallowed PLAN clause in views until it works. 2003-01-23 09:18:59 +00:00
dimitr
fd2f852e49 Cleanup. 2003-01-18 19:39:12 +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
skidder
2975b16cce Allow arbitrary expressions in ORDER-BY clause 2003-01-09 16:50:24 +00:00
dimitr
411c994122 Now we understand single-line comments (--) in any position of the SQL statement. 2002-12-19 14:48:22 +00:00
dimitr
8842052537 Prepared parser to allow non-reserved words as valid symbol names. 2002-12-19 13:14:41 +00:00
dimitr
2861cbf063 no message 2002-12-19 08:57:53 +00:00
dimitr
9dc68b4a7b Fixed bug with BREAK and partially implemented labels and LEAVE statement. 2002-12-18 15:01:50 +00:00
alexpeshkoff
90cdfbdaf5 Rename all links to why.cpp handle to struct why_hndl *
Warning! Don't commit parse.cpp and dsql.tab.h, because:
1. I use another YACC version.
2. They must be removed from CVS at all.

Execute STATEMENT also here
2002-12-16 15:38:26 +00:00
dimitr
2300540ff8 Fixed serious bug with views I unfortunately introduced in Alpha 5 :-( 2002-12-11 10:09:22 +00:00
eku
5b8ffd81c2 Removed unused variables. 2002-12-10 11:53:53 +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
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
hippoman
7387e6fb70 changed nod,tra,req,trg,rel,ctx,prc struct names to local module names 2002-11-20 23:18:16 +00:00
hippoman
c75a6d3019 * Changed NOD struct name to DSQL_NOD. 2002-11-11 19:08:37 +00:00
dimitr
8177404f3f A bit improved parser's debug output. Thanks to Ignacio J. Ortega. 2002-11-10 07:58:13 +00:00
dimitr
1cd12e4972 Fixed small parser bug. Thanks to Ignacio J. Ortega. 2002-11-10 07:48:52 +00:00
dimitr
eb75186f5e Cleanup. 2002-11-01 08:53:05 +00:00
dimitr
1d4e51d5a0 A bit more cleanup. 2002-10-31 13:08:18 +00:00
skidder
8e6622a20e Merging changes from skidder branch - explicit locks, savepoints, build system changes 2002-10-29 20:20:44 +00:00
dimitr
41b82b0e77 Hide ALTER VIEW functionality until it works good. 2002-10-02 13:24:59 +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
8b131027ea More complete implementation of the INDEX subclause of a constraint declaration. 2002-09-06 07:51:33 +00:00
dimitr
c6e838a144 Changed syntax of the INDEX subclause of a constraint declaration,
now it looks as:
[USING [ASC[ENDING] | DESC[ENDING]] INDEX index]
2002-09-04 12:09:25 +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
94fa429dc4 - 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:44:45 +00:00
dimitr
b45eb004a2 Implemented CREATE OR ALTER statement for procedures/triggers/views. 2002-08-27 07:48:34 +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
d89b1a0842 Changes to make fb2 compile super version for linux 2002-07-29 15:37:59 +00:00
skywalker
89e06a1b43 Merge final changes from fb1 tree. 2002-07-06 05:32:02 +00:00
skywalker
854b35d650 Change DEBUG_KEYWORD to KW_DEBUG,
few more changes in parse.y (mostly post fb1 changes)
2002-07-05 16:01:08 +00:00
skywalker
350b251820 Changes to get compiling on linux (post fb1 changes). 2002-07-05 15:00:26 +00:00
dimitr
88edfc0714 Merging changes from fb1 (stage 2 - fixing porting errors). 2002-07-02 12:20:50 +00:00
skywalker
13d2715fd8 Added LEX_StringIsAKeyword function to avoid an awkward #include from isql
module.
2002-06-29 13:47:28 +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
c6cbd67c49 Force SP parameters to behave the same way in both syntaxes (SELECT FROM and EXECUTE PROCEDURE), thus enabling expressions, UDFs, etc. to be passed as a parameter. 2002-06-20 08:00:29 +00:00
dimitr
f84869f782 While I'm in touch with the parser - INT64 and LARGEINT aliases for the intenal dtype_int64 data type. 2002-06-15 09:38:14 +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
dimitr
8463265fc1 Implemented 'EXECUTE VARCHAR' command. 2002-04-04 13:53:20 +00:00
seanleyne
8e93b8a859 Code cleanup, removed old Win3.1 port from routines I missed the first time 2002-02-24 16:39:31 +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
bellardo
747d13c0d5 Changes to bring FB2 to c++ on *nix. 2001-07-12 05:46:06 +00:00
tamlin
9a776a604e First steps towards a C++ conversion. 2001-05-23 13:26:42 +00:00