Филатов Максим Н. wrote:

Функция REPLACE также может вернуть значение, которое
превышает предельно допустимое:

SELECT replace('a', 'a', rpad('', 32766, '%')),

макс. длина результата = 32К

       replace('a', 'a', '%')
 FROM rdb$database

макс. длина результата = 1

В сумме переполнения нет. Продублируй первый вызов replace() дважды и получишь аналог rpad().

> обработка переполнения происходить не в момент разбора,
> а в момент выполнения

Сервер работает с фиксированными размерами записи.


--
Дмитрий Еманов

Ответить