Commit 45d8f61f authored by Michael Meskes's avatar Michael Meskes

Added more compat stuff ot the parser.

parent 2c914937
...@@ -1578,7 +1578,15 @@ Mon Jul 14 09:34:04 CEST 2003 ...@@ -1578,7 +1578,15 @@ Mon Jul 14 09:34:04 CEST 2003
Tue Jul 15 14:28:53 CEST 2003 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 version to 3.0.0
- Set ecpg library to 4.0.0 - Set ecpg library to 4.0.0
- Set pgtypes library to 1.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 #define POSTGRES_ECPG_INTERNAL
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -354,17 +354,14 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno, ...@@ -354,17 +354,14 @@ ECPGget_data(const PGresult *results, int act_tuple, int act_field, int lineno,
{ {
case ECPGt_short: case ECPGt_short:
case ECPGt_unsigned_short: case ECPGt_unsigned_short:
/* ((short *) ind)[act_tuple] = variable->len;*/
*((short *) (ind + offset * act_tuple)) = variable->len; *((short *) (ind + offset * act_tuple)) = variable->len;
break; break;
case ECPGt_int: case ECPGt_int:
case ECPGt_unsigned_int: case ECPGt_unsigned_int:
/* ((int *) ind)[act_tuple] = variable->len;*/
*((int *) (ind + offset * act_tuple)) = variable->len; *((int *) (ind + offset * act_tuple)) = variable->len;
break; break;
case ECPGt_long: case ECPGt_long:
case ECPGt_unsigned_long: case ECPGt_unsigned_long:
/* ((long *) ind)[act_tuple] = variable->len;*/
*((long *) (ind + offset * act_tuple)) = variable->len; *((long *) (ind + offset * act_tuple)) = variable->len;
break; break;
#ifdef HAVE_LONG_LONG_INT_64 #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 */ /* Copyright comment */
%{ %{
...@@ -1818,12 +1818,24 @@ TruncateStmt: TRUNCATE opt_table qualified_name ...@@ -1818,12 +1818,24 @@ TruncateStmt: TRUNCATE opt_table qualified_name
* *
*****************************************************************************/ *****************************************************************************/
/* 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 FetchStmt: FETCH fetch_direction from_in name ecpg_into_using
{ $$ = cat_str(4, make_str("fetch"), $2, $3, $4); } { $$ = 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 | FETCH name ecpg_into_using
{ $$ = cat2_str(make_str("fetch"), $2); } { $$ = cat2_str(make_str("fetch"), $2); }
| FETCH fetch_direction from_in name | FETCH fetch_direction from_in name
{ $$ = cat_str(4, make_str("fetch"), $2, $3, $4); } { $$ = 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 | FETCH name
{ $$ = cat2_str(make_str("fetch"), $2); } { $$ = cat2_str(make_str("fetch"), $2); }
| MOVE fetch_direction from_in name | MOVE fetch_direction from_in name
...@@ -1832,8 +1844,7 @@ FetchStmt: FETCH fetch_direction from_in name ecpg_into_using ...@@ -1832,8 +1844,7 @@ FetchStmt: FETCH fetch_direction from_in name ecpg_into_using
{ $$ = cat2_str(make_str("move"), $2); } { $$ = cat2_str(make_str("move"), $2); }
; ;
fetch_direction: /* EMPTY */ { $$ = EMPTY; } fetch_direction: NEXT { $$ = make_str("next"); }
| NEXT { $$ = make_str("next"); }
| PRIOR { $$ = make_str("prior"); } | PRIOR { $$ = make_str("prior"); }
| FIRST_P { $$ = make_str("first"); } | FIRST_P { $$ = make_str("first"); }
| LAST_P { $$ = make_str("last"); } | LAST_P { $$ = make_str("last"); }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment