SQL defines are only used in SQL space in Informix mode.

This commit is contained in:
Michael Meskes 2004-07-26 10:28:28 +00:00
parent 5b2f4afffe
commit b14158f405
2 changed files with 25 additions and 13 deletions

View File

@ -1850,6 +1850,10 @@ Tue Jul 20 09:15:21 CEST 2004
- Synced parser and keyword list.
- Fixed handling of cyclic defines.
Mon Jul 26 09:04:53 CEST 2004
- SQL defines are only used in SQL space in Informix mode.
- Set pgtypes library version to 1.2.
- Set ecpg version to 3.2.0.
- Set compat library version to 1.2.

View File

@ -12,7 +12,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.130 2004/07/20 18:06:41 meskes Exp $
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.131 2004/07/26 10:28:28 meskes Exp $
*
*-------------------------------------------------------------------------
*/
@ -693,24 +693,32 @@ cppline {space}*#(.*\\{space})+.*
ScanKeyword *keyword;
struct _defines *ptr;
/* is it a define? */
for (ptr = defines; ptr; ptr = ptr->next)
if (INFORMIX_MODE)
{
if (strcmp(yytext, ptr->old) == 0 && ptr->used == NULL)
/* Informix uses SQL defines only in SQL space */
ptr = NULL;
}
else
{
/* is it a define? */
for (ptr = defines; ptr; ptr = ptr->next)
{
struct _yy_buffer *yb;
if (strcmp(yytext, ptr->old) == 0 && ptr->used == NULL)
{
struct _yy_buffer *yb;
yb = mm_alloc(sizeof(struct _yy_buffer));
yb = mm_alloc(sizeof(struct _yy_buffer));
yb->buffer = YY_CURRENT_BUFFER;
yb->lineno = yylineno;
yb->filename = mm_strdup(input_filename);
ptr->used = yb->next = yy_buffer;
yb->buffer = YY_CURRENT_BUFFER;
yb->lineno = yylineno;
yb->filename = mm_strdup(input_filename);
ptr->used = yb->next = yy_buffer;
yy_buffer = yb;
yy_buffer = yb;
yy_scan_string(ptr->new);
break;
yy_scan_string(ptr->new);
break;
}
}
}