aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/test/sql/sqlda.pgc
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2018-05-18 13:04:59 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2018-05-18 13:04:59 -0400
commitdbccdd375b41618ca4ee3d1ea7109ab7f95d0865 (patch)
treebc521e7a6683b17fcd114bbc6a74fbb5dd5594aa /src/interfaces/ecpg/test/sql/sqlda.pgc
parentf586f8638929b54de9e7f6b65fe6916b8cee38fe (diff)
downloadpostgresql-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.pgc18
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;