From 3acb7d1634d46538eac4dcd6cf2b14b78b5cbf00 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Thu, 8 Jul 1999 03:32:57 +0000 Subject: [PATCH] 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 --- src/interfaces/ecpg/lib/ecpglib.c | 8 ++++++++ 1 file changed, 8 insertions(+) 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; -- 2.49.0