mirror of
https://github.com/postgres/postgres.git
synced 2025-05-29 00:03:09 -04:00
- Synced parser and keyword list
- Renamed update test so it hopefully runs on Vista
This commit is contained in:
parent
5b7cf08d33
commit
1aca1cde52
@ -2188,4 +2188,9 @@ Fr 27. Apr 08:55:25 CEST 2007
|
|||||||
|
|
||||||
- Inlined two functions to get rid of va_list problems on some
|
- Inlined two functions to get rid of va_list problems on some
|
||||||
architectures.
|
architectures.
|
||||||
|
|
||||||
|
Th 10. Mai 09:42:42 CEST 2007
|
||||||
|
|
||||||
|
- Synced parser and keyword list
|
||||||
|
- Renamed update test so it hopefully runs on Vista
|
||||||
- Set ecpg version to 4.3.1.
|
- Set ecpg version to 4.3.1.
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
* keywords.c
|
* keywords.c
|
||||||
* lexical token lookup for reserved words in postgres embedded SQL
|
* lexical token lookup for reserved words in postgres embedded SQL
|
||||||
*
|
*
|
||||||
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/c_keywords.c,v 1.19 2006/07/30 16:28:58 meskes Exp $
|
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/c_keywords.c,v 1.20 2007/05/10 09:53:16 meskes Exp $
|
||||||
* §
|
* §
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -27,7 +27,7 @@ static ScanKeyword ScanKeywords[] = {
|
|||||||
{"bool", SQL_BOOL},
|
{"bool", SQL_BOOL},
|
||||||
{"char", CHAR_P},
|
{"char", CHAR_P},
|
||||||
{"const", S_CONST},
|
{"const", S_CONST},
|
||||||
{"enum", SQL_ENUM},
|
{"enum", ENUM_P},
|
||||||
{"extern", S_EXTERN},
|
{"extern", S_EXTERN},
|
||||||
{"float", FLOAT_P},
|
{"float", FLOAT_P},
|
||||||
{"hour", HOUR_P},
|
{"hour", HOUR_P},
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* lexical token lookup for reserved words in postgres embedded SQL
|
* lexical token lookup for reserved words in postgres embedded SQL
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg_keywords.c,v 1.33 2007/03/17 19:25:23 meskes Exp $
|
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg_keywords.c,v 1.34 2007/05/10 09:53:16 meskes Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -40,7 +40,6 @@ static ScanKeyword ScanKeywords[] = {
|
|||||||
{"describe", SQL_DESCRIBE},
|
{"describe", SQL_DESCRIBE},
|
||||||
{"descriptor", SQL_DESCRIPTOR},
|
{"descriptor", SQL_DESCRIPTOR},
|
||||||
{"disconnect", SQL_DISCONNECT},
|
{"disconnect", SQL_DISCONNECT},
|
||||||
{"enum", SQL_ENUM},
|
|
||||||
{"found", SQL_FOUND},
|
{"found", SQL_FOUND},
|
||||||
{"free", SQL_FREE},
|
{"free", SQL_FREE},
|
||||||
{"go", SQL_GO},
|
{"go", SQL_GO},
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.78 2007/03/17 19:25:23 meskes Exp $
|
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.79 2007/05/10 09:53:16 meskes Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -39,6 +39,7 @@ static ScanKeyword ScanKeywords[] = {
|
|||||||
{"all", ALL},
|
{"all", ALL},
|
||||||
{"also", ALSO},
|
{"also", ALSO},
|
||||||
{"alter", ALTER},
|
{"alter", ALTER},
|
||||||
|
{"always", ALWAYS},
|
||||||
{"analyse", ANALYSE}, /* British spelling */
|
{"analyse", ANALYSE}, /* British spelling */
|
||||||
{"analyze", ANALYZE},
|
{"analyze", ANALYZE},
|
||||||
{"and", AND},
|
{"and", AND},
|
||||||
@ -120,6 +121,7 @@ static ScanKeyword ScanKeywords[] = {
|
|||||||
{"delimiters", DELIMITERS},
|
{"delimiters", DELIMITERS},
|
||||||
{"desc", DESC},
|
{"desc", DESC},
|
||||||
{"disable", DISABLE_P},
|
{"disable", DISABLE_P},
|
||||||
|
{"discard", DISCARD},
|
||||||
{"distinct", DISTINCT},
|
{"distinct", DISTINCT},
|
||||||
{"do", DO},
|
{"do", DO},
|
||||||
{"document", DOCUMENT_P},
|
{"document", DOCUMENT_P},
|
||||||
@ -132,6 +134,7 @@ static ScanKeyword ScanKeywords[] = {
|
|||||||
{"encoding", ENCODING},
|
{"encoding", ENCODING},
|
||||||
{"encrypted", ENCRYPTED},
|
{"encrypted", ENCRYPTED},
|
||||||
{"end", END_P},
|
{"end", END_P},
|
||||||
|
{"enum", ENUM_P},
|
||||||
{"escape", ESCAPE},
|
{"escape", ESCAPE},
|
||||||
{"except", EXCEPT},
|
{"except", EXCEPT},
|
||||||
{"excluding", EXCLUDING},
|
{"excluding", EXCLUDING},
|
||||||
@ -261,6 +264,8 @@ static ScanKeyword ScanKeywords[] = {
|
|||||||
{"owner", OWNER},
|
{"owner", OWNER},
|
||||||
{"partial", PARTIAL},
|
{"partial", PARTIAL},
|
||||||
{"password", PASSWORD},
|
{"password", PASSWORD},
|
||||||
|
{"placing", PLACING},
|
||||||
|
{"plans", PLANS},
|
||||||
{"position", POSITION},
|
{"position", POSITION},
|
||||||
{"precision", PRECISION},
|
{"precision", PRECISION},
|
||||||
{"prepare", PREPARE},
|
{"prepare", PREPARE},
|
||||||
@ -283,6 +288,7 @@ static ScanKeyword ScanKeywords[] = {
|
|||||||
{"rename", RENAME},
|
{"rename", RENAME},
|
||||||
{"repeatable", REPEATABLE},
|
{"repeatable", REPEATABLE},
|
||||||
{"replace", REPLACE},
|
{"replace", REPLACE},
|
||||||
|
{"replica", REPLICA},
|
||||||
{"reset", RESET},
|
{"reset", RESET},
|
||||||
{"restart", RESTART},
|
{"restart", RESTART},
|
||||||
{"restrict", RESTRICT},
|
{"restrict", RESTRICT},
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.342 2007/03/27 03:25:28 tgl Exp $ */
|
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.343 2007/05/10 09:53:17 meskes Exp $ */
|
||||||
|
|
||||||
/* Copyright comment */
|
/* Copyright comment */
|
||||||
%{
|
%{
|
||||||
@ -349,7 +349,7 @@ add_additional_variables(char *name, bool insert)
|
|||||||
SQL_CONTINUE SQL_COUNT SQL_CURRENT SQL_DATA
|
SQL_CONTINUE SQL_COUNT SQL_CURRENT SQL_DATA
|
||||||
SQL_DATETIME_INTERVAL_CODE
|
SQL_DATETIME_INTERVAL_CODE
|
||||||
SQL_DATETIME_INTERVAL_PRECISION SQL_DESCRIBE
|
SQL_DATETIME_INTERVAL_PRECISION SQL_DESCRIBE
|
||||||
SQL_DESCRIPTOR SQL_DISCONNECT SQL_ENUM SQL_FOUND
|
SQL_DESCRIPTOR SQL_DISCONNECT SQL_FOUND
|
||||||
SQL_FREE SQL_GO SQL_GOTO SQL_IDENTIFIED
|
SQL_FREE SQL_GO SQL_GOTO SQL_IDENTIFIED
|
||||||
SQL_INDICATOR SQL_KEY_MEMBER SQL_LENGTH
|
SQL_INDICATOR SQL_KEY_MEMBER SQL_LENGTH
|
||||||
SQL_LONG SQL_NULLABLE SQL_OCTET_LENGTH
|
SQL_LONG SQL_NULLABLE SQL_OCTET_LENGTH
|
||||||
@ -371,7 +371,7 @@ add_additional_variables(char *name, bool insert)
|
|||||||
|
|
||||||
/* ordinary key words in alphabetical order */
|
/* ordinary key words in alphabetical order */
|
||||||
%token <keyword> ABORT_P ABSOLUTE_P ACCESS ACTION ADD_P ADMIN AFTER
|
%token <keyword> ABORT_P ABSOLUTE_P ACCESS ACTION ADD_P ADMIN AFTER
|
||||||
AGGREGATE ALL ALSO ALTER ANALYSE ANALYZE AND ANY ARRAY AS ASC
|
AGGREGATE ALL ALSO ALTER ALWAYS ANALYSE ANALYZE AND ANY ARRAY AS ASC
|
||||||
ASSERTION ASSIGNMENT ASYMMETRIC AT AUTHORIZATION
|
ASSERTION ASSIGNMENT ASYMMETRIC AT AUTHORIZATION
|
||||||
|
|
||||||
BACKWARD BEFORE BEGIN_P BETWEEN BIGINT BINARY BIT
|
BACKWARD BEFORE BEGIN_P BETWEEN BIGINT BINARY BIT
|
||||||
@ -387,9 +387,9 @@ add_additional_variables(char *name, bool insert)
|
|||||||
|
|
||||||
DATABASE DAY_P DEALLOCATE DEC DECIMAL_P DECLARE DEFAULT DEFAULTS
|
DATABASE DAY_P DEALLOCATE DEC DECIMAL_P DECLARE DEFAULT DEFAULTS
|
||||||
DEFERRABLE DEFERRED DEFINER DELETE_P DELIMITER DELIMITERS
|
DEFERRABLE DEFERRED DEFINER DELETE_P DELIMITER DELIMITERS
|
||||||
DESC DISABLE_P DISTINCT DO DOCUMENT_P DOMAIN_P DOUBLE_P DROP
|
DESC DISABLE_P DISCARD DISTINCT DO DOCUMENT_P DOMAIN_P DOUBLE_P DROP
|
||||||
|
|
||||||
EACH ELSE ENABLE_P ENCODING ENCRYPTED END_P ESCAPE EXCEPT EXCLUSIVE EXCLUDING
|
EACH ELSE ENABLE_P ENCODING ENCRYPTED END_P ENUM_P ESCAPE EXCEPT EXCLUSIVE EXCLUDING
|
||||||
EXECUTE EXISTS EXPLAIN EXTERNAL EXTRACT
|
EXECUTE EXISTS EXPLAIN EXTERNAL EXTRACT
|
||||||
|
|
||||||
FALSE_P FAMILY FETCH FIRST_P FLOAT_P FOR FORCE FOREIGN FORWARD FREEZE FROM
|
FALSE_P FAMILY FETCH FIRST_P FLOAT_P FOR FORCE FOREIGN FORWARD FREEZE FROM
|
||||||
@ -421,15 +421,15 @@ add_additional_variables(char *name, bool insert)
|
|||||||
OBJECT_P OF OFF OFFSET OIDS OLD ON ONLY OPERATOR OPTION OR ORDER
|
OBJECT_P OF OFF OFFSET OIDS OLD ON ONLY OPERATOR OPTION OR ORDER
|
||||||
OUT_P OUTER_P OVERLAPS OVERLAY OWNED OWNER
|
OUT_P OUTER_P OVERLAPS OVERLAY OWNED OWNER
|
||||||
|
|
||||||
PARTIAL PASSWORD PLACING POSITION
|
PARTIAL PASSWORD PLACING PLANS POSITION
|
||||||
PRECISION PRESERVE PREPARE PREPARED PRIMARY
|
PRECISION PRESERVE PREPARE PREPARED PRIMARY
|
||||||
PRIOR PRIVILEGES PROCEDURAL PROCEDURE
|
PRIOR PRIVILEGES PROCEDURAL PROCEDURE
|
||||||
|
|
||||||
QUOTE
|
QUOTE
|
||||||
|
|
||||||
READ REAL REASSIGN RECHECK REFERENCES REINDEX RELATIVE_P RELEASE RENAME
|
READ REAL REASSIGN RECHECK REFERENCES REINDEX RELATIVE_P RELEASE RENAME
|
||||||
REPEATABLE REPLACE RESET RESTART RESTRICT RETURNING RETURNS REVOKE RIGHT
|
REPEATABLE REPLACE REPLICA RESET RESTART RESTRICT RETURNING RETURNS REVOKE
|
||||||
ROLE ROLLBACK ROW ROWS RULE
|
RIGHT ROLE ROLLBACK ROW ROWS RULE
|
||||||
|
|
||||||
SAVEPOINT SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE
|
SAVEPOINT SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE
|
||||||
SERIALIZABLE SESSION SESSION_USER SET SETOF SHARE
|
SERIALIZABLE SESSION SESSION_USER SET SETOF SHARE
|
||||||
@ -504,7 +504,7 @@ add_additional_variables(char *name, bool insert)
|
|||||||
%type <str> key_match ColLabel SpecialRuleRelation ColId columnDef
|
%type <str> key_match ColLabel SpecialRuleRelation ColId columnDef
|
||||||
%type <str> ColConstraint ColConstraintElem drop_type Bconst Iresult
|
%type <str> ColConstraint ColConstraintElem drop_type Bconst Iresult
|
||||||
%type <str> TableConstraint OptTableElementList Xconst opt_transaction
|
%type <str> TableConstraint OptTableElementList Xconst opt_transaction
|
||||||
%type <str> ConstraintElem key_actions ColQualList
|
%type <str> ConstraintElem key_actions ColQualList cluster_index_specification
|
||||||
%type <str> target_list target_el alias_clause type_func_name_keyword
|
%type <str> target_list target_el alias_clause type_func_name_keyword
|
||||||
%type <str> qualified_name database_name alter_using type_function_name
|
%type <str> qualified_name database_name alter_using type_function_name
|
||||||
%type <str> access_method attr_name index_name name func_name
|
%type <str> access_method attr_name index_name name func_name
|
||||||
@ -513,8 +513,8 @@ add_additional_variables(char *name, bool insert)
|
|||||||
%type <str> opt_indirection expr_list extract_list extract_arg
|
%type <str> opt_indirection expr_list extract_list extract_arg
|
||||||
%type <str> position_list substr_list substr_from alter_column_default
|
%type <str> position_list substr_list substr_from alter_column_default
|
||||||
%type <str> trim_list in_expr substr_for attrs TableFuncElement
|
%type <str> trim_list in_expr substr_for attrs TableFuncElement
|
||||||
%type <str> Typename SimpleTypename Numeric opt_float
|
%type <str> Typename SimpleTypename Numeric opt_float DiscardStmt
|
||||||
%type <str> Character character opt_varying opt_charset
|
%type <str> Character character opt_varying opt_charset enum_val_list
|
||||||
%type <str> opt_timezone opt_interval table_ref fetch_direction
|
%type <str> opt_timezone opt_interval table_ref fetch_direction
|
||||||
%type <str> ConstDatetime AlterDomainStmt AlterSeqStmt alter_rel_cmds
|
%type <str> ConstDatetime AlterDomainStmt AlterSeqStmt alter_rel_cmds
|
||||||
%type <str> SelectStmt into_clause OptTemp ConstraintAttributeSpec
|
%type <str> SelectStmt into_clause OptTemp ConstraintAttributeSpec
|
||||||
@ -736,6 +736,7 @@ stmt: AlterDatabaseStmt { output_statement($1, 0, connection); }
|
|||||||
| DeclareCursorStmt { output_simple_statement($1); }
|
| DeclareCursorStmt { output_simple_statement($1); }
|
||||||
| DefineStmt { output_statement($1, 0, connection); }
|
| DefineStmt { output_statement($1, 0, connection); }
|
||||||
| DeleteStmt { output_statement($1, 1, connection); }
|
| DeleteStmt { output_statement($1, 1, connection); }
|
||||||
|
| DiscardStmt { output_statement($1, 1, connection); }
|
||||||
| DropAssertStmt { output_statement($1, 0, connection); }
|
| DropAssertStmt { output_statement($1, 0, connection); }
|
||||||
| DropCastStmt { output_statement($1, 0, connection); }
|
| DropCastStmt { output_statement($1, 0, connection); }
|
||||||
| DropGroupStmt { output_statement($1, 0, connection); }
|
| DropGroupStmt { output_statement($1, 0, connection); }
|
||||||
@ -1278,6 +1279,12 @@ constraints_set_mode: DEFERRED { $$ = make_str("deferred"); }
|
|||||||
CheckPointStmt: CHECKPOINT { $$= make_str("checkpoint"); }
|
CheckPointStmt: CHECKPOINT { $$= make_str("checkpoint"); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
DiscardStmt:
|
||||||
|
DISCARD ALL { $$ = make_str("discard all"); }
|
||||||
|
| DISCARD TEMP { $$ = make_str("discard temp"); }
|
||||||
|
| DISCARD TEMPORARY { $$ = make_str("discard temporary"); }
|
||||||
|
| DISCARD PLANS { $$ = make_str("discard plans"); }
|
||||||
|
;
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
@ -1341,6 +1348,12 @@ alter_table_cmd:
|
|||||||
/* ALTER TABLE <name> ENABLE TRIGGER <trig> */
|
/* ALTER TABLE <name> ENABLE TRIGGER <trig> */
|
||||||
| ENABLE_P TRIGGER name
|
| ENABLE_P TRIGGER name
|
||||||
{ $$ = cat2_str(make_str("enable trigger"), $3); }
|
{ $$ = cat2_str(make_str("enable trigger"), $3); }
|
||||||
|
/* ALTER TABLE <name> ENABLE ALWAYS TRIGGER <trig> */
|
||||||
|
| ENABLE_P ALWAYS TRIGGER name
|
||||||
|
{ $$ = cat2_str(make_str("enable always trigger"), $4); }
|
||||||
|
/* ALTER TABLE <name> ENABLE REPLICA TRIGGER <trig> */
|
||||||
|
| ENABLE_P REPLICA TRIGGER name
|
||||||
|
{ $$ = cat2_str(make_str("enable replica trigger"), $4); }
|
||||||
/* ALTER TABLE <name> ENABLE TRIGGER ALL */
|
/* ALTER TABLE <name> ENABLE TRIGGER ALL */
|
||||||
| ENABLE_P TRIGGER ALL
|
| ENABLE_P TRIGGER ALL
|
||||||
{ $$ = make_str("enable trigger all"); }
|
{ $$ = make_str("enable trigger all"); }
|
||||||
@ -1356,6 +1369,18 @@ alter_table_cmd:
|
|||||||
/* ALTER TABLE <name> DISABLE TRIGGER USER */
|
/* ALTER TABLE <name> DISABLE TRIGGER USER */
|
||||||
| DISABLE_P TRIGGER USER
|
| DISABLE_P TRIGGER USER
|
||||||
{ $$ = make_str("disable trigger user"); }
|
{ $$ = make_str("disable trigger user"); }
|
||||||
|
/* ALTER TABLE <name> ENABLE RULE <rule> */
|
||||||
|
| ENABLE_P RULE name
|
||||||
|
{ $$ = cat2_str(make_str("enable rule"), $3); }
|
||||||
|
/* ALTER TABLE <name> ENABLE ALWAYS RULE <rule> */
|
||||||
|
| ENABLE_P ALWAYS RULE name
|
||||||
|
{ $$ = cat2_str(make_str("enable always rule"), $4); }
|
||||||
|
/* ALTER TABLE <name> ENABLE REPLICA RULE <rule> */
|
||||||
|
| ENABLE_P REPLICA RULE name
|
||||||
|
{ $$ = cat2_str(make_str("enable replica rule"), $4); }
|
||||||
|
/* ALTER TABLE <name> DISABLE RULE <rule> */
|
||||||
|
| DISABLE_P RULE name
|
||||||
|
{ $$ = cat2_str(make_str("disable rule"), $3); }
|
||||||
/* ALTER TABLE <name> ALTER INHERITS ADD <parent> */
|
/* ALTER TABLE <name> ALTER INHERITS ADD <parent> */
|
||||||
| INHERIT qualified_name
|
| INHERIT qualified_name
|
||||||
{ $$ = cat2_str(make_str("inherit"), $2); }
|
{ $$ = cat2_str(make_str("inherit"), $2); }
|
||||||
@ -1407,6 +1432,8 @@ alter_using: USING a_expr { $$ = cat2_str(make_str("using"), $2); }
|
|||||||
|
|
||||||
ClosePortalStmt: CLOSE name
|
ClosePortalStmt: CLOSE name
|
||||||
{ $$ = cat2_str(make_str("close"), $2); }
|
{ $$ = cat2_str(make_str("close"), $2); }
|
||||||
|
| CLOSE ALL
|
||||||
|
{ $$ = make_str("close all"); }
|
||||||
;
|
;
|
||||||
|
|
||||||
CopyStmt: COPY opt_binary qualified_name opt_oids copy_from
|
CopyStmt: COPY opt_binary qualified_name opt_oids copy_from
|
||||||
@ -2009,6 +2036,8 @@ DefineStmt: CREATE AGGREGATE func_name aggr_args definition
|
|||||||
{ $$ = cat2_str(make_str("create type"), $3); }
|
{ $$ = cat2_str(make_str("create type"), $3); }
|
||||||
| CREATE TYPE_P any_name AS '(' TableFuncElementList ')'
|
| CREATE TYPE_P any_name AS '(' TableFuncElementList ')'
|
||||||
{ $$ = cat_str(5, make_str("create type"), $3, make_str("as ("), $6, make_str(")")); }
|
{ $$ = cat_str(5, make_str("create type"), $3, make_str("as ("), $6, make_str(")")); }
|
||||||
|
| CREATE TYPE_P any_name AS ENUM_P '(' enum_val_list ')'
|
||||||
|
{ $$ = cat_str(5, make_str("create type"), $3, make_str("as enum ("), $7, make_str(")")); }
|
||||||
;
|
;
|
||||||
|
|
||||||
definition: '(' def_list ')'
|
definition: '(' def_list ')'
|
||||||
@ -2044,6 +2073,9 @@ old_aggr_list: old_aggr_elem { $$ = $1; }
|
|||||||
old_aggr_elem: ident '=' def_arg { $$ = cat_str(3, $1, make_str("="), $3); }
|
old_aggr_elem: ident '=' def_arg { $$ = cat_str(3, $1, make_str("="), $3); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
enum_val_list: StringConst { $$ = $1; }
|
||||||
|
| enum_val_list ',' StringConst { $$ = cat_str(3, $1, make_str(","), $3);}
|
||||||
|
;
|
||||||
|
|
||||||
CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename
|
CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename
|
||||||
USING access_method opt_opfamily AS opclass_item_list
|
USING access_method opt_opfamily AS opclass_item_list
|
||||||
@ -2688,8 +2720,8 @@ RenameStmt: ALTER AGGREGATE func_name aggr_args RENAME TO name
|
|||||||
{ $$ = cat_str(5, make_str("alter function"), $3, $4, make_str("rename to"), $7); }
|
{ $$ = cat_str(5, make_str("alter function"), $3, $4, make_str("rename to"), $7); }
|
||||||
| ALTER GROUP_P RoleId RENAME TO RoleId
|
| ALTER GROUP_P RoleId RENAME TO RoleId
|
||||||
{ $$ = cat_str(4, make_str("alter group"), $3, make_str("rename to"), $6); }
|
{ $$ = cat_str(4, make_str("alter group"), $3, make_str("rename to"), $6); }
|
||||||
| ALTER LANGUAGE name RENAME TO name
|
| ALTER opt_procedural LANGUAGE name RENAME TO name
|
||||||
{ $$ = cat_str(4, make_str("alter language"), $3, make_str("rename to"), $6); }
|
{ $$ = cat_str(6, make_str("alter"), $2, make_str("language"), $4, make_str("rename to"), $7); }
|
||||||
| ALTER OPERATOR CLASS any_name USING access_method RENAME TO name
|
| ALTER OPERATOR CLASS any_name USING access_method RENAME TO name
|
||||||
{ $$ = cat_str(6, make_str("alter operator class"), $4, make_str("using"), $6, make_str("rename to"), $9); }
|
{ $$ = cat_str(6, make_str("alter operator class"), $4, make_str("using"), $6, make_str("rename to"), $9); }
|
||||||
| ALTER OPERATOR FAMILY any_name USING access_method RENAME TO name
|
| ALTER OPERATOR FAMILY any_name USING access_method RENAME TO name
|
||||||
@ -2751,6 +2783,8 @@ AlterOwnerStmt: ALTER AGGREGATE func_name aggr_args OWNER TO RoleId
|
|||||||
{ $$ = cat_str(4, make_str("alter domain"), $3, make_str("owner to"), $6); }
|
{ $$ = cat_str(4, make_str("alter domain"), $3, make_str("owner to"), $6); }
|
||||||
| ALTER FUNCTION func_name func_args OWNER TO RoleId
|
| ALTER FUNCTION func_name func_args OWNER TO RoleId
|
||||||
{ $$ = cat_str(5, make_str("alter function"), $3, $4, make_str("owner to"), $7); }
|
{ $$ = cat_str(5, make_str("alter function"), $3, $4, make_str("owner to"), $7); }
|
||||||
|
| ALTER opt_procedural LANGUAGE name OWNER TO RoleId
|
||||||
|
{ $$ = cat_str(6, make_str("alter"), $2, make_str("language"), $4, make_str("owner to"), $7); }
|
||||||
| ALTER OPERATOR any_operator '(' oper_argtypes ')' OWNER TO RoleId
|
| ALTER OPERATOR any_operator '(' oper_argtypes ')' OWNER TO RoleId
|
||||||
{ $$ = cat_str(6, make_str("alter operator"), $3, make_str("("), $5, make_str(") owner to"), $9); }
|
{ $$ = cat_str(6, make_str("alter operator"), $3, make_str("("), $5, make_str(") owner to"), $9); }
|
||||||
| ALTER OPERATOR CLASS any_name USING access_method OWNER TO RoleId
|
| ALTER OPERATOR CLASS any_name USING access_method OWNER TO RoleId
|
||||||
@ -2831,15 +2865,15 @@ DropRuleStmt: DROP RULE name ON qualified_name opt_drop_behavior
|
|||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
NotifyStmt: NOTIFY qualified_name
|
NotifyStmt: NOTIFY ColId
|
||||||
{ $$ = cat2_str(make_str("notify"), $2); }
|
{ $$ = cat2_str(make_str("notify"), $2); }
|
||||||
;
|
;
|
||||||
|
|
||||||
ListenStmt: LISTEN qualified_name
|
ListenStmt: LISTEN ColId
|
||||||
{ $$ = cat2_str(make_str("listen"), $2); }
|
{ $$ = cat2_str(make_str("listen"), $2); }
|
||||||
;
|
;
|
||||||
|
|
||||||
UnlistenStmt: UNLISTEN qualified_name
|
UnlistenStmt: UNLISTEN ColId
|
||||||
{ $$ = cat2_str(make_str("unlisten"), $2); }
|
{ $$ = cat2_str(make_str("unlisten"), $2); }
|
||||||
| UNLISTEN '*'
|
| UNLISTEN '*'
|
||||||
{ $$ = make_str("unlisten *"); }
|
{ $$ = make_str("unlisten *"); }
|
||||||
@ -3075,14 +3109,18 @@ CreateConversionStmt:
|
|||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
ClusterStmt: CLUSTER index_name ON qualified_name
|
ClusterStmt: CLUSTER qualified_name cluster_index_specification
|
||||||
{ $$ = cat_str(4, make_str("cluster"), $2, make_str("on"), $4); }
|
{ $$ = cat_str(3,make_str("cluster"), $2, $3); }
|
||||||
| CLUSTER qualified_name
|
|
||||||
{ $$ = cat2_str(make_str("cluster"), $2); }
|
|
||||||
| CLUSTER
|
| CLUSTER
|
||||||
{ $$ = make_str("cluster"); }
|
{ $$ = make_str("cluster"); }
|
||||||
|
| CLUSTER qualified_name ON qualified_name
|
||||||
|
{ $$ = cat_str(4, make_str("cluster"), $2, make_str("on"), $4); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
cluster_index_specification:
|
||||||
|
USING index_name { $$ = cat2_str(make_str("using"), $2); }
|
||||||
|
| /*EMPTY*/ { $$ = EMPTY; }
|
||||||
|
;
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
@ -3185,6 +3223,8 @@ execute_param_clause: '(' expr_list ')' { $$ = cat_str(3, make_str("("), $2, mak
|
|||||||
|
|
||||||
DeallocateStmt: DEALLOCATE name { $$ = cat2_str(make_str("deallocate"), $2); }
|
DeallocateStmt: DEALLOCATE name { $$ = cat2_str(make_str("deallocate"), $2); }
|
||||||
| DEALLOCATE PREPARE name { $$ = cat2_str(make_str("deallocate prepare"), $3); }
|
| DEALLOCATE PREPARE name { $$ = cat2_str(make_str("deallocate prepare"), $3); }
|
||||||
|
| DEALLOCATE ALL { $$ = make_str("deallocate all"); }
|
||||||
|
| DEALLOCATE PREPARE ALL { $$ = make_str("deallocate prepare all"); }
|
||||||
;
|
;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -5401,11 +5441,11 @@ var_type: simple_type
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
enum_type: SQL_ENUM symbol enum_definition
|
enum_type: ENUM_P symbol enum_definition
|
||||||
{ $$ = cat_str(3, make_str("enum"), $2, $3); }
|
{ $$ = cat_str(3, make_str("enum"), $2, $3); }
|
||||||
| SQL_ENUM enum_definition
|
| ENUM_P enum_definition
|
||||||
{ $$ = cat2_str(make_str("enum"), $2); }
|
{ $$ = cat2_str(make_str("enum"), $2); }
|
||||||
| SQL_ENUM symbol
|
| ENUM_P symbol
|
||||||
{ $$ = cat2_str(make_str("enum"), $2); }
|
{ $$ = cat2_str(make_str("enum"), $2); }
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -6367,6 +6407,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
|
|||||||
| AGGREGATE { $$ = make_str("aggregate"); }
|
| AGGREGATE { $$ = make_str("aggregate"); }
|
||||||
| ALSO { $$ = make_str("also"); }
|
| ALSO { $$ = make_str("also"); }
|
||||||
| ALTER { $$ = make_str("alter"); }
|
| ALTER { $$ = make_str("alter"); }
|
||||||
|
| ALWAYS { $$ = make_str("always"); }
|
||||||
| ASSERTION { $$ = make_str("assertion"); }
|
| ASSERTION { $$ = make_str("assertion"); }
|
||||||
| ASSIGNMENT { $$ = make_str("assignment"); }
|
| ASSIGNMENT { $$ = make_str("assignment"); }
|
||||||
| AT { $$ = make_str("at"); }
|
| AT { $$ = make_str("at"); }
|
||||||
@ -6409,6 +6450,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
|
|||||||
| DELIMITER { $$ = make_str("delimiter"); }
|
| DELIMITER { $$ = make_str("delimiter"); }
|
||||||
| DELIMITERS { $$ = make_str("delimiters"); }
|
| DELIMITERS { $$ = make_str("delimiters"); }
|
||||||
| DISABLE_P { $$ = make_str("disable"); }
|
| DISABLE_P { $$ = make_str("disable"); }
|
||||||
|
| DISCARD { $$ = make_str("discard"); }
|
||||||
| DOCUMENT_P { $$ = make_str("document"); }
|
| DOCUMENT_P { $$ = make_str("document"); }
|
||||||
| DOMAIN_P { $$ = make_str("domain"); }
|
| DOMAIN_P { $$ = make_str("domain"); }
|
||||||
| DOUBLE_P { $$ = make_str("double"); }
|
| DOUBLE_P { $$ = make_str("double"); }
|
||||||
@ -6417,6 +6459,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
|
|||||||
| ENABLE_P { $$ = make_str("enable"); }
|
| ENABLE_P { $$ = make_str("enable"); }
|
||||||
| ENCODING { $$ = make_str("encoding"); }
|
| ENCODING { $$ = make_str("encoding"); }
|
||||||
| ENCRYPTED { $$ = make_str("encrypted"); }
|
| ENCRYPTED { $$ = make_str("encrypted"); }
|
||||||
|
/* | ENUM_P { $$ = make_str("enum"); }*/
|
||||||
| ESCAPE { $$ = make_str("escape"); }
|
| ESCAPE { $$ = make_str("escape"); }
|
||||||
| EXCLUDING { $$ = make_str("excluding"); }
|
| EXCLUDING { $$ = make_str("excluding"); }
|
||||||
| EXCLUSIVE { $$ = make_str("exclusive"); }
|
| EXCLUSIVE { $$ = make_str("exclusive"); }
|
||||||
@ -6491,6 +6534,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
|
|||||||
| OWNER { $$ = make_str("owner"); }
|
| OWNER { $$ = make_str("owner"); }
|
||||||
| PARTIAL { $$ = make_str("partial"); }
|
| PARTIAL { $$ = make_str("partial"); }
|
||||||
| PASSWORD { $$ = make_str("password"); }
|
| PASSWORD { $$ = make_str("password"); }
|
||||||
|
| PLANS { $$ = make_str("plans"); }
|
||||||
| PREPARE { $$ = make_str("prepare"); }
|
| PREPARE { $$ = make_str("prepare"); }
|
||||||
| PREPARED { $$ = make_str("prepared"); }
|
| PREPARED { $$ = make_str("prepared"); }
|
||||||
| PRESERVE { $$ = make_str("preserver"); }
|
| PRESERVE { $$ = make_str("preserver"); }
|
||||||
@ -6508,6 +6552,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
|
|||||||
| RENAME { $$ = make_str("rename"); }
|
| RENAME { $$ = make_str("rename"); }
|
||||||
| REPEATABLE { $$ = make_str("repeatable"); }
|
| REPEATABLE { $$ = make_str("repeatable"); }
|
||||||
| REPLACE { $$ = make_str("replace"); }
|
| REPLACE { $$ = make_str("replace"); }
|
||||||
|
| REPLICA { $$ = make_str("replica"); }
|
||||||
| RESET { $$ = make_str("reset"); }
|
| RESET { $$ = make_str("reset"); }
|
||||||
| RESTART { $$ = make_str("restart"); }
|
| RESTART { $$ = make_str("restart"); }
|
||||||
| RESTRICT { $$ = make_str("restrict"); }
|
| RESTRICT { $$ = make_str("restrict"); }
|
||||||
@ -6903,7 +6948,7 @@ c_anything: IDENT { $$ = $1; }
|
|||||||
| S_TYPEDEF { $$ = make_str("typedef"); }
|
| S_TYPEDEF { $$ = make_str("typedef"); }
|
||||||
| S_VOLATILE { $$ = make_str("volatile"); }
|
| S_VOLATILE { $$ = make_str("volatile"); }
|
||||||
| SQL_BOOL { $$ = make_str("bool"); }
|
| SQL_BOOL { $$ = make_str("bool"); }
|
||||||
| SQL_ENUM { $$ = make_str("enum"); }
|
| ENUM_P { $$ = make_str("enum"); }
|
||||||
| HOUR_P { $$ = make_str("hour"); }
|
| HOUR_P { $$ = make_str("hour"); }
|
||||||
| INT_P { $$ = make_str("int"); }
|
| INT_P { $$ = make_str("int"); }
|
||||||
| SQL_LONG { $$ = make_str("long"); }
|
| SQL_LONG { $$ = make_str("long"); }
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
/* End of automatic include section */
|
/* End of automatic include section */
|
||||||
#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
|
#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
|
||||||
|
|
||||||
#line 1 "update.pgc"
|
#line 1 "insupd.pgc"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -20,95 +20,95 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#line 5 "update.pgc"
|
#line 5 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
int main(int argc, char* argv[]) {
|
int main(int argc, char* argv[]) {
|
||||||
/* exec sql begin declare section */
|
/* exec sql begin declare section */
|
||||||
|
|
||||||
|
|
||||||
#line 9 "update.pgc"
|
#line 9 "insupd.pgc"
|
||||||
int i1 [ 3 ] , i2 [ 3 ] ;
|
int i1 [ 3 ] , i2 [ 3 ] ;
|
||||||
/* exec sql end declare section */
|
/* exec sql end declare section */
|
||||||
#line 10 "update.pgc"
|
#line 10 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
ECPGdebug(1, stderr);
|
ECPGdebug(1, stderr);
|
||||||
{ ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); }
|
{ ECPGconnect(__LINE__, 0, "regress1" , NULL, NULL , NULL, 0); }
|
||||||
#line 13 "update.pgc"
|
#line 13 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
/* exec sql whenever sql_warning sqlprint ; */
|
/* exec sql whenever sql_warning sqlprint ; */
|
||||||
#line 15 "update.pgc"
|
#line 15 "insupd.pgc"
|
||||||
|
|
||||||
/* exec sql whenever sqlerror sqlprint ; */
|
/* exec sql whenever sqlerror sqlprint ; */
|
||||||
#line 16 "update.pgc"
|
#line 16 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "create table test ( a int , b int ) ", ECPGt_EOIT, ECPGt_EORT);
|
{ ECPGdo(__LINE__, 0, 1, NULL, "create table test ( a int , b int ) ", ECPGt_EOIT, ECPGt_EORT);
|
||||||
#line 18 "update.pgc"
|
#line 18 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 18 "update.pgc"
|
#line 18 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 18 "update.pgc"
|
#line 18 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "insert into test ( a , b ) values ( 1 , 1 ) ", ECPGt_EOIT, ECPGt_EORT);
|
{ ECPGdo(__LINE__, 0, 1, NULL, "insert into test ( a , b ) values ( 1 , 1 ) ", ECPGt_EOIT, ECPGt_EORT);
|
||||||
#line 20 "update.pgc"
|
#line 20 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 20 "update.pgc"
|
#line 20 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 20 "update.pgc"
|
#line 20 "insupd.pgc"
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "insert into test ( a , b ) values ( 2 , 2 ) ", ECPGt_EOIT, ECPGt_EORT);
|
{ ECPGdo(__LINE__, 0, 1, NULL, "insert into test ( a , b ) values ( 2 , 2 ) ", ECPGt_EOIT, ECPGt_EORT);
|
||||||
#line 21 "update.pgc"
|
#line 21 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 21 "update.pgc"
|
#line 21 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 21 "update.pgc"
|
#line 21 "insupd.pgc"
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "insert into test ( a , b ) values ( 3 , 3 ) ", ECPGt_EOIT, ECPGt_EORT);
|
{ ECPGdo(__LINE__, 0, 1, NULL, "insert into test ( a , b ) values ( 3 , 3 ) ", ECPGt_EOIT, ECPGt_EORT);
|
||||||
#line 22 "update.pgc"
|
#line 22 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 22 "update.pgc"
|
#line 22 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 22 "update.pgc"
|
#line 22 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "update test set a = a + 1 ", ECPGt_EOIT, ECPGt_EORT);
|
{ ECPGdo(__LINE__, 0, 1, NULL, "update test set a = a + 1 ", ECPGt_EOIT, ECPGt_EORT);
|
||||||
#line 24 "update.pgc"
|
#line 24 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 24 "update.pgc"
|
#line 24 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 24 "update.pgc"
|
#line 24 "insupd.pgc"
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "update test set ( a , b )= ( 5 , 5 ) where a = 4 ", ECPGt_EOIT, ECPGt_EORT);
|
{ ECPGdo(__LINE__, 0, 1, NULL, "update test set ( a , b )= ( 5 , 5 ) where a = 4 ", ECPGt_EOIT, ECPGt_EORT);
|
||||||
#line 25 "update.pgc"
|
#line 25 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 25 "update.pgc"
|
#line 25 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 25 "update.pgc"
|
#line 25 "insupd.pgc"
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "update test set a = 4 where a = 3 ", ECPGt_EOIT, ECPGt_EORT);
|
{ ECPGdo(__LINE__, 0, 1, NULL, "update test set a = 4 where a = 3 ", ECPGt_EOIT, ECPGt_EORT);
|
||||||
#line 26 "update.pgc"
|
#line 26 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 26 "update.pgc"
|
#line 26 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 26 "update.pgc"
|
#line 26 "insupd.pgc"
|
||||||
;
|
;
|
||||||
|
|
||||||
{ ECPGdo(__LINE__, 0, 1, NULL, "select a , b from test order by a ", ECPGt_EOIT,
|
{ ECPGdo(__LINE__, 0, 1, NULL, "select a , b from test order by a ", ECPGt_EOIT,
|
||||||
@ -116,25 +116,25 @@ if (sqlca.sqlcode < 0) sqlprint();}
|
|||||||
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
|
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
|
||||||
ECPGt_int,(i2),(long)1,(long)3,sizeof(int),
|
ECPGt_int,(i2),(long)1,(long)3,sizeof(int),
|
||||||
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
|
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
|
||||||
#line 28 "update.pgc"
|
#line 28 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 28 "update.pgc"
|
#line 28 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 28 "update.pgc"
|
#line 28 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
printf("test\na b\n%d %d\n%d %d\n%d %d\n", i1[0], i2[0], i1[1], i2[1], i1[2], i2[2]);
|
printf("test\na b\n%d %d\n%d %d\n%d %d\n", i1[0], i2[0], i1[1], i2[1], i1[2], i2[2]);
|
||||||
|
|
||||||
{ ECPGdisconnect(__LINE__, "ALL");
|
{ ECPGdisconnect(__LINE__, "ALL");
|
||||||
#line 32 "update.pgc"
|
#line 32 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
if (sqlca.sqlwarn[0] == 'W') sqlprint();
|
||||||
#line 32 "update.pgc"
|
#line 32 "insupd.pgc"
|
||||||
|
|
||||||
if (sqlca.sqlcode < 0) sqlprint();}
|
if (sqlca.sqlcode < 0) sqlprint();}
|
||||||
#line 32 "update.pgc"
|
#line 32 "insupd.pgc"
|
||||||
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
@ -19,7 +19,7 @@ TESTS = array array.c \
|
|||||||
parser parser.c \
|
parser parser.c \
|
||||||
quote quote.c \
|
quote quote.c \
|
||||||
show show.c \
|
show show.c \
|
||||||
update update.c
|
insupd insupd.c
|
||||||
|
|
||||||
all: $(TESTS)
|
all: $(TESTS)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user