1exec sql include sqlca; 2exec sql include ../regression; 3exec sql define STR 'abcdef'; 4exec sql define INSERTNULL 1; 5exec sql define NUMBER 29; 6 7int main(void) 8{ 9 exec sql begin declare section; 10 int i; 11 char s[200]; 12 exec sql end declare section; 13 14 ECPGdebug(1, stderr); 15 16 exec sql whenever sqlerror do sqlprint(); 17 exec sql connect to REGRESSDB1; 18 19 exec sql create table test (a int, b text); 20 exec sql insert into test values (NUMBER, STR); 21 22 exec sql ifdef INSERTNULL; 23 exec sql insert into test values (NULL, 'defined'); 24 exec sql endif; 25 26 exec sql ifndef INSERTNULL; 27 exec sql insert into test values (NULL, 'not defined'); 28 exec sql elif SOMEOTHERVAR; 29 exec sql insert into test values (NULL, 'someothervar defined'); 30 exec sql else; 31 exec sql insert into test values (NULL, 'someothervar not defined'); 32 exec sql endif; 33 34 exec sql define NUMBER 29; 35 36 exec sql select INSERTNULL, NUMBER::text || '-' || STR INTO :i, :s; 37 38 printf("i: %d, s: %s\n", i, s); 39 40 exec sql undef STR; 41 exec sql ifndef STR; 42 exec sql insert into test values (NUMBER, 'no string'); 43 exec sql endif; 44 45 exec sql define TZVAR; /* no value */ 46 exec sql define TZVAR 'UTC'; 47 48 exec sql ifndef TZVAR; 49 exec sql SET TIMEZONE TO 'GMT'; 50 exec sql elif TZNAME; 51 exec sql SET TIMEZONE TO TZNAME; 52 exec sql else; 53 exec sql SET TIMEZONE TO TZVAR; 54 exec sql endif; 55 56 exec sql disconnect; 57 return 0; 58} 59