]> granicus.if.org Git - postgresql/commitdiff
Add \x hex support to ecpg strings. This just passes them to the backend.
authorBruce Momjian <bruce@momjian.us>
Thu, 16 Jun 2005 01:43:48 +0000 (01:43 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 16 Jun 2005 01:43:48 +0000 (01:43 +0000)
src/interfaces/ecpg/preproc/pgc.l

index ce1b4eb885aebc2382c933e869349945dffa3b38..c86f2cdf1e1fcfeaefac37da51f2d7cabab2e6f8 100644 (file)
@@ -12,7 +12,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.135 2005/02/02 15:37:43 meskes Exp $
+ *       $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.136 2005/06/16 01:43:48 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -139,8 +139,9 @@ xqstart                     {quote}
 xqstop                 {quote}
 xqdouble               {quote}{quote}
 xqinside               [^\\']+
-xqescape                [\\][^0-7]
-xqoctesc                [\\][0-7]{1,3}
+xqescape               [\\][^0-7]
+xqoctesc               [\\][0-7]{1,3}
+xqhexesc               [\\]x[0-9A-Fa-f]{1,2}
 xqcat                  {quote}{whitespace_with_newline}{quote}
 
 /* $foo$ style quotes ("dollar quoting")
@@ -400,7 +401,8 @@ cppline                     {space}*#(.*\\{space})*.*{newline}
 <xq>{xqdouble}         { addlitchar('\''); }
 <xq>{xqinside}         { addlit(yytext, yyleng); }
 <xq>{xqescape}         { addlit(yytext, yyleng); }
-<xq>{xqoctesc}          { addlit(yytext, yyleng); }
+<xq>{xqoctesc}         { addlit(yytext, yyleng); }
+<xq>{xqhexesc}         { addlit(yytext, yyleng); }
 <xq>{xqcat}            { /* ignore */ }
 <xq>.                   {
                                        /* This is only needed for \ just before EOF */