Re: Potential issue in ecpg-informix decimal converting functions
Daniel Gustafsson <daniel@yesql.se>
From: Daniel Gustafsson <daniel@yesql.se>
To: a.imamov@postgrespro.ru
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2024-02-23T10:44:24Z
Lists: pgsql-hackers
> On 22 Feb 2024, at 17:54, a.imamov@postgrespro.ru wrote: > PGTYPESnumeric_to_int() and PGTYPESnumeric_to_long() > functions return only 0 or -1. So ECPG_INFORMIX_NUM_OVERFLOW can never > be returned. Indeed, this looks like an oversight. > I think dectoint(), dectolong() and PGTYPESnumeric_to_int() functions > should be a little bit different like in proposing patch. > What do you think? - Convert a variable to type decimal to an integer. + Convert a variable of type decimal to an integer. While related, this should be committed and backpatched regardless. + int errnum = 0; Stylistic nit, we typically don't initialize a variable which cannot be accessed before being set. Overall the patch looks sane, please register it for the next commitfest to make it's not missed. -- Daniel Gustafsson
Commits
-
doc: Document error handling in PGTYPESnumeric_to_long
- 68174679fea2 17.0 landed
-
ecpg: Fix return code for overflow in numeric conversion
- b2d6b4c728a2 17.0 landed