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 "rnull.pgc"
12 #include "sqltypes.h"
13 #include <stdlib.h>
14 
15 
16 #line 1 "regression.h"
17 
18 
19 
20 
21 
22 
23 #line 4 "rnull.pgc"
24 
25 
26 
27 static void
28 test_null(int type, char *ptr)
29 {
30 	printf("null: %d\n", risnull(type, ptr));
31 }
32 
33 int main(void)
34 {
35 
36 #line 15 "rnull.pgc"
37  char c [] = "abc" ;
38 
39 #line 15 "rnull.pgc"
40 
41 
42 #line 16 "rnull.pgc"
43  short s = 17 ;
44 
45 #line 16 "rnull.pgc"
46 
47 
48 #line 17 "rnull.pgc"
49  int i = - 74874 ;
50 
51 #line 17 "rnull.pgc"
52 
53 
54 #line 18 "rnull.pgc"
55  bool b = 1 ;
56 
57 #line 18 "rnull.pgc"
58 
59 
60 #line 19 "rnull.pgc"
61  float f = 3.71 ;
62 
63 #line 19 "rnull.pgc"
64 
65 
66 #line 20 "rnull.pgc"
67  long l = 487444 ;
68 
69 #line 20 "rnull.pgc"
70 
71 
72 #line 21 "rnull.pgc"
73  double dbl = 404.404 ;
74 
75 #line 21 "rnull.pgc"
76 
77 
78 #line 22 "rnull.pgc"
79  decimal dec ;
80 
81 #line 22 "rnull.pgc"
82 
83 
84 #line 23 "rnull.pgc"
85  date dat ;
86 
87 #line 23 "rnull.pgc"
88 
89 
90 #line 24 "rnull.pgc"
91  timestamp tmp ;
92 
93 #line 24 "rnull.pgc"
94 
95 
96 	ECPGdebug(1, stderr);
97 	/* exec sql whenever sqlerror  do sqlprint ( ) ; */
98 #line 27 "rnull.pgc"
99 
100 
101 	{ ECPGconnect(__LINE__, 1, "ecpg1_regression" , NULL, NULL , NULL, 0);
102 #line 29 "rnull.pgc"
103 
104 if (sqlca.sqlcode < 0) sqlprint ( );}
105 #line 29 "rnull.pgc"
106 
107 
108 	{ ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "create table test ( id int , c char ( 10 ) , s smallint , i int , b bool , f float , l bigint , dbl double precision , dec decimal , dat date , tmp timestamptz )", ECPGt_EOIT, ECPGt_EORT);
109 #line 33 "rnull.pgc"
110 
111 if (sqlca.sqlcode < 0) sqlprint ( );}
112 #line 33 "rnull.pgc"
113 
114 	{ ECPGtrans(__LINE__, NULL, "commit");
115 #line 34 "rnull.pgc"
116 
117 if (sqlca.sqlcode < 0) sqlprint ( );}
118 #line 34 "rnull.pgc"
119 
120 
121 	{ ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "insert into test ( id , c , s , i , b , f , l , dbl ) values ( 1 , $1  , $2  , $3  , $4  , $5  , $6  , $7  )",
122 	ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char),
123 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
124 	ECPGt_short,&(s),(long)1,(long)1,sizeof(short),
125 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
126 	ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
127 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
128 	ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool),
129 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
130 	ECPGt_float,&(f),(long)1,(long)1,sizeof(float),
131 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
132 	ECPGt_long,&(l),(long)1,(long)1,sizeof(long),
133 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
134 	ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double),
135 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
136 #line 38 "rnull.pgc"
137 
138 if (sqlca.sqlcode < 0) sqlprint ( );}
139 #line 38 "rnull.pgc"
140 
141 	{ ECPGtrans(__LINE__, NULL, "commit");
142 #line 39 "rnull.pgc"
143 
144 if (sqlca.sqlcode < 0) sqlprint ( );}
145 #line 39 "rnull.pgc"
146 
147 
148 	rsetnull(CCHARTYPE, (char *) c);
149 	rsetnull(CSHORTTYPE, (char *) &s);
150 	rsetnull(CINTTYPE, (char *) &i);
151 	rsetnull(CBOOLTYPE, (char *) &b);
152 	rsetnull(CFLOATTYPE, (char *) &f);
153 	rsetnull(CLONGTYPE, (char *) &l);
154 	rsetnull(CDOUBLETYPE, (char *) &dbl);
155 	rsetnull(CDECIMALTYPE, (char *) &dec);
156 	rsetnull(CDATETYPE, (char *) &dat);
157 	rsetnull(CDTIMETYPE, (char *) &tmp);
158 
159 	{ ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "insert into test ( id , c , s , i , b , f , l , dbl , dec , dat , tmp ) values ( 2 , $1  , $2  , $3  , $4  , $5  , $6  , $7  , $8  , $9  , $10  )",
160 	ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char),
161 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
162 	ECPGt_short,&(s),(long)1,(long)1,sizeof(short),
163 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
164 	ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
165 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
166 	ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool),
167 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
168 	ECPGt_float,&(f),(long)1,(long)1,sizeof(float),
169 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
170 	ECPGt_long,&(l),(long)1,(long)1,sizeof(long),
171 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
172 	ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double),
173 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
174 	ECPGt_decimal,&(dec),(long)1,(long)1,sizeof(decimal),
175 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
176 	ECPGt_date,&(dat),(long)1,(long)1,sizeof(date),
177 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
178 	ECPGt_timestamp,&(tmp),(long)1,(long)1,sizeof(timestamp),
179 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
180 #line 54 "rnull.pgc"
181 
182 if (sqlca.sqlcode < 0) sqlprint ( );}
183 #line 54 "rnull.pgc"
184 
185 	{ ECPGtrans(__LINE__, NULL, "commit");
186 #line 55 "rnull.pgc"
187 
188 if (sqlca.sqlcode < 0) sqlprint ( );}
189 #line 55 "rnull.pgc"
190 
191 
192 	printf("first select\n");
193 
194 	{ ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "select c , s , i , b , f , l , dbl , dec , dat , tmp from test where id = 1", ECPGt_EOIT,
195 	ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char),
196 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
197 	ECPGt_short,&(s),(long)1,(long)1,sizeof(short),
198 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
199 	ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
200 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
201 	ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool),
202 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
203 	ECPGt_float,&(f),(long)1,(long)1,sizeof(float),
204 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
205 	ECPGt_long,&(l),(long)1,(long)1,sizeof(long),
206 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
207 	ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double),
208 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
209 	ECPGt_decimal,&(dec),(long)1,(long)1,sizeof(decimal),
210 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
211 	ECPGt_date,&(dat),(long)1,(long)1,sizeof(date),
212 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
213 	ECPGt_timestamp,&(tmp),(long)1,(long)1,sizeof(timestamp),
214 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
215 #line 61 "rnull.pgc"
216 
217 if (sqlca.sqlcode < 0) sqlprint ( );}
218 #line 61 "rnull.pgc"
219 
220 
221 	test_null(CCHARTYPE, (char *) c);
222 	test_null(CSHORTTYPE, (char *) &s);
223 	test_null(CINTTYPE, (char *) &i);
224 	test_null(CBOOLTYPE, (char *) &b);
225 	test_null(CFLOATTYPE, (char *) &f);
226 	test_null(CLONGTYPE, (char *) &l);
227 	test_null(CDOUBLETYPE, (char *) &dbl);
228 	test_null(CDECIMALTYPE, (char *) &dec);
229 	test_null(CDATETYPE, (char *) &dat);
230 	test_null(CDTIMETYPE, (char *) &tmp);
231 
232 	printf("second select\n");
233 
234 	{ ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "select c , s , i , b , f , l , dbl , dec , dat , tmp from test where id = 2", ECPGt_EOIT,
235 	ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char),
236 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
237 	ECPGt_short,&(s),(long)1,(long)1,sizeof(short),
238 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
239 	ECPGt_int,&(i),(long)1,(long)1,sizeof(int),
240 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
241 	ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool),
242 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
243 	ECPGt_float,&(f),(long)1,(long)1,sizeof(float),
244 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
245 	ECPGt_long,&(l),(long)1,(long)1,sizeof(long),
246 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
247 	ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double),
248 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
249 	ECPGt_decimal,&(dec),(long)1,(long)1,sizeof(decimal),
250 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
251 	ECPGt_date,&(dat),(long)1,(long)1,sizeof(date),
252 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
253 	ECPGt_timestamp,&(tmp),(long)1,(long)1,sizeof(timestamp),
254 	ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
255 #line 78 "rnull.pgc"
256 
257 if (sqlca.sqlcode < 0) sqlprint ( );}
258 #line 78 "rnull.pgc"
259 
260 
261 	test_null(CCHARTYPE, (char *) c);
262 	test_null(CSHORTTYPE, (char *) &s);
263 	test_null(CINTTYPE, (char *) &i);
264 	test_null(CBOOLTYPE, (char *) &b);
265 	test_null(CFLOATTYPE, (char *) &f);
266 	test_null(CLONGTYPE, (char *) &l);
267 	test_null(CDOUBLETYPE, (char *) &dbl);
268 	test_null(CDECIMALTYPE, (char *) &dec);
269 	test_null(CDATETYPE, (char *) &dat);
270 	test_null(CDTIMETYPE, (char *) &tmp);
271 
272 	{ ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "drop table test", ECPGt_EOIT, ECPGt_EORT);
273 #line 91 "rnull.pgc"
274 
275 if (sqlca.sqlcode < 0) sqlprint ( );}
276 #line 91 "rnull.pgc"
277 
278 	{ ECPGtrans(__LINE__, NULL, "commit");
279 #line 92 "rnull.pgc"
280 
281 if (sqlca.sqlcode < 0) sqlprint ( );}
282 #line 92 "rnull.pgc"
283 
284 
285 	{ ECPGdisconnect(__LINE__, "CURRENT");
286 #line 94 "rnull.pgc"
287 
288 if (sqlca.sqlcode < 0) sqlprint ( );}
289 #line 94 "rnull.pgc"
290 
291 
292 	return 0;
293 }
294