summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/header_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/interfaces/ecpg/test/header_test.h')
-rw-r--r--src/interfaces/ecpg/test/header_test.h18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/interfaces/ecpg/test/header_test.h b/src/interfaces/ecpg/test/header_test.h
index 72408ae9bbe..71017aacbbd 100644
--- a/src/interfaces/ecpg/test/header_test.h
+++ b/src/interfaces/ecpg/test/header_test.h
@@ -1,12 +1,19 @@
exec sql include sqlca;
-exec sql whenever sqlerror do PrintAndStop(msg);
-exec sql whenever sqlwarning do warn();
-
-void PrintAndStop(msg)
+void Finish(msg)
{
fprintf(stderr, "Error in statement '%s':\n", msg);
sqlprint();
+
+ /* finish transaction */
+ exec sql rollback;
+
+ /* and remove test table */
+ exec sql drop table meskes;
+ exec sql commit;
+
+ exec sql disconnect;
+
exit(-1);
}
@@ -14,3 +21,6 @@ void warn(void)
{
fprintf(stderr, "Warning: At least one column was truncated\n");
}
+
+exec sql whenever sqlerror do Finish(msg);
+exec sql whenever sqlwarning do warn();