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
42fcad68
Commit
42fcad68
authored
Mar 13, 2017
by
Michael Meskes
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add test case for two phase commit. Also by Masahiko Sawada.
parent
43c79c7d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
194 additions
and
0 deletions
+194
-0
src/interfaces/ecpg/test/ecpg_schedule
src/interfaces/ecpg/test/ecpg_schedule
+1
-0
src/interfaces/ecpg/test/expected/sql-twophase.c
src/interfaces/ecpg/test/expected/sql-twophase.c
+114
-0
src/interfaces/ecpg/test/expected/sql-twophase.stderr
src/interfaces/ecpg/test/expected/sql-twophase.stderr
+34
-0
src/interfaces/ecpg/test/expected/sql-twophase.stdout
src/interfaces/ecpg/test/expected/sql-twophase.stdout
+0
-0
src/interfaces/ecpg/test/sql/Makefile
src/interfaces/ecpg/test/sql/Makefile
+1
-0
src/interfaces/ecpg/test/sql/twophase.pgc
src/interfaces/ecpg/test/sql/twophase.pgc
+44
-0
No files found.
src/interfaces/ecpg/test/ecpg_schedule
View file @
42fcad68
...
...
@@ -46,6 +46,7 @@ test: sql/indicators
test: sql/oldexec
test: sql/quote
test: sql/show
test: sql/twophase
test: sql/insupd
test: sql/parser
test: thread/thread
...
...
src/interfaces/ecpg/test/expected/sql-twophase.c
0 → 100644
View file @
42fcad68
/* Processed by ecpg (regression mode) */
/* These include files are added by the preprocessor */
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>
/* End of automatic include section */
#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
#line 1 "twophase.pgc"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#line 1 "regression.h"
#line 5 "twophase.pgc"
/* exec sql whenever sqlerror sqlprint ; */
#line 7 "twophase.pgc"
int
main
(
void
)
{
char
msg
[
128
];
ECPGdebug
(
1
,
stderr
);
strcpy
(
msg
,
"connect"
);
{
ECPGconnect
(
__LINE__
,
0
,
"ecpg1_regression"
,
NULL
,
NULL
,
NULL
,
0
);
#line 16 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 16 "twophase.pgc"
{
ECPGsetcommit
(
__LINE__
,
"off"
,
NULL
);
#line 17 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 17 "twophase.pgc"
strcpy
(
msg
,
"create"
);
{
ECPGdo
(
__LINE__
,
0
,
1
,
NULL
,
0
,
ECPGst_normal
,
"create table t1 ( c int )"
,
ECPGt_EOIT
,
ECPGt_EORT
);
#line 20 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 20 "twophase.pgc"
strcpy
(
msg
,
"commit"
);
{
ECPGtrans
(
__LINE__
,
NULL
,
"commit"
);
#line 23 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 23 "twophase.pgc"
strcpy
(
msg
,
"begin"
);
{
ECPGtrans
(
__LINE__
,
NULL
,
"begin"
);
#line 26 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 26 "twophase.pgc"
strcpy
(
msg
,
"insert"
);
{
ECPGdo
(
__LINE__
,
0
,
1
,
NULL
,
0
,
ECPGst_normal
,
"insert into t1 values ( 1 )"
,
ECPGt_EOIT
,
ECPGt_EORT
);
#line 29 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 29 "twophase.pgc"
strcpy
(
msg
,
"prepare transaction"
);
{
ECPGtrans
(
__LINE__
,
NULL
,
"prepare transaction 'gxid'"
);
#line 32 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 32 "twophase.pgc"
strcpy
(
msg
,
"commit prepared"
);
{
ECPGtrans
(
__LINE__
,
NULL
,
"commit prepared 'gxid'"
);
#line 35 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 35 "twophase.pgc"
strcpy
(
msg
,
"drop"
);
{
ECPGdo
(
__LINE__
,
0
,
1
,
NULL
,
0
,
ECPGst_normal
,
"drop table t1"
,
ECPGt_EOIT
,
ECPGt_EORT
);
#line 38 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 38 "twophase.pgc"
strcpy
(
msg
,
"disconnect"
);
{
ECPGdisconnect
(
__LINE__
,
"CURRENT"
);
#line 41 "twophase.pgc"
if
(
sqlca
.
sqlcode
<
0
)
sqlprint
();}
#line 41 "twophase.pgc"
return
(
0
);
}
src/interfaces/ecpg/test/expected/sql-twophase.stderr
0 → 100644
View file @
42fcad68
[NO_PID]: ECPGdebug: set to 1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGconnect: opening database ecpg1_regression on <DEFAULT> port <DEFAULT>
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGsetcommit on line 17: action "off"; connection "ecpg1_regression"
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 20: query: create table t1 ( c int ); with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 20: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 20: OK: CREATE TABLE
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans on line 23: action "commit"; connection "ecpg1_regression"
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans on line 26: action "begin"; connection "ecpg1_regression"
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 29: query: insert into t1 values ( 1 ); with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 29: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 29: OK: INSERT 0 1
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans on line 32: action "prepare transaction 'gxid'"; connection "ecpg1_regression"
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ECPGtrans on line 35: action "commit prepared 'gxid'"; connection "ecpg1_regression"
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 38: query: drop table t1; with 0 parameter(s) on connection ecpg1_regression
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_execute on line 38: using PQexec
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 38: OK: DROP TABLE
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: connection ecpg1_regression closed
[NO_PID]: sqlca: code: 0, state: 00000
src/interfaces/ecpg/test/expected/sql-twophase.stdout
0 → 100644
View file @
42fcad68
src/interfaces/ecpg/test/sql/Makefile
View file @
42fcad68
...
...
@@ -22,6 +22,7 @@ TESTS = array array.c \
parser parser.c
\
quote quote.c
\
show show.c
\
twophase twophase.c
\
insupd insupd.c
all
:
$(TESTS)
...
...
src/interfaces/ecpg/test/sql/twophase.pgc
0 → 100644
View file @
42fcad68
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
exec sql include ../regression;
exec sql whenever sqlerror sqlprint;
int main(void)
{
char msg[128];
ECPGdebug(1, stderr);
strcpy(msg, "connect");
exec sql connect to REGRESSDB1;
exec sql set autocommit to off;
strcpy(msg, "create");
exec sql create table t1(c int);
strcpy(msg, "commit");
exec sql commit;
strcpy(msg, "begin");
exec sql begin;
strcpy(msg, "insert");
exec sql insert into t1 values(1);
strcpy(msg, "prepare transaction");
exec sql prepare transaction 'gxid';
strcpy(msg, "commit prepared");
exec sql commit prepared 'gxid';
strcpy(msg, "drop");
exec sql drop table t1;
strcpy(msg, "disconnect");
exec sql disconnect current;
return (0);
}
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