powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Deadlock. Update contlicts with сопсurеnt update. Помогите решить.
3 сообщений из 53, страница 3 из 3
Deadlock. Update contlicts with сопсurеnt update. Помогите решить.
    #39020755
Mironico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подождите товарисчи.
Вся эта моя "задумка" только для того чтобы собрать остатки всех наших аптек в кучу
и чтобы в любой аптеке на любой кассе аптекарь мог сказать покупателю что где почем
если в его аптеке этого нет.

Интернет у нас в каждой аптеке 80 % проводной и в основном стабильный.
Но есть эти 20% где инет беспроводный, иногда очень плохой сигнал, иногда
просто модемы виснут. В 3х аптеках еще EDGE причем не самый хороший.
Поэтому "типа репликатор" отправляет только "изменения" через промежутки времени.
Самая простая схема.
Долго сидеть и выдумывать что-то получше на данный момент времени нет - отвлекают куча
других обязанностей и постоянные звонки по 30-50 в день.
Просто хотелось избавиться от дедлоков с которыми раньше не сталкивался (за 10 лет ни разу).
...
Рейтинг: 0 / 0
Deadlock. Update contlicts with сопсurеnt update. Помогите решить.
    #39020757
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MironicoПоэтому "типа репликатор" отправляет только "изменения" через промежутки
времени.
Самая простая схема.
Твоя проблема не в репликаторе. Просто ему не везёт напороться на конфликт чуть чаще, чем
остальным. Твоя проблема в самой логике ведения остатков и решать её надо на
концептуальном уровне.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Deadlock. Update contlicts with сопсurеnt update. Помогите решить.
    #39020881
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MironicoПодождите товарисчи.
Вся эта моя "задумка" только для того чтобы собрать остатки всех наших аптек в кучу
и чтобы в любой аптеке на любой кассе аптекарь мог сказать покупателю что где почем
если в его аптеке этого нет.

Интернет у нас в каждой аптеке 80 % проводной и в основном стабильный.
Но есть эти 20% где инет беспроводный, иногда очень плохой сигнал, иногда
просто модемы виснут. В 3х аптеках еще EDGE причем не самый хороший.
Поэтому "типа репликатор" отправляет только "изменения" через промежутки времени.
Самая простая схема.
Долго сидеть и выдумывать что-то получше на данный момент времени нет - отвлекают куча
других обязанностей и постоянные звонки по 30-50 в день.
Просто хотелось избавиться от дедлоков с которыми раньше не сталкивался (за 10 лет ни разу).

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
просто хоть и криво:
create table tab_upd_goods ( id, goods_id );
create table tab_send_goods ( id, goods_id);
create sequence s_tab_upd_goods;

После пересчёта при создании чека вместа update в goods делаем:
insert into tab_upd_goods ( id, goods_id) values ( s_tab_upd_goods.nextval, :goods_id );

При репликации:
delete from tab_send_goods;
insert into tab_send_goods ( id, goods_id ) select id, goods_id from tab_upd_goods;
Товары для репликации: Select goods_id from tab_send_goods group by goods_id

!после успешной репликации:
delete from tab_upd_goods d where d.id in select s.id from tab_send_goods;


p.s. При этом шансы получить коллизии при расчёте остатков ( при одновременной продаже одного и того же товара в нескольких кассах ) у вас никуда не денутся о чём сдесь уже писали
...
Рейтинг: 0 / 0
3 сообщений из 53, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Deadlock. Update contlicts with сопсurеnt update. Помогите решить.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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