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 "cursor.pgc"
10 #include <stdlib.h>
11 #include <string.h>
12 
13 
14 #line 1 "regression.h"
15 
16 
17 
18 
19 
20 
21 #line 4 "cursor.pgc"
22 
23 
24 /* exec sql whenever sqlerror  stop ; */
25 #line 6 "cursor.pgc"
26 
27 
28 /* exec sql type c is char reference */
29 #line 8 "cursor.pgc"
30 
31 typedef char* c;
32 
33 /* exec sql type ind is union {
34 #line 11 "cursor.pgc"
35  int integer ;
36 
37 #line 11 "cursor.pgc"
38  short smallint ;
39  } */
40 #line 11 "cursor.pgc"
41 
42 typedef union { int integer; short smallint; } ind;
43 
44 #define BUFFERSIZ 8
45 /* exec sql type str is [ BUFFERSIZ ] */
46 #line 15 "cursor.pgc"
47 
48 
49 #define CURNAME "mycur"
50 
51 int
main(void)52 main (void)
53 {
54 /* exec sql begin declare section */
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 #line 23 "cursor.pgc"
66  char * stmt1 = "SELECT id, t FROM t1" ;
67 
68 #line 24 "cursor.pgc"
69  char * curname1 = CURNAME ;
70 
71 #line 25 "cursor.pgc"
72  char * curname2 = CURNAME ;
73 
74 #line 26 "cursor.pgc"
75  char * curname3 = CURNAME ;
76 
77 #line 27 "cursor.pgc"
78   struct varchar_1  { int len; char arr[ 50 ]; }  curname4 ;
79 
80 #line 28 "cursor.pgc"
81  char * curname5 = CURNAME ;
82 
83 #line 29 "cursor.pgc"
84  int count ;
85 
86 #line 30 "cursor.pgc"
87  int id ;
88 
89 #line 31 "cursor.pgc"
90  char t [ 64 ] ;
91 /* exec sql end declare section */
92 #line 32 "cursor.pgc"
93 
94 
95 	char msg[128];
96 
97 	ECPGdebug(1, stderr);
98 
99 	strcpy(msg, "connect");
100 	{ ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , "test1", 0);
101 #line 39 "cursor.pgc"
102 
103 if (sqlca.sqlcode < 0) exit (1);}
104 #line 39 "cursor.pgc"
105 
106 	{ ECPGconnect(__LINE__, 0, "ecpg2_regression" , NULL, NULL , "test2", 0);
107 #line 40 "cursor.pgc"
108 
109 if (sqlca.sqlcode < 0) exit (1);}
110 #line 40 "cursor.pgc"
111 
112 
113 	strcpy(msg, "set");
114 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT);
115 #line 43 "cursor.pgc"
116 
117 if (sqlca.sqlcode < 0) exit (1);}
118 #line 43 "cursor.pgc"
119 
120 
121 	strcpy(msg, "create");
122 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "create table t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT);
123 #line 46 "cursor.pgc"
124 
125 if (sqlca.sqlcode < 0) exit (1);}
126 #line 46 "cursor.pgc"
127 
128 	{ ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "create table t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT);
129 #line 47 "cursor.pgc"
130 
131 if (sqlca.sqlcode < 0) exit (1);}
132 #line 47 "cursor.pgc"
133 
134 
135 	strcpy(msg, "insert");
136 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'a' )", ECPGt_EOIT, ECPGt_EORT);
137 #line 50 "cursor.pgc"
138 
139 if (sqlca.sqlcode < 0) exit (1);}
140 #line 50 "cursor.pgc"
141 
142 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'b' )", ECPGt_EOIT, ECPGt_EORT);
143 #line 51 "cursor.pgc"
144 
145 if (sqlca.sqlcode < 0) exit (1);}
146 #line 51 "cursor.pgc"
147 
148 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'c' )", ECPGt_EOIT, ECPGt_EORT);
149 #line 52 "cursor.pgc"
150 
151 if (sqlca.sqlcode < 0) exit (1);}
152 #line 52 "cursor.pgc"
153 
154 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'd' )", ECPGt_EOIT, ECPGt_EORT);
155 #line 53 "cursor.pgc"
156 
157 if (sqlca.sqlcode < 0) exit (1);}
158 #line 53 "cursor.pgc"
159 
160 	{ ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "insert into t1 ( id , t ) values ( default , 'e' )", ECPGt_EOIT, ECPGt_EORT);
161 #line 54 "cursor.pgc"
162 
163 if (sqlca.sqlcode < 0) exit (1);}
164 #line 54 "cursor.pgc"
165 
166 
167 	strcpy(msg, "commit");
168 	{ ECPGtrans(__LINE__, "test1", "commit");
169 #line 57 "cursor.pgc"
170 
171 if (sqlca.sqlcode < 0) exit (1);}
172 #line 57 "cursor.pgc"
173 
174 	{ ECPGtrans(__LINE__, "test2", "commit");
175 #line 58 "cursor.pgc"
176 
177 if (sqlca.sqlcode < 0) exit (1);}
178 #line 58 "cursor.pgc"
179 
180 
181 	/* Dynamic cursorname test with INTO list in FETCH stmts */
182 
183 	strcpy(msg, "declare");
184 	ECPGset_var( 0, &( curname1 ), __LINE__);\
185  /* declare $0 cursor for select id , t from t1 */
186 #line 64 "cursor.pgc"
187 
188 
189 	strcpy(msg, "open");
190 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1",
191 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
192 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
193 #line 67 "cursor.pgc"
194 
195 if (sqlca.sqlcode < 0) exit (1);}
196 #line 67 "cursor.pgc"
197 
198 
199 	strcpy(msg, "fetch from");
200 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward from $0",
201 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
202 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
203 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
204 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
205 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
206 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
207 #line 70 "cursor.pgc"
208 
209 if (sqlca.sqlcode < 0) exit (1);}
210 #line 70 "cursor.pgc"
211 
212 	printf("%d %s\n", id, t);
213 
214 	strcpy(msg, "fetch");
215 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch forward $0",
216 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
217 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
218 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
219 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
220 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
221 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
222 #line 74 "cursor.pgc"
223 
224 if (sqlca.sqlcode < 0) exit (1);}
225 #line 74 "cursor.pgc"
226 
227 	printf("%d %s\n", id, t);
228 
229 	strcpy(msg, "fetch 1 from");
230 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
231 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
232 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
233 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
234 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
235 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
236 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
237 #line 78 "cursor.pgc"
238 
239 if (sqlca.sqlcode < 0) exit (1);}
240 #line 78 "cursor.pgc"
241 
242 	printf("%d %s\n", id, t);
243 
244 	strcpy(msg, "fetch :count from");
245 	count = 1;
246 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
247 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
248 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
249 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
250 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
251 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
252 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
253 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
254 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
255 #line 83 "cursor.pgc"
256 
257 if (sqlca.sqlcode < 0) exit (1);}
258 #line 83 "cursor.pgc"
259 
260 	printf("%d %s\n", id, t);
261 
262 	strcpy(msg, "move in");
263 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 in $0",
264 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
265 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
266 #line 87 "cursor.pgc"
267 
268 if (sqlca.sqlcode < 0) exit (1);}
269 #line 87 "cursor.pgc"
270 
271 
272 	strcpy(msg, "fetch 1");
273 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
274 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
275 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
276 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
277 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
278 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
279 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
280 #line 90 "cursor.pgc"
281 
282 if (sqlca.sqlcode < 0) exit (1);}
283 #line 90 "cursor.pgc"
284 
285 	printf("%d %s\n", id, t);
286 
287 	strcpy(msg, "fetch :count");
288 	count = 1;
289 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
290 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
291 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
292 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
293 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
294 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
295 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
296 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
297 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
298 #line 95 "cursor.pgc"
299 
300 if (sqlca.sqlcode < 0) exit (1);}
301 #line 95 "cursor.pgc"
302 
303 	printf("%d %s\n", id, t);
304 
305 	strcpy(msg, "close");
306 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
307 	ECPGt_char,&(curname1),(long)0,(long)1,(1)*sizeof(char),
308 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
309 #line 99 "cursor.pgc"
310 
311 if (sqlca.sqlcode < 0) exit (1);}
312 #line 99 "cursor.pgc"
313 
314 
315 	/* Dynamic cursorname test with INTO list in DECLARE stmt */
316 
317 	strcpy(msg, "declare");
318 	ECPGset_var( 1, &( curname2 ), __LINE__);\
319  ECPGset_var( 2, ( t ), __LINE__);\
320  ECPGset_var( 3, &( id ), __LINE__);\
321  /* declare $0 cursor for select id , t from t1 */
322 #line 105 "cursor.pgc"
323 
324 
325 	strcpy(msg, "open");
326 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for select id , t from t1",
327 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
328 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
329 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
330 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
331 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
332 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
333 #line 108 "cursor.pgc"
334 
335 if (sqlca.sqlcode < 0) exit (1);}
336 #line 108 "cursor.pgc"
337 
338 
339 	strcpy(msg, "fetch from");
340 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
341 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
342 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
343 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
344 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
345 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
346 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
347 #line 111 "cursor.pgc"
348 
349 if (sqlca.sqlcode < 0) exit (1);}
350 #line 111 "cursor.pgc"
351 
352 	printf("%d %s\n", id, t);
353 
354 	strcpy(msg, "fetch");
355 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0",
356 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
357 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
358 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
359 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
360 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
361 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
362 #line 115 "cursor.pgc"
363 
364 if (sqlca.sqlcode < 0) exit (1);}
365 #line 115 "cursor.pgc"
366 
367 	printf("%d %s\n", id, t);
368 
369 	strcpy(msg, "fetch 1 from");
370 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
371 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
372 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
373 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
374 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
375 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
376 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
377 #line 119 "cursor.pgc"
378 
379 if (sqlca.sqlcode < 0) exit (1);}
380 #line 119 "cursor.pgc"
381 
382 	printf("%d %s\n", id, t);
383 
384 	strcpy(msg, "fetch :count from");
385 	count = 1;
386 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
387 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
388 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
389 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
390 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
391 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
392 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
393 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
394 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
395 #line 124 "cursor.pgc"
396 
397 if (sqlca.sqlcode < 0) exit (1);}
398 #line 124 "cursor.pgc"
399 
400 	printf("%d %s\n", id, t);
401 
402 	strcpy(msg, "move");
403 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
404 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
405 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
406 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
407 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
408 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
409 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
410 #line 128 "cursor.pgc"
411 
412 if (sqlca.sqlcode < 0) exit (1);}
413 #line 128 "cursor.pgc"
414 
415 
416 	strcpy(msg, "fetch 1");
417 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
418 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
419 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
420 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
421 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
422 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
423 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
424 #line 131 "cursor.pgc"
425 
426 if (sqlca.sqlcode < 0) exit (1);}
427 #line 131 "cursor.pgc"
428 
429 	printf("%d %s\n", id, t);
430 
431 	strcpy(msg, "fetch :count");
432 	count = 1;
433 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
434 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
435 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
436 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
437 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
438 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
439 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
440 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
441 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
442 #line 136 "cursor.pgc"
443 
444 if (sqlca.sqlcode < 0) exit (1);}
445 #line 136 "cursor.pgc"
446 
447 	printf("%d %s\n", id, t);
448 
449 	strcpy(msg, "close");
450 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
451 	ECPGt_char,&(curname2),(long)0,(long)1,(1)*sizeof(char),
452 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
453 #line 140 "cursor.pgc"
454 
455 if (sqlca.sqlcode < 0) exit (1);}
456 #line 140 "cursor.pgc"
457 
458 
459 	/* Dynamic cursorname test with PREPARED stmt */
460 
461 	strcpy(msg, "prepare");
462 	{ ECPGprepare(__LINE__, "test1", 0, "st_id1", stmt1);
463 #line 145 "cursor.pgc"
464 
465 if (sqlca.sqlcode < 0) exit (1);}
466 #line 145 "cursor.pgc"
467 
468 	{ ECPGprepare(__LINE__, "test2", 0, "st_id1", stmt1);
469 #line 146 "cursor.pgc"
470 
471 if (sqlca.sqlcode < 0) exit (1);}
472 #line 146 "cursor.pgc"
473 
474 
475 	strcpy(msg, "declare");
476 	ECPGset_var( 4, &( curname3 ), __LINE__);\
477  /* declare $0 cursor for $1 */
478 #line 149 "cursor.pgc"
479 
480 	ECPGset_var( 5, &( curname5 ), __LINE__);\
481  /* declare $0 cursor for $1 */
482 #line 150 "cursor.pgc"
483 
484 
485 	strcpy(msg, "open");
486 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1",
487 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
488 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
489 	ECPGt_char_variable,(ECPGprepared_statement("test1", "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
490 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
491 #line 153 "cursor.pgc"
492 
493 if (sqlca.sqlcode < 0) exit (1);}
494 #line 153 "cursor.pgc"
495 
496 	{ ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "declare $0 cursor for $1",
497 	ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char),
498 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
499 	ECPGt_char_variable,(ECPGprepared_statement("test2", "st_id1", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
500 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
501 #line 154 "cursor.pgc"
502 
503 if (sqlca.sqlcode < 0) exit (1);}
504 #line 154 "cursor.pgc"
505 
506 
507 	strcpy(msg, "fetch");
508 	{ ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "fetch $0",
509 	ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char),
510 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
511 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
512 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
513 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
514 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
515 #line 157 "cursor.pgc"
516 
517 if (sqlca.sqlcode < 0) exit (1);}
518 #line 157 "cursor.pgc"
519 
520 	printf("%d %s\n", id, t);
521 
522 	strcpy(msg, "fetch from");
523 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
524 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
525 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
526 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
527 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
528 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
529 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
530 #line 161 "cursor.pgc"
531 
532 if (sqlca.sqlcode < 0) exit (1);}
533 #line 161 "cursor.pgc"
534 
535 	printf("%d %s\n", id, t);
536 
537 	strcpy(msg, "fetch 1 from");
538 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
539 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
540 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
541 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
542 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
543 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
544 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
545 #line 165 "cursor.pgc"
546 
547 if (sqlca.sqlcode < 0) exit (1);}
548 #line 165 "cursor.pgc"
549 
550 	printf("%d %s\n", id, t);
551 
552 	strcpy(msg, "fetch :count from");
553 	count = 1;
554 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
555 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
556 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
557 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
558 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
559 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
560 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
561 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
562 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
563 #line 170 "cursor.pgc"
564 
565 if (sqlca.sqlcode < 0) exit (1);}
566 #line 170 "cursor.pgc"
567 
568 	printf("%d %s\n", id, t);
569 
570 	strcpy(msg, "move");
571 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
572 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
573 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
574 #line 174 "cursor.pgc"
575 
576 if (sqlca.sqlcode < 0) exit (1);}
577 #line 174 "cursor.pgc"
578 
579 
580 	strcpy(msg, "fetch 1");
581 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
582 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
583 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
584 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
585 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
586 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
587 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
588 #line 177 "cursor.pgc"
589 
590 if (sqlca.sqlcode < 0) exit (1);}
591 #line 177 "cursor.pgc"
592 
593 	printf("%d %s\n", id, t);
594 
595 	strcpy(msg, "fetch :count");
596 	count = 1;
597 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
598 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
599 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
600 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
601 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
602 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
603 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
604 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
605 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
606 #line 182 "cursor.pgc"
607 
608 if (sqlca.sqlcode < 0) exit (1);}
609 #line 182 "cursor.pgc"
610 
611 	printf("%d %s\n", id, t);
612 
613 	strcpy(msg, "close");
614 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
615 	ECPGt_char,&(curname3),(long)0,(long)1,(1)*sizeof(char),
616 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
617 #line 186 "cursor.pgc"
618 
619 if (sqlca.sqlcode < 0) exit (1);}
620 #line 186 "cursor.pgc"
621 
622 	{ ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "close $0",
623 	ECPGt_char,&(curname5),(long)0,(long)1,(1)*sizeof(char),
624 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
625 #line 187 "cursor.pgc"
626 
627 if (sqlca.sqlcode < 0) exit (1);}
628 #line 187 "cursor.pgc"
629 
630 
631 	strcpy(msg, "deallocate prepare");
632 	{ ECPGdeallocate(__LINE__, 0, "test1", "st_id1");
633 #line 190 "cursor.pgc"
634 
635 if (sqlca.sqlcode < 0) exit (1);}
636 #line 190 "cursor.pgc"
637 
638 	{ ECPGdeallocate(__LINE__, 0, "test2", "st_id1");
639 #line 191 "cursor.pgc"
640 
641 if (sqlca.sqlcode < 0) exit (1);}
642 #line 191 "cursor.pgc"
643 
644 
645 	/* Dynamic cursorname test with PREPARED stmt,
646 	   cursor name in varchar */
647 
648 	curname4.len = strlen(CURNAME);
649 	strcpy(curname4.arr, CURNAME);
650 
651 	strcpy(msg, "prepare");
652 	{ ECPGprepare(__LINE__, "test1", 0, "st_id2", stmt1);
653 #line 200 "cursor.pgc"
654 
655 if (sqlca.sqlcode < 0) exit (1);}
656 #line 200 "cursor.pgc"
657 
658 
659 	strcpy(msg, "declare");
660 	ECPGset_var( 6, &( curname4 ), __LINE__);\
661  /* declare $0 cursor for $1 */
662 #line 203 "cursor.pgc"
663 
664 
665 	strcpy(msg, "open");
666 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "declare $0 cursor for $1",
667 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
668 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
669 	ECPGt_char_variable,(ECPGprepared_statement("test1", "st_id2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
670 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
671 #line 206 "cursor.pgc"
672 
673 if (sqlca.sqlcode < 0) exit (1);}
674 #line 206 "cursor.pgc"
675 
676 
677 	strcpy(msg, "fetch from");
678 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch from $0",
679 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
680 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
681 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
682 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
683 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
684 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
685 #line 209 "cursor.pgc"
686 
687 if (sqlca.sqlcode < 0) exit (1);}
688 #line 209 "cursor.pgc"
689 
690 	printf("%d %s\n", id, t);
691 
692 	strcpy(msg, "fetch");
693 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0",
694 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
695 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
696 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
697 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
698 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
699 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
700 #line 213 "cursor.pgc"
701 
702 if (sqlca.sqlcode < 0) exit (1);}
703 #line 213 "cursor.pgc"
704 
705 	printf("%d %s\n", id, t);
706 
707 	strcpy(msg, "fetch 1 from");
708 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 from $0",
709 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
710 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
711 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
712 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
713 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
714 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
715 #line 217 "cursor.pgc"
716 
717 if (sqlca.sqlcode < 0) exit (1);}
718 #line 217 "cursor.pgc"
719 
720 	printf("%d %s\n", id, t);
721 
722 	strcpy(msg, "fetch :count from");
723 	count = 1;
724 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 from $0",
725 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
726 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
727 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
728 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
729 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
730 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
731 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
732 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
733 #line 222 "cursor.pgc"
734 
735 if (sqlca.sqlcode < 0) exit (1);}
736 #line 222 "cursor.pgc"
737 
738 	printf("%d %s\n", id, t);
739 
740 	strcpy(msg, "move");
741 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "move absolute 0 $0",
742 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
743 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
744 #line 226 "cursor.pgc"
745 
746 if (sqlca.sqlcode < 0) exit (1);}
747 #line 226 "cursor.pgc"
748 
749 
750 	strcpy(msg, "fetch 1");
751 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch 1 $0",
752 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
753 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
754 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
755 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
756 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
757 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
758 #line 229 "cursor.pgc"
759 
760 if (sqlca.sqlcode < 0) exit (1);}
761 #line 229 "cursor.pgc"
762 
763 	printf("%d %s\n", id, t);
764 
765 	strcpy(msg, "fetch :count");
766 	count = 1;
767 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "fetch $0 $0",
768 	ECPGt_int,&(count),(long)1,(long)1,sizeof(int),
769 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
770 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
771 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
772 	ECPGt_int,&(id),(long)1,(long)1,sizeof(int),
773 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
774 	ECPGt_char,(t),(long)64,(long)1,(64)*sizeof(char),
775 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
776 #line 234 "cursor.pgc"
777 
778 if (sqlca.sqlcode < 0) exit (1);}
779 #line 234 "cursor.pgc"
780 
781 	printf("%d %s\n", id, t);
782 
783 	strcpy(msg, "close");
784 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "close $0",
785 	ECPGt_varchar,&(curname4),(long)50,(long)1,sizeof(struct varchar_1),
786 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
787 #line 238 "cursor.pgc"
788 
789 if (sqlca.sqlcode < 0) exit (1);}
790 #line 238 "cursor.pgc"
791 
792 
793 	strcpy(msg, "deallocate prepare");
794 	{ ECPGdeallocate(__LINE__, 0, "test1", "st_id2");
795 #line 241 "cursor.pgc"
796 
797 if (sqlca.sqlcode < 0) exit (1);}
798 #line 241 "cursor.pgc"
799 
800 
801 	/* End test */
802 
803 	strcpy(msg, "drop");
804 	{ ECPGdo(__LINE__, 0, 1, "test1", 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT);
805 #line 246 "cursor.pgc"
806 
807 if (sqlca.sqlcode < 0) exit (1);}
808 #line 246 "cursor.pgc"
809 
810 	{ ECPGdo(__LINE__, 0, 1, "test2", 0, ECPGst_normal, "drop table t1", ECPGt_EOIT, ECPGt_EORT);
811 #line 247 "cursor.pgc"
812 
813 if (sqlca.sqlcode < 0) exit (1);}
814 #line 247 "cursor.pgc"
815 
816 
817 	strcpy(msg, "commit");
818 	{ ECPGtrans(__LINE__, "test1", "commit");
819 #line 250 "cursor.pgc"
820 
821 if (sqlca.sqlcode < 0) exit (1);}
822 #line 250 "cursor.pgc"
823 
824 
825 	strcpy(msg, "disconnect");
826 	{ ECPGdisconnect(__LINE__, "ALL");
827 #line 253 "cursor.pgc"
828 
829 if (sqlca.sqlcode < 0) exit (1);}
830 #line 253 "cursor.pgc"
831 
832 
833 	return (0);
834 }
835