1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
/* Processed by ecpg (regression mode) */
/* These include files are added by the preprocessor */
#include <ecpglib.h>
#include <ecpgerrno.h>
#include <sqlca.h>
/* End of automatic include section */
#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))
#line 1 "parser.pgc"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* test parser addition that merges two tokens into one */
#line 1 "regression.h"
#line 6 "parser.pgc"
int main() {
/* exec sql begin declare section */
#line 10 "parser.pgc"
int item [ 3 ] , ind [ 3 ] , i ;
/* exec sql end declare section */
#line 11 "parser.pgc"
ECPGdebug(1, stderr);
{ ECPGconnect(__LINE__, 0, "ecpg1_regression" , NULL, NULL , NULL, 0); }
#line 14 "parser.pgc"
{ ECPGsetcommit(__LINE__, "on", NULL);}
#line 16 "parser.pgc"
/* exec sql whenever sql_warning sqlprint ; */
#line 17 "parser.pgc"
/* exec sql whenever sqlerror sqlprint ; */
#line 18 "parser.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "create table T ( Item1 int , Item2 int )", ECPGt_EOIT, ECPGt_EORT);
#line 20 "parser.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
#line 20 "parser.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
#line 20 "parser.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into t select 1 , nullif ( y - 1 , 0 ) from generate_series ( 1 , 3 ) with ordinality as series ( x , y )", ECPGt_EOIT, ECPGt_EORT);
#line 24 "parser.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
#line 24 "parser.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
#line 24 "parser.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select Item2 from T order by Item2 nulls last", ECPGt_EOIT,
ECPGt_int,(item),(long)1,(long)3,sizeof(int),
ECPGt_int,(ind),(long)1,(long)3,sizeof(int), ECPGt_EORT);
#line 26 "parser.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
#line 26 "parser.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
#line 26 "parser.pgc"
for (i=0; i<3; i++)
printf("item[%d] = %d\n", i, ind[i] ? -1 : item[i]);
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "alter table T alter Item1 type bigint", ECPGt_EOIT, ECPGt_EORT);
#line 31 "parser.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
#line 31 "parser.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
#line 31 "parser.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "alter table T alter column Item2 set data type smallint", ECPGt_EOIT, ECPGt_EORT);
#line 32 "parser.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
#line 32 "parser.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
#line 32 "parser.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "drop table T", ECPGt_EOIT, ECPGt_EORT);
#line 34 "parser.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
#line 34 "parser.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
#line 34 "parser.pgc"
{ ECPGdisconnect(__LINE__, "ALL");
#line 36 "parser.pgc"
if (sqlca.sqlwarn[0] == 'W') sqlprint();
#line 36 "parser.pgc"
if (sqlca.sqlcode < 0) sqlprint();}
#line 36 "parser.pgc"
return 0;
}
|