2626int main () {
2727/* exec sql begin declare section */
2828
29+
30+
2931
3032#line 10 "autoprep.pgc"
3133int item [4 ] ,ind [4 ] ,i = 1 ;
32- /* exec sql end declare section */
34+
3335#line 11 "autoprep.pgc"
36+ int item1 ,ind1 ;
37+
38+ #line 12 "autoprep.pgc"
39+ char sqlstr [64 ]= "SELECT item2 FROM T ORDER BY item2 NULLS LAST" ;
40+ /* exec sql end declare section */
41+ #line 13 "autoprep.pgc"
3442
3543
3644ECPGdebug (1 ,stderr );
3745 {ECPGconnect (__LINE__ ,0 ,"regress1" ,NULL ,NULL ,NULL ,0 ); }
38- #line 14 "autoprep.pgc"
46+ #line 16 "autoprep.pgc"
3947
4048
4149/* exec sql whenever sql_warning sqlprint ; */
42- #line 16 "autoprep.pgc"
50+ #line 18 "autoprep.pgc"
4351
4452/* exec sql whenever sqlerror sqlprint ; */
45- #line 17 "autoprep.pgc"
53+ #line 19 "autoprep.pgc"
4654
4755
48- {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"create table T ( Item1 int , Item2 int )" ,ECPGt_EOIT ,ECPGt_EORT );
49- #line 19 "autoprep.pgc"
56+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"create table T ( Item1 int , Item2 int )" ,ECPGt_EOIT ,ECPGt_EORT );
57+ #line 21 "autoprep.pgc"
5058
5159if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
52- #line 19 "autoprep.pgc"
60+ #line 21 "autoprep.pgc"
5361
5462if (sqlca .sqlcode < 0 )sqlprint ();}
55- #line 19 "autoprep.pgc"
63+ #line 21 "autoprep.pgc"
5664
5765
5866 {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"insert into T values ( 1 , null )" ,ECPGt_EOIT ,ECPGt_EORT );
59- #line 21 "autoprep.pgc"
67+ #line 23 "autoprep.pgc"
6068
6169if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
62- #line 21 "autoprep.pgc"
70+ #line 23 "autoprep.pgc"
6371
6472if (sqlca .sqlcode < 0 )sqlprint ();}
65- #line 21 "autoprep.pgc"
73+ #line 23 "autoprep.pgc"
6674
6775 {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"insert into T values ( 1 , $1 )" ,
6876ECPGt_int ,& (i ),(long )1 ,(long )1 ,sizeof (int ),
6977ECPGt_NO_INDICATOR ,NULL ,0L ,0L ,0L ,ECPGt_EOIT ,ECPGt_EORT );
70- #line 22 "autoprep.pgc"
78+ #line 24 "autoprep.pgc"
7179
7280if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
73- #line 22 "autoprep.pgc"
81+ #line 24 "autoprep.pgc"
7482
7583if (sqlca .sqlcode < 0 )sqlprint ();}
76- #line 22 "autoprep.pgc"
84+ #line 24 "autoprep.pgc"
7785
7886i ++ ;
7987 {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"insert into T values ( 1 , $1 )" ,
8088ECPGt_int ,& (i ),(long )1 ,(long )1 ,sizeof (int ),
8189ECPGt_NO_INDICATOR ,NULL ,0L ,0L ,0L ,ECPGt_EOIT ,ECPGt_EORT );
82- #line 24 "autoprep.pgc"
90+ #line 26 "autoprep.pgc"
8391
8492if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
85- #line 24 "autoprep.pgc"
93+ #line 26 "autoprep.pgc"
8694
8795if (sqlca .sqlcode < 0 )sqlprint ();}
88- #line 24 "autoprep.pgc"
96+ #line 26 "autoprep.pgc"
8997
9098 {ECPGprepare (__LINE__ ,NULL ,0 ,"i" ," insert into T values ( 1 , 2 ) " );
91- #line 25 "autoprep.pgc"
99+ #line 27 "autoprep.pgc"
92100
93101if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
94- #line 25 "autoprep.pgc"
102+ #line 27 "autoprep.pgc"
95103
96104if (sqlca .sqlcode < 0 )sqlprint ();}
97- #line 25 "autoprep.pgc"
105+ #line 27 "autoprep.pgc"
98106
99- {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,1 ,"i" ,ECPGt_EOIT ,ECPGt_EORT );
100- #line 26 "autoprep.pgc"
107+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_execute ,"i" ,ECPGt_EOIT ,ECPGt_EORT );
108+ #line 28 "autoprep.pgc"
101109
102110if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
103- #line 26 "autoprep.pgc"
111+ #line 28 "autoprep.pgc"
104112
105113if (sqlca .sqlcode < 0 )sqlprint ();}
106- #line 26 "autoprep.pgc"
114+ #line 28 "autoprep.pgc"
107115
108116
109117 {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"select Item2 from T order by Item2 nulls last" ,ECPGt_EOIT ,
110118ECPGt_int ,(item ),(long )1 ,(long )4 ,sizeof (int ),
111119ECPGt_int ,(ind ),(long )1 ,(long )4 ,sizeof (int ),ECPGt_EORT );
112- #line 28 "autoprep.pgc"
120+ #line 30 "autoprep.pgc"
113121
114122if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
115- #line 28 "autoprep.pgc"
123+ #line 30 "autoprep.pgc"
116124
117125if (sqlca .sqlcode < 0 )sqlprint ();}
118- #line 28 "autoprep.pgc"
126+ #line 30 "autoprep.pgc"
119127
120128
121129for (i = 0 ;i < 4 ;i ++ )
122130printf ("item[%d] = %d\n" ,i ,ind [i ] ?-1 :item [i ]);
123131
124132/* declare C cursor for select Item1 from T */
125- #line 33 "autoprep.pgc"
126-
127-
128- {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"declare C cursor for select Item1 from T" ,ECPGt_EOIT ,ECPGt_EORT );
129- #line 35 "autoprep.pgc"
130-
131- if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
132- #line 35 "autoprep.pgc"
133-
134- if (sqlca .sqlcode < 0 )sqlprint ();}
135133#line 35 "autoprep.pgc"
136134
137135
138- {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"fetch 1 in C" ,ECPGt_EOIT ,
139- ECPGt_int ,& (i ),(long )1 ,(long )1 ,sizeof (int ),
140- ECPGt_NO_INDICATOR ,NULL ,0L ,0L ,0L ,ECPGt_EORT );
136+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"declare C cursor for select Item1 from T" ,ECPGt_EOIT ,ECPGt_EORT );
141137#line 37 "autoprep.pgc"
142138
143139if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
@@ -146,19 +142,21 @@ if (sqlca.sqlwarn[0] == 'W') sqlprint();
146142if (sqlca .sqlcode < 0 )sqlprint ();}
147143#line 37 "autoprep.pgc"
148144
149- printf ("i = %d\n" ,i );
150145
151- {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"close C" ,ECPGt_EOIT ,ECPGt_EORT );
152- #line 40 "autoprep.pgc"
146+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"fetch 1 in C" ,ECPGt_EOIT ,
147+ ECPGt_int ,& (i ),(long )1 ,(long )1 ,sizeof (int ),
148+ ECPGt_NO_INDICATOR ,NULL ,0L ,0L ,0L ,ECPGt_EORT );
149+ #line 39 "autoprep.pgc"
153150
154151if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
155- #line 40 "autoprep.pgc"
152+ #line 39 "autoprep.pgc"
156153
157154if (sqlca .sqlcode < 0 )sqlprint ();}
158- #line 40 "autoprep.pgc"
155+ #line 39 "autoprep.pgc"
159156
157+ printf ("i = %d\n" ,i );
160158
161- {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_prepnormal ,"drop table T " ,ECPGt_EOIT ,ECPGt_EORT );
159+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"close C " ,ECPGt_EOIT ,ECPGt_EORT );
162160#line 42 "autoprep.pgc"
163161
164162if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
@@ -168,7 +166,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
168166#line 42 "autoprep.pgc"
169167
170168
171- {ECPGdisconnect (__LINE__ ,"ALL" );
169+ {ECPGprepare (__LINE__ ,NULL , 0 , "stmt1" , sqlstr );
172170#line 44 "autoprep.pgc"
173171
174172if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
@@ -178,5 +176,76 @@ if (sqlca.sqlcode < 0) sqlprint();}
178176#line 44 "autoprep.pgc"
179177
180178
179+ /* declare cur1 cursor for $1 */
180+ #line 46 "autoprep.pgc"
181+
182+
183+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"declare cur1 cursor for $1" ,
184+ ECPGt_char_variable ,(ECPGprepared_statement (NULL ,"stmt1" ,__LINE__ )),(long )1 ,(long )1 ,(1 )* sizeof (char ),
185+ ECPGt_NO_INDICATOR ,NULL ,0L ,0L ,0L ,ECPGt_EOIT ,ECPGt_EORT );
186+ #line 48 "autoprep.pgc"
187+
188+ if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
189+ #line 48 "autoprep.pgc"
190+
191+ if (sqlca .sqlcode < 0 )sqlprint ();}
192+ #line 48 "autoprep.pgc"
193+
194+
195+ /* exec sql whenever not found break ; */
196+ #line 50 "autoprep.pgc"
197+
198+
199+ i = 0 ;
200+ while (1 )
201+ {
202+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"fetch cur1" ,ECPGt_EOIT ,
203+ ECPGt_int ,& (item1 ),(long )1 ,(long )1 ,sizeof (int ),
204+ ECPGt_int ,& (ind1 ),(long )1 ,(long )1 ,sizeof (int ),ECPGt_EORT );
205+ #line 55 "autoprep.pgc"
206+
207+ if (sqlca .sqlcode == ECPG_NOT_FOUND )break ;
208+ #line 55 "autoprep.pgc"
209+
210+ if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
211+ #line 55 "autoprep.pgc"
212+
213+ if (sqlca .sqlcode < 0 )sqlprint ();}
214+ #line 55 "autoprep.pgc"
215+
216+ printf ("item[%d] = %d\n" ,i ,ind1 ?-1 :item1 );
217+ i ++ ;
218+ }
219+
220+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"close cur1" ,ECPGt_EOIT ,ECPGt_EORT );
221+ #line 60 "autoprep.pgc"
222+
223+ if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
224+ #line 60 "autoprep.pgc"
225+
226+ if (sqlca .sqlcode < 0 )sqlprint ();}
227+ #line 60 "autoprep.pgc"
228+
229+
230+ {ECPGdo (__LINE__ ,0 ,1 ,NULL ,0 ,ECPGst_normal ,"drop table T" ,ECPGt_EOIT ,ECPGt_EORT );
231+ #line 62 "autoprep.pgc"
232+
233+ if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
234+ #line 62 "autoprep.pgc"
235+
236+ if (sqlca .sqlcode < 0 )sqlprint ();}
237+ #line 62 "autoprep.pgc"
238+
239+
240+ {ECPGdisconnect (__LINE__ ,"ALL" );
241+ #line 64 "autoprep.pgc"
242+
243+ if (sqlca .sqlwarn [0 ]== 'W' )sqlprint ();
244+ #line 64 "autoprep.pgc"
245+
246+ if (sqlca .sqlcode < 0 )sqlprint ();}
247+ #line 64 "autoprep.pgc"
248+
249+
181250return 0 ;
182251}