Tue Jul 15 14:28:53 CEST 2003
- _ Started to add error codes for backend error messages.
+ - Started to add error codes for backend error messages.
+
+Thu Jul 17 09:15:59 CEST 2003
+
+ - Fixed some bugs in informix compat functions.
+
+Fri Jul 18 16:31:10 CEST 2003
+
+ - Added some more compatibility features to the parser.
- Set ecpg version to 3.0.0
- Set ecpg library to 4.0.0
- Set pgtypes library to 1.0.0
-/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.12 2003/07/17 11:27:55 meskes Exp $ */
+/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/ecpglib/data.c,v 1.13 2003/07/18 14:32:56 meskes Exp $ */
#define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h"
{
case ECPGt_short:
case ECPGt_unsigned_short:
- /* ((short *) ind)[act_tuple] = variable->len;*/
*((short *) (ind + offset * act_tuple)) = variable->len;
break;
case ECPGt_int:
case ECPGt_unsigned_int:
- /* ((int *) ind)[act_tuple] = variable->len;*/
*((int *) (ind + offset * act_tuple)) = variable->len;
break;
case ECPGt_long:
case ECPGt_unsigned_long:
- /* ((long *) ind)[act_tuple] = variable->len;*/
*((long *) (ind + offset * act_tuple)) = variable->len;
break;
#ifdef HAVE_LONG_LONG_INT_64
-/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.248 2003/07/14 12:18:25 meskes Exp $ */
+/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/Attic/preproc.y,v 1.249 2003/07/18 14:32:56 meskes Exp $ */
/* Copyright comment */
%{
*
*****************************************************************************/
+/* This is different from the backend as we try to be compatible with many other
+ * embedded SQL implementations. So we accept their syntax as well and
+ * translate it to the PGSQL syntax. */
+
FetchStmt: FETCH fetch_direction from_in name ecpg_into_using
{ $$ = cat_str(4, make_str("fetch"), $2, $3, $4); }
+ | FETCH fetch_direction name ecpg_into_using
+ { $$ = cat_str(4, make_str("fetch"), $2, make_str("from"), $3); }
+ | FETCH from_in name ecpg_into_using
+ { $$ = cat_str(3, make_str("fetch"), $2, $3); }
| FETCH name ecpg_into_using
{ $$ = cat2_str(make_str("fetch"), $2); }
| FETCH fetch_direction from_in name
{ $$ = cat_str(4, make_str("fetch"), $2, $3, $4); }
+ | FETCH fetch_direction name
+ { $$ = cat_str(4, make_str("fetch"), $2, make_str("from"), $3); }
+ | FETCH from_in name
+ { $$ = cat_str(3, make_str("fetch"), $2, $3); }
| FETCH name
{ $$ = cat2_str(make_str("fetch"), $2); }
| MOVE fetch_direction from_in name
{ $$ = cat2_str(make_str("move"), $2); }
;
-fetch_direction: /* EMPTY */ { $$ = EMPTY; }
- | NEXT { $$ = make_str("next"); }
+fetch_direction: NEXT { $$ = make_str("next"); }
| PRIOR { $$ = make_str("prior"); }
| FIRST_P { $$ = make_str("first"); }
| LAST_P { $$ = make_str("last"); }
;
from_in: IN_P { $$ = make_str("in"); }
- | FROM { $$ = make_str("from"); }
+ | FROM { $$ = make_str("from"); }
;
/*****************************************************************************