diff options
| author | Michael Meskes <meskes@postgresql.org> | 2006-09-08 13:32:29 +0000 |
|---|---|---|
| committer | Michael Meskes <meskes@postgresql.org> | 2006-09-08 13:32:29 +0000 |
| commit | 460f46816a589ed6916e86b84a56a6b97eccabb1 (patch) | |
| tree | 1aaea76bc720d63255dcc91a7eb8b44f533146c2 /src/interfaces/ecpg/test/preproc | |
| parent | 52a013bea86906bc8296781eb16deee7e281a87e (diff) | |
| download | postgresql-460f46816a589ed6916e86b84a56a6b97eccabb1.tar.gz | |
Replaced complex tests with small ones.
Diffstat (limited to 'src/interfaces/ecpg/test/preproc')
| -rw-r--r-- | src/interfaces/ecpg/test/preproc/Makefile | 6 | ||||
| -rw-r--r-- | src/interfaces/ecpg/test/preproc/comment.pgc | 25 | ||||
| -rw-r--r-- | src/interfaces/ecpg/test/preproc/type.pgc | 2 | ||||
| -rw-r--r-- | src/interfaces/ecpg/test/preproc/whenever.pgc | 65 |
4 files changed, 96 insertions, 2 deletions
diff --git a/src/interfaces/ecpg/test/preproc/Makefile b/src/interfaces/ecpg/test/preproc/Makefile index 005bc33598..937f89ca52 100644 --- a/src/interfaces/ecpg/test/preproc/Makefile +++ b/src/interfaces/ecpg/test/preproc/Makefile @@ -4,10 +4,12 @@ include $(top_builddir)/src/Makefile.global include $(top_srcdir)/$(subdir)/../Makefile.regress -TESTS = define define.c \ +TESTS = comment comment.c \ + define define.c \ init init.c \ type type.c \ - variable variable.c + variable variable.c \ + whenever whenever.c all: $(TESTS) diff --git a/src/interfaces/ecpg/test/preproc/comment.pgc b/src/interfaces/ecpg/test/preproc/comment.pgc new file mode 100644 index 0000000000..5ef3b695ee --- /dev/null +++ b/src/interfaces/ecpg/test/preproc/comment.pgc @@ -0,0 +1,25 @@ +#include <stdlib.h> + +exec sql include ../regression; + +/* just a test comment */ int i; +/* just a test comment int j*/; + +/****************************************************************************/ +/* Test comment */ +/*--------------------------------------------------------------------------*/ + +// we also understand this style +int k; + +int main(void) +{ + ECPGdebug(1, stderr); + + exec sql --this is a comment too + connect to REGRESSDB1; + + exec sql disconnect; + exit (0); +} + diff --git a/src/interfaces/ecpg/test/preproc/type.pgc b/src/interfaces/ecpg/test/preproc/type.pgc index 33ebcb77bb..461401c8ee 100644 --- a/src/interfaces/ecpg/test/preproc/type.pgc +++ b/src/interfaces/ecpg/test/preproc/type.pgc @@ -74,5 +74,7 @@ main (void) printf ("id=%ld name='%s' accs=%d str='%s' ptr='%s' vc='%10.10s'\n", empl.idnum, empl.name, empl.accs, str, ptr, vc.text); EXEC SQL disconnect; + + free(ptr); exit (0); } diff --git a/src/interfaces/ecpg/test/preproc/whenever.pgc b/src/interfaces/ecpg/test/preproc/whenever.pgc new file mode 100644 index 0000000000..ad56327804 --- /dev/null +++ b/src/interfaces/ecpg/test/preproc/whenever.pgc @@ -0,0 +1,65 @@ +#include <stdlib.h> + +exec sql include ../regression; + +exec sql whenever sqlerror sqlprint; + +static void print(char *msg) +{ + fprintf(stderr, "Error in statement '%s':\n", msg); + sqlprint(); +} + +static void print2(void) +{ + fprintf(stderr, "Found another error\n"); + sqlprint(); +} + +static void warn(void) +{ + fprintf(stderr, "Warning: At least one column was truncated\n"); +} + +int main(void) +{ + exec sql int i; + exec sql char c[6]; + + ECPGdebug(1, stderr); + + exec sql connect to REGRESSDB1; + exec sql create table test(i int, c char(10)); + exec sql insert into test values(1, 'abcdefghij'); + + exec sql whenever sqlwarning do warn(); + exec sql select * into :i, :c from test; + exec sql rollback; + + exec sql select * into :i from nonexistant; + exec sql rollback; + + exec sql whenever sqlerror do print("select"); + exec sql select * into :i from nonexistant; + exec sql rollback; + + exec sql whenever sqlerror call print2(); + exec sql select * into :i from nonexistant; + exec sql rollback; + + exec sql whenever sqlerror continue; + exec sql select * into :i from nonexistant; + exec sql rollback; + + exec sql whenever sqlerror goto error; + exec sql select * into :i from nonexistant; + printf("Should not be reachable\n"); + + error: + exec sql rollback; + + exec sql whenever sqlerror stop; + exec sql select * into :i from nonexistant; + exec sql rollback; + exit (0); +} |
