Re: [HACKERS] INSERT VALUES error in ecpg.
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] INSERT VALUES error in ecpg. |
Дата | |
Msg-id | 199907120225.WAA13263@candle.pha.pa.us обсуждение исходный текст |
Ответ на | INSERT VALUES error in ecpg. (SAKAIDA <sakaida@psn.co.jp>) |
Список | pgsql-hackers |
I have applied this patch, and it will appear in 6.5.1. > Hi, > > In ecpg, the error occurs in value lists of the INSERT statement, > when 'short' or 'unsigned short' host variables are used. > > 1. Program sample > > 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 > > 2. Error messege > > Following error message are output. > "i4toi2: '-600309759' causes int2 underflow" > > 3. Patch > > The error does not occur, when following patches were applied. > Is this patch right? please confirm it. > > -- > Regards. > > SAKAIDA Masaaki <sakaida@psn.co.jp> > Personal Software, Inc. Osaka Japan > > > *** postgresql-6.5/src/interfaces/ecpg/lib/ecpglib.c.orig Wed Jun 24 15:21:30 1999 > --- postgresql-6.5/src/interfaces/ecpg/lib/ecpglib.c Wed Jun 24 15:31:57 > 1999 > *************** > *** 469,480 **** > --- 469,488 ---- > 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; > > > -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: