meta data for this page
  •  

Appendix B: Document history

The exact file history is recorded in the manual module in our CVS tree; see https://sourceforge.net/cvs/?group_id=9028.

Revision History

0.9 10 Jul 2009 PV First publication, based on the Firebird 2.0 Language Reference Update with almost all the changes for 2.1 added (roughly adding 50% to the size).
1.0 9 Dec 2010 PV GLOBAL: Renamed all “Deprecated in” section headers to “Better alternative”. This also required editing the text immediately following the header and in some cases additional text in the section (if the “deprecation” was discussed in the section body). Bookinfo: Added 2.1.4 to covered versions. Introduction :: Subject matter: Added “Aggregate functions” to first list. Introduction :: Versions covered: Added 2.1.4. Introduction :: Authorship: Edited first paragraph. Added Frank Ingermann and Vlad Khorsun to contributor list. Introduction: Removed sections Completeness and Miscellaneous notes. Data types and subtypes :: BLOB data type :: Text BLOB compatibility with VARCHAR: Replaced this subsection, which was incorrect, with Text BLOB support in functions and operators. Data types and subtypes :: BLOB data type :: Various enhancements: Added information on binary mnemonic (new in 2.0) + extra example. Data types and subtypes :: New collations :: A note on the UTF8 collations: Added information on UNICODE_CI. DDL statements :: COLLATION :: DROP COLLATION: Edited Description. DDL statements :: DATABASE :: CREATE DATABASE: Moved Syntax one level up and added DIFFERENCE FILE clause. Added new subsection DIFFERENCE FILE parameter. DDL statements :: DATABASE :: ALTER DATABASE: Merged difference file clauses onto one line in Syntax. DDL statements :: DOMAIN :: ALTER DOMAIN: Added Warning about changing domains referred in PSQL code. DDL statements :: FILTER :: DECLARE FILTER: Edited Description. Added user_defined to Syntax. Added more info under Syntax block and made it an itemizedlist. Converted Tip to formalpara User-defined mnemonics. DDL statements :: PROCEDURE :: CREATE PROCEDURE: Added NOT NULL to syntax block; added comment about character sets to syntax block. DDL statements :: PROCEDURE :: CREATE PROCEDURE :: Domains instead of datatypes: Renamed to Domains supported in parameter and variable declarations. Added Warning about changing domain definitions. DDL statements :: PROCEDURE :: CREATE PROCEDURE: Added subsection NOT NULL in variable and parameter declarations. DDL statements :: PROCEDURE :: ALTER PROCEDURE :: Domains instead of datatypes: Renamed to Domains supported in parameter and variable declarations. DDL statements :: PROCEDURE :: ALTER PROCEDURE: Added subsection NOT NULL in variable and parameter declarations. DDL statements :: TABLE :: CREATE TABLE :: GENERATED ALWAYS AS: Added Note about it not being supported in index definitions. DDL statements :: TABLE :: CREATE TABLE: Added subsection FOREIGN KEY without target column references PK. DDL statements :: TABLE :: ALTER TABLE: Added subsection FOREIGN KEY without target column references PK. DDL statements :: TABLE :: ALTER TABLE: Added subsection GENERATED ALWAYS AS. DDL statements :: TRIGGER :: CREATE TRIGGER: Added subsection NOT NULL in variable declarations. DDL statements :: TRIGGER :: ALTER TRIGGER: Added subsection NOT NULL in variable declarations. DDL statements :: VIEW :: CREATE VIEW :: Full SELECT syntax supported: Mentioned that in FB 2.5 the column list becomes optional also for union views. DDL statements :: VIEW :: CREATE VIEW :: PLAN subclause disallowed in 1.5: Changed title to PLAN subclause disallowed in 1.5, reallowed in 2.0. DML statements :: DELETE: Corrected formal syntax (columns → values). Corrected syntax note about WHERE CURRENT OF. DML statements :: DELETE: Added subsection COLLATE subclause for text BLOB columns. DML statements :: DELETE: Added subsection Relation alias makes real name unavailable. DML statements :: DELETE :: RETURNING: Improved Description. DML statements :: EXECUTE BLOCK: Added NOT NULL support for in/out/local PSQL vars (added “Changed in” formalpara, updated syntax block, added subsection). DML statements :: INSERT: Corrected formal syntax (column_list → value_list). DML statements :: INSERT :: RETURNING: Improved Description. DML statements :: MERGE: Mentioned CTE in description and created links. DML statements :: SELECT :: Common Table Expressions: Edited Description, Syntax and Notes. DML statements :: SELECT :: Table alias must be used if present: Renamed to Relation alias makes real name unavailable and moved to before ROWS subsection. Also changed Description and paragraph before last example. DML statements :: UPDATE: Corrected formal syntax (columns → values). Corrected syntax note about WHERE CURRENT OF. DML statements :: UPDATE: Added subsection COLLATE subclause for text BLOB columns. DML statements :: UPDATE: Added subsection Relation alias makes real name unavailable. DML statements :: UPDATE :: RETURNING: Improved Description. DML statements :: UPDATE OR INSERT: Corrected formal syntax (columns → values). Edited first two subitems of second Note. PSQL statements :: DECLARE: Added NOT NULL to Syntax. Added Syntax note about including a character set. PSQL statements :: DECLARE :: DECLARE … CURSOR: Edited first Note and placed it last. Added a subsequent note about the effects of variable changes during loop execution. PSQL statements :: DECLARE :: DECLARE with DOMAIN instead of datatype: Added Warning about changing domain definitions. PSQL statements :: DECLARE: Added subsection NOT NULL in variable declaration. PSQL statements :: FOR SELECT … INTO … DO: Edited Syntax note and added a second note about the effects of variable changes during loop execution. Context variables :: CURRENT_CONNECTION: Improved Description. Context variables :: CURRENT_TIME: Edited description. Removed Note and added Notes formalpara. Context variables :: CURRENT_TIMESTAMP: Edited description. Removed Note and added Notes formalpara. Context variables :: CURRENT_TRANSACTION: Improved Description. Context variables :: 'NOW': Removed Note and added Notes formalpara. Operators and predicates :: || (string concatenator): New subsections Text BLOB concatenation and Result type VARCHAR or BLOB. Operators and predicates :: || (string concatenator) :: Overflow checking: Corrected “Changed in” and Description. Aggregate functions :: LIST(): Extended 1st and 2nd second listitems under Syntax. Inserted new listitem about BLOB support in 3rd position. Edited 5th (previously 4th) listitem. Added warning on truncation bug. Aggregate functions :: MAX(): New section. Aggregate functions :: MIN(): New section. Internal functions: Replaced all occurrences of “obfuscate” in the function sections with “override”. Internal functions :: ASCII_VAL(): Edited Syntax. Added listitem about NULL. Altered last listitem. Internal functions :: ATAN2(): Replaced argument names num1 and num2 with y and x, respectively. Changed wording of 3rd Syntax note. Added two Notes. Internal functions :: BIT_LENGTH(): Added formalparas “Changed in” and “BLOB support”. Edited Note after Syntax block and placed it after Description. Internal functions :: CAST(): Edited Changed in, Description and Syntax. Worked BLOB into table. Added paragraphs and examples re. casting to a domain. Added formalpara “Casting BLOBs”. Internal functions :: CHAR_LENGTH(), CHARACTER_LENGTH(): Added formalparas “Changed in” and “BLOB support”. Edited Note after Syntax block and placed it after Description. Internal functions :: EXTRACT(): Edited Result type and everything following the Syntax block, except the WEEK subsection. Internal functions :: HASH(): Mentioned full text BLOB support in Description. Internal functions :: LEFT(): Edited Result type. Edited first listitem and inserted a new listitem before it (about BLOB support). Internal functions :: LOWER(): Added “Changed in”. Edited Description (BLOB support, removed epithet “new”). Added BLOB as result type and corrected VAR(CHAR) → (VAR)CHAR. Removed “new” from text under Declaration. Internal functions :: LPAD(): Replaced ' ' with “the empty string” in 2nd (now 4th) Syntax note. Inserted two new Syntax notes concerning BLOB support. Changed 1st sentence of Tip. Added Warning about possible high memory usage. Internal functions :: MAXVALUE(): Mentioned full text BLOB support in Description. Internal functions :: MINVALUE(): Mentioned full text BLOB support in Description Internal functions :: OCTET_LENGTH(): Added formalparas “Changed in” and “BLOB support”. Edited Note after Description. Internal functions :: OVERLAY(): Edited Result type. Edited first listitem under Syntax and inserted another one before it, about BLOB support. Also added a listitem about NULL arguments. Added Warning about possible high memory usage. Internal functions :: POSITION(): Added “(1-based)” to Description. Added two listitems after Syntax. Added Warning about possible high memory usage. Internal functions :: RDB$GET_CONTEXT(): Replaced “general” with “global” (4x) in System namespace table. Internal functions :: REPLACE(): Edited Result type. Inserted new first listitem under Syntax and edited the previous first (now 2nd) listitem. Added example with NULL first argument. Aligned arguments in examples. Corrected last constant element, which accidentally spanned three lines instead of a single word. Added Warning about possible high memory usage. Internal functions :: RIGHT(): Edited Result type. Edited first listitem and inserted a new listitem before it (about BLOB support and bug). Added Warning about possible high memory usage. Internal functions :: RPAD(): Replaced '' with “the empty string” in 2nd (now 4th) Syntax note. Inserted two new Syntax notes concerning BLOB support. Changed 1st sentence of Tip. Added Warning about possible high memory usage. Internal functions :: SUBSTRING(): Added 2.1 to “Changed in”. Changed Result type. Edited Syntax. Rewrote most everything between Syntax and Examples. Added Warning about possible high memory usage. Internal functions :: TRIM(): Added “Changed in”. Edited Description and Syntax. Corrected and extended Result type. Added Notes formalpara. Added Warning about possible high memory usage. Internal functions :: UPPER(): Added 2.1 to “Changed in”. Edited Description (BLOB support). Added BLOB as result type and corrected VAR(CHAR) → (VAR)CHAR. External functions :: addDay, addHour, addMilliSecond, addMinute, addMonth, addSecond, addYear: Added “Better alternative: Internal function DATEADD” formalpara. External functions :: addWeek: Added formalpara “The DATEADD alternative”. External functions :: getExactTimestamp: Edited “Better alternative” and Description. External functions :: log: Changed log → log(x,y) in Description. External functions :: rand: Removed “the new function” from Description. External functions :: string2blob: Added “Better alternative” formalpara. Notes :: Understanding the WITH LOCK clause :: Syntax and behaviour: In table, aligned 1st column left, all rows top, and added periods to sentences in first two rows. License Notice: Added Frank Ingermann and Vlad Khorsun as contributors. (C) end year now 2010.