Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
1aca1cde
Commit
1aca1cde
authored
May 10, 2007
by
Michael Meskes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Synced parser and keyword list
- Renamed update test so it hopefully runs on Vista
parent
5b7cf08d
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
119 additions
and
64 deletions
+119
-64
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ChangeLog
+5
-0
src/interfaces/ecpg/preproc/c_keywords.c
src/interfaces/ecpg/preproc/c_keywords.c
+2
-2
src/interfaces/ecpg/preproc/ecpg_keywords.c
src/interfaces/ecpg/preproc/ecpg_keywords.c
+1
-2
src/interfaces/ecpg/preproc/keywords.c
src/interfaces/ecpg/preproc/keywords.c
+7
-1
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/preproc/preproc.y
+69
-24
src/interfaces/ecpg/test/expected/sql-insupd.c
src/interfaces/ecpg/test/expected/sql-insupd.c
+34
-34
src/interfaces/ecpg/test/expected/sql-insupd.stderr
src/interfaces/ecpg/test/expected/sql-insupd.stderr
+0
-0
src/interfaces/ecpg/test/expected/sql-insupd.stdout
src/interfaces/ecpg/test/expected/sql-insupd.stdout
+0
-0
src/interfaces/ecpg/test/sql/Makefile
src/interfaces/ecpg/test/sql/Makefile
+1
-1
src/interfaces/ecpg/test/sql/insupd.pgc
src/interfaces/ecpg/test/sql/insupd.pgc
+0
-0
No files found.
src/interfaces/ecpg/ChangeLog
View file @
1aca1cde
...
...
@@ -2188,4 +2188,9 @@ Fr 27. Apr 08:55:25 CEST 2007
- Inlined two functions to get rid of va_list problems on some
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.
src/interfaces/ecpg/preproc/c_keywords.c
View file @
1aca1cde
...
...
@@ -3,7 +3,7 @@
* keywords.c
* 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
},
{
"char"
,
CHAR_P
},
{
"const"
,
S_CONST
},
{
"enum"
,
SQL_ENUM
},
{
"enum"
,
ENUM_P
},
{
"extern"
,
S_EXTERN
},
{
"float"
,
FLOAT_P
},
{
"hour"
,
HOUR_P
},
...
...
src/interfaces/ecpg/preproc/ecpg_keywords.c
View file @
1aca1cde
...
...
@@ -4,7 +4,7 @@
* lexical token lookup for reserved words in postgres embedded SQL
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg_keywords.c,v 1.3
3 2007/03/17 19:25:23
meskes Exp $
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/ecpg_keywords.c,v 1.3
4 2007/05/10 09:53:16
meskes Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -40,7 +40,6 @@ static ScanKeyword ScanKeywords[] = {
{
"describe"
,
SQL_DESCRIBE
},
{
"descriptor"
,
SQL_DESCRIPTOR
},
{
"disconnect"
,
SQL_DISCONNECT
},
{
"enum"
,
SQL_ENUM
},
{
"found"
,
SQL_FOUND
},
{
"free"
,
SQL_FREE
},
{
"go"
,
SQL_GO
},
...
...
src/interfaces/ecpg/preproc/keywords.c
View file @
1aca1cde
...
...
@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.7
8 2007/03/17 19:25:23
meskes Exp $
* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/keywords.c,v 1.7
9 2007/05/10 09:53:16
meskes Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -39,6 +39,7 @@ static ScanKeyword ScanKeywords[] = {
{
"all"
,
ALL
},
{
"also"
,
ALSO
},
{
"alter"
,
ALTER
},
{
"always"
,
ALWAYS
},
{
"analyse"
,
ANALYSE
},
/* British spelling */
{
"analyze"
,
ANALYZE
},
{
"and"
,
AND
},
...
...
@@ -120,6 +121,7 @@ static ScanKeyword ScanKeywords[] = {
{
"delimiters"
,
DELIMITERS
},
{
"desc"
,
DESC
},
{
"disable"
,
DISABLE_P
},
{
"discard"
,
DISCARD
},
{
"distinct"
,
DISTINCT
},
{
"do"
,
DO
},
{
"document"
,
DOCUMENT_P
},
...
...
@@ -132,6 +134,7 @@ static ScanKeyword ScanKeywords[] = {
{
"encoding"
,
ENCODING
},
{
"encrypted"
,
ENCRYPTED
},
{
"end"
,
END_P
},
{
"enum"
,
ENUM_P
},
{
"escape"
,
ESCAPE
},
{
"except"
,
EXCEPT
},
{
"excluding"
,
EXCLUDING
},
...
...
@@ -261,6 +264,8 @@ static ScanKeyword ScanKeywords[] = {
{
"owner"
,
OWNER
},
{
"partial"
,
PARTIAL
},
{
"password"
,
PASSWORD
},
{
"placing"
,
PLACING
},
{
"plans"
,
PLANS
},
{
"position"
,
POSITION
},
{
"precision"
,
PRECISION
},
{
"prepare"
,
PREPARE
},
...
...
@@ -283,6 +288,7 @@ static ScanKeyword ScanKeywords[] = {
{
"rename"
,
RENAME
},
{
"repeatable"
,
REPEATABLE
},
{
"replace"
,
REPLACE
},
{
"replica"
,
REPLICA
},
{
"reset"
,
RESET
},
{
"restart"
,
RESTART
},
{
"restrict"
,
RESTRICT
},
...
...
src/interfaces/ecpg/preproc/preproc.y
View file @
1aca1cde
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.34
2 2007/03/27 03:25:28 tgl
Exp $ */
/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.34
3 2007/05/10 09:53:17 meskes
Exp $ */
/* Copyright comment */
%{
...
...
@@ -349,7 +349,7 @@ add_additional_variables(char *name, bool insert)
SQL_CONTINUE SQL_COUNT SQL_CURRENT SQL_DATA
SQL_DATETIME_INTERVAL_CODE
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_INDICATOR SQL_KEY_MEMBER SQL_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 */
%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 A
LWAYS A
NALYSE ANALYZE AND ANY ARRAY AS ASC
ASSERTION ASSIGNMENT ASYMMETRIC AT AUTHORIZATION
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
DEFERRABLE DEFERRED DEFINER DELETE_P DELIMITER DELIMITERS
DESC DISABLE_P DISTINCT DO DOCUMENT_P DOMAIN_P DOUBLE_P DROP
DESC DISABLE_P DIS
CARD DIS
TINCT 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 E
NUM_P E
SCAPE EXCEPT EXCLUSIVE EXCLUDING
EXECUTE EXISTS EXPLAIN EXTERNAL EXTRACT
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
OUT_P OUTER_P OVERLAPS OVERLAY OWNED OWNER
PARTIAL PASSWORD PLACING POSITION
PARTIAL PASSWORD PLACING P
LANS P
OSITION
PRECISION PRESERVE PREPARE PREPARED PRIMARY
PRIOR PRIVILEGES PROCEDURAL PROCEDURE
QUOTE
READ REAL REASSIGN RECHECK REFERENCES REINDEX RELATIVE_P RELEASE RENAME
REPEATABLE REPLACE RE
SET RESTART RESTRICT RETURNING RETURNS REVOKE RIGHT
ROLE ROLLBACK ROW ROWS RULE
REPEATABLE REPLACE RE
PLICA RESET RESTART RESTRICT RETURNING RETURNS REVOKE
R
IGHT R
OLE ROLLBACK ROW ROWS RULE
SAVEPOINT SCHEMA SCROLL SECOND_P SECURITY SELECT SEQUENCE
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> ColConstraint ColConstraintElem drop_type Bconst Iresult
%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> qualified_name database_name alter_using type_function_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> position_list substr_list substr_from alter_column_default
%type <str> trim_list in_expr substr_for attrs TableFuncElement
%type <str> Typename SimpleTypename Numeric opt_float
%type <str> Character character opt_varying opt_charset
%type <str> Typename SimpleTypename Numeric opt_float
DiscardStmt
%type <str> Character character opt_varying opt_charset
enum_val_list
%type <str> opt_timezone opt_interval table_ref fetch_direction
%type <str> ConstDatetime AlterDomainStmt AlterSeqStmt alter_rel_cmds
%type <str> SelectStmt into_clause OptTemp ConstraintAttributeSpec
...
...
@@ -736,6 +736,7 @@ stmt: AlterDatabaseStmt { output_statement($1, 0, connection); }
| DeclareCursorStmt { output_simple_statement($1); }
| DefineStmt { output_statement($1, 0, connection); }
| DeleteStmt { output_statement($1, 1, connection); }
| DiscardStmt { output_statement($1, 1, connection); }
| DropAssertStmt { output_statement($1, 0, connection); }
| DropCastStmt { 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"); }
;
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> */
| ENABLE_P TRIGGER name
{ $$ = 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 */
| ENABLE_P TRIGGER ALL
{ $$ = make_str("enable trigger all"); }
...
...
@@ -1356,6 +1369,18 @@ alter_table_cmd:
/* ALTER TABLE <name> DISABLE TRIGGER USER */
| DISABLE_P 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> */
| INHERIT qualified_name
{ $$ = cat2_str(make_str("inherit"), $2); }
...
...
@@ -1407,6 +1432,8 @@ alter_using: USING a_expr { $$ = cat2_str(make_str("using"), $2); }
ClosePortalStmt: CLOSE name
{ $$ = cat2_str(make_str("close"), $2); }
| CLOSE ALL
{ $$ = make_str("close all"); }
;
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); }
| CREATE TYPE_P any_name AS '(' TableFuncElementList ')'
{ $$ = 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 ')'
...
...
@@ -2044,6 +2073,9 @@ old_aggr_list: old_aggr_elem { $$ = $1; }
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
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); }
| ALTER GROUP_P RoleId RENAME TO RoleId
{ $$ = cat_str(4, make_str("alter group"), $3, make_str("rename to"), $6); }
| ALTER LANGUAGE name RENAME TO name
{ $$ = cat_str(
4, make_str("alter language"), $3, make_str("rename to"), $6
); }
| ALTER
opt_procedural
LANGUAGE name RENAME TO name
{ $$ = 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
{ $$ = 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
...
...
@@ -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); }
| ALTER FUNCTION func_name func_args OWNER TO RoleId
{ $$ = 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
{ $$ = 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
...
...
@@ -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); }
;
ListenStmt: LISTEN
qualified_name
ListenStmt: LISTEN
ColId
{ $$ = cat2_str(make_str("listen"), $2); }
;
UnlistenStmt: UNLISTEN
qualified_name
UnlistenStmt: UNLISTEN
ColId
{ $$ = cat2_str(make_str("unlisten"), $2); }
| UNLISTEN '*'
{ $$ = make_str("unlisten *"); }
...
...
@@ -3075,14 +3109,18 @@ CreateConversionStmt:
*
*****************************************************************************/
ClusterStmt: CLUSTER index_name ON qualified_name
{ $$ = cat_str(4, make_str("cluster"), $2, make_str("on"), $4); }
| CLUSTER qualified_name
{ $$ = cat2_str(make_str("cluster"), $2); }
ClusterStmt: CLUSTER qualified_name cluster_index_specification
{ $$ = cat_str(3,make_str("cluster"), $2, $3); }
| 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); }
| 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); }
|
SQL_ENUM
enum_definition
|
ENUM_P
enum_definition
{ $$ = cat2_str(make_str("enum"), $2); }
|
SQL_ENUM
symbol
|
ENUM_P
symbol
{ $$ = cat2_str(make_str("enum"), $2); }
;
...
...
@@ -6367,6 +6407,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
| AGGREGATE { $$ = make_str("aggregate"); }
| ALSO { $$ = make_str("also"); }
| ALTER { $$ = make_str("alter"); }
| ALWAYS { $$ = make_str("always"); }
| ASSERTION { $$ = make_str("assertion"); }
| ASSIGNMENT { $$ = make_str("assignment"); }
| AT { $$ = make_str("at"); }
...
...
@@ -6409,6 +6450,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
| DELIMITER { $$ = make_str("delimiter"); }
| DELIMITERS { $$ = make_str("delimiters"); }
| DISABLE_P { $$ = make_str("disable"); }
| DISCARD { $$ = make_str("discard"); }
| DOCUMENT_P { $$ = make_str("document"); }
| DOMAIN_P { $$ = make_str("domain"); }
| DOUBLE_P { $$ = make_str("double"); }
...
...
@@ -6417,6 +6459,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
| ENABLE_P { $$ = make_str("enable"); }
| ENCODING { $$ = make_str("encoding"); }
| ENCRYPTED { $$ = make_str("encrypted"); }
/* | ENUM_P { $$ = make_str("enum"); }*/
| ESCAPE { $$ = make_str("escape"); }
| EXCLUDING { $$ = make_str("excluding"); }
| EXCLUSIVE { $$ = make_str("exclusive"); }
...
...
@@ -6491,6 +6534,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
| OWNER { $$ = make_str("owner"); }
| PARTIAL { $$ = make_str("partial"); }
| PASSWORD { $$ = make_str("password"); }
| PLANS { $$ = make_str("plans"); }
| PREPARE { $$ = make_str("prepare"); }
| PREPARED { $$ = make_str("prepared"); }
| PRESERVE { $$ = make_str("preserver"); }
...
...
@@ -6508,6 +6552,7 @@ ECPGunreserved_con: ABORT_P { $$ = make_str("abort"); }
| RENAME { $$ = make_str("rename"); }
| REPEATABLE { $$ = make_str("repeatable"); }
| REPLACE { $$ = make_str("replace"); }
| REPLICA { $$ = make_str("replica"); }
| RESET { $$ = make_str("reset"); }
| RESTART { $$ = make_str("restart"); }
| RESTRICT { $$ = make_str("restrict"); }
...
...
@@ -6903,7 +6948,7 @@ c_anything: IDENT { $$ = $1; }
| S_TYPEDEF { $$ = make_str("typedef"); }
| S_VOLATILE { $$ = make_str("volatile"); }
| SQL_BOOL { $$ = make_str("bool"); }
|
SQL_ENUM
{ $$ = make_str("enum"); }
|
ENUM_P
{ $$ = make_str("enum"); }
| HOUR_P { $$ = make_str("hour"); }
| INT_P { $$ = make_str("int"); }
| SQL_LONG { $$ = make_str("long"); }
...
...
src/interfaces/ecpg/test/expected/sql-
update
.c
→
src/interfaces/ecpg/test/expected/sql-
insupd
.c
View file @
1aca1cde
...
...
@@ -7,7 +7,7 @@
/* End of automatic include section */
#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
#line 1 "
update
.pgc"
#line 1 "
insupd
.pgc"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
...
...
@@ -20,95 +20,95 @@
#line 5 "
update
.pgc"
#line 5 "
insupd
.pgc"
int
main
(
int
argc
,
char
*
argv
[])
{
/* exec sql begin declare section */
#line 9 "
update
.pgc"
#line 9 "
insupd
.pgc"
int
i1
[
3
]
,
i2
[
3
]
;
/* exec sql end declare section */
#line 10 "
update
.pgc"
#line 10 "
insupd
.pgc"
ECPGdebug
(
1
,
stderr
);
{
ECPGconnect
(
__LINE__
,
0
,
"regress1"
,
NULL
,
NULL
,
NULL
,
0
);
}
#line 13 "
update
.pgc"
#line 13 "
insupd
.pgc"
/* exec sql whenever sql_warning sqlprint ; */
#line 15 "
update
.pgc"
#line 15 "
insupd
.pgc"
/* 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
);
#line 18 "
update
.pgc"
#line 18 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 18 "
update
.pgc"
#line 18 "
insupd
.pgc"
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
);
#line 20 "
update
.pgc"
#line 20 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 20 "
update
.pgc"
#line 20 "
insupd
.pgc"
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
);
#line 21 "
update
.pgc"
#line 21 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 21 "
update
.pgc"
#line 21 "
insupd
.pgc"
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
);
#line 22 "
update
.pgc"
#line 22 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 22 "
update
.pgc"
#line 22 "
insupd
.pgc"
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
);
#line 24 "
update
.pgc"
#line 24 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 24 "
update
.pgc"
#line 24 "
insupd
.pgc"
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
);
#line 25 "
update
.pgc"
#line 25 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 25 "
update
.pgc"
#line 25 "
insupd
.pgc"
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
);
#line 26 "
update
.pgc"
#line 26 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 26 "
update
.pgc"
#line 26 "
insupd
.pgc"
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
,
...
...
@@ -116,25 +116,25 @@ if (sqlca.sqlcode < 0) sqlprint();}
ECPGt_NO_INDICATOR
,
NULL
,
0L
,
0L
,
0L
,
ECPGt_int
,(
i2
),(
long
)
1
,(
long
)
3
,
sizeof
(
int
),
ECPGt_NO_INDICATOR
,
NULL
,
0L
,
0L
,
0L
,
ECPGt_EORT
);
#line 28 "
update
.pgc"
#line 28 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 28 "
update
.pgc"
#line 28 "
insupd
.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 28 "
update
.pgc"
#line 28 "
insupd
.pgc"
printf
(
"test
\n
a 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"
);
#line 32 "
update
.pgc"
#line 32 "
insupd
.pgc"
if
(
sqlca
.
sqlwarn
[
0
]
==
'W'
)
sqlprint
();
#line 32 "
update
.pgc"
#line 32 "
insupd
.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 32 "
update
.pgc"
#line 32 "
insupd
.pgc"
return
0
;
...
...
src/interfaces/ecpg/test/expected/sql-
update
.stderr
→
src/interfaces/ecpg/test/expected/sql-
insupd
.stderr
View file @
1aca1cde
File moved
src/interfaces/ecpg/test/expected/sql-
update
.stdout
→
src/interfaces/ecpg/test/expected/sql-
insupd
.stdout
View file @
1aca1cde
File moved
src/interfaces/ecpg/test/sql/Makefile
View file @
1aca1cde
...
...
@@ -19,7 +19,7 @@ TESTS = array array.c \
parser parser.c
\
quote quote.c
\
show show.c
\
update update
.c
insupd insupd
.c
all
:
$(TESTS)
...
...
src/interfaces/ecpg/test/sql/
update
.pgc
→
src/interfaces/ecpg/test/sql/
insupd
.pgc
View file @
1aca1cde
File moved
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment