Skip to content

Remove support for braces in regular identifiers #8998

@mrotteveel

Description

@mrotteveel

Firebird currently accepts the open (left) and close (right) brace characters ({ and }) in regular identifiers. That these characters were accepted was never documented.

In standard SQL, the brace characters are separate delimiter tokens (<left brace> and <right brace> in ISO/IEC 9075-2:2023 section 5.1 <SQL terminal character>), and used by features not yet supported by Firebird (It is used in ISO/IEC 9075-2:2023, section 7.9 <row pattern common syntax>, specifically in <row pattern quantifier>). Future changes to the SQL standard may introduce additional uses of braces (based on hearsay). Though less of a problem, the brace characters also have meaning in ODBC and JDBC for defining escapes.

To avoid syntax issues or ambiguities if and when these SQL standard features are added to Firebird, the support of these characters in regular identifiers should be removed in Firebird 7.0. In Firebird 6.0 their use is deprecated (a section was added to the release notes).

See also firebird-devel: Allowed characters in regular identifiers

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions