diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2018-05-18 13:04:59 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2018-05-18 13:04:59 -0400 |
commit | dbccdd375b41618ca4ee3d1ea7109ab7f95d0865 (patch) | |
tree | bc521e7a6683b17fcd114bbc6a74fbb5dd5594aa /src/interfaces/ecpg/test/sql/sqlda.pgc | |
parent | f586f8638929b54de9e7f6b65fe6916b8cee38fe (diff) | |
download | postgresql-dbccdd375b41618ca4ee3d1ea7109ab7f95d0865.tar.gz postgresql-dbccdd375b41618ca4ee3d1ea7109ab7f95d0865.zip |
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
Diffstat (limited to 'src/interfaces/ecpg/test/sql/sqlda.pgc')
-rw-r--r-- | src/interfaces/ecpg/test/sql/sqlda.pgc | 18 |
1 files changed, 14 insertions, 4 deletions
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; |