mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 20:43:02 +01:00
591 lines
21 KiB
Plaintext
591 lines
21 KiB
Plaintext
|
|
**************
|
|
* v1.5 Alpha 4
|
|
**************
|
|
|
|
* Fixed Alpha 3 bug.
|
|
Database cannot be restored properly in some situations.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Fixed Alpha 3 bug.
|
|
Dynamic exception messages don't work properly.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
Exceptions inside for/while loop in triggers are not handled correctly.
|
|
Contributor(s):
|
|
Alexander Peshkoff <peshkoff@hotmail.ru>
|
|
|
|
* Fixed bug SF #623992.
|
|
Double forward slash in connection string.
|
|
Contributor(s):
|
|
Paul Reeves <preeves@ibphoenix.com>,
|
|
Mark O'Donohue <mark.odonohue@cytopia.com.au>
|
|
|
|
* Fixed unregistered bug.
|
|
Deadlock during some database operations.
|
|
Contributor(s):
|
|
Alexander Peshkoff <peshkoff@hotmail.ru>
|
|
|
|
* Improved optimizer.
|
|
If a few indices with much different selectivity could be used for index retrieval, only better of them are used while others are ignored.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed Alpha 3 bug.
|
|
Memory corruption that prevented restore of databases with procedures using plan expressions with long index names.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Fixed unregistered bug.
|
|
Quoted identifiers problem in plan expressions.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Win32 Classic Server.
|
|
CS architecture is now supported on Win32 as well, but it still cannot be considered stable, so any feedback is welcome.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed Alpha 3 bug.
|
|
API routines are not accessible if gds32.dll is explicitly loaded.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
Stored procedures are no longer recompiled before deletion.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* New collation for WIN1251 charset.
|
|
WIN1251_UA for both Ukrainian and Russian languages.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Client library change.
|
|
API routines are no longer exported by ordinals.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* New configuration manager.
|
|
Enable the same plain file based configuration for all supported platforms. Default configuration file will be released in the first beta build.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Improved optimizer.
|
|
Added better support for using indices with "OR". Pick the best available compound index from all "AND" nodes.
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* Fixed Alpha 3 bug.
|
|
Database appears corrupted (damaged BLOB pages).
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Savepoints.
|
|
Added support for explicit savepoint management.
|
|
Syntax:
|
|
SAVEPOINT savepoint_name; (create savepoint)
|
|
ROLLBACK [WORK] TO [SAVEPOINT] savepoint_name; (rollback to previously created savepoint)
|
|
Notes:
|
|
Not available in PSQL.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Protocol cleanup.
|
|
IPX/SPX network protocol is no longer supported.
|
|
Contributor(s):
|
|
Sean Leyne <sleyne@atkin.com>
|
|
|
|
* Fixed Alpha 3 bug.
|
|
Memory corruption when working with long record verion chains.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Obsolete platforms cleanup.
|
|
Some platform are no longer supported by the current source code.
|
|
DELTA, IMP, DG_X86, M88K, UNIXWARE, Ultrix, NeXT, ALPHA_NT, DGUX, MPE/XL, DecOSF, SGI, HP700, Netware, MSDOS, SUN3_3
|
|
Contributor(s):
|
|
Sean Leyne <sleyne@atkin.com>
|
|
|
|
* Improved optimizer.
|
|
Added support for detecting use of index with sub-selects in aggregate select.
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* Improved thread scheduler for Win32 SS.
|
|
Now the server should be more responsible under heavy load.
|
|
Contributor(s):
|
|
Alexander Peshkoff <peshkoff@hotmail.ru>
|
|
|
|
* Explicit record locking.
|
|
Added support for explicit locking. Wait behavior in isc_tpb_wait transaction modes is not stable yet.
|
|
Syntax:
|
|
SELECT <...> [FOR UPDATE [OF col [, col ...]] [WITH LOCK]]
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
**************
|
|
* v1.5 Alpha 3
|
|
**************
|
|
|
|
* Fixed bug SF #558364.
|
|
Triggers fail to compile if PLAN used.
|
|
Note:
|
|
Now you can use plans in triggers.
|
|
Contributor(s):
|
|
Ignacio J. Ortega <nacho@siapi.es>
|
|
|
|
* Fixed unregistered bug.
|
|
Distributed (2PC) transaction cannot be properly rolled back due to network errors.
|
|
Contributor(s):
|
|
Vlad Horsun <horsun@kdb.dp.ua>,
|
|
Erik Kunze <erik.kunze@philosys.de>
|
|
|
|
* Fixed Alpha 2 bug.
|
|
Possible buffer overrun if dynamic exception messages are used.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed Alpha 2 bug.
|
|
Problem with sub-select and GROUP BY clause.
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* Fixed Alpha 2 bug.
|
|
The server hangs with a bugcheck #284 (cannot restore singleton select data).
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Generic cleanup.
|
|
ISC_STATUS_LENGTH and MAXPATHLEN macros.
|
|
Contributor(s):
|
|
Erik Kunze <erik.kunze@philosys.de>
|
|
|
|
* Fixed Alpha 2 bug.
|
|
Version information is missing in libraries and tools.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed Alpha 2 bug.
|
|
Backported a few bits of FB1 code which have been lost.
|
|
Contributor(s):
|
|
Claudio Varderrama <cvalde@usa.net>,
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed bug SF #496784.
|
|
When optimizer find indexes for LEFT JOIN, work like INNER JOIN.
|
|
Note:
|
|
Fixed problem which caused complex outer joins to produce wrong results.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Fixed Alpha 2 bug.
|
|
Changes in aliases.conf are not applied until the server is restarted.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
**************
|
|
* v1.5 Alpha 2
|
|
**************
|
|
|
|
* Fixed unregistered bug.
|
|
BLOB subtype is ignored in system domains generated for expression fields in views.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed installation bug.
|
|
instreg.exe doesn't create "GuardianOptions" registry value.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
Resource leaks in DDL recursive procedure handling which caused some DDL to fail.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Fixed unregistered bug.
|
|
Check constraint which uses only one table field is now dropped automatically when this field is dropped.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Fixed Alpha 1 bug.
|
|
GROUP BY ordinal doesn't work with column aliases.
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* Fixed Alpha 1 bug.
|
|
Views are not being created correctly (missing records in RDB$VIEW_RELATIONS).
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
**************
|
|
* v1.5 Alpha 1
|
|
**************
|
|
|
|
* Fixed unregistered bug.
|
|
A well-known "decompression overran buffer" error appears during the schema creation.
|
|
Contributor(s):
|
|
Evgeny Kilin <john@citycard.izhnet.ru>
|
|
|
|
* New ROWS_AFFECTED system variable (SF #451927).
|
|
Return number of rows affected by the last INSERT/UPDATE/DELETE statement.
|
|
Notes:
|
|
1. Available in PSQL only.
|
|
2. For any other statement than INSERT/UPDATE/DELETE, result is always zero.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Dynamic exception messages (SF #446240).
|
|
Allow to throw an exception with another message than this exception has been created with.
|
|
Syntax:
|
|
EXCEPTION name [value];
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* New SQLCODE and GDSCODE system variables (SF #547383).
|
|
Provide an access to a code of the catched error within the WHEN-block.
|
|
Notes:
|
|
1. Available in PSQL only.
|
|
2. Makes sense in WHEN-block only, in other places returns 0 (success).
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Exception re-initiate semantics.
|
|
Allow an already catched exception to be re-thrown from the WHEN-block.
|
|
Syntax:
|
|
EXCEPTION;
|
|
Note:
|
|
Makes sense in WHEN-block only, in other places evaluates to no-op.
|
|
Contributor(s):
|
|
Digitman <digitman@hotbox.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
The server crashes during the garbage collection under heavy load.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Deferred metadata compilation.
|
|
Solve a lot of reasons of the well-known "object in use" error.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* New NULL order handling.
|
|
Allow user-defined ordering of NULLs.
|
|
Syntax:
|
|
[ORDER BY <order_list>]
|
|
<order_list> = {col | int} [COLLATE collation]
|
|
[ASC[ENDING] | DESC[ENDING]] [NULLS {FIRST | LAST}]
|
|
[, <order_list> ...]
|
|
Note:
|
|
Default behaviour is NULLS LAST.
|
|
Contributor(s):
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* Fixed unregistered bug.
|
|
gstat shows wrong value for maxdup element.
|
|
Contributor(s):
|
|
Dmitry Kuzmenko <kdv@ibase.ru>
|
|
|
|
* New registry key is used on win32.
|
|
Currently it's SOFTWARE\FirebirdSQL\Firebird.
|
|
Contributor(s):
|
|
-
|
|
|
|
* User-defined constraint index names (SF #451925).
|
|
Allow an index name to be either constraint name or user-defined name.
|
|
Syntax:
|
|
<col_constraint> = [CONSTRAINT constraint]
|
|
{UNIQUE [<constraint_index>]
|
|
| PRIMARY KEY [<constraint_index>]
|
|
| REFERENCES other_table [( other_col [, other_col ...])]
|
|
[ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
|
|
[ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
|
|
[<constraint_index>]
|
|
| CHECK ( <search_condition>)}
|
|
<tconstraint> = [CONSTRAINT constraint]
|
|
{{PRIMARY KEY | UNIQUE} ( col [, col ...]) [<constraint_index>]
|
|
| FOREIGN KEY ( col [, col ...]) REFERENCES other_table
|
|
[ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
|
|
[ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
|
|
[<constraint_index>]
|
|
| CHECK ( <search_condition>)}
|
|
<constraint_index> = USING [ASC[ENDING] | DESC[ENDING]] INDEX name
|
|
Note:
|
|
Index is named the same way as a constraint by default.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* New RECREATE VIEW statement.
|
|
A shorthand for DROP VIEW / CREATE VIEW couple of statements.
|
|
Syntax:
|
|
RECREATE VIEW name <view_definition>;
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
Trigger which name starts with 'RDB$' cannot be altered or dropped at all.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Changed file names.
|
|
Renamed distribution files to make sure we're Firebird. Now they're fbserver, fbclient, firebird.msg etc.
|
|
Note:
|
|
The client library is fbclient now and it should be used in all new FB-based projects. gds32 contains nothing but redirected exports and is provided for compatibility only.
|
|
Contributor(s):
|
|
-
|
|
|
|
* Minor ODS upgrade.
|
|
Added new system indices (RDB$INDEX_41, RDB$INDEX_42, RDB$INDEX_43), now ODS version is 10.1.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>,
|
|
Nickolay Samofatov <skidder@bssys.com>
|
|
|
|
* New CREATE OR ALTER statement (SF #451935).
|
|
Allow either creating or altering a database object depending on its existance.
|
|
Syntax:
|
|
CREATE OR ALTER name <object_definition>;
|
|
Notes:
|
|
1. Applicable to SPs/triggers only.
|
|
2. The statement has the same meaning as CREATE OR REPLACE one in Oracle.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
Broken dependencies (like DB$34) appear in the database after metadata changes.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Enhanced declaration of local variables.
|
|
Simplify syntax and allow declaring and defining variable at the same time.
|
|
Syntax:
|
|
DECLARE [VARIABLE] name <variable_type> [{'=' | DEFAULT} value];
|
|
Example:
|
|
DECLARE my_var INTEGER = 123;
|
|
Contributor(s):
|
|
Claudio Valderrama <cvalde@usa.net>
|
|
|
|
* Disabled BREAK statement for triggers (like EXIT) due to known internal limitations.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Enhanced grouping (SF #555839, #546274).
|
|
Allow to GROUP BY internal functions and subqueries. Also allow to GROUP BY ordinal (i.e. column position).
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* New COALESCE internal function (SF #451917).
|
|
Allow a column value to be calculated by a number of expressions, the first expression returning a non NULL value is returned as the column value.
|
|
Syntax:
|
|
COALESCE (value {, value} ... )
|
|
Notes:
|
|
1. COALESCE (V1, V2) is equivalent to the following case specification:
|
|
CASE WHEN V1 IS NOT NULL THEN V1 ELSE V2 END
|
|
2. COALESCE (V1, V2, ..., Vn), for n >= 3, is equivalent to the following case specification:
|
|
CASE WHEN V1 IS NOT NULL THEN V1 ELSE COALESCE (V2, ..., Vn) END
|
|
3. The function has the same meaning as NVL one in Oracle.
|
|
Example:
|
|
SELECT
|
|
PROJ_NAME AS Projectname,
|
|
COALESCE(e.FULL_NAME, '[> not assigned <]') AS Employeename
|
|
FROM
|
|
PROJECT p LEFT JOIN EMPLOYEE e ON (e.EMP_NO = p.TEAM_LEADER)
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* New NULLIF internal function (SF #451917).
|
|
Return a NULL value for a sub-expression if it has a specific value, otherwise return the value of the sub-expression.
|
|
Syntax:
|
|
NULLIF (value, value)
|
|
Note:
|
|
NULLIF (V1, V2) is equivalent to the following case specification:
|
|
CASE WHEN V1 = V2 THEN NULL ELSE V1 END
|
|
Example:
|
|
UPDATE PRODUCTS
|
|
SET STOCK = NULLIF(STOCK, 0)
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* New CASE internal function (SF #451917).
|
|
Allow the result of a column to be determined by a the results of a case expression.
|
|
Syntax:
|
|
<case_specification> = <simple_case> | <searched_case>
|
|
|
|
<simple_case> = CASE value <simple_when_clause> ... [ELSE value] END
|
|
<simple_when_clause> = WHEN value THEN value
|
|
|
|
<searched_case> = CASE <searched_when_clause> ... [ELSE value] END
|
|
<searched_when_clause> = WHEN <search_condition> THEN value
|
|
Note:
|
|
The function has the same meaning as DECODE one in Oracle.
|
|
Examples:
|
|
1. Simple case:
|
|
SELECT
|
|
o.ID,
|
|
o.Description,
|
|
CASE o.Status
|
|
WHEN 1 THEN 'confirmed'
|
|
WHEN 2 THEN 'in production'
|
|
WHEN 3 THEN 'ready'
|
|
WHEN 4 THEN 'shipped'
|
|
ELSE 'unknown status ''' || o.Status || ''''
|
|
END
|
|
FROM
|
|
Orders o
|
|
2. Searched case:
|
|
SELECT
|
|
o.ID,
|
|
o.Description,
|
|
CASE
|
|
WHEN (o.Status IS NULL) THEN 'new'
|
|
WHEN (o.Status = 1) THEN 'confirmed'
|
|
WHEN (o.Status = 3) THEN 'in production'
|
|
WHEN (o.Status = 4) THEN 'ready'
|
|
WHEN (o.Status = 5) THEN 'shipped'
|
|
ELSE 'unknown status ''' || o.Status || ''''
|
|
END
|
|
FROM
|
|
Orders o
|
|
Contributor(s):
|
|
Arno Brinkman <firebird@abvisie.nl>
|
|
|
|
* Fixed bug SF #545725.
|
|
Automatic/background sweep hangs.
|
|
Contributor(s):
|
|
Alexander Peshkoff <peshkoff@hotmail.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
The server crashes when XSQLDA structures are prepared for not all statement parameters.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Enabled support for empty BEGIN...END blocks.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Partially fixed bug SF #567931.
|
|
Metadata security hole.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed unregistered bug.
|
|
INT64 arrays don't work.
|
|
Contributor(s):
|
|
Artem Petkevych <artem@protec.kiev.ua>
|
|
|
|
* Fixed bug SF #437859.
|
|
Execute procedure and string concat.
|
|
Note:
|
|
This change allows any expression to be used as a SP parameter.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed bug SF #562417.
|
|
Aggregate concatenated empty char.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Readline (cmd history) support added to ISQL.
|
|
Contributor(s):
|
|
Mark O'Donohue <mark.odonohue@cytopia.com.au>
|
|
|
|
* New BIGINT datatype (SF #446206).
|
|
Allow native SQL usage of 64-bit exact numerics.
|
|
Note:
|
|
Available in dialect 3 only.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Universal triggers (SF #451922).
|
|
Allow one trigger to be fired for a number of action types.
|
|
Syntax:
|
|
CREATE TRIGGER name FOR table
|
|
[ACTIVE | INACTIVE]
|
|
<trigger_action_prefix>
|
|
<trigger_action_suffix> [OR <trigger_action_suffix>] [OR <trigger_action_suffix>]
|
|
[POSITION number]
|
|
AS <trigger_body>
|
|
<trigger_action_prefix> = {BEFORE | AFTER}
|
|
<trigger_action_suffix> = {DELETE | INSERT | UPDATE}
|
|
Example:
|
|
CREATE TRIGGER my_trigger FOR my_table BEFORE INSERT OR UPDATE
|
|
AS BEGIN
|
|
IF (NEW.DOC_ID IS NULL) THEN
|
|
EXCEPTION my_exception;
|
|
END
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* New CONNECTION_ID and TRANSACTION_ID system variables (SF #446238, #446243).
|
|
Return appropriate internal identifier stored on the database header page.
|
|
Notes:
|
|
1. Available in SQL/PSQL.
|
|
2. The values are reset after a database is restored.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Server-side database aliases (SF #446180).
|
|
Any database can be attached to using an "alias" name instead of its physical pathname.
|
|
The list of known database aliases is stored in aliases.conf file under the server installation root.
|
|
Example:
|
|
alias entry in the configuration file: my_database = d:\dbs\my\database.gdb
|
|
connection string: localhost:my_database
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* New plugin manager and INTL interface.
|
|
Contributor(s):
|
|
John Bellardo <bellardo@cs.ucsd.edu>
|
|
|
|
* In-memory sorting.
|
|
If SORT plan is used for a SQL statement, the sorting is done in memory.
|
|
If there's not enough memory for this operation, old temporary file based method is used.
|
|
Contributor(s):
|
|
Dmitry Yemanov <yemanov@yandex.ru>
|
|
|
|
* Fixed bug SF #538201.
|
|
Crash with extract from null as date.
|
|
Contributor(s):
|
|
Claudio Varderrama <cvalde@usa.net>
|
|
|
|
* New EXECUTE VARCHAR statement (SF #446256).
|
|
Allow execution of dynamic SQL statements in SPs/triggers.
|
|
Syntax:
|
|
EXECUTE VARCHAR value;
|
|
Notes:
|
|
1. Available in PSQL only.
|
|
2. Currently cannot return values, so SELECT statements are not allowed.
|
|
3. Recursion level is limited to 50 (hardcoded).
|
|
Example:
|
|
EXECUTE VARCHAR my_var;
|
|
Contributor(s):
|
|
Alexander Peshkoff <peshkoff@hotmail.ru>
|
|
|
|
* Major code cleanup.
|
|
Contributor(s):
|
|
Sean Leyne <sleyne@atkin.com>,
|
|
Erik Kunze <erik.kunze@philosys.de>
|
|
|
|
* New memory manager.
|
|
Contributor(s):
|
|
John Bellardo <bellardo@cs.ucsd.edu>
|
|
|
|
* New exception handling logic.
|
|
Contributor(s):
|
|
Mike Nordell <tamlin@algonet.se>,
|
|
John Bellardo <bellardo@cs.ucsd.edu>
|
|
|
|
* New autoconf-based build configuration.
|
|
Contributor(s):
|
|
John Bellardo <bellardo@cs.ucsd.edu>,
|
|
Mark O'Donohue <mark.odonohue@cytopia.com.au>,
|
|
Erik Kunze <erik.kunze@philosys.de>
|
|
|
|
* The code port from C to C++.
|
|
Contributor(s):
|
|
Mike Nordell <tamlin@algonet.se>,
|
|
John Bellardo <bellardo@cs.ucsd.edu>,
|
|
Mark O'Donohue <mark.odonohue@cytopia.com.au>
|