Re: BUG #16804: substring() function returns "negative substring length" error when using a large length argument

Поиск
Список
Период
Сортировка
От Jerry Sievert
Тема Re: BUG #16804: substring() function returns "negative substring length" error when using a large length argument
Дата
Msg-id 018A6952-DDF4-4728-AA47-A819CC6DB2CB@legitimatesounding.com
обсуждение исходный текст
Ответ на Re: BUG #16804: substring() function returns "negative substring length" error when using a large length argument  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: BUG #16804: substring() function returns "negative substring length" error when using a large length argument  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-bugs
Hi,

On Jan 4, 2021, at 11:21 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:



po 4. 1. 2021 v 19:44 odesílatel PG Bug reporting form <noreply@postgresql.org> napsal:
> select substring('string' from 2 for 2147483646);

Actual result:

2021-01-04 12:43:13.145 EST [85734] ERROR:  negative substring length not
allowed
2021-01-04 12:43:13.145 EST [85734] STATEMENT:s
negative substring length not allowed

Minimally this is a bug and it should raise an error "integer out of range". Probably in this case we can use MAX_INT as a special value of unlimited length, although it is a little bit scary, because length is an optional value. The attached patch should fix this issue. I do not have access to Oracle to check the behaviour of this case there.

Except according to the pg docs, it’s not out of range, it’s one less than MAX_INT.

The manual calls for it to be an integer, which is defined as:

integer4 bytestypical choice for integer-2147483648 to +2147483647

The original bug report is one less than +2147483647, and thus should be a valid value, no?


Вложения

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: BUG #16804: substring() function returns "negative substring length" error when using a large length argument
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: BUG #16804: substring() function returns "negative substring length" error when using a large length argument