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
08b999f1
Commit
08b999f1
authored
Feb 14, 2000
by
Michael Meskes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
parent
9672d38f
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
44 additions
and
31 deletions
+44
-31
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ChangeLog
+4
-1
src/interfaces/ecpg/lib/ecpglib.c
src/interfaces/ecpg/lib/ecpglib.c
+12
-6
src/interfaces/ecpg/preproc/extern.h
src/interfaces/ecpg/preproc/extern.h
+1
-1
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/preproc/preproc.y
+17
-22
src/interfaces/ecpg/test/stp.pgc
src/interfaces/ecpg/test/stp.pgc
+10
-0
src/interfaces/ecpg/test/test5.pgc
src/interfaces/ecpg/test/test5.pgc
+0
-1
No files found.
src/interfaces/ecpg/ChangeLog
View file @
08b999f1
...
...
@@ -790,6 +790,9 @@ Thu Jan 27 08:12:05 CET 2000
- Fixed error messages in pgc.l.
- Improved variable parsing.
- Synced preproc.y with gram.y.
Mon Feb 14 10:35:18 CET 2000
- Synced preproc.y with gram.y.
- Set library version to 3.0.10.
- Set ecpg version to 2.7.0.
src/interfaces/ecpg/lib/ecpglib.c
View file @
08b999f1
...
...
@@ -395,7 +395,7 @@ ECPGexecute(struct statement * stmt)
{
bool
status
=
false
;
char
*
copiedquery
;
PGresult
*
results
;
PGresult
*
results
,
*
query
;
PGnotify
*
notify
;
struct
variable
*
var
;
...
...
@@ -669,6 +669,7 @@ ECPGexecute(struct statement * stmt)
{
char
*
pval
;
char
*
scan_length
;
char
*
array_query
;
if
(
var
==
NULL
)
{
...
...
@@ -725,9 +726,14 @@ ECPGexecute(struct statement * stmt)
add_mem
(
var
->
value
,
stmt
->
lineno
);
}
ECPGlog
(
"ECPGexecute line %d: TYPE db: %d c: %d
\n
"
,
stmt
->
lineno
,
PQftype
(
results
,
act_field
),
var
->
type
);
#if 0
array_query = (char *)ecpg_alloc(strlen("select typelem from pg_type where oid=") + 11, stmt -> lineno);
sprintf(array_query, "select typelem from pg_type where oid=%d", PQftype(results, act_field));
query = PQexec(stmt->connection->connection, array_query);
if (PQresultStatus(query) == PGRES_TUPLES_OK)
ECPGlog("ECPGexecute line %d: TYPE database: %d C: %d array OID: %s\n", stmt->lineno, PQftype(results, act_field), var->type, (char *)PQgetvalue(query, 0, 0));
PQclear(query);
#endif
for
(
act_tuple
=
0
;
act_tuple
<
ntuples
&&
status
;
act_tuple
++
)
{
pval
=
(
char
*
)
PQgetvalue
(
results
,
act_tuple
,
act_field
);
...
...
src/interfaces/ecpg/preproc/extern.h
View file @
08b999f1
...
...
@@ -37,7 +37,7 @@ extern void lex_init(void);
extern
char
*
input_filename
;
extern
int
yyparse
(
void
);
extern
int
yylex
(
void
);
extern
void
yyerror
(
c
onst
char
*
error
);
extern
void
yyerror
(
c
har
*
);
extern
void
*
mm_alloc
(
size_t
),
*
mm_realloc
(
void
*
,
size_t
);
extern
char
*
mm_strdup
(
const
char
*
);
extern
void
mmerror
(
enum
errortype
,
char
*
);
...
...
src/interfaces/ecpg/preproc/preproc.y
View file @
08b999f1
...
...
@@ -760,9 +760,9 @@ adjust_array(enum ECPGttype type_enum, int *dimension, int *length, int type_dim
%type <str> opt_collate Datetime datetime opt_timezone opt_interval
%type <str> numeric a_expr_or_null row_expr row_descriptor row_list
%type <str> SelectStmt SubSelect result OptTemp OptTempType OptTempScope
%type <str> opt_table opt_all
opt_unique
sort_clause sortby_list
%type <str> opt_table opt_all sort_clause sortby_list
%type <str> sortby OptUseOp opt_inh_star relation_name_list name_list
%type <str> group_clause having_clause from_clause
%type <str> group_clause having_clause from_clause
opt_distinct
%type <str> table_list join_outer where_clause relation_expr sub_type
%type <str> opt_column_list insert_rest InsertStmt OptimizableStmt
%type <str> columnList DeleteStmt LockStmt UpdateStmt CursorStmt
...
...
@@ -1306,35 +1306,35 @@ AlterTableStmt:
/* ALTER TABLE <name> ADD [COLUMN] <coldef> */
ALTER TABLE relation_name opt_inh_star ADD opt_column columnDef
{
$$ = cat_str(
5
, make_str("alter table"), $3, $4, make_str("add"), $6, $7);
$$ = cat_str(
6
, make_str("alter table"), $3, $4, make_str("add"), $6, $7);
}
/* ALTER TABLE <name> ALTER [COLUMN] <colname> {SET DEFAULT <expr>|DROP
DEFAULT} */
| ALTER TABLE relation_name opt_inh_star ALTER opt_column ColId
alter_column_action
{
$$ = cat_str(
6
, make_str("alter table"), $3, $4, make_str("alter"), $6, $7, $8);
$$ = cat_str(
7
, make_str("alter table"), $3, $4, make_str("alter"), $6, $7, $8);
}
/* ALTER TABLE <name> DROP [COLUMN] <name> {RESTRICT|CASCADE} */
| ALTER TABLE relation_name opt_inh_star DROP opt_column ColId
/* drop_behavior */
| ALTER TABLE relation_name opt_inh_star DROP opt_column ColId drop_behavior
{
$$ = cat_str(
5, make_str("alter table"), $3, $4, make_str("drop"), $6, $7
);
$$ = cat_str(
7, make_str("alter table"), $3, $4, make_str("drop"), $6, $7, $8
);
}
/* ALTER TABLE <name> ADD CONSTRAINT ... */
| ALTER TABLE relation_name opt_inh_star ADD TableConstraint
{
$$ = cat_str(
4
, make_str("alter table"), $3, $4, make_str("add"), $6);
$$ = cat_str(
5
, make_str("alter table"), $3, $4, make_str("add"), $6);
}
/* ALTER TABLE <name> DROP CONSTRAINT ... */
| ALTER TABLE relation_name opt_inh_star DROP CONSTRAINT name drop_behavior
{
$$ = cat_str(
5
, make_str("alter table"), $3, $4, make_str("drop constraint"), $7, $8);
$$ = cat_str(
6
, make_str("alter table"), $3, $4, make_str("drop constraint"), $7, $8);
}
;
alter_column_action:
SET DEFAULT a_expr_or_null { $$ = cat2_str(make_str("set default"), $3); }
SET DEFAULT a_expr { $$ = cat2_str(make_str("set default"), $3); }
| SET DEFAULT NULL_P { $$ = make_str("set default null"); }
| DROP DEFAULT { $$ = make_str("drop default"); }
;
...
...
@@ -1579,7 +1579,6 @@ key_match: MATCH FULL
}
| /*EMPTY*/
{
mmerror(ET_WARN, "FOREIGN KEY match type UNSPECIFIED not implemented yet");
$$ = EMPTY;
}
;
...
...
@@ -1735,7 +1734,7 @@ CreateTrigStmt: CREATE TRIGGER name TriggerActionTime TriggerEvents ON
{
$$ = cat_str(12, make_str("create trigger"), $3, $4, $5, make_str("on"), $7, $8, make_str("execute procedure"), $11, make_str("("), $13, make_str(")"));
}
| CREATE CONSTRAINT TRIGGER name AFTER Trigger
OneEvent
ON
| CREATE CONSTRAINT TRIGGER name AFTER Trigger
Events
ON
relation_name OptConstrFromTable
ConstraintAttributeSpec
FOR EACH ROW EXECUTE PROCEDURE
...
...
@@ -2507,12 +2506,8 @@ UnlistenStmt: UNLISTEN relation_name
*
* Transactions:
*
* abort transaction
* (ABORT)
* begin transaction
* (BEGIN)
* end transaction
* (END)
* BEGIN / COMMIT / ROLLBACK
* (also older versions END / ABORT)
*
*****************************************************************************/
TransactionStmt: ABORT_TRANS opt_trans { $$ = make_str("rollback"); }
...
...
@@ -2912,7 +2907,7 @@ select_clause: '(' select_clause ')'
}
;
SubSelect: SELECT opt_
unique
target_list
SubSelect: SELECT opt_
distinct
target_list
result from_clause where_clause
group_clause having_clause
{
...
...
@@ -2937,8 +2932,8 @@ opt_all: ALL { $$ = make_str("all"); }
| /*EMPTY*/ { $$ = EMPTY; }
;
opt_
unique
: DISTINCT { $$ = make_str("distinct"); }
| DISTINCT ON
ColId { $$ = cat2_str(make_str("distinct on"), $3
); }
opt_
distinct
: DISTINCT { $$ = make_str("distinct"); }
| DISTINCT ON
'(' expr_list ')' { $$ = cat_str(3, make_str("distinct on ("), $4, make_str(")")
); }
| ALL { $$ = make_str("all"); }
| /*EMPTY*/ { $$ = EMPTY; }
;
...
...
@@ -5428,7 +5423,7 @@ blockend : '}' {
%%
void yyerror(c
onst c
har * error)
void yyerror(char * error)
{
mmerror(ET_ERROR, error);
}
src/interfaces/ecpg/test/stp.pgc
View file @
08b999f1
...
...
@@ -5,9 +5,19 @@ int my_fun (void)
EXEC SQL BEGIN DECLARE SECTION;
int sql_index = 0;
EXEC SQL END DECLARE SECTION;
FILE *dbgs;
if ((dbgs = fopen("/tmp/log", "w")) != NULL)
ECPGdebug(1, dbgs);
EXEC SQL WHENEVER SQLERROR GOTO Error;
EXEC SQL CONNECT TO 'mm';
EXEC SQL SELECT MIN(index) INTO :sql_index FROM tab;
EXEC SQL DISCONNECT;
if (dbgs != NULL)
fclose(dbgs);
return (sql_index);
...
...
src/interfaces/ecpg/test/test5.pgc
View file @
08b999f1
...
...
@@ -13,7 +13,6 @@ int main (void)
EXEC SQL END DECLARE SECTION;
FILE *dbgs;
if ((dbgs = fopen("log", "w")) != NULL)
ECPGdebug(1, dbgs);
...
...
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