diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-07-08 03:32:57 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-07-08 03:32:57 +0000 |
commit | 3acb7d1634d46538eac4dcd6cf2b14b78b5cbf00 (patch) | |
tree | 254a9763e794a4ba64028f8f342165574c587f8e /src | |
parent | 0343024a5c78c975a1c4e383e06455c05fbc0b95 (diff) | |
download | postgresql-3acb7d1634d46538eac4dcd6cf2b14b78b5cbf00.tar.gz postgresql-3acb7d1634d46538eac4dcd6cf2b14b78b5cbf00.zip |
Test Case:
----------
exec sql begin declare section;
short s ;
unsigned short us;
exec sql end declare section;
exec sql create table test(s smallint, us smallint);
exec sql commit;
s = 1; us =32000;
exec sql insert into test values( :s, :us ) ; <== error
Error Message: "i4toi2: '-600309759' causes int2 underflow"
Masaaki Sakaida
Diffstat (limited to 'src')
-rw-r--r-- | src/interfaces/ecpg/lib/ecpglib.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/interfaces/ecpg/lib/ecpglib.c b/src/interfaces/ecpg/lib/ecpglib.c index 0643571a018..aae621fed45 100644 --- a/src/interfaces/ecpg/lib/ecpglib.c +++ b/src/interfaces/ecpg/lib/ecpglib.c @@ -434,12 +434,20 @@ ECPGexecute(struct statement * stmt) switch (var->type) { case ECPGt_short: + sprintf(buff, "%d", *(short *) var->value); + tobeinserted = buff; + break; + case ECPGt_int: sprintf(buff, "%d", *(int *) var->value); tobeinserted = buff; break; case ECPGt_unsigned_short: + sprintf(buff, "%d", *(unsigned short *) var->value); + tobeinserted = buff; + break; + case ECPGt_unsigned_int: sprintf(buff, "%d", *(unsigned int *) var->value); tobeinserted = buff; |