Notes:
1) Some features are disabled (via isc_wish_list) yet due to their incomplete implementation.
2) The parser may become unstable or cause regressions. It will be fixed ASAP.
- obsolete items like WAL and JOURNAL (cleaned in the past)
- crud from attempts never finished like the shared cache manager for Classic
- DSQL nodes that aren't used. This allowed freeing some keywords.
The functionality was disabled by commenting the code. No code has been deleted.
Fix isql bug #910430.
Add SET HEADING ON/OFF option
Add -M2 command-line option to send output of statistics and plans to the same file than the rest of the output.
Those items do not appear when using HELP SET inside isql or with isql -? from the command line.
1. Bring trace DSQL, DYN and BLR trace logging up-to-date
2. Remove redundant CSB pointer dereferences in BLR parser and request compiler
3. Convert RIGHT JOIN to LEFT JOIN early during BLR parsing
4. Check BLR syntax for unititalized contexts usage
5. Some type-safety and const-correctness fixes
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
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
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)
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.
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.
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.