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 "init.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 "init.pgc"
80
81
82 enum e { ENUM0, ENUM1 };
83 struct sa { int member; };
84
fa(void)85 static int fa(void)
86 {
87 printf("in fa\n");
88 return 2;
89 }
90
91 static int
fb(int x)92 fb(int x)
93 {
94 printf("in fb (%d)\n", x);
95 return x;
96 }
97
98 static int
fc(const char * x)99 fc(const char *x)
100 {
101 printf("in fc (%s)\n", x);
102 return *x;
103 }
104
fd(const char * x,int i)105 static int fd(const char *x,int i)
106 {
107 printf("in fd (%s, %d)\n", x, i);
108 return (*x)*i;
109 }
110
fe(enum e x)111 static int fe(enum e x)
112 {
113 printf("in fe (%d)\n", (int) x);
114 return (int)x;
115 }
116
sqlnotice(const char * notice,short trans)117 static void sqlnotice(const char *notice, short trans)
118 {
119 if (!notice)
120 notice = "-empty-";
121 printf("in sqlnotice (%s, %d)\n", notice, trans);
122 }
123
124
125
126 #define YES 1
127
128 #ifdef _cplusplus
129 namespace N
130 {
131 static const int i=2;
132 };
133 #endif
134
main(void)135 int main(void)
136 {
137 struct sa x = { 14 },*y = &x;
138 /* exec sql begin declare section */
139
140
141
142
143
144
145
146
147
148
149
150 /* = 1L */
151
152 #line 60 "init.pgc"
153 int a = ( int ) 2 ;
154
155 #line 61 "init.pgc"
156 int b = 2 + 2 ;
157
158 #line 62 "init.pgc"
159 int b2 = ( 14 * 7 ) ;
160
161 #line 63 "init.pgc"
162 int d = x . member ;
163
164 #line 64 "init.pgc"
165 int g = fb ( 2 ) ;
166
167 #line 65 "init.pgc"
168 int i = 3 ^ 1 ;
169
170 #line 66 "init.pgc"
171 int j = 1 ? 1 : 2 ;
172
173 #line 68 "init.pgc"
174 int e = y -> member ;
175
176 #line 69 "init.pgc"
177 int c = 10 >> 2 ;
178
179 #line 70 "init.pgc"
180 bool h = 2 || 1 ;
181
182 #line 71 "init.pgc"
183 long iay ;
184 /* exec sql end declare section */
185 #line 72 "init.pgc"
186
187
188 int f=fa();
189
190 #ifdef _cplusplus
191 /* exec sql begin declare section */
192 /* compile error */
193
194 #line 78 "init.pgc"
195 int k = N : : i ;
196 /* exec sql end declare section */
197 #line 79 "init.pgc"
198
199 #endif
200
201 ECPGdebug(1, stderr);
202
203 printf("%d %d %d %d %d %d %d %d %d %d %d\n", a, b, b2, c, d, e, f, g, h, i, j);
204 iay = 0;
205 printf("%ld\n", iay);
206 /* exec sql whenever sqlerror do fa ( ) ; */
207 #line 87 "init.pgc"
208
209 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select now ( )", ECPGt_EOIT, ECPGt_EORT);
210 #line 88 "init.pgc"
211
212 if (sqlca.sqlcode < 0) fa ( );}
213 #line 88 "init.pgc"
214
215 /* exec sql whenever sqlerror do fb ( 20 ) ; */
216 #line 89 "init.pgc"
217
218 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select now ( )", ECPGt_EOIT, ECPGt_EORT);
219 #line 90 "init.pgc"
220
221 if (sqlca.sqlcode < 0) fb ( 20 );}
222 #line 90 "init.pgc"
223
224 /* exec sql whenever sqlerror do fc ( \"50\" ) ; */
225 #line 91 "init.pgc"
226
227 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select now ( )", ECPGt_EOIT, ECPGt_EORT);
228 #line 92 "init.pgc"
229
230 if (sqlca.sqlcode < 0) fc ( "50" );}
231 #line 92 "init.pgc"
232
233 /* exec sql whenever sqlerror do fd ( \"50\" , 1 ) ; */
234 #line 93 "init.pgc"
235
236 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select now ( )", ECPGt_EOIT, ECPGt_EORT);
237 #line 94 "init.pgc"
238
239 if (sqlca.sqlcode < 0) fd ( "50" , 1 );}
240 #line 94 "init.pgc"
241
242 /* exec sql whenever sqlerror do fe ( ENUM0 ) ; */
243 #line 95 "init.pgc"
244
245 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select now ( )", ECPGt_EOIT, ECPGt_EORT);
246 #line 96 "init.pgc"
247
248 if (sqlca.sqlcode < 0) fe ( ENUM0 );}
249 #line 96 "init.pgc"
250
251 /* exec sql whenever sqlerror do sqlnotice ( NULL , 0 ) ; */
252 #line 97 "init.pgc"
253
254 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select now ( )", ECPGt_EOIT, ECPGt_EORT);
255 #line 98 "init.pgc"
256
257 if (sqlca.sqlcode < 0) sqlnotice ( NULL , 0 );}
258 #line 98 "init.pgc"
259
260 return 0;
261 }
262