Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-7822

PostgreSQL compatible E-strings

    XMLWordPrintable

Details

    • Task
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • None
    • None

    Description

      Implement PostgreSQL compatible escaped strings, which will depend neither on the current NO_BACKSLASH_ESCAPE flag in sql_mode nor on the current character_set_client setting.

      Example:

      SELECT E'some string with C-alike escapes, e.g. \r\n \t \123 \xFF';

      The returned data type should be BLOB.
      We'll support only sinlge-quoted string.
      This should return a syntax error:

      SELECT E"a string in double quotes"

      The syntax rules are described here:
      http://www.postgresql.org/docs/8.2/static/sql-syntax-lexical.html#SQL-SYNTAX-STRINGS

      PostgreSQL also accepts "escape" string constants, which are an extension to the SQL standard. An escape string constant is specified by writing the letter E (upper or lower case) just before the opening single quote, e.g. E'foo'. (When continuing an escape string constant across lines, write E only before the first opening quote.) Within an escape string, a backslash character () begins a C-like backslash escape sequence, in which the combination of backslash and following character(s) represents a special byte value. \b is a backspace, \f is a form feed, \n is a newline, \r is a carriage return, \t is a tab. Also supported are \digits, where digits represents an octal byte value, and \xhexdigits, where hexdigits represents a hexadecimal byte value. (It is your responsibility that the byte sequences you create are valid characters in the server character set encoding.) Any other character following a backslash is taken literally. Thus, to include a backslash character, write two backslashes (
      ). Also, a single quote can be included in an escape string by writing \', in addition to the normal way of ''.

      Attachments

        Activity

          People

            Unassigned Unassigned
            bar Alexander Barkov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.