Начало » Использование СУБД » Firebird, HQbird, InterBase » UDR selective procedure - not empty result set
UDR selective procedure - not empty result set [сообщение #495] |
Tue, 06 September 2022 16:18  |
shalamyansky
Сообщений: 150 Зарегистрирован: August 2022
|
Senior Member |
|
|
Реализую UDR селективную процедуру на Delphi. Как пример беру pdf статью Дениса Симонова "Написание UDR Firebird на Pascal", спасибо ему. Для иллюстрации топика хорошо подходит приведенная там процедура gen_rows.
Заметил следующее: если результирующий набор должен быть пустым, и это по идее должно случиться, когда TGenRowsProcedure.open возвращает nil в качестве result set, на самом деле Firebird возвращает 1 запись, заполненную null'ами, row_count = 1.
create function test_empty_gen_rows
returns
bigint
as
declare variable n integer;
begin
select
n
from
gen_rows( null, null )
into
:n
;
return row_count;
end
Result = 1
По-моему, это ошибочное поведение, нет?
Firebird 4.0.2.2816(64), Windows
|
|
|
|
|
|
|
|
Переход к форуму:
Текущее время: Mon Feb 24 17:13:42 GMT+3 2025
Общее время, затраченное на создание страницы: 0.01118 секунд
|