Здравствуйте, Коваленко Дмитрий, Вы писали:
КД> И есть скрытое глобальное место, где таки хранятся готовые подключения. Называется пулом. Пулом подключений. Не можно, конечно, без пула — да ради бога — указываем "OLE DB Services=0" и вперед к тормозам 
Ну, то есть в IB своего пула нет и поэтому они считают, что пихать в один коннект несколько транзакций это круто, я правильно понял?
КД>Мдаа... Берем тривиальную задачу — запись логического лога в базу данных.
Для записи лога есть 33 способа, не говоря уже о том, что писать лог практически в то же хранилище где лежат и основные данные не очень правильно.
КД>Объект, который это делает, должен гарантировано записать в базу что там пользователь пытался делать. Не зависимо от того — откатилась основная транзакция или нет.
То есть, две транзакции из одного потока могут видеть незакоммиченые данные друг-друга? Прости, но это уже не транзакции.
КД>Поэтому у этого протоколирующего объекта должна быть собственная (короткая) транзакция.
Угу, но она не должна видеть незакоммиченых данных основной.
КД>... Заявления что паралельные транзакции имееют смысл только в раздельных потоках очень похоже на требование работы с разными файлами исключительно в разных потоках.
Пока не привели ни одного сценария, где действительно необходимо приостанавливать действие одной транзакции и выполнять другую в том же потоке.
И таких сценариев нет. Объясню еще раз почему:
Единственный случай, когда это может потребоваться — это организовать обмен незафиксированными данными между двумя транзакциями в обход сервера. То есть, сервер нам это делать запрещает, а мы придумываем как это обойти. Почему сервер это запрещает — я писал.
Ребята, у вас нет ощущения что вы делаете что-то не то?
КД>... Иван, завязывай с линейным мышлением. На улице уже даже не объектно-ориентированное время. В один корпус кучу ядер интегрируют, а ты не можешь понять зачем несколько транзакций засовывают в одной трубе подключения.
Ты сам-то понимаешь, зачем это делаешь?
КД>В функции реализации старта транзакции, которая автоматически пороздает новое подключение.
Какая функция реализация старта? старт транзакции начинается с первого оператора.
КД>Я просил тебя написать простенький пример, который подтверждает возможность старта параллельной транзакции без открытия нового подключения. Слив как, защитывать?
MSDN открой.
КД>Иван, с тобой тяжко общаться...
Привыкай.
КД> Понимаешь, Firebird это сервер для людей у которых как-то более продвинутая способность к восприятию мира
Вот тут у меня серьезные сомнения. Я бы скорее использовал термин "измененное сознание".
КД> и они не возможности сервера натягивают на предметную область, а наоборот
Ну, нормальные люди предпочитают просто использовать адекватные инструменты, вместо того чтобы что-то на что-то натягивать.
... << RSDN@Home 1.2.0 alpha rev. 673>>