> > Ему можно сказать - нифига посчитать не
> > могу (-1). Это лучше чем вернуть цифру,
> > которая неизвестно что обозначает.
>
>     Нет. Лучше - вернуть ошибку\возбудить exception

Ты не прав. Запрос выполнился, дело
сделано. Какое нафиг исключение?

Это как раз и будет смута.

> > Я за него ни чего не делаю - я только
> > смотрю, что он хочет сделать.
>
>     (1) запомним это

Угу.

>     Потому я и написал ниже, что
> ---
> Для процедуры, вообще говоря, понятия абстрактного RowsAffected не существует.
> ---

А я написал - что INSERT ... RETURNING, по вашему -
хранимая процедура.

> > > > Старый алгоритм получает
> > >     Не нравится
> > Кому не нравится? В сети полно
> > алгоритмов которые именно так и
> > работают.
>
>     Это не повод копировать каку ;)

Слышь, DED - выплюнь, выплюнь каку  я
сказал :)

> в) того, кто определил такой интерфейс
>
> > буфере всегда приходят три числа - для
> > insert / update / delete
>
>     Что спросишь, то и приходит. Вариантов вопросов 4, а не 3

Ха, я прошу только две вещи -
- isc_info_sql_stmt_type
- isc_info_sql_records

> #define isc_info_req_select_count 13
> #define isc_info_req_insert_count 14
> #define isc_info_req_update_count 15
> #define isc_info_req_delete_count 16

Хм. Я могу, вместо isc_info_sql_records,
попросить что-то конкретное?

Если да, то прошу прощения - я не знал.
Попробую на досуге.

>     А ты и так знаешь, что юзер хотел - см. (1)
> не надо на тип запроса с точки зрения сервера смотреть в данном случае...

Угу, так, так. А откуда я знаю что хотел
юзер? Правильно - я знаю от _своего_
парсера SQL запросов. Это факт. И я знаю,
что RowsAffected нужно просить только для
INSERT/UPDATE/DELETE

Возвращаемся к выводу самого первого
сообщения - то, что сервер возвращает
тип запроса - даром ни кому не нужно. Я
привел два примера
 - нужно или не нужно передавать в prepare
транзакцию?
 - вычисление RowsAffected

В сервере есть еще такая хрень как
isc_info_sql_stmt_savepoint

А как мне получить имя? И вообще, что
это - создание/откат до
точки/освобождение точки?

Мне такая информация тоже нужна для
синхронизации состояния провайдера с
юзерскими действиями.

> PS Мораль - возвращай 4 значения, когда просят абстрактно, и одно,
>    когда просят конкретно ;)

Увы, интерфейсом команды не
предусмотрено. Только одно число.
Нужно возвращать прямо из Execute -
остальные решения будут некошерными с
точки зрения многопоточности.

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

Ответить