From 5d4b94085eda499b090dc019b821607065ce5745 Mon Sep 17 00:00:00 2001
From: Michael Meskes <meskes@postgresql.org>
Date: Fri, 2 Nov 2001 15:04:03 +0000
Subject: [PATCH] Sync parser yet again.

---
 src/interfaces/ecpg/ChangeLog         |  4 ++++
 src/interfaces/ecpg/TODO              | 26 --------------------------
 src/interfaces/ecpg/preproc/preproc.y | 19 +++++++++++--------
 3 files changed, 15 insertions(+), 34 deletions(-)
 delete mode 100644 src/interfaces/ecpg/TODO

diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 07d6c2548f0..1e6c960064a 100644
--- a/src/interfaces/ecpg/ChangeLog
+++ b/src/interfaces/ecpg/ChangeLog
@@ -1142,5 +1142,9 @@ Fri Oct 19 16:32:06 CEST 2001
 Sun Oct 21 14:19:42 CEST 2001
 
 	- Synced preproc.y with gram.y.
+
+Fri Nov  2 16:16:25 CET 2001
+
+	- Synced preproc.y with gram.y.
 	- Set ecpg version to 2.9.0.
         - Set library version to 3.3.0.
diff --git a/src/interfaces/ecpg/TODO b/src/interfaces/ecpg/TODO
deleted file mode 100644
index 3f38592658f..00000000000
--- a/src/interfaces/ecpg/TODO
+++ /dev/null
@@ -1,26 +0,0 @@
-The complete structure definition has to be listed inside the declare
-section of the structure variable for ecpg to be able to understand it.
-
-sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified in a SET
-DESCRIPTOR statement will be ignored.
-
-The error handling has to be improved by adding additional error-rules to
-the parser.
-
-it would be nice to be able to use :var[:index] or :var[<integer>] as
-cvariable for an array var
-
-What happens to the output variable during read if there was an
-indicator-error? 
-
-Add a semantic check level, e.g. check if a table really exists.
-
-It would be nice if there was a alternative library using SPI functions
-instead of libpq so we can write backend functions using ecpg.
-
-remove space_or_nl and line_end from pgc.l
-
-nested C comments do not work
-
-Missing features:
- - SQLSTATE
diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y
index 1d2982ad5f3..dfa16e119a1 100644
--- a/src/interfaces/ecpg/preproc/preproc.y
+++ b/src/interfaces/ecpg/preproc/preproc.y
@@ -2679,17 +2679,20 @@ OptUseOp:  USING all_Op				{ $$ = cat2_str(make_str("using"), $2); }
 		| /*EMPTY*/			{ $$ = EMPTY; }
 		;
 
-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
+select_limit:      LIMIT select_limit_value OFFSET select_offset_value
                        { $$ = cat_str(4, make_str("limit"), $2, make_str("offset"), $4); }
-               | LIMIT select_limit_value
-                       { $$ = cat2_str(make_str("limit"), $2); }
-               | OFFSET select_offset_value LIMIT select_limit_value
+		| OFFSET select_offset_value LIMIT select_limit_value
                        { $$ = cat_str(4, make_str("offset"), $2, make_str("limit"), $4); }
-               | OFFSET select_offset_value
+                | LIMIT select_limit_value
+                       { $$ = cat2_str(make_str("limit"), $2); }
+                | OFFSET select_offset_value
                        { $$ = cat2_str(make_str("offset"), $2); }
-               ;
+		| LIMIT select_limit_value ',' select_offset_value
+                       { $$ = cat_str(4, make_str("limit"), $2, make_str(","), $4); }
+                       /* enable this in 7.3, bjm 2001-10-22
+		       { mmerror(ET_NOTICE, "No longer supported LIMIT #,# syntax passed to backend."); }
+                       */
+                ;
 
 opt_select_limit:	select_limit	{ $$ = $1; }  
 			| /*EMPTY*/     { $$ = EMPTY; } 
-- 
GitLab