]> granicus.if.org Git - postgresql/blob - src/interfaces/ecpg/test/expected/compat_informix-describe.c
Phase 2 of pgindent updates.
[postgresql] / src / interfaces / ecpg / test / expected / compat_informix-describe.c
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 /* Needed for informix compatibility */
7 #include <ecpg_informix.h>
8 /* End of automatic include section */
9 #define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
10
11 #line 1 "describe.pgc"
12 #include <stdlib.h>
13 #include <string.h>
14
15
16 #line 1 "regression.h"
17
18
19
20
21
22
23 #line 4 "describe.pgc"
24
25
26 #line 1 "sqlda.h"
27 #ifndef ECPG_SQLDA_H
28 #define ECPG_SQLDA_H
29
30 #ifdef _ECPG_INFORMIX_H
31
32 #include "sqlda-compat.h"
33 typedef struct sqlvar_compat sqlvar_t;
34 typedef struct sqlda_compat sqlda_t;
35
36 #else
37
38 #include "sqlda-native.h"
39 typedef struct sqlvar_struct sqlvar_t;
40 typedef struct sqlda_struct sqlda_t;
41
42 #endif
43
44 #endif                                                  /* ECPG_SQLDA_H */
45
46 #line 5 "describe.pgc"
47
48
49 /* exec sql whenever sqlerror  stop ; */
50 #line 7 "describe.pgc"
51
52
53 sqlda_t *sqlda1, *sqlda2, *sqlda3;
54
55 int
56 main (void)
57 {
58 /* exec sql begin declare section */
59                   
60                   
61                   
62                   
63                   
64
65 #line 15 "describe.pgc"
66  char * stmt1 = "SELECT id, t FROM descr_t1" ;
67  
68 #line 16 "describe.pgc"
69  char * stmt2 = "SELECT id, t FROM descr_t1 WHERE id = -1" ;
70  
71 #line 17 "describe.pgc"
72  int i , count1 , count2 ;
73  
74 #line 18 "describe.pgc"
75  char field_name1 [ 30 ] = "not set" ;
76  
77 #line 19 "describe.pgc"
78  char field_name2 [ 30 ] = "not set" ;
79 /* exec sql end declare section */
80 #line 20 "describe.pgc"
81
82
83         char msg[128];
84
85         ECPGdebug(1, stderr);
86
87         strcpy(msg, "connect");
88         { ECPGconnect(__LINE__, 1, "ecpg1_regression" , NULL, NULL , NULL, 0); 
89 #line 27 "describe.pgc"
90
91 if (sqlca.sqlcode < 0) exit (1);}
92 #line 27 "describe.pgc"
93
94
95         strcpy(msg, "set");
96         { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "set datestyle to iso", ECPGt_EOIT, ECPGt_EORT);
97 #line 30 "describe.pgc"
98
99 if (sqlca.sqlcode < 0) exit (1);}
100 #line 30 "describe.pgc"
101
102
103         strcpy(msg, "create");
104         { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "create table descr_t1 ( id serial primary key , t text )", ECPGt_EOIT, ECPGt_EORT);
105 #line 33 "describe.pgc"
106
107 if (sqlca.sqlcode < 0) exit (1);}
108 #line 33 "describe.pgc"
109
110
111         strcpy(msg, "insert");
112         { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'a' )", ECPGt_EOIT, ECPGt_EORT);
113 #line 36 "describe.pgc"
114
115 if (sqlca.sqlcode < 0) exit (1);}
116 #line 36 "describe.pgc"
117
118         { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'b' )", ECPGt_EOIT, ECPGt_EORT);
119 #line 37 "describe.pgc"
120
121 if (sqlca.sqlcode < 0) exit (1);}
122 #line 37 "describe.pgc"
123
124         { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'c' )", ECPGt_EOIT, ECPGt_EORT);
125 #line 38 "describe.pgc"
126
127 if (sqlca.sqlcode < 0) exit (1);}
128 #line 38 "describe.pgc"
129
130         { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "insert into descr_t1 ( id , t ) values ( default , 'd' )", ECPGt_EOIT, ECPGt_EORT);
131 #line 39 "describe.pgc"
132
133 if (sqlca.sqlcode < 0) exit (1);}
134 #line 39 "describe.pgc"
135
136
137         strcpy(msg, "commit");
138         { ECPGtrans(__LINE__, NULL, "commit");
139 #line 42 "describe.pgc"
140
141 if (sqlca.sqlcode < 0) exit (1);}
142 #line 42 "describe.pgc"
143
144
145         /*
146          * Test DESCRIBE with a query producing tuples.
147          * DESCRIPTOR and SQL DESCRIPTOR are NOT the same in
148          * Informix-compat mode.
149          */
150
151         strcpy(msg, "allocate");
152         ECPGallocate_desc(__LINE__, "desc1");
153 #line 51 "describe.pgc"
154
155 if (sqlca.sqlcode < 0) exit (1);
156 #line 51 "describe.pgc"
157
158         ECPGallocate_desc(__LINE__, "desc2");
159 #line 52 "describe.pgc"
160
161 if (sqlca.sqlcode < 0) exit (1);
162 #line 52 "describe.pgc"
163
164
165         strcpy(msg, "prepare");
166         { ECPGprepare(__LINE__, NULL, 0, "st_id1", stmt1);
167 #line 55 "describe.pgc"
168
169 if (sqlca.sqlcode < 0) exit (1);}
170 #line 55 "describe.pgc"
171
172
173         sqlda1 = sqlda2 = sqlda3 = NULL;
174
175         strcpy(msg, "describe");
176         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1",
177         ECPGt_descriptor, "desc1", 1L, 1L, 1L, 
178         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
179 #line 60 "describe.pgc"
180
181         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1",
182         ECPGt_descriptor, "desc2", 1L, 1L, 1L, 
183         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
184 #line 61 "describe.pgc"
185
186
187         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1",
188         ECPGt_sqlda, &sqlda1, 0L, 0L, 0L, 
189         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
190 #line 63 "describe.pgc"
191
192         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1",
193         ECPGt_sqlda, &sqlda2, 0L, 0L, 0L, 
194         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
195 #line 64 "describe.pgc"
196
197         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1",
198         ECPGt_sqlda, &sqlda3, 0L, 0L, 0L, 
199         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
200 #line 65 "describe.pgc"
201
202
203         if (sqlda1 == NULL)
204         {
205                 printf("sqlda1 NULL\n");
206                 exit(1);
207         }
208
209         if (sqlda2 == NULL)
210         {
211                 printf("sqlda2 NULL\n");
212                 exit(1);
213         }
214
215         if (sqlda3 == NULL)
216         {
217                 printf("sqlda3 NULL\n");
218                 exit(1);
219         }
220
221         strcpy(msg, "get descriptor");
222         { ECPGget_desc_header(__LINE__, "desc1", &(count1));
223
224 #line 86 "describe.pgc"
225
226 if (sqlca.sqlcode < 0) exit (1);}
227 #line 86 "describe.pgc"
228
229         { ECPGget_desc_header(__LINE__, "desc1", &(count2));
230
231 #line 87 "describe.pgc"
232
233 if (sqlca.sqlcode < 0) exit (1);}
234 #line 87 "describe.pgc"
235
236
237         if (count1 != count2)
238         {
239                 printf("count1 (%d) != count2 (%d)\n", count1, count2);
240                 exit(1);
241         }
242
243         if (count1 != sqlda1->sqld)
244         {
245                 printf("count1 (%d) != sqlda1->sqld (%d)\n", count1, sqlda1->sqld);
246                 exit(1);
247         }
248
249         if (count1 != sqlda2->sqld)
250         {
251                 printf("count1 (%d) != sqlda2->sqld (%d)\n", count1, sqlda2->sqld);
252                 exit(1);
253         }
254
255         if (count1 != sqlda3->sqld)
256         {
257                 printf("count1 (%d) != sqlda3->sqld (%d)\n", count1, sqlda3->sqld);
258                 exit(1);
259         }
260
261         for (i = 1; i <= count1; i++)
262         {
263                 { ECPGget_desc(__LINE__, "desc1", i,ECPGd_name,
264         ECPGt_char,(field_name1),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT);
265
266 #line 115 "describe.pgc"
267
268 if (sqlca.sqlcode < 0) exit (1);}
269 #line 115 "describe.pgc"
270
271                 { ECPGget_desc(__LINE__, "desc2", i,ECPGd_name,
272         ECPGt_char,(field_name2),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT);
273
274 #line 116 "describe.pgc"
275
276 if (sqlca.sqlcode < 0) exit (1);}
277 #line 116 "describe.pgc"
278
279                 printf("%d\n\tfield_name1 '%s'\n\tfield_name2 '%s'\n\t"
280                         "sqlda1 '%s'\n\tsqlda2 '%s'\n\tsqlda3 '%s'\n",
281                         i, field_name1, field_name2,
282                         sqlda1->sqlvar[i-1].sqlname,
283                         sqlda2->sqlvar[i-1].sqlname,
284                         sqlda3->sqlvar[i-1].sqlname);
285         }
286
287         strcpy(msg, "deallocate");
288         ECPGdeallocate_desc(__LINE__, "desc1");
289 #line 126 "describe.pgc"
290
291 if (sqlca.sqlcode < 0) exit (1);
292 #line 126 "describe.pgc"
293
294         ECPGdeallocate_desc(__LINE__, "desc2");
295 #line 127 "describe.pgc"
296
297 if (sqlca.sqlcode < 0) exit (1);
298 #line 127 "describe.pgc"
299
300         free(sqlda1);
301         free(sqlda2);
302         free(sqlda3);
303
304         { ECPGdeallocate(__LINE__, 1, NULL, "st_id1");
305 #line 132 "describe.pgc"
306
307 if (sqlca.sqlcode < 0) exit (1);}
308 #line 132 "describe.pgc"
309
310
311         /* Test DESCRIBE with a query not producing tuples */
312
313         strcpy(msg, "allocate");
314         ECPGallocate_desc(__LINE__, "desc1");
315 #line 137 "describe.pgc"
316
317 if (sqlca.sqlcode < 0) exit (1);
318 #line 137 "describe.pgc"
319
320         ECPGallocate_desc(__LINE__, "desc2");
321 #line 138 "describe.pgc"
322
323 if (sqlca.sqlcode < 0) exit (1);
324 #line 138 "describe.pgc"
325
326
327         strcpy(msg, "prepare");
328         { ECPGprepare(__LINE__, NULL, 0, "st_id2", stmt2);
329 #line 141 "describe.pgc"
330
331 if (sqlca.sqlcode < 0) exit (1);}
332 #line 141 "describe.pgc"
333
334
335         sqlda1 = sqlda2 = sqlda3 = NULL;
336
337         strcpy(msg, "describe");
338         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2",
339         ECPGt_descriptor, "desc1", 1L, 1L, 1L, 
340         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
341 #line 146 "describe.pgc"
342
343         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2",
344         ECPGt_descriptor, "desc2", 1L, 1L, 1L, 
345         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
346 #line 147 "describe.pgc"
347
348
349         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2",
350         ECPGt_sqlda, &sqlda1, 0L, 0L, 0L, 
351         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
352 #line 149 "describe.pgc"
353
354         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2",
355         ECPGt_sqlda, &sqlda2, 0L, 0L, 0L, 
356         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
357 #line 150 "describe.pgc"
358
359         { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2",
360         ECPGt_sqlda, &sqlda3, 0L, 0L, 0L, 
361         ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
362 #line 151 "describe.pgc"
363
364
365         if (sqlda1 == NULL || sqlda2 == NULL || sqlda3 == NULL)
366                 exit(1);
367
368         strcpy(msg, "get descriptor");
369         { ECPGget_desc_header(__LINE__, "desc1", &(count1));
370
371 #line 157 "describe.pgc"
372
373 if (sqlca.sqlcode < 0) exit (1);}
374 #line 157 "describe.pgc"
375
376         { ECPGget_desc_header(__LINE__, "desc1", &(count2));
377
378 #line 158 "describe.pgc"
379
380 if (sqlca.sqlcode < 0) exit (1);}
381 #line 158 "describe.pgc"
382
383
384         if (!(  count1 == count2 &&
385                 count1 == sqlda1->sqld &&
386                 count1 == sqlda2->sqld &&
387                 count1 == sqlda3->sqld))
388                 exit(1);
389
390         for (i = 1; i <= count1; i++)
391         {
392                 { ECPGget_desc(__LINE__, "desc1", i,ECPGd_name,
393         ECPGt_char,(field_name1),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT);
394
395 #line 168 "describe.pgc"
396
397 if (sqlca.sqlcode < 0) exit (1);}
398 #line 168 "describe.pgc"
399
400                 { ECPGget_desc(__LINE__, "desc2", i,ECPGd_name,
401         ECPGt_char,(field_name2),(long)30,(long)1,(30)*sizeof(char), ECPGd_EODT);
402
403 #line 169 "describe.pgc"
404
405 if (sqlca.sqlcode < 0) exit (1);}
406 #line 169 "describe.pgc"
407
408                 printf("%d\n\tfield_name1 '%s'\n\tfield_name2 '%s'\n\t"
409                         "sqlda1 '%s'\n\tsqlda2 '%s'\n\tsqlda3 '%s'\n",
410                         i, field_name1, field_name2,
411                         sqlda1->sqlvar[i-1].sqlname,
412                         sqlda2->sqlvar[i-1].sqlname,
413                         sqlda3->sqlvar[i-1].sqlname);
414         }
415
416         strcpy(msg, "deallocate");
417         ECPGdeallocate_desc(__LINE__, "desc1");
418 #line 179 "describe.pgc"
419
420 if (sqlca.sqlcode < 0) exit (1);
421 #line 179 "describe.pgc"
422
423         ECPGdeallocate_desc(__LINE__, "desc2");
424 #line 180 "describe.pgc"
425
426 if (sqlca.sqlcode < 0) exit (1);
427 #line 180 "describe.pgc"
428
429         free(sqlda1);
430         free(sqlda2);
431         free(sqlda3);
432
433         { ECPGdeallocate(__LINE__, 1, NULL, "st_id2");
434 #line 185 "describe.pgc"
435
436 if (sqlca.sqlcode < 0) exit (1);}
437 #line 185 "describe.pgc"
438
439
440         /* End test */
441
442         strcpy(msg, "drop");
443         { ECPGdo(__LINE__, 1, 1, NULL, 0, ECPGst_normal, "drop table descr_t1", ECPGt_EOIT, ECPGt_EORT);
444 #line 190 "describe.pgc"
445
446 if (sqlca.sqlcode < 0) exit (1);}
447 #line 190 "describe.pgc"
448
449
450         strcpy(msg, "commit");
451         { ECPGtrans(__LINE__, NULL, "commit");
452 #line 193 "describe.pgc"
453
454 if (sqlca.sqlcode < 0) exit (1);}
455 #line 193 "describe.pgc"
456
457
458         strcpy(msg, "disconnect");
459         { ECPGdisconnect(__LINE__, "CURRENT");
460 #line 196 "describe.pgc"
461
462 if (sqlca.sqlcode < 0) exit (1);}
463 #line 196 "describe.pgc"
464
465
466         return (0);
467 }