Firebird Documentation IndexFirebird 2.1 Language Ref. Update → Document History
Firebird Home Firebird Home Prev: The RDB$VALID_BLR fieldFirebird Documentation IndexUp: Firebird 2.1 Language Ref. UpdateNext: License notice

Appendix B: Document History

The exact file history is recorded in the manual module in our CVS tree; see http://firebird.cvs.sourceforge.net/viewvc/firebird/manual/

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 :: EXECUTE BLOCK :: Domains instead of datatypes: Extended Description. Added Warning about collations.
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. Mentioned BLOB support in Description. Added BLOB as result type and corrected VAR(CHAR) -> (VAR)CHAR.
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 :: lower: Removed new from Description and text under Declaration.
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.
1.1 ?? Xxx 201? PV Introduction :: Subject matter: Changed ulink to Firebird Documentation Index (both text and url).
Data types and subtypes :: BLOB data type :: Text BLOB support in functions and operators: Altered Changed in; edited 2nd listitem under Level of support (CORE-3233 fixed).
DDL statements :: COLLATION :: CREATE COLLATION: Altered explanation of UNI in specific attributes table; gave table body valign=top.
DDL statements :: DATABASE :: ALTER DATABASE :: END BACKUP: Updated URL of Firebird Documentation Index in Tip.
DDL statements :: DOMAIN :: ALTER DOMAIN: Replaced contents of Warning with reference to RDB$VALID_BLR note.
DDL statements :: PROCEDURE: Changed introductory text (mentioned executable blocks).
DDL statements :: PROCEDURE :: CREATE PROCEDURE :: Domains supported in parameter and variable declarations: Edited and extended Description. Replaced contents of Warning with reference to RDB$VALID_BLR note.
DDL statements :: PROCEDURE :: CREATE PROCEDURE :: NOT NULL in variable and parameter declarations: Changed layout of Example (first line too long for PDF).
DML statements :: DELETE: Improved formal syntax (values -> <values> and added specification of latter).
DML statements :: INSERT: Improved formal syntax (value -> value_expression) and removed erroneous space.
DML statements :: SELECT: New subsection [AS] before relation alias.
DML statements :: SELECT :: ROWS: Removed illegal first ORDER BY from UNION example and compacted layout. Edited the When used with a UNION... para (further down in this section) accordingly.
DML statements :: UPDATE: Improved formal syntax (values -> <values> and added specification of latter).
PSQL statements: Changed introductory paragraph to mention executable blocks.
PSQL statements :: DECLARE :: DECLARE with DOMAIN instead of datatype: Extended Description. Replaced contents of Warning with reference to RDB$VALID_BLR note.
PSQL statements :: EXECUTE STATEMENT :: Any number of data rows returned: Improved Syntax block.
Context variables :: GDSCODE: Rewrote Description in light of new, so far undocumented behaviour since Firebird 2.0 (!). Corrected Example: after WHEN GDSCODE a symbolic name must follow, not a number. Added notice after Example to explain same.
Context variables :: SQLCODE: Added Changed in formalpara. Rewrote Description in light of new, so far undocumented behaviour since Firebird 2.0 (!).
Aggregate functions :: LIST(): Added Changed in formalpara. Edited second Syntax note (about separator).
Internal functions :: ATAN2(): Edited 3rd Syntax note (mentioned error raised in Fb 3).
Internal functions :: CAST() :: Casting to a domain or its type: Added Warning about casts becoming invalid after altering the domain.
Internal functions :: EXTRACT(): Corrected millisecond range in table (0.0000 -> 0.0).
Internal functions :: LOG(): Under listing of weird behaviour/bugs, added notice that this is going to change in 2.5.
Internal functions :: LOG10(): Edited listitem under Syntax.
Internal functions :: LOWER(): Replaced Important after Syntax with Note, with different text.
Internal functions :: LPAD(): Added Changed in. Altered result type. Altered 2nd listitem after Syntax. Altered Tip.
Internal functions :: OVERLAY(): Edited 1st listitem under Syntax (bug fixed for 2.1.5).
Internal functions :: RDB$GET_CONTEXT(): Added ENGINE_VERSION context var.
Internal functions :: RPAD(): Added Changed in. Altered result type. Altered 2nd listitem after Syntax. Altered Tip.
Internal functions :: SUBSTRING(): Added 2.1.5 to Changed in. Noted fixing of first bug in 2.1.5 and 2.5.1.
External functions :: lower: Dropped last sentence from Description. Altered first paragraph after Declaration block and removed comment.
Notes: New section The RDB$VALID_BLR field. This note contains the (edited!) text previously contained in the Warnings in ALTER DOMAIN, CREATE PROCEDURE :: Domains supported in parameter and variable declarations and DECLARE :: DECLARE with DOMAIN instead of datatype.
Document history: Link to CVS changed, points directly to manual module now.
License Notice: (C) end year now 2011.
1.2 4 Oct 2024 MR Added links to Firebird 5.0 Language Reference as more recent documentation
Prev: The RDB$VALID_BLR fieldFirebird Documentation IndexUp: Firebird 2.1 Language Ref. UpdateNext: License notice
Firebird Documentation IndexFirebird 2.1 Language Ref. Update → Document History