> > Старые алгоритмы вычисления RowsAffected не
> > рюхают exec_stmt или как там его для
> > хранимых процедур называют - не помню.
>
>     Я знаю только один 'алгоритм' вычисления RowsAffected.
> И его можно применять к любому отпрепаренному стейтменту,
> независимо от его типа.

Так, давай поясню.

Мне нужно получать RowsAffected только для
INSERT/UPDATE/DELETE

Для остальных - алгоритм должен
вернуть -1. Старый алгоритм получает
тип запроса и количество
добавленных/обновленных/удалаенных
записей. В зависимости от типа мы
выбирали не более одного из этих трех
чисел - остальные игнорировались

Что мы имеем с RowsAffected для INSERT...RETURNING?

Мы имеем модификацию алгоритма,
который теперь кладет на тип запроса
(либо начинает поддерживать
isc_info_sql_stmt_exec_procedure) и складывает все три
числа.

Если мы выполним запрос с хранимой
процедурой (isc_info_sql_stmt_exec_procedure) - такой
алгоритм сработает и вернет сумму
чисел. Б....я буду - у меня для таких
запросов получался ноль. А мне ноль не
нужен, мне нужен -1.

> > А insert ... returning - теперь у нас объявлен
> > как хранимая процедура.
>
>     И как это мешает получить RowsAffected ?

Начинает неправильно считаться RowsAffected
для хранимых процедур.

Коваленко Дмитрий.

Ответить