diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index f6055beb28..18708efae1 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -1096,5 +1096,10 @@ Wed Sep 19 15:57:49 CEST 2001 - Synced pgc.l with scan.l. - Synced keyword.c. - Include the remaining patches by Christof Petig . + +Tue Sep 25 20:10:03 CEST 2001 + + - Synced preproc.y with gram.y. + - Changed locale handling. - Set ecpg version to 2.9.0. - Set library version to 3.3.0. diff --git a/src/interfaces/ecpg/lib/execute.c b/src/interfaces/ecpg/lib/execute.c index 30d6645c51..40bcfc0c54 100644 --- a/src/interfaces/ecpg/lib/execute.c +++ b/src/interfaces/ecpg/lib/execute.c @@ -1,4 +1,4 @@ -/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.23 2001/09/19 14:09:32 meskes Exp $ */ +/* $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/execute.c,v 1.24 2001/09/25 18:37:17 meskes Exp $ */ /* * The aim is to get a simpler inteface to the database routines. @@ -1007,11 +1007,11 @@ ECPGdo(int lineno, const char *connection_name, char *query,...) struct statement *stmt; struct connection *con = get_connection(connection_name); bool status = true; - char *locale = setlocale(LC_NUMERIC, NULL); + char *locale; /* Make sure we do NOT honor the locale for numeric input/output */ - /* since the database wants teh standard decimal point */ - setlocale(LC_NUMERIC, "C"); + /* since the database wants the standard decimal point */ + locale = setlocale(LC_NUMERIC, "C"); if (!ecpg_init(con, connection_name, lineno)) { diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index b4939adabf..31a1cb42d4 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -2333,6 +2333,10 @@ ExplainStmt: EXPLAIN opt_verbose OptimizableStmt { $$ = cat_str(3, make_str("explain"), $2, $3); } + | EXPLAIN analyze_keyword opt_verbose OptimizableStmt + { + $$ = cat_str(4, make_str("explain"), $2, $3, $4); + } ; @@ -2664,7 +2668,7 @@ OptUseOp: USING all_Op { $$ = cat2_str(make_str("using"), $2); } | /*EMPTY*/ { $$ = EMPTY; } ; -select_limit: LIMIT select_limit_value ',' select_offset_value +select_limit: LIMIT select_offset_value ',' select_limit_value { $$ = cat_str(4, make_str("limit"), $2, make_str(","), $4); } | LIMIT select_limit_value OFFSET select_offset_value { $$ = cat_str(4, make_str("limit"), $2, make_str("offset"), $4); }