From: Bruce Momjian Date: Thu, 8 Jul 1999 03:32:57 +0000 (+0000) Subject: Test Case: X-Git-Tag: REL6_5_1~49 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3acb7d1634d46538eac4dcd6cf2b14b78b5cbf00;p=postgresql 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 --- diff --git a/src/interfaces/ecpg/lib/ecpglib.c b/src/interfaces/ecpg/lib/ecpglib.c index 0643571a01..aae621fed4 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;