'::' is no longer interpreted as a variable in a prepare statement.

This commit is contained in:
Michael Meskes 2004-10-05 10:48:37 +00:00
parent 125bb6cee4
commit a79f8195de
2 changed files with 14 additions and 4 deletions

View File

@ -1864,6 +1864,11 @@ Mon Sep 27 11:05:49 CEST 2004
- Synced parser.
- Removed Oracle transaction syntax to fix shift/reduce error.
Tue Oct 5 12:45:48 CEST 2004
- '::' is no longer interpreted as a variable in a prepare statement.
Added patch by Daniel Verite to fix this.
- Set ecpg version to 3.2.0.
- Set compat library version to 1.2.
- Set ecpg library version to 4.2.

View File

@ -1,4 +1,4 @@
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/prepare.c,v 1.12 2004/05/21 13:50:12 meskes Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/ecpglib/prepare.c,v 1.13 2004/10/05 10:48:37 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
@ -46,9 +46,14 @@ replace_variables(char *text)
if (!string && *ptr == ':')
{
*ptr = '?';
for (++ptr; *ptr && isvarchar(*ptr); ptr++)
*ptr = ' ';
if (ptr[1]==':')
ptr+=2; /* skip '::' */
else
{
*ptr = '?';
for (++ptr; *ptr && isvarchar(*ptr); ptr++)
*ptr = ' ';
}
}
}
}