Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitfc19744

Browse files
author
Michael Meskes
committed
Added another test
1 parent84844ba commitfc19744

File tree

5 files changed

+491
-0
lines changed

5 files changed

+491
-0
lines changed

‎src/interfaces/ecpg/test/compat_informix/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ TESTS = test_informix test_informix.c \
1414
dec_test dec_test.c\
1515
rfmtdate rfmtdate.c\
1616
rfmtlong rfmtlong.c\
17+
rnull rnull.c\
1718
charfuncs charfuncs.c
1819

1920
all:$(TESTS)
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
#include "sqltypes.h"
2+
#include <stdlib.h>
3+
#
4+
$include ../regression;
5+
$define NUMBER 12;
6+
7+
static void
8+
test_null(int type, char *ptr)
9+
{
10+
printf("null: %d\n", risnull(type, ptr));
11+
}
12+
13+
int main(void)
14+
{
15+
$char c[] = "abc ";
16+
$short s = 17;
17+
$int i = -74874;
18+
$bool b = 1;
19+
$float f = 3.71;
20+
$long l = 487444;
21+
$double dbl = 404.404;
22+
$decimal dec;
23+
$date dat;
24+
$timestamp tmp;
25+
26+
ECPGdebug(1, stderr);
27+
$whenever sqlerror do sqlprint();
28+
29+
$connect to REGRESSDB1;
30+
31+
$create table test(id int, c char(10), s smallint, i int, b bool,
32+
f float, l bigint, dbl double precision,
33+
dec decimal, dat date, tmp timestamptz);
34+
$commit;
35+
36+
$insert into test (id, c, s, i, b, f, l, dbl) values (
37+
1, :c, :s, :i, :b, :f, :l, :dbl
38+
);
39+
$commit;
40+
41+
rsetnull(CCHARTYPE, (char *) c);
42+
rsetnull(CSHORTTYPE, (char *) &s);
43+
rsetnull(CINTTYPE, (char *) &i);
44+
rsetnull(CBOOLTYPE, (char *) &b);
45+
rsetnull(CFLOATTYPE, (char *) &f);
46+
rsetnull(CLONGTYPE, (char *) &l);
47+
rsetnull(CDOUBLETYPE, (char *) &dbl);
48+
rsetnull(CDECIMALTYPE, (char *) &dec);
49+
rsetnull(CDATETYPE, (char *) &dat);
50+
rsetnull(CDTIMETYPE, (char *) &tmp);
51+
52+
$insert into test (id, c, s, i, b, f, l, dbl, dec, dat, tmp) values (
53+
2, :c, :s, :i, :b, :f, :l, :dbl, :dec, :dat, :tmp
54+
);
55+
$commit;
56+
57+
printf("first select\n");
58+
59+
$select c, s, i, b, f, l, dbl, dec, dat, tmp
60+
into :c, :s, :i, :b, :f, :l, :dbl, :dec, :dat, :tmp
61+
from test where id = 1;
62+
63+
test_null(CCHARTYPE, (char *) c);
64+
test_null(CSHORTTYPE, (char *) &s);
65+
test_null(CINTTYPE, (char *) &i);
66+
test_null(CBOOLTYPE, (char *) &b);
67+
test_null(CFLOATTYPE, (char *) &f);
68+
test_null(CLONGTYPE, (char *) &l);
69+
test_null(CDOUBLETYPE, (char *) &dbl);
70+
test_null(CDECIMALTYPE, (char *) &dec);
71+
test_null(CDATETYPE, (char *) &dat);
72+
test_null(CDTIMETYPE, (char *) &tmp);
73+
74+
printf("second select\n");
75+
76+
$select c, s, i, b, f, l, dbl, dec, dat, tmp
77+
into :c, :s, :i, :b, :f, :l, :dbl, :dec, :dat, :tmp
78+
from test where id = 2;
79+
80+
test_null(CCHARTYPE, (char *) c);
81+
test_null(CSHORTTYPE, (char *) &s);
82+
test_null(CINTTYPE, (char *) &i);
83+
test_null(CBOOLTYPE, (char *) &b);
84+
test_null(CFLOATTYPE, (char *) &f);
85+
test_null(CLONGTYPE, (char *) &l);
86+
test_null(CDOUBLETYPE, (char *) &dbl);
87+
test_null(CDECIMALTYPE, (char *) &dec);
88+
test_null(CDATETYPE, (char *) &dat);
89+
test_null(CDTIMETYPE, (char *) &tmp);
90+
91+
$drop table test;
92+
$commit;
93+
94+
$close database;
95+
96+
return 0;
97+
}
Lines changed: 293 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,293 @@
1+
/* Processed by ecpg (4.2.1) */
2+
/* These include files are added by the preprocessor */
3+
#include<ecpgtype.h>
4+
#include<ecpglib.h>
5+
#include<ecpgerrno.h>
6+
#include<sqlca.h>
7+
/* Needed for informix compatibility */
8+
#include<ecpg_informix.h>
9+
/* End of automatic include section */
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+
staticvoid
28+
test_null(inttype,char*ptr)
29+
{
30+
printf("null: %d\n",risnull(type,ptr));
31+
}
32+
33+
intmain(void)
34+
{
35+
36+
#line 15 "rnull.pgc"
37+
charc []="abc " ;
38+
39+
#line 15 "rnull.pgc"
40+
41+
42+
#line 16 "rnull.pgc"
43+
shorts=17 ;
44+
45+
#line 16 "rnull.pgc"
46+
47+
48+
#line 17 "rnull.pgc"
49+
inti=-74874 ;
50+
51+
#line 17 "rnull.pgc"
52+
53+
54+
#line 18 "rnull.pgc"
55+
boolb=1 ;
56+
57+
#line 18 "rnull.pgc"
58+
59+
60+
#line 19 "rnull.pgc"
61+
floatf=3.71 ;
62+
63+
#line 19 "rnull.pgc"
64+
65+
66+
#line 20 "rnull.pgc"
67+
longl=487444 ;
68+
69+
#line 20 "rnull.pgc"
70+
71+
72+
#line 21 "rnull.pgc"
73+
doubledbl=404.404 ;
74+
75+
#line 21 "rnull.pgc"
76+
77+
78+
#line 22 "rnull.pgc"
79+
decimaldec ;
80+
81+
#line 22 "rnull.pgc"
82+
83+
84+
#line 23 "rnull.pgc"
85+
datedat ;
86+
87+
#line 23 "rnull.pgc"
88+
89+
90+
#line 24 "rnull.pgc"
91+
timestamptmp ;
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,"regress1" ,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,"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,"insert into test ( id , c , s , i , b , f , l , dbl ) values( 1 , ? , ? , ? , ? , ? , ? , ? ) ",
122+
ECPGt_char,&(c),(long)-1,(long)1,(-1)*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,"insert into test ( id , c , s , i , b , f , l , dbl , dec , dat , tmp ) values( 2 , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? ) ",
160+
ECPGt_char,&(c),(long)-1,(long)1,(-1)*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,"select c , s , i , b , f , l , dbl , dec , dat , tmp from test where id = 1 ",ECPGt_EOIT,
195+
ECPGt_char,&(c),(long)-1,(long)1,(-1)*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,"select c , s , i , b , f , l , dbl , dec , dat , tmp from test where id = 2 ",ECPGt_EOIT,
235+
ECPGt_char,&(c),(long)-1,(long)1,(-1)*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,"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+
return0;
293+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp