Add \x hex support to ecpg strings. This just passes them to the backend.

This commit is contained in:
Bruce Momjian 2005-06-16 01:43:48 +00:00
parent d1944de61b
commit e046b3ddd7
1 changed files with 6 additions and 4 deletions

View File

@ -12,7 +12,7 @@
* *
* *
* IDENTIFICATION * 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} xqstop {quote}
xqdouble {quote}{quote} xqdouble {quote}{quote}
xqinside [^\\']+ xqinside [^\\']+
xqescape [\\][^0-7] xqescape [\\][^0-7]
xqoctesc [\\][0-7]{1,3} xqoctesc [\\][0-7]{1,3}
xqhexesc [\\]x[0-9A-Fa-f]{1,2}
xqcat {quote}{whitespace_with_newline}{quote} xqcat {quote}{whitespace_with_newline}{quote}
/* $foo$ style quotes ("dollar quoting") /* $foo$ style quotes ("dollar quoting")
@ -400,7 +401,8 @@ cppline {space}*#(.*\\{space})*.*{newline}
<xq>{xqdouble} { addlitchar('\''); } <xq>{xqdouble} { addlitchar('\''); }
<xq>{xqinside} { addlit(yytext, yyleng); } <xq>{xqinside} { addlit(yytext, yyleng); }
<xq>{xqescape} { 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>{xqcat} { /* ignore */ }
<xq>. { <xq>. {
/* This is only needed for \ just before EOF */ /* This is only needed for \ just before EOF */