Backward compatibility patch for numutils.c
От | Markus Wollny |
---|---|
Тема | Backward compatibility patch for numutils.c |
Дата | |
Msg-id | 2266D0630E43BB4290742247C891057502B9D5DA@dozer.computec.de обсуждение исходный текст |
Список | pgsql-general |
Hi! We're using some "hardwired" apps which try to insert '' in INT-fields when what they really mean is NULL. 7.2 wasn't botheredby this behaviour, but 7.3 was and it broke some apps then. So Bruce had posted a patch for 7.3's /src/backend/utils/adt/numutils.c- I couldn't find the original posting when someone asked some time ago and I cannot findit now, however I have reposted his patch there: http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&selm=2266D0630E43BB4290742247C89105750393D53E%40dozer.computec.de Now the relevant bit has slightly changed in 7.4.x and I wonder what else would be affected when applying the same thinghere; I have made the same changes to the source of 7.4.3, resulting in the following diff: diff numutils.c.patched numutils.c.orig 69,74c69,74 < else if (*s == 0) < { < /* 7.4.X workaround for broken apps */ < elog(WARNING, "pg_atoi: zero-length string"); < l = (long) 0; < } --- > if (*s == 0) > ereport(ERROR, > (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), > errmsg("invalid input syntax for integer: \"%s\"", > s))); > It compiles fine, but I don't know if I'd shoot myself in the foot when actually using and trusting the thus patched 7.4.3in a production environment. Any thoughts? Or can I put my mind at rest regardless? I know it's breaking the SQL-specs,but I'd rather have that than broken apps... Kind regards Markus Wollny
В списке pgsql-general по дате отправления: