From dbccdd375b41618ca4ee3d1ea7109ab7f95d0865 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 18 May 2018 13:04:59 -0400 Subject: Add some test coverage for ecpg's "long long" support. This will only actually exercise the "long long" code paths on platforms where "long" is 32 bits --- otherwise, the SQL bigint type maps to plain "long", and we will test that code path instead. But that's probably sufficient coverage, and anyway we weren't testing either code path before. Dang Minh Huong, tweaked a bit by me Discussion: https://postgr.es/m/151935568942.1461.14623890240535309745@wrigleys.postgresql.org --- src/interfaces/ecpg/test/sql/sqlda.pgc | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'src/interfaces/ecpg/test/sql/sqlda.pgc') diff --git a/src/interfaces/ecpg/test/sql/sqlda.pgc b/src/interfaces/ecpg/test/sql/sqlda.pgc index eaf5c6f7e1c..5c7fbca2cfd 100644 --- a/src/interfaces/ecpg/test/sql/sqlda.pgc +++ b/src/interfaces/ecpg/test/sql/sqlda.pgc @@ -36,6 +36,14 @@ dump_sqlda(sqlda_t *sqlda) case ECPGt_int: printf("name sqlda descriptor: '%s' value %d\n", sqlda->sqlvar[i].sqlname.data, *(int *)sqlda->sqlvar[i].sqldata); break; + case ECPGt_long: + printf("name sqlda descriptor: '%s' value %ld\n", sqlda->sqlvar[i].sqlname.data, *(long int *)sqlda->sqlvar[i].sqldata); + break; +#ifdef HAVE_LONG_LONG_INT + case ECPGt_long_long: + printf("name sqlda descriptor: '%s' value %lld\n", sqlda->sqlvar[i].sqlname.data, *(long long int *)sqlda->sqlvar[i].sqldata); + break; +#endif case ECPGt_double: printf("name sqlda descriptor: '%s' value %lf\n", sqlda->sqlvar[i].sqlname.data, *(double *)sqlda->sqlvar[i].sqldata); break; @@ -78,13 +86,15 @@ exec sql end declare section; t text, d1 numeric, d2 float8, - c char(10)); + c char(10), + big bigint + ); strcpy(msg, "insert"); exec sql insert into t1 values - (1, 'a', 1.0, 1, 'a'), - (2, null, null, null, null), - (4, 'd', 4.0, 4, 'd'); + (1, 'a', 1.0, 1, 'a',1111111111111111111), + (2, null, null, null, null,null), + (4, 'd', 4.0, 4, 'd',4444444444444444444); strcpy(msg, "commit"); exec sql commit; -- cgit v1.2.3