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

        Issue Links

          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.