Line data Source code
1 : #include <stdio.h>
2 : #include <stdlib.h>
3 : #include <string.h>
4 :
5 : /* test parser addition that merges two tokens into one */
6 : EXEC SQL INCLUDE ../regression;
7 :
8 0 : int main() {
9 : EXEC SQL BEGIN DECLARE SECTION;
10 0 : int item[3], ind[3], i;
11 : EXEC SQL END DECLARE SECTION;
12 :
13 0 : ECPGdebug(1, stderr);
14 0 : EXEC SQL CONNECT TO REGRESSDB1;
15 :
16 0 : EXEC SQL SET AUTOCOMMIT TO ON;
17 : EXEC SQL WHENEVER SQLWARNING SQLPRINT;
18 : EXEC SQL WHENEVER SQLERROR SQLPRINT;
19 :
20 0 : EXEC SQL CREATE TABLE T ( Item1 int, Item2 int );
21 0 :
22 0 : EXEC SQL INSERT INTO t
23 : SELECT 1,nullif(y-1,0)
24 : FROM generate_series(1,3) WITH ORDINALITY AS series(x,y);
25 0 :
26 0 : EXEC SQL SELECT Item2 INTO :item:ind FROM T ORDER BY Item2 NULLS LAST;
27 0 :
28 0 : for (i=0; i<3; i++)
29 0 : printf("item[%d] = %d\n", i, ind[i] ? -1 : item[i]);
30 :
31 0 : EXEC SQL ALTER TABLE T ALTER Item1 TYPE bigint;
32 0 : EXEC SQL ALTER TABLE T ALTER COLUMN Item2 SET DATA TYPE smallint;
33 0 :
34 0 : EXEC SQL DROP TABLE T;
35 0 :
36 0 : EXEC SQL DISCONNECT ALL;
37 0 :
38 0 : return 0;
39 0 : }
|