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
cdbaec77
Commit
cdbaec77
authored
Jan 21, 1999
by
Marc G. Fournier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
From: Michael Meskes <Michael.Meskes@usa.net>
See attached file. Now accepts "exec sql whenever sqlwarning".
parent
1f379056
Changes
6
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
51 additions
and
18 deletions
+51
-18
src/interfaces/ecpg/ChangeLog
src/interfaces/ecpg/ChangeLog
+12
-6
src/interfaces/ecpg/lib/Makefile.in
src/interfaces/ecpg/lib/Makefile.in
+2
-2
src/interfaces/ecpg/lib/ecpglib.c
src/interfaces/ecpg/lib/ecpglib.c
+9
-4
src/interfaces/ecpg/preproc/ecpg_keywords.c
src/interfaces/ecpg/preproc/ecpg_keywords.c
+1
-0
src/interfaces/ecpg/preproc/preproc.y
src/interfaces/ecpg/preproc/preproc.y
+14
-5
src/interfaces/ecpg/test/header_test.h
src/interfaces/ecpg/test/header_test.h
+13
-1
No files found.
src/interfaces/ecpg/ChangeLog
View file @
cdbaec77
...
...
@@ -335,7 +335,7 @@ Thu Sep 17 08:55:33 CEST 1998
Thu Sep 17 19:23:24 CEST 1998
- Added missing
´;´
in preproc.y
- Added missing
';'
in preproc.y
- Set version to 2.4.2
Tue Sep 29 10:22:00 CEST 1998
...
...
@@ -357,23 +357,29 @@ Thu Okt 15 10:05:04 CEST 1998
- Synced preproc.y with gram.y yet again.
- Set version to 2.4.4
Wed Dec 9
11
:24:54 MEZ 1998
Wed Dec 9
20
:24:54 MEZ 1998
- Synced preproc.y with gram.y and the keywords.c files to add CASE
statement.
Tue Dec 22 1
4
:16:11 CET 1998
Tue Dec 22 1
9
:16:11 CET 1998
- Synced preproc.y with gram.y for locking statements.
- Set version to 2.4.5
Tue Jan 7 1
5
:19:34 CET 1999
Tue Jan 7 1
9
:19:34 CET 1999
- Synced preproc.y with gram.y for for-update clause and changes in
handling of numerics
Mon Jan 18 1
1
:22:44 CET 1999
Mon Jan 18 1
9
:22:44 CET 1999
- Added INTERSECT, EXCEPT and UNION for Select statements
- Put keywords.c in sync again after forgettimg it the last time.
- Set version to 2.4.6
Thu Jan 21 21:29:00 CET 1999
- Fixed libecpg to not segfault if there is no connection.
- Set library version to 2.6.3
- Added 'exec sql whenever sqlwarning'.
- Set ecpg version to 2.4.6
src/interfaces/ecpg/lib/Makefile.in
View file @
cdbaec77
...
...
@@ -6,13 +6,13 @@
# Copyright (c) 1994, Regents of the University of California
#
# IDENTIFICATION
# $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile.in,v 1.
39 1999/01/17 06:19:24 momjian
Exp $
# $Header: /cvsroot/pgsql/src/interfaces/ecpg/lib/Attic/Makefile.in,v 1.
40 1999/01/21 20:01:32 scrappy
Exp $
#
#-------------------------------------------------------------------------
NAME
=
ecpg
SO_MAJOR_VERSION
=
2
SO_MINOR_VERSION
=
6.
2
SO_MINOR_VERSION
=
6.
3
SRCDIR
=
@top_srcdir@
include
$(SRCDIR)/Makefile.global
...
...
src/interfaces/ecpg/lib/ecpglib.c
View file @
cdbaec77
...
...
@@ -886,12 +886,17 @@ ECPGtrans(int lineno, const char *transaction)
PGresult
*
res
;
ECPGlog
(
"ECPGtrans line %d action = %s
\n
"
,
lineno
,
transaction
);
/* if we have no connection we just simulate the command */
if
(
actual_connection
&&
actual_connection
->
connection
)
{
if
((
res
=
PQexec
(
actual_connection
->
connection
,
transaction
))
==
NULL
)
{
register_error
(
ECPG_TRANS
,
"Error in transaction processing line %d."
,
lineno
);
return
FALSE
;
}
PQclear
(
res
);
}
if
(
strcmp
(
transaction
,
"commit"
)
==
0
||
strcmp
(
transaction
,
"rollback"
)
==
0
)
committed
=
1
;
return
TRUE
;
...
...
src/interfaces/ecpg/preproc/ecpg_keywords.c
View file @
cdbaec77
...
...
@@ -38,6 +38,7 @@ static ScanKeyword ScanKeywords[] = {
{
"section"
,
SQL_SECTION
},
{
"sqlerror"
,
SQL_SQLERROR
},
{
"sqlprint"
,
SQL_SQLPRINT
},
{
"sqlwarning"
,
SQL_SQLWARNING
},
{
"stop"
,
SQL_STOP
},
{
"whenever"
,
SQL_WHENEVER
},
};
...
...
src/interfaces/ecpg/preproc/preproc.y
View file @
cdbaec77
...
...
@@ -45,7 +45,7 @@ output_line_number()
/*
* store the whenever action here
*/
static struct when when_error, when_nf;
static struct when when_error, when_nf
, when_warn
;
static void
print_action(struct when *w)
...
...
@@ -76,6 +76,12 @@ whenever_action(int mode)
fprintf(yyout, "\nif (sqlca.sqlcode == ECPG_NOT_FOUND) ");
print_action(&when_nf);
}
if (when_warn.code != W_NOTHING)
{
output_line_number();
fprintf(yyout, "\nif (sqlca.sqlwarn[0] == 'W') ");
print_action(&when_warn);
}
if (when_error.code != W_NOTHING)
{
output_line_number();
...
...
@@ -517,7 +523,7 @@ output_statement(char * stmt, int mode)
%token SQL_DISCONNECT SQL_FOUND SQL_GO SQL_GOTO
%token SQL_IDENTIFIED SQL_IMMEDIATE SQL_INDICATOR SQL_OPEN SQL_RELEASE
%token SQL_SECTION SQL_SEMI SQL_SQLERROR SQL_SQLPRINT SQL_START
%token SQL_STOP SQL_WHENEVER
%token SQL_STOP SQL_WHENEVER
SQL_SQLWARNING
/* C token */
%token S_ANYTHING S_AUTO S_BOOL S_CHAR S_CONST S_DOUBLE S_ENUM S_EXTERN
...
...
@@ -4630,9 +4636,7 @@ ECPGSetConnection: SET SQL_CONNECTION connection_object
}
/*
* whenever statement: decide what to do in case of error/no data found
* according to SQL standards we miss: SQLSTATE, CONSTRAINT, SQLEXCEPTION
* and SQLWARNING
* according to SQL standards we lack: SQLSTATE, CONSTRAINT and SQLEXCEPTION
*/
ECPGWhenever: SQL_WHENEVER SQL_SQLERROR action {
when_error.code = $<action>3.code;
...
...
@@ -4644,6 +4648,11 @@ ECPGWhenever: SQL_WHENEVER SQL_SQLERROR action {
when_nf.command = $<action>4.command;
$$ = cat3_str(make1_str("/* exec sql whenever not found "), $4.str, make1_str("; */\n"));
}
| SQL_WHENEVER SQL_SQLWARNING action {
when_warn.code = $<action>3.code;
when_warn.command = $<action>3.command;
$$ = cat3_str(make1_str("/* exec sql whenever sql_warning "), $3.str, make1_str("; */\n"));
}
action : SQL_CONTINUE {
$<action>$.code = W_NOTHING;
...
...
src/interfaces/ecpg/test/header_test.h
View file @
cdbaec77
exec
sql
include
sqlca
;
exec
sql
whenever
sqlerror
sqlprint
;
exec
sql
whenever
sqlerror
do
print_and_stop
();
exec
sql
whenever
sqlwarning
do
warn
();
void
print_and_stop
(
void
)
{
sqlprint
();
exit
(
-
1
);
}
void
warn
(
void
)
{
fprintf
(
stderr
,
"Warning: At least one column was truncated
\n
"
);
}
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