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
* $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 */