|
1 | | -/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.376 2008/10/14 09:31:04 meskes Exp $*/ |
| 1 | +/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.377 2008/10/21 08:38:16 petere Exp $*/ |
2 | 2 |
|
3 | 3 | /* Copyright comment*/ |
4 | 4 | %{ |
@@ -392,7 +392,7 @@ add_typedef(char *name, char * dimension, char * length, enum ECPGttype type_enu |
392 | 392 | /* special embedded SQL token*/ |
393 | 393 | %tokenSQL_ALLOCATESQL_AUTOCOMMITSQL_BOOLSQL_BREAK |
394 | 394 | SQL_CALLSQL_CARDINALITYSQL_CONNECT |
395 | | -SQL_COUNTSQL_DATA |
| 395 | +SQL_COUNT |
396 | 396 | SQL_DATETIME_INTERVAL_CODE |
397 | 397 | SQL_DATETIME_INTERVAL_PRECISIONSQL_DESCRIBE |
398 | 398 | SQL_DESCRIPTORSQL_DISCONNECTSQL_FOUND |
@@ -431,7 +431,7 @@ add_typedef(char *name, char * dimension, char * length, enum ECPGttype type_enu |
431 | 431 | CREATEROLE CREATEUSER CROSS CSV CTYPE CURRENT_P CURRENT_DATE CURRENT_ROLE |
432 | 432 | CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER CURSOR CYCLE |
433 | 433 |
|
434 | | -DATABASE DAY_P DEALLOCATE DEC DECIMAL_P DECLARE DEFAULT DEFAULTS |
| 434 | +DATA_PDATABASE DAY_P DEALLOCATE DEC DECIMAL_P DECLARE DEFAULT DEFAULTS |
435 | 435 | DEFERRABLE DEFERRED DEFINER DELETE_P DELIMITER DELIMITERS DESC |
436 | 436 | DICTIONARY DISABLE_P DISCARD DISTINCT DO DOCUMENT_P DOMAIN_P DOUBLE_P DROP |
437 | 437 |
|
@@ -584,7 +584,7 @@ add_typedef(char *name, char * dimension, char * length, enum ECPGttype type_enu |
584 | 584 | %type<str>def_elemdef_listdefinitionDefineStmtselect_with_parens |
585 | 585 | %type<str>opt_insteadeventRuleActionListopt_usingCreateAssertStmt |
586 | 586 | %type<str>RuleActionStmtOrEmptyRuleActionMultifunc_asreindex_type |
587 | | -%type<str>RuleStmtopt_columnoper_argtypesNumConstvar_name |
| 587 | +%type<str>RuleStmtopt_columnopt_set_dataoper_argtypesNumConstvar_name |
588 | 588 | %type<str>MathOpRemoveFuncStmtECPGunreserved_conopt_database_name |
589 | 589 | %type<str>RemoveAggrStmtopt_proceduralselect_no_parensCreateCastStmt |
590 | 590 | %type<str>RemoveOperStmtRenameStmtall_Opopt_trustedopt_lancompiler |
@@ -1398,9 +1398,9 @@ alter_table_cmd: |
1398 | 1398 | /* ALTER TABLE <name> DROP [COLUMN] <colname> {RESTRICT|CASCADE}*/ |
1399 | 1399 | |DROPopt_columnColIdopt_drop_behavior |
1400 | 1400 | {$$ = cat_str(4, make_str("drop"),$2,$3,$4); } |
1401 | | -/* ALTER TABLE <name> ALTER [COLUMN] <colname> TYPE <typename> [ USING <expression> ]*/ |
1402 | | -|ALTERopt_columnColIdTYPE_PTypenamealter_using |
1403 | | -{$$ = cat_str(6, make_str("alter"),$2,$3, make_str("type"),$5,$6); } |
| 1401 | +/* ALTER TABLE <name> ALTER [COLUMN] <colname>[SET DATA]TYPE <typename> [ USING <expression> ]*/ |
| 1402 | +|ALTERopt_columnColIdopt_set_dataTYPE_PTypenamealter_using |
| 1403 | +{$$ = cat_str(7, make_str("alter"),$2,$3,$4,make_str("type"),$6,$7); } |
1404 | 1404 | /* ALTER TABLE <name> ADD CONSTRAINT ...*/ |
1405 | 1405 | |ADD_PTableConstraint |
1406 | 1406 | {$$ = cat_str(2, make_str("add"),$2); } |
@@ -2891,6 +2891,10 @@ opt_column: COLUMN{ $$ = make_str("column"); } |
2891 | 2891 | |/*EMPTY*/{$$ = EMPTY; } |
2892 | 2892 | ; |
2893 | 2893 |
|
| 2894 | +opt_set_data:SETDATA_P{$$ = make_str("set data"); } |
| 2895 | +|/*EMPTY*/{$$ = EMPTY; } |
| 2896 | +; |
| 2897 | + |
2894 | 2898 | /***************************************************************************** |
2895 | 2899 | * |
2896 | 2900 | * ALTER THING name SET SCHEMA name |
@@ -6140,7 +6144,7 @@ ECPGSetDescItem: descriptor_item '=' AllConstVar |
6140 | 6144 |
|
6141 | 6145 |
|
6142 | 6146 | descriptor_item:SQL_CARDINALITY{$$ = ECPGd_cardinality; } |
6143 | | -|SQL_DATA{$$ = ECPGd_data; } |
| 6147 | +|DATA_P{$$ = ECPGd_data; } |
6144 | 6148 | |SQL_DATETIME_INTERVAL_CODE{$$ = ECPGd_di_code; } |
6145 | 6149 | |SQL_DATETIME_INTERVAL_PRECISION {$$ = ECPGd_di_precision; } |
6146 | 6150 | |SQL_INDICATOR{$$ = ECPGd_indicator; } |
@@ -6360,7 +6364,6 @@ ECPGKeywords_vanames: SQL_BREAK{ $$ = make_str("break"); } |
6360 | 6364 | |SQL_CALL{$$ = make_str("call"); } |
6361 | 6365 | |SQL_CARDINALITY{$$ = make_str("cardinality"); } |
6362 | 6366 | |SQL_COUNT{$$ = make_str("count"); } |
6363 | | -|SQL_DATA{$$ = make_str("data"); } |
6364 | 6367 | |SQL_DATETIME_INTERVAL_CODE{$$ = make_str("datetime_interval_code"); } |
6365 | 6368 | |SQL_DATETIME_INTERVAL_PRECISION{$$ = make_str("datetime_interval_precision"); } |
6366 | 6369 | |SQL_FOUND{$$ = make_str("found"); } |
@@ -6557,6 +6560,7 @@ ECPGunreserved_con: ABORT_P{ $$ = make_str("abort"); } |
6557 | 6560 | |CTYPE{$$ = make_str("ctype"); } |
6558 | 6561 | |CURSOR{$$ = make_str("cursor"); } |
6559 | 6562 | |CYCLE{$$ = make_str("cycle"); } |
| 6563 | +|DATA_P{$$ = make_str("data"); } |
6560 | 6564 | |DATABASE{$$ = make_str("database"); } |
6561 | 6565 | /*| DAY_P{ $$ = make_str("day"); }*/ |
6562 | 6566 | |DEALLOCATE{$$ = make_str("deallocate"); } |
|