compat_informix-rnull.c
来自「postgresql8.3.4源码,开源数据库」· C语言 代码 · 共 295 行
C
295 行
/* Processed by ecpg (regression mode) *//* These include files are added by the preprocessor */#include <ecpgtype.h>#include <ecpglib.h>#include <ecpgerrno.h>#include <sqlca.h>/* Needed for informix compatibility */#include <ecpg_informix.h>/* End of automatic include section */#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y))#line 1 "rnull.pgc"#include "sqltypes.h"#include <stdlib.h>##line 1 "regression.h"#line 4 "rnull.pgc"static voidtest_null(int type, char *ptr){ printf("null: %d\n", risnull(type, ptr));}int main(void){ #line 15 "rnull.pgc" char c [] = "abc" ;#line 15 "rnull.pgc" #line 16 "rnull.pgc" short s = 17 ;#line 16 "rnull.pgc" #line 17 "rnull.pgc" int i = - 74874 ;#line 17 "rnull.pgc" #line 18 "rnull.pgc" bool b = 1 ;#line 18 "rnull.pgc" #line 19 "rnull.pgc" float f = 3.71 ;#line 19 "rnull.pgc" #line 20 "rnull.pgc" long l = 487444 ;#line 20 "rnull.pgc" #line 21 "rnull.pgc" double dbl = 404.404 ;#line 21 "rnull.pgc" #line 22 "rnull.pgc" decimal dec ;#line 22 "rnull.pgc" #line 23 "rnull.pgc" date dat ;#line 23 "rnull.pgc" #line 24 "rnull.pgc" timestamp tmp ;#line 24 "rnull.pgc" ECPGdebug(1, stderr); /* exec sql whenever sqlerror do sqlprint ( ) ; */#line 27 "rnull.pgc" { ECPGconnect(__LINE__, 1, "regress1" , NULL, NULL , NULL, 0); #line 29 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 29 "rnull.pgc" { ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "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);#line 33 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 33 "rnull.pgc" { ECPGtrans(__LINE__, NULL, "commit");#line 34 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 34 "rnull.pgc" { ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "insert into test ( id , c , s , i , b , f , l , dbl ) values ( 1 , $1 , $2 , $3 , $4 , $5 , $6 , $7 ) ", ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_short,&(s),(long)1,(long)1,sizeof(short), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_float,&(f),(long)1,(long)1,sizeof(float), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_long,&(l),(long)1,(long)1,sizeof(long), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);#line 38 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 38 "rnull.pgc" { ECPGtrans(__LINE__, NULL, "commit");#line 39 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 39 "rnull.pgc" rsetnull(CCHARTYPE, (char *) c); rsetnull(CSHORTTYPE, (char *) &s); rsetnull(CINTTYPE, (char *) &i); rsetnull(CBOOLTYPE, (char *) &b); rsetnull(CFLOATTYPE, (char *) &f); rsetnull(CLONGTYPE, (char *) &l); rsetnull(CDOUBLETYPE, (char *) &dbl); rsetnull(CDECIMALTYPE, (char *) &dec); rsetnull(CDATETYPE, (char *) &dat); rsetnull(CDTIMETYPE, (char *) &tmp); { ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "insert into test ( id , c , s , i , b , f , l , dbl , dec , dat , tmp ) values ( 2 , $1 , $2 , $3 , $4 , $5 , $6 , $7 , $8 , $9 , $10 ) ", ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_short,&(s),(long)1,(long)1,sizeof(short), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_float,&(f),(long)1,(long)1,sizeof(float), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_long,&(l),(long)1,(long)1,sizeof(long), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_decimal,&(dec),(long)1,(long)1,sizeof(decimal), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_date,&(dat),(long)1,(long)1,sizeof(date), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_timestamp,&(tmp),(long)1,(long)1,sizeof(timestamp), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);#line 54 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 54 "rnull.pgc" { ECPGtrans(__LINE__, NULL, "commit");#line 55 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 55 "rnull.pgc" printf("first select\n"); { ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "select c , s , i , b , f , l , dbl , dec , dat , tmp from test where id = 1 ", ECPGt_EOIT, ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_short,&(s),(long)1,(long)1,sizeof(short), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_float,&(f),(long)1,(long)1,sizeof(float), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_long,&(l),(long)1,(long)1,sizeof(long), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_decimal,&(dec),(long)1,(long)1,sizeof(decimal), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_date,&(dat),(long)1,(long)1,sizeof(date), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_timestamp,&(tmp),(long)1,(long)1,sizeof(timestamp), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);#line 61 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 61 "rnull.pgc" test_null(CCHARTYPE, (char *) c); test_null(CSHORTTYPE, (char *) &s); test_null(CINTTYPE, (char *) &i); test_null(CBOOLTYPE, (char *) &b); test_null(CFLOATTYPE, (char *) &f); test_null(CLONGTYPE, (char *) &l); test_null(CDOUBLETYPE, (char *) &dbl); test_null(CDECIMALTYPE, (char *) &dec); test_null(CDATETYPE, (char *) &dat); test_null(CDTIMETYPE, (char *) &tmp); printf("second select\n"); { ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "select c , s , i , b , f , l , dbl , dec , dat , tmp from test where id = 2 ", ECPGt_EOIT, ECPGt_char,(c),(long)sizeof("abc"),(long)1,(sizeof("abc"))*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_short,&(s),(long)1,(long)1,sizeof(short), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(i),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_bool,&(b),(long)1,(long)1,sizeof(bool), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_float,&(f),(long)1,(long)1,sizeof(float), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_long,&(l),(long)1,(long)1,sizeof(long), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_double,&(dbl),(long)1,(long)1,sizeof(double), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_decimal,&(dec),(long)1,(long)1,sizeof(decimal), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_date,&(dat),(long)1,(long)1,sizeof(date), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_timestamp,&(tmp),(long)1,(long)1,sizeof(timestamp), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);#line 78 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 78 "rnull.pgc" test_null(CCHARTYPE, (char *) c); test_null(CSHORTTYPE, (char *) &s); test_null(CINTTYPE, (char *) &i); test_null(CBOOLTYPE, (char *) &b); test_null(CFLOATTYPE, (char *) &f); test_null(CLONGTYPE, (char *) &l); test_null(CDOUBLETYPE, (char *) &dbl); test_null(CDECIMALTYPE, (char *) &dec); test_null(CDATETYPE, (char *) &dat); test_null(CDTIMETYPE, (char *) &tmp); { ECPGdo(__LINE__, 1, 0, NULL, 0, ECPGst_normal, "drop table test ", ECPGt_EOIT, ECPGt_EORT);#line 91 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 91 "rnull.pgc" { ECPGtrans(__LINE__, NULL, "commit");#line 92 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 92 "rnull.pgc" { ECPGdisconnect(__LINE__, "CURRENT");#line 94 "rnull.pgc"if (sqlca.sqlcode < 0) sqlprint ( );}#line 94 "rnull.pgc" return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?