summaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2000-01-18 13:03:49 +0000
committerMichael Meskes <meskes@postgresql.org>2000-01-18 13:03:49 +0000
commitc80ba6a1b5daff642a3e9587b2ffbd8a9472c926 (patch)
treee405943bdca142edae418320f8db128eab6b113c /src/interfaces/ecpg/test
parent4cd086ce43da8fa8049f328797f46a3bdb35e381 (diff)
downloadpostgresql-c80ba6a1b5daff642a3e9587b2ffbd8a9472c926.tar.gz
*** empty log message ***
Diffstat (limited to 'src/interfaces/ecpg/test')
-rw-r--r--src/interfaces/ecpg/test/header_test.h18
-rw-r--r--src/interfaces/ecpg/test/perftest.pgc28
-rw-r--r--src/interfaces/ecpg/test/test1.pgc17
-rw-r--r--src/interfaces/ecpg/test/test2.pgc4
-rw-r--r--src/interfaces/ecpg/test/test3.pgc4
5 files changed, 56 insertions, 15 deletions
diff --git a/src/interfaces/ecpg/test/header_test.h b/src/interfaces/ecpg/test/header_test.h
index 72408ae9bb..71017aacbb 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();
diff --git a/src/interfaces/ecpg/test/perftest.pgc b/src/interfaces/ecpg/test/perftest.pgc
index 6ec604d47f..3bd4982eef 100644
--- a/src/interfaces/ecpg/test/perftest.pgc
+++ b/src/interfaces/ecpg/test/perftest.pgc
@@ -38,6 +38,12 @@ exec sql end declare section;
exec sql create unique index number2 on perftest2(number);
+ exec sql commit;
+
+ exec sql set autocommit to on;
+
+ exec sql begin transaction;
+
gettimeofday(&tvs, NULL);
for (i = 0;i < 1407; i++)
@@ -49,14 +55,16 @@ exec sql end declare section;
sprintf(text, "%ld", i);
exec sql insert into perftest1(number, ascii) values (:i, :text);
exec sql insert into perftest2(number, next_number) values (:i, :i+1);
-
- exec sql commit;
}
+ exec sql commit;
+
gettimeofday(&tve, NULL);
print_result(tve.tv_sec - tvs.tv_sec, tve.tv_usec - tvs.tv_usec, "insert");
+ exec sql begin transaction;
+
gettimeofday(&tvs, NULL);
for (i = 0;i < 1407; i++)
@@ -66,14 +74,16 @@ exec sql end declare section;
exec sql end declare section;
exec sql select ascii into :text from perftest1 where number = :i;
-
- exec sql commit;
}
+ exec sql commit;
+
gettimeofday(&tve, NULL);
print_result(tve.tv_sec - tvs.tv_sec, tve.tv_usec - tvs.tv_usec, "selection&projection");
+ exec sql begin transaction;
+
gettimeofday(&tvs, NULL);
for (i = 0;i < 1407; i++)
@@ -83,14 +93,16 @@ exec sql end declare section;
exec sql end declare section;
exec sql select perftest1.ascii into :text from perftest1, perftest2 where perftest1.number = perftest2.number and perftest2.number = :i;
-
- exec sql commit;
}
+ exec sql commit;
+
gettimeofday(&tve, NULL);
print_result(tve.tv_sec - tvs.tv_sec, tve.tv_usec - tvs.tv_usec, "join");
+ exec sql begin transaction;
+
gettimeofday(&tvs, NULL);
exec sql update perftest2 set next_number = next_number + 1;
@@ -101,6 +113,8 @@ exec sql end declare section;
print_result(tve.tv_sec - tvs.tv_sec, tve.tv_usec - tvs.tv_usec, "update");
+ exec sql begin transaction;
+
gettimeofday(&tvs, NULL);
exec sql delete from perftest2;
@@ -111,6 +125,8 @@ exec sql end declare section;
print_result(tve.tv_sec - tvs.tv_sec, tve.tv_usec - tvs.tv_usec, "delete");
+ exec sql set autocommit = off;
+
exec sql drop index number2;
exec sql drop table perftest2;
diff --git a/src/interfaces/ecpg/test/test1.pgc b/src/interfaces/ecpg/test/test1.pgc
index be3a2fc61e..d8980ade54 100644
--- a/src/interfaces/ecpg/test/test1.pgc
+++ b/src/interfaces/ecpg/test/test1.pgc
@@ -1,4 +1,19 @@
-exec sql include header_test;
+exec sql include sqlca;
+
+exec sql whenever sqlerror do PrintAndStop(msg);
+exec sql whenever sqlwarning do warn();
+
+void PrintAndStop(msg)
+{
+ fprintf(stderr, "Error in statement '%s':\n", msg);
+ sqlprint();
+ exit(-1);
+}
+
+void warn(void)
+{
+ fprintf(stderr, "Warning: At least one column was truncated\n");
+}
exec sql include sqlca;
diff --git a/src/interfaces/ecpg/test/test2.pgc b/src/interfaces/ecpg/test/test2.pgc
index 87f5f9c5ef..3288b7df6a 100644
--- a/src/interfaces/ecpg/test/test2.pgc
+++ b/src/interfaces/ecpg/test/test2.pgc
@@ -62,7 +62,7 @@ exec sql end declare section;
while (1) {
strcpy(msg, "fetch");
- exec sql fetch in cur into :personal:ind_personal, :married:ind_married, :children.integer:ind_children.smallint;
+ exec sql fetch from cur into :personal:ind_personal, :married:ind_married, :children.integer:ind_children.smallint;
printf("%8.8s", personal.name.arr);
if (ind_personal.ind_birth.born >= 0)
printf(", born %d", personal.birth.born);
@@ -81,7 +81,7 @@ exec sql end declare section;
strcpy(msg, "close");
exec sql close cur;
- /* and now the same query with prepare */
+ /* and now a same query with prepare */
exec sql prepare MM from :query;
exec sql declare prep cursor for MM;
diff --git a/src/interfaces/ecpg/test/test3.pgc b/src/interfaces/ecpg/test/test3.pgc
index 12a7e3f9e2..8e0f6c30c6 100644
--- a/src/interfaces/ecpg/test/test3.pgc
+++ b/src/interfaces/ecpg/test/test3.pgc
@@ -54,7 +54,7 @@ exec sql end declare section;
while (1) {
strcpy(msg, "fetch");
- exec sql fetch in cur into :personal:ind_personal, :married:ind_married, :children:ind_children;
+ exec sql fetch cur into :personal:ind_personal, :married:ind_married, :children:ind_children;
printf("%8.8s", personal.name.arr);
if (ind_personal.ind_birth.born >= 0)
printf(", born %d", personal.birth.born);
@@ -73,7 +73,7 @@ exec sql end declare section;
strcpy(msg, "close");
exec sql close cur;
- /* and now the same query with prepare */
+ /* and now a query with prepare */
exec sql prepare MM from "select name, born, age, married, children from meskes where name = ?";
exec sql declare prep cursor for MM;