Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакция по умолчанию / 19 сообщений из 19, страница 1 из 1
11.07.2016, 17:49
    #39271969
Hawkmoon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Такое впечатление, что две программы, написанные на разных языках, юзают одну транзакцию в FB.

И коммит из одной программы явно влияет на фиксацию результатов в другой проге в том месте, в котором "быть такого не может"

Это возможно?
Что есть вот это вот:

Код: sql
1.
ПРИМЕЧАНИЕ. Существует еще "транзакция по умолчанию", которая используется в клиентах ESQL для сконфигурированной единой транзакции, определенной на сервере и клиенте константой gds trans. Клиент ESQL стартует эту транзакцию автоматически, если он передает оператор запроса, а перед этим никакая транзакция явно не запускалась.



И будет ли использоваться транзакция, характеризуемая колдунством "using SQLCA" в powerbuilder, если в Delphi не указывать ничего (ни разу не говоря SET TRANSACTION)?

Больше кода не будет.
...
Рейтинг: 0 / 0
11.07.2016, 17:50
    #39271972
Hawkmoon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Тег src для цитат лучше не использовать ^_^
...
Рейтинг: 0 / 0
11.07.2016, 17:53
    #39271974
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Hawkmoon,

Ходи к kdv и читай про уровни изоляции транзакций. То, что одна из них видит/не видит закоммиченное другой не говорит о том, что они как-то друг на друга влияют. Ну окромя блокировки.
...
Рейтинг: 0 / 0
11.07.2016, 18:00
    #39271983
Hawkmoon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
DarkMaster,

Уровни изоляций знаю. К делу не относится.
Вчитайся.
коммит из одной проги приводит к коммиту в другой проге, хотя в другой в этот момент код еще в середине блока.
...
Рейтинг: 0 / 0
11.07.2016, 18:06
    #39271986
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Hawkmoonкоммит из одной проги приводит к коммиту в другой прогеНе бывает
...
Рейтинг: 0 / 0
11.07.2016, 18:07
    #39271987
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
HawkmoonТакое впечатление
для старта транзакции нужно вызвать isc_start_transaction (или isc_start_multiple) и в ответ получить хэндл.
Хэндл этот работает в рамках коннекта. Так что, можно утверждать, что две разных программы в одном коннекте и с одной транзакцией работать не могут.
Теоретически такое может быть только в том случае, если эти программы написаны на некоем интерпретируемом языке, и для их выполнения запускается ОДИН процесс рантайма (который и занимается коннектами, транзакциями и проч). Подозреваю, что powerbuilder и есть вот такая среда.
Hawkmoonкоторая используется в клиентах ESQL
это цитата из книги Борри, и под ESQL тут имеется в виду программа на C с EmbeddedSQL, которое потом обрабатывается процессором gpre, и которое уже почти нафиг никому не надо. И уж тем более в powerbuilder оно никак не может использоваться (и в Дельфи тоже, хотя там в компонентах есть свои "транзакции по умолчанию").
Hawkmoonхарактеризуемая колдунством "using SQLCA" в powerbuilder, если в Delphi не указывать ничего (ни разу не говоря SET TRANSACTION)?
я подозреваю, что powerbuilder тут вообще никто не знает, и что там за "колдунство", нам неведомо.
А вот насчет Delphi все просто - оно делает отдельные приложения-процессы, которые никак по коннектам и транзакциям не пересекаются.
...
Рейтинг: 0 / 0
11.07.2016, 18:09
    #39271990
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
HawkmoonИ коммит из одной программы явно влияет на фиксацию результатов в другой прог

похоже на бред. И не надо ничего читать про ESQL совсем. Это к работе прикладных приложений не имеет никакого отношения.
...
Рейтинг: 0 / 0
11.07.2016, 18:13
    #39271992
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Hawkmoonкоммит из одной проги приводит к коммиту в другой проге, хотя в другой в этот момент код еще в середине блока.
ну чего гадания всякие разводить. Во время работы обоих программ открываем isql или ibexpert или еще что. Пишем там
в sql editor - select * from mon$attachments. Дальше смотрим mon$transactions (в этой же транзакции).
Определяем, сколько коннектов, из каких программ, и какие транзакции они стартуют.
(Это же, проще, можно посмотреть через FBMonLogger, но за деньги).

Если нужно еще страшнее - ФБ 2.5 конфигурируем на аудит, мониторим все, потом сидим, изучаем лог.
Или ставим фбсканер и смотрим либо что в онлайне происходит, либо заряжаем логирование, и смотрим где что.

способов масса, на выбор. Можно даже через gstat -h углядеть, сколько транзакций стартует при запуске и при работе приложений.
...
Рейтинг: 0 / 0
11.07.2016, 18:15
    #39271994
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Симонов Дениспохоже на бред.
вдруг там рантайм-ядро powerbuilder выступает в роли единственного пула коннектов и транзакций? Если, конечно, речь не идет про разные компьютеры.
...
Рейтинг: 0 / 0
11.07.2016, 18:17
    #39271995
Hawkmoon
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
kdv,

Прошу уж прощения за совсем ламерский манагерский вопрос, но вдруг...

Как-нибудь режимы "встроенный firebird/проинсталенный firebird" влияют на разницу в поведении СУБД?
У меня нет времени этим заниматься, от слова совсем. но похоже, что гипотезу доказывает выдвигающий.
Спасибо за инструменты для анализа.
...
Рейтинг: 0 / 0
11.07.2016, 18:21
    #39271997
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Hawkmoon,

никак не влияют. Это как раз один из плюсов. embedded, windows, linux, ... - по барабану.
...
Рейтинг: 0 / 0
11.07.2016, 18:52
    #39272007
Arioch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
HawkmoonИ коммит из одной программы явно влияет на фиксацию результатов в другой проге

почему бы тебе не сказать

1) почему именно тебе так кажется
2) как именно влияет
3) из какой программы в какую
...
Рейтинг: 0 / 0
11.07.2016, 18:57
    #39272013
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Hawkmoon,

Возможно, при коммите в 1-й программе сервер поднимает события, которые приводят к изменениям во всех других программах...
...
Рейтинг: 0 / 0
11.07.2016, 19:07
    #39272017
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
YuRock,

Ты думаешь кто-то таки прошел путь граблей с эвентами? хотя в принципе возможно.
P.s. event не использовал. Ну разве что очень давно....
...
Рейтинг: 0 / 0
11.07.2016, 19:14
    #39272021
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
DarkMaster,

Че, я использую иногда. Не в триггерах на изменение таблиц, конечно. Такие, типа по которым некоторые программы показывают таймер принудительного закрытия...
Т.е. которые не делают ничего важного и обязательного и вызываются редко (точнее - перед запуском автообновления программы, например).
...
Рейтинг: 0 / 0
11.07.2016, 19:24
    #39272026
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
YuRock,

ну не знаю. Мне таймера хватает. Кстати в планируемой книге стоит осветить отдельным разделом/главой. В качестве - куда смотреть, чтобы вспомнить.
...
Рейтинг: 0 / 0
11.07.2016, 19:45
    #39272037
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
DarkMasterМне таймера хватает. Кстати в планируемой книге стоит осветить отдельным разделом/главой.
В качестве - куда смотреть, чтобы вспомнить.

Да, отдельный раздел "как не надо делать никогда" в книге действительно не помешает.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
11.07.2016, 20:57
    #39272062
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
DarkMasterМне таймера хватает.Ну мне тоже. Я свой просто запускаю по event'у )
...
Рейтинг: 0 / 0
11.07.2016, 20:59
    #39272063
YuRock
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Транзакция по умолчанию
Dimitry SibiryakovDarkMasterМне таймера хватает. Кстати в планируемой книге стоит осветить отдельным разделом/главой.
В качестве - куда смотреть, чтобы вспомнить.

Да, отдельный раздел "как не надо делать никогда" в книге действительно не помешает.Да, в этом разделе много параграфов должно быть.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакция по умолчанию / 19 сообщений из 19, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]