1 /* Processed by ecpg (regression mode) */
2 /* These include files are added by the preprocessor */
3 #include <ecpglib.h>
4 #include <ecpgerrno.h>
5 #include <sqlca.h>
6 /* End of automatic include section */
7 #define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
8
9 #line 1 "code100.pgc"
10
11 #line 1 "sqlca.h"
12 #ifndef POSTGRES_SQLCA_H
13 #define POSTGRES_SQLCA_H
14
15 #ifndef PGDLLIMPORT
16 #if defined(WIN32) || defined(__CYGWIN__)
17 #define PGDLLIMPORT __declspec (dllimport)
18 #else
19 #define PGDLLIMPORT
20 #endif /* __CYGWIN__ */
21 #endif /* PGDLLIMPORT */
22
23 #define SQLERRMC_LEN 150
24
25 #ifdef __cplusplus
26 extern "C"
27 {
28 #endif
29
30 struct sqlca_t
31 {
32 char sqlcaid[8];
33 long sqlabc;
34 long sqlcode;
35 struct
36 {
37 int sqlerrml;
38 char sqlerrmc[SQLERRMC_LEN];
39 } sqlerrm;
40 char sqlerrp[8];
41 long sqlerrd[6];
42 /* Element 0: empty */
43 /* 1: OID of processed tuple if applicable */
44 /* 2: number of rows processed */
45 /* after an INSERT, UPDATE or */
46 /* DELETE statement */
47 /* 3: empty */
48 /* 4: empty */
49 /* 5: empty */
50 char sqlwarn[8];
51 /* Element 0: set to 'W' if at least one other is 'W' */
52 /* 1: if 'W' at least one character string */
53 /* value was truncated when it was */
54 /* stored into a host variable. */
55
56 /*
57 * 2: if 'W' a (hopefully) non-fatal notice occurred
58 */ /* 3: empty */
59 /* 4: empty */
60 /* 5: empty */
61 /* 6: empty */
62 /* 7: empty */
63
64 char sqlstate[5];
65 };
66
67 struct sqlca_t *ECPGget_sqlca(void);
68
69 #ifndef POSTGRES_ECPG_INTERNAL
70 #define sqlca (*ECPGget_sqlca())
71 #endif
72
73 #ifdef __cplusplus
74 }
75 #endif
76
77 #endif
78
79 #line 1 "code100.pgc"
80
81 #include <stdio.h>
82
83
84 #line 1 "regression.h"
85
86
87
88
89
90
91 #line 4 "code100.pgc"
92
93
94
main()95 int main()
96 { /* exec sql begin declare section */
97
98
99 #line 9 "code100.pgc"
100 int index ;
101 /* exec sql end declare section */
102 #line 10 "code100.pgc"
103
104
105
106 ECPGdebug(1,stderr);
107
108 { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); }
109 #line 15 "code100.pgc"
110
111 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
112
113 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table test ( \"index\" numeric ( 3 ) primary key , \"payload\" int4 not null )", ECPGt_EOIT, ECPGt_EORT);}
114 #line 20 "code100.pgc"
115
116 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
117 { ECPGtrans(__LINE__, NULL, "commit work");}
118 #line 22 "code100.pgc"
119
120 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
121
122 for (index=0;index<10;++index)
123 { { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into test ( payload , index ) values ( 0 , $1 )",
124 ECPGt_int,&(index),(long)1,(long)1,sizeof(int),
125 ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);}
126 #line 28 "code100.pgc"
127
128 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
129 }
130 { ECPGtrans(__LINE__, NULL, "commit work");}
131 #line 31 "code100.pgc"
132
133 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
134
135 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update test set payload = payload + 1 where index = - 1", ECPGt_EOIT, ECPGt_EORT);}
136 #line 35 "code100.pgc"
137
138 if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
139
140 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "delete from test where index = - 1", ECPGt_EOIT, ECPGt_EORT);}
141 #line 38 "code100.pgc"
142
143 if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
144
145 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into test ( select * from test where index = - 1 )", ECPGt_EOIT, ECPGt_EORT);}
146 #line 41 "code100.pgc"
147
148 if (sqlca.sqlcode!=100) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
149
150 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table test", ECPGt_EOIT, ECPGt_EORT);}
151 #line 44 "code100.pgc"
152
153 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
154 { ECPGtrans(__LINE__, NULL, "commit work");}
155 #line 46 "code100.pgc"
156
157 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
158
159 { ECPGdisconnect(__LINE__, "CURRENT");}
160 #line 49 "code100.pgc"
161
162 if (sqlca.sqlcode) printf("%ld:%s\n",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
163 return 0;
164 }
165