PostgreSQL Source Code git master
preproc-array_of_struct.c
Go to the documentation of this file.
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 "array_of_struct.pgc"
10#include <stdio.h>
11
12
13#line 1 "regression.h"
14
15
16
17
18
19
20#line 3 "array_of_struct.pgc"
21
22
23/* exec sql whenever sqlerror sqlprint ; */
24#line 5 "array_of_struct.pgc"
25
26/* exec sql whenever sql_warning sqlprint ; */
27#line 6 "array_of_struct.pgc"
28
29/* exec sql whenever not found sqlprint ; */
30#line 7 "array_of_struct.pgc"
31
32
33typedef struct {
34#line 12 "array_of_struct.pgc"
35 struct varchar_1 { int len; char arr[ 50 ]; } name ;
36
37#line 13 "array_of_struct.pgc"
38 int phone ;
39 } customer ;
40#line 14 "array_of_struct.pgc"
41
42
43typedef struct ind {
44#line 19 "array_of_struct.pgc"
45 short name_ind ;
46
47#line 20 "array_of_struct.pgc"
48 short phone_ind ;
50#line 21 "array_of_struct.pgc"
51
52
53int main()
54{
55 /* exec sql begin declare section */
56
57
58
59
60
61
62 typedef struct {
63#line 30 "array_of_struct.pgc"
64 struct varchar_2 { int len; char arr[ 50 ]; } name ;
65
66#line 31 "array_of_struct.pgc"
67 int phone ;
68 } customer2 ;
69
70#line 32 "array_of_struct.pgc"
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86#line 26 "array_of_struct.pgc"
87 customer custs1 [ 10 ] ;
88
89#line 27 "array_of_struct.pgc"
90 cust_ind inds [ 10 ] ;
91
92#line 33 "array_of_struct.pgc"
93 customer2 custs2 [ 10 ] ;
94
95#line 38 "array_of_struct.pgc"
96 struct customer3 {
97#line 36 "array_of_struct.pgc"
98 struct varchar_3 { int len; char arr[ 50 ]; } name ;
99
100#line 37 "array_of_struct.pgc"
101 int phone ;
102 } custs3 [ 10 ] ;
103
104#line 43 "array_of_struct.pgc"
105 struct customer4 {
106#line 41 "array_of_struct.pgc"
107 struct varchar_4 { int len; char arr[ 50 ]; } name ;
108
109#line 42 "array_of_struct.pgc"
110 int phone ;
111 } custs4 ;
112
113#line 44 "array_of_struct.pgc"
114 int r ;
115
116#line 45 "array_of_struct.pgc"
117 struct varchar_5 { int len; char arr[ 50 ]; } onlyname [ 2 ] ;
118/* exec sql end declare section */
119#line 46 "array_of_struct.pgc"
120
121
122 ECPGdebug(1, stderr);
123
124 { ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0);
125#line 50 "array_of_struct.pgc"
126
127if (sqlca.sqlwarn[0] == 'W') sqlprint();
128#line 50 "array_of_struct.pgc"
129
130if (sqlca.sqlcode < 0) sqlprint();}
131#line 50 "array_of_struct.pgc"
132
133
134 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table customers ( c varchar ( 50 ) , p int )", ECPGt_EOIT, ECPGt_EORT);
135#line 52 "array_of_struct.pgc"
136
137if (sqlca.sqlwarn[0] == 'W') sqlprint();
138#line 52 "array_of_struct.pgc"
139
140if (sqlca.sqlcode < 0) sqlprint();}
141#line 52 "array_of_struct.pgc"
142
143 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into customers values ( 'John Doe' , '12345' )", ECPGt_EOIT, ECPGt_EORT);
144#line 53 "array_of_struct.pgc"
145
146if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint();
147#line 53 "array_of_struct.pgc"
148
149if (sqlca.sqlwarn[0] == 'W') sqlprint();
150#line 53 "array_of_struct.pgc"
151
152if (sqlca.sqlcode < 0) sqlprint();}
153#line 53 "array_of_struct.pgc"
154
155 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into customers values ( 'Jane Doe' , '67890' )", ECPGt_EOIT, ECPGt_EORT);
156#line 54 "array_of_struct.pgc"
157
158if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint();
159#line 54 "array_of_struct.pgc"
160
161if (sqlca.sqlwarn[0] == 'W') sqlprint();
162#line 54 "array_of_struct.pgc"
163
164if (sqlca.sqlcode < 0) sqlprint();}
165#line 54 "array_of_struct.pgc"
166
167
168 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from customers limit 2", ECPGt_EOIT,
169 ECPGt_varchar,&(custs1->name),(long)50,(long)10,sizeof( customer ),
170 ECPGt_short,&(inds->name_ind),(long)1,(long)10,sizeof( struct ind ),
171 ECPGt_int,&(custs1->phone),(long)1,(long)10,sizeof( customer ),
172 ECPGt_short,&(inds->phone_ind),(long)1,(long)10,sizeof( struct ind ), ECPGt_EORT);
173#line 56 "array_of_struct.pgc"
174
175if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint();
176#line 56 "array_of_struct.pgc"
177
178if (sqlca.sqlwarn[0] == 'W') sqlprint();
179#line 56 "array_of_struct.pgc"
180
181if (sqlca.sqlcode < 0) sqlprint();}
182#line 56 "array_of_struct.pgc"
183
184 printf("custs1:\n");
185 for (r = 0; r < 2; r++)
186 {
187 printf( "name - %s\n", custs1[r].name.arr );
188 printf( "phone - %d\n", custs1[r].phone );
189 }
190
191 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from customers limit 2", ECPGt_EOIT,
192 ECPGt_varchar,&(custs2->name),(long)50,(long)10,sizeof( customer2 ),
193 ECPGt_short,&(inds->name_ind),(long)1,(long)10,sizeof( struct ind ),
194 ECPGt_int,&(custs2->phone),(long)1,(long)10,sizeof( customer2 ),
195 ECPGt_short,&(inds->phone_ind),(long)1,(long)10,sizeof( struct ind ), ECPGt_EORT);
196#line 64 "array_of_struct.pgc"
197
198if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint();
199#line 64 "array_of_struct.pgc"
200
201if (sqlca.sqlwarn[0] == 'W') sqlprint();
202#line 64 "array_of_struct.pgc"
203
204if (sqlca.sqlcode < 0) sqlprint();}
205#line 64 "array_of_struct.pgc"
206
207 printf("\ncusts2:\n");
208 for (r = 0; r < 2; r++)
209 {
210 printf( "name - %s\n", custs2[r].name.arr );
211 printf( "phone - %d\n", custs2[r].phone );
212 }
213
214 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from customers limit 2", ECPGt_EOIT,
215 ECPGt_varchar,&(custs3->name),(long)50,(long)10,sizeof( struct customer3 ),
216 ECPGt_short,&(inds->name_ind),(long)1,(long)10,sizeof( struct ind ),
217 ECPGt_int,&(custs3->phone),(long)1,(long)10,sizeof( struct customer3 ),
218 ECPGt_short,&(inds->phone_ind),(long)1,(long)10,sizeof( struct ind ), ECPGt_EORT);
219#line 72 "array_of_struct.pgc"
220
221if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint();
222#line 72 "array_of_struct.pgc"
223
224if (sqlca.sqlwarn[0] == 'W') sqlprint();
225#line 72 "array_of_struct.pgc"
226
227if (sqlca.sqlcode < 0) sqlprint();}
228#line 72 "array_of_struct.pgc"
229
230 printf("\ncusts3:\n");
231 for (r = 0; r < 2; r++)
232 {
233 printf( "name - %s\n", custs3[r].name.arr );
234 printf( "phone - %d\n", custs3[r].phone );
235 }
236
237 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from customers limit 1", ECPGt_EOIT,
238 ECPGt_varchar,&(custs4.name),(long)50,(long)1,sizeof( struct customer4 ),
239 ECPGt_short,&(inds[0].name_ind),(long)1,(long)1,sizeof( struct ind ),
240 ECPGt_int,&(custs4.phone),(long)1,(long)1,sizeof( struct customer4 ),
241 ECPGt_short,&(inds[0].phone_ind),(long)1,(long)1,sizeof( struct ind ), ECPGt_EORT);
242#line 80 "array_of_struct.pgc"
243
244if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint();
245#line 80 "array_of_struct.pgc"
246
247if (sqlca.sqlwarn[0] == 'W') sqlprint();
248#line 80 "array_of_struct.pgc"
249
250if (sqlca.sqlcode < 0) sqlprint();}
251#line 80 "array_of_struct.pgc"
252
253 printf("\ncusts4:\n");
254 printf( "name - %s\n", custs4.name.arr );
255 printf( "phone - %d\n", custs4.phone );
256
257 { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select c from customers limit 2", ECPGt_EOIT,
258 ECPGt_varchar,(onlyname),(long)50,(long)2,sizeof(struct varchar_5),
259 ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
260#line 85 "array_of_struct.pgc"
261
262if (sqlca.sqlcode == ECPG_NOT_FOUND) sqlprint();
263#line 85 "array_of_struct.pgc"
264
265if (sqlca.sqlwarn[0] == 'W') sqlprint();
266#line 85 "array_of_struct.pgc"
267
268if (sqlca.sqlcode < 0) sqlprint();}
269#line 85 "array_of_struct.pgc"
270
271 printf("\nname:\n");
272 for (r = 0; r < 2; r++)
273 {
274 printf( "name - %s\n", onlyname[r].arr );
275 }
276
277 { ECPGdisconnect(__LINE__, "ALL");
278#line 92 "array_of_struct.pgc"
279
280if (sqlca.sqlwarn[0] == 'W') sqlprint();
281#line 92 "array_of_struct.pgc"
282
283if (sqlca.sqlcode < 0) sqlprint();}
284#line 92 "array_of_struct.pgc"
285
286
287 return 0;
288}
bool ECPGdisconnect(int lineno, const char *connection_name)
Definition: connect.c:676
bool ECPGconnect(int lineno, int c, const char *name, const char *user, const char *passwd, const char *connection_name, int autocommit)
Definition: connect.c:255
#define ECPG_NOT_FOUND
Definition: ecpgerrno.h:10
@ ECPGst_normal
Definition: ecpgtype.h:97
@ ECPGt_EOIT
Definition: ecpgtype.h:62
@ ECPGt_short
Definition: ecpgtype.h:43
@ ECPGt_varchar
Definition: ecpgtype.h:48
@ ECPGt_int
Definition: ecpgtype.h:44
@ ECPGt_NO_INDICATOR
Definition: ecpgtype.h:64
@ ECPGt_EORT
Definition: ecpgtype.h:63
void sqlprint(void)
Definition: error.c:334
bool ECPGdo(const int lineno, const int compat, const int force_indicator, const char *connection_name, const bool questionmarks, const int st, const char *query,...)
Definition: execute.c:2275
const void size_t len
#define printf(...)
Definition: port.h:244
struct ind cust_ind
#define ECPGdebug(X, Y)
int main()
#define sqlca
Definition: sqlca.h:59
struct customer::varchar_1 name
const char * name