powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 2.5 lock file
24 сообщений из 99, страница 4 из 4
Firebird 2.5 lock file
    #39680224
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TransComSavepoints я не использую

Движок их использует.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680245
TransCom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я сейчас делаю так: в триггере пишу в память данные + номер транзакции, потом он_коммит или он_роллбэк уже либо очищает либо заносит в СШМ. За полтора года не заметил ошибок. Расскажите подробнее, на что я могу наткнуться?
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680276
TransCom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или он_коммит может тоже провалиться?) Если да - тогда: моя система работать не будет, и самое главное - зачем он тогда нужен)
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680288
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TransComРасскажите подробнее, на что я могу наткнуться?

Попробуй запрос, который обламывается с любой ошибкой. Тебе понравится. Особенно такой,
который изменяет сразу несколько записей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680289
TransCom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну и что, идет ролл_бэк, ничего в СШМ не пишется, данные с памяти удаляются при этом. Это уже пробовал естесственно на стадии разработки
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680291
TransCom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Про несколько записей: да хоть сколько угодно, лишь бы памяти хватило, они все объеденены единой транзакцией и ждут либо коммита либо очистки по роллбэк (если ни то ни то не вызовется, то ждут завершения процесса)
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680299
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TransComНу и что, идет ролл_бэк

Коммит попробуй. Роллбэк это слишком просто.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680308
TransCom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коммит, который вызовет ошибку? Тогда да, у меня пройдет по идее по он_коммит, еслит он_коммит вызывается до фактического коммита (что не правильно само по себе, но это уже вопрос к разработчикам СУБД). Но вроде мне такой коммит не попадался еще. Кстати, даже такое поведение ни чуть не мешает делать успешную репликацию, а вот отправить к примеру запрос - это да)
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680310
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TransComКоммит, который вызовет ошибку?

Коммит после запроса, выполнившегося с ошибкой:
Код: sql
1.
2.
3.
4.
insert into t (pk) values (1);
insert into t (pk) values (1);
insert into t (pk) values (2);
commit;


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680315
TransCom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
))) понятно))) мое приложение так не работает, при ошибке вызывает роллбэк, что очень логично) Т.е. эти три запроса я бы вылнял либо execute block если надо гарантировать целостность, либо если "что успешно, то успешно" это было бы 3 разных транзакции
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680427
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TransComSavepoints я не использую


Я что-то важное проспал? Тогда поднимите мне веки. Ну позяззя.

TransComхотя конечно с транзакциями проще, но в действительности это не производительно само по себе

А вот это без экивоков записываю в блокнотик.
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680428
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаЯ что-то важное проспал? Тогда поднимите мне веки. Ну позяззя.

Ну, от того что именно тебя пробудило - существование сейфпоитов или их неиспользование -
веки придётся тянуть в разные стороны. Так что поясни.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680431
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TransCom))) понятно))) мое приложение так не работает, при ошибке вызывает роллбэк, что очень логично) Т.е. эти три запроса я бы вылнял либо execute block если надо гарантировать целостность, либо если "что успешно, то успешно" это было бы 3 разных транзакции

Я чота запутался в списке чужеродных вариантов при нажатии SRC пишучи (или писючи?) пост, решил нажать по простому FIX, такшта извиняйте если что.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Create Table TableA
( A Int)

Insert Into TableA (A) Values (1)
Insert Into TableA (A) Values (2)
Insert Into TableA (A) Values (2)

Create Table TableB
( ID Int Not Null Primary Key)

Create Procedure Ooops
Returns (A Int)
 As
Begin
  For Select A From TableA
   Into :A
  Do
   begin
      Insert Into TableB (ID) Values (:A);
      Suspend;
   end
End



Транзакция при обращении одна, хоть ты тресни. С точки зрения клиентской программы оператор Select * From Ooops атомарен. Сталбыть, в целях сокращения разрыва OIT-OAT и экономии памяти под TIP его следует завершать коммитом по-любому - если обломался, откатывать нечего. Однако, как много нам открытий чудных готовит просвещенья дух... Сэйвпойнты там всякие и всё такое...
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680437
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

не ну это совсем косячный косяк. За такие процедуры руки вырывать надо
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680447
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисСтарый плюшевый мишка,

не ну это совсем косячный косяк. За такие процедуры руки вырывать надо

Как хорошо, что я живу не в Рязани, руки до сих пор на месте

В моей практике классика - перелив из одной таблицы с попутной модификацией структуры в другую. Или из одной базы, в частном случае повреждённой, в другую. Если там в ТаблеА лямов 15 записей, то сидеть и плевать в потолок скушна, а тут циферки по экрану бегут, видно сколько сделано, сколько осталось, а если обломится - с какого места начинать. Были такие и в регулярных алгоритмах, но тут уж надо понимать что делаешь и решать - если что, коммитить тебе надо или роллбачить :)
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680474
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

ну как бы сделал селект из такой процедуры, отфетчил 10 записей из 100 и нажал коммит. Особенно в гриде, который фетчит сколько на 2 экрана влезает. Очень весело.

Простым

Код: sql
1.
2.
3.
insert into t1(f1, f2)
select f1, f2 
from t2



без показа циферок быстрее будет.
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680481
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисСтарый плюшевый мишка,

ну как бы сделал селект из такой процедуры, отфетчил 10 записей из 100 и нажал коммит. Особенно в гриде, который фетчит сколько на 2 экрана влезает. Очень весело.

Простым

Код: sql
1.
2.
3.
insert into t1(f1, f2)
select f1, f2 
from t2



без показа циферок быстрее будет.

Ты надеялся, что я это буду оспаривать? Речь вообще-то не о примерах из серии дважды два - четыре, это иллюстрации. Впрочем, зарекался я не вылезать из Пятницы, зря высунулся.
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680516
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишкаС точки зрения клиентской программы оператор Select * From Ooops атомарен.

Он настолько атомарен, что сейфпоинта вообще не создаёт. И то, что унутре яго suspend -
сугубо перпендикулярно, ибо тот принудительно подтверждает все сейфпоинты вплоть до
вызывающей стороны. То бишь вернул этот select 15 записей - будь спок, что эти 15 записей
изменились. И абсолютно адекватно, что то, что select не вернул - не изменилось. Есть,
правда, нюанс в виде сетевого буфера, который создаёт разницу между "select вернул" и "на
морде отобразилось".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680535
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старый плюшевый мишка,

ну если ты целиком и полностью понимаешь как это работает, то пользоваться то конечно можно (хотя я побаиваюсь). Но вот демонстрировать такие примерчики на форумах это всё равно, что разложить мины на поле. Обязьяны обязательно их найдут :)
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680609
Фотография Старый плюшевый мишка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Братцы! Да не виноватая я, он сам пришёл! И не учил я его плохому, просто показал, как легко и просто можно наступить на грабли того, что ты "не используешь". А уж когда руки стали отрывать, куды деваться-то, защищаться приходится
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680657
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TransComесть ли нормальный клиент на C++, нынче использую ibpp +своя поверх оболочка
В 3-ке появился штатный ООП интерфейс для C++ и Pascal (Delphi & Free)
Я использовал на C++ - вполне юзабельно.
Из минусов некоторая многословность, которая легко лечится небольшой своей обёрточкой и несколько странная стратегия освобождения некоторых объектов. :)
Правда документации практически нет. Но есть примеры и этот форум. :)
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680661
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonal,

http://www.ibase.ru/files/firebird/fbapi.html ну и есть оригинал в папке doc
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680666
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

Огромное спасибо!
Не хватало.
...
Рейтинг: 0 / 0
Firebird 2.5 lock file
    #39680674
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Tonalнесколько странная стратегия освобождения некоторых объектов. :)

Экий, Вы, батенька, политкорректный...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
24 сообщений из 99, страница 4 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Firebird 2.5 lock file
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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