- Synced preproc.y with gram.y.
- Set ecpg version to 2.6.2
+
+Tue Sep 14 22:26:40 CEST 1999
+
+ - Added patch by Andreas Theofilu to fix yet
+ another quoting bug.
+ - Minor bugfixes to ecpg
+ - Return OID in sqlca.sqlerrd[1] if possible.
+ - Set ecpg version to 2.6.3
+ - Set library version to 3.0.2
The line numbering is not exact.
Missing statements:
+ - exec slq ifdef
- exec sql allocate
- exec sql deallocate
- SQLSTATE
char sqlerrp[8];
long sqlerrd[6];
/* Element 0: empty */
- /* 1: empty */
+ /* 1: OID of processed tuple if applicable */
/* 2: number of rows processed */
/* after an INSERT, UPDATE or */
/* DELETE statement */
# Copyright (c) 1994, Regents of the University of California
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile.in,v 1.45 1999/07/19 12:37:46 meskes Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile.in,v 1.46 1999/09/15 08:29:14 meskes Exp $
#
#-------------------------------------------------------------------------
NAME= ecpg
SO_MAJOR_VERSION= 3
-SO_MINOR_VERSION= 0.1
+SO_MINOR_VERSION= 0.2
SRCDIR= @top_srcdir@
include $(SRCDIR)/Makefile.global
bool string = false;
for (; *ptr != '\0' && (*ptr != '?' || string); ptr++)
- if (*ptr == '\'')
+ if (*ptr == '\'' && *(ptr-1) != '\\')
string = string ? false : true;
return (*ptr == '\0') ? NULL : ptr;
break;
case PGRES_COMMAND_OK:
status = true;
+ sqlca.sqlerrd[1] = atol(PQoidStatus(results));
sqlca.sqlerrd[2] = atol(PQcmdTuples(results));
ECPGlog("ECPGexecute line %d Ok: %s\n", stmt->lineno, PQcmdStatus(results));
break;
MAJOR_VERSION=2
MINOR_VERSION=6
-PATCHLEVEL=2
+PATCHLEVEL=3
CFLAGS+=-I../include -DMAJOR_VERSION=$(MAJOR_VERSION) \
-DMINOR_VERSION=$(MINOR_VERSION) -DPATCHLEVEL=$(PATCHLEVEL) \
}
{xqstop} {
BEGIN(SQL);
- /* yylval.str = scanstr(literal); */
+ /* yylval.str = mm_strdup(scanstr(literal));*/
yylval.str = mm_strdup(literal);
return SCONST;
}
if (strcmp(old, ptr->old) == 0)
{
free(ptr->new);
- /* ptr->new = scanstr(literal); */
+ /* ptr->new = mm_strdup(scanstr(literal));*/
ptr->new = mm_strdup(literal);
}
}
/* initial definition */
this->old = old;
- /* this->new = scanstr(literal); */
+ /* this->new = mm_strdup(scanstr(literal));*/
this->new = mm_strdup(literal);
this->next = defines;
defines = this;
}
| SET NAMES encoding
{
-#ifdef MB
+#ifdef MULTIBYTE
$$ = cat2_str(make1_str("set names"), $3);
#else
yyerror("SET NAMES is not supported");
strcpy(msg, "execute insert 1");
sprintf(command, "insert into test(name, amount, letter) values ('db: ''mm''', 1, 'f')");
exec sql execute immediate :command;
- sprintf(command, "insert into test(name, amount, letter) values ('db: ''mm''', 2, 't')");
+ printf("New tuple got OID = %d\n", sqlca.sqlerrd[1]);
+
+ sprintf(command, "insert into test(name, amount, letter) values ('db: \\\'mm\\\'', 2, 't')");
exec sql execute immediate :command;
strcpy(msg, "execute insert 2");