mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-04 00:02:52 -05:00 
			
		
		
		
	Building the ecpg tests with MSVC, with warnings enabled, results in the following warning: src/interfaces/ecpg/test/compat_informix/rnull.pgc(19,1): warning C4305: 'initializing': truncation from 'double' to 'float' The more obvious fix would be an 'f' suffix, but ecpg can't parse that. Reviewed-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com> Discussion: https://postgr.es/m/2180a97c-c026-1b6c-cec8-d6e499f97017@enterprisedb.com
		
			
				
	
	
		
			294 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			294 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* Processed by ecpg (regression mode) */
 | 
						|
/* These include files are added by the preprocessor */
 | 
						|
#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 void
 | 
						|
test_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 = ( float ) 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, "ecpg1_regression" , 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;
 | 
						|
}
 |