1exec sql include sqlca;
2#include <stdio.h>
3
4exec sql include ../regression;
5
6
7int main()
8{  exec sql begin declare section;
9   int index;
10   exec sql end declare section;
11
12
13   ECPGdebug(1,stderr);
14
15   exec sql connect to REGRESSDB1;
16   if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
17
18   exec sql create table test (
19        "index" numeric(3) primary key,
20        "payload" int4 NOT NULL);
21   if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
22   exec sql commit work;
23   if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
24
25   for (index=0;index<10;++index)
26   {  exec sql insert into test
27                (payload, index)
28                values (0, :index);
29      if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
30   }
31   exec sql commit work;
32   if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
33
34   exec sql update test
35	set payload=payload+1 where index=-1;
36   if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
37
38   exec sql delete from test where index=-1;
39   if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
40
41   exec sql insert into test (select * from test where index=-1);
42   if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
43
44   exec sql drop table test;
45   if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
46   exec sql commit work;
47   if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
48
49   exec sql disconnect;
50   if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
51   return 0;
52}
53