]> granicus.if.org Git - postgresql/commitdiff
*** empty log message ***
authorMichael Meskes <meskes@postgresql.org>
Mon, 26 Apr 1999 05:28:48 +0000 (05:28 +0000)
committerMichael Meskes <meskes@postgresql.org>
Mon, 26 Apr 1999 05:28:48 +0000 (05:28 +0000)
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/preproc/keywords.c
src/interfaces/ecpg/preproc/pgc.l
src/interfaces/ecpg/preproc/preproc.y

index a08db67ff6bdd9925b89163f6c619cbdf4d37c88..3f58d45c5674c448a082834f70e871ed456bd1fc 100644 (file)
@@ -563,6 +563,12 @@ Wed Apr 14 17:59:06 CEST 1999
 Fri Apr 16 18:25:18 CEST 1999
 
        - Fixed small bug in ECPGfinish().
+
+Sat Apr 24 12:39:07 CEST 1999
+
+       - Synced preproc.y with gram.y.
+       - Allow more than one blank between EXEC and SQL.
+       - Allow statements to be prepared from a character string, too.
        - Set library version to 3.0.0
        - Set ecpg version to 2.6.0
 
index dbfd7002e64ebc40a001e6049db15b9f3df8c771..5306860ae39ce72983248f37470299c13beb48d4 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.12 1999/03/20 19:46:53 meskes Exp $
+ *       $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.13 1999/04/26 05:28:47 meskes Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -213,6 +213,7 @@ static ScanKeyword ScanKeywords[] = {
        {"substring", SUBSTRING},
        {"table", TABLE},
        {"temp", TEMP},
+       {"temporary", TEMPORARY},
        {"then", THEN},
        {"time", TIME},
        {"timestamp", TIMESTAMP},
index aa7b185265280fe678a0b8f3fe118b7eb4d5c064..0ae219097855a4209407dda01f8babc0f29d5b02 100644 (file)
@@ -487,7 +487,7 @@ cppline             {space}*#.*(\\{space}*\n)*\n*
                                }
 <SQL>{space}                   { /* ignore */ }
 <SQL>{other}                   { return yytext[0]; }
-<C>{exec}{space}{sql}          { BEGIN SQL; return SQL_START; }
+<C>{exec}{space}*{sql}         { BEGIN SQL; return SQL_START; }
 <C>{ccomment}                  { /* ignore */ } 
 <C>{cppline}                   {
                                        yylval.str = mm_strdup((char*)yytext);
index c46d68383cd196499861583774be5a501eb2b0d1..84984acf9430cae6355c1edee72f3741047e4139 100644 (file)
@@ -692,8 +692,8 @@ adjust_array(enum ECPGttype type_enum, int *dimension, int *length, int type_dim
                 PARTIAL, POSITION, PRECISION, PRIMARY, PRIOR, PRIVILEGES, PROCEDURE, PUBLIC,
                 READ, REFERENCES, RELATIVE, REVOKE, RIGHT, ROLLBACK,
                 SCROLL, SECOND_P, SELECT, SET, SUBSTRING,
-                TABLE, TEMP, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR, TIMEZONE_MINUTE,
-               TO, TRAILING, TRANSACTION, TRIM, TRUE_P,
+                TABLE, TEMP, TEMPORARY, THEN, TIME, TIMESTAMP, TIMEZONE_HOUR,
+               TIMEZONE_MINUTE, TO, TRAILING, TRANSACTION, TRIM, TRUE_P,
                 UNION, UNIQUE, UPDATE, USER, USING,
                 VALUES, VARCHAR, VARYING, VIEW,
                 WHEN, WHERE, WITH, WORK, YEAR_P, ZONE
@@ -1301,6 +1301,7 @@ CreateStmt:  CREATE OptTemp TABLE relation_name '(' OptTableElementList ')'
                ;
 
 OptTemp:         TEMP          { $$ = make1_str("temp"); }
+               | TEMPORARY     { $$ = make1_str("temporary"); }
                | /* EMPTY */   { $$ = make1_str(""); }
                ;
 
@@ -5140,7 +5141,7 @@ variablelist: cinputvariable | cinputvariable ',' variablelist
  * As long as the prepare statement is not supported by the backend, we will
  * try to simulate it here so we get dynamic SQL 
  */
-ECPGPrepare: SQL_PREPARE ident FROM char_variable
+ECPGPrepare: SQL_PREPARE ident FROM execstring
        {
                $$ = make4_str(make1_str("\""), $2, make1_str("\", "), $4);
        }