diff options
Diffstat (limited to 'src/interfaces/ecpg/test/header_test.h')
-rw-r--r-- | src/interfaces/ecpg/test/header_test.h | 18 |
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(); |