powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по POST_EVENT
25 сообщений из 147, страница 4 из 6
Вопрос по POST_EVENT
    #33093459
Amris Mirddin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrв промежуток времени после срабатывания ивента на клиенте, но перед повторным взводом его в режим ожидания, может закоммититься несколько транзакций. Т.е. клиент после этого получит одно уведомление с несколькими ID. Архитектурно - те же яйца, просто безопасней на практике.

Несколько - это сколько в риали? 100? 1000? Фигня по сравнению с мировой революцией. А вот записей - да, может быть и 10 000 000. Тебя же философии ещё успели поучить, в отличие от нынешнего поколения, должен понимать, что количество переходит в качество не непрерывно, а диалектическим скачком.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093468
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
уточняю свою позицию. Я не против данной фичи, при условии ее эффективной и безопасной реализации. Amris не даст соврать, как давно эта работа началась. Но на сабжевый вопрос буду продолжать отвечать "патамучта". Ибо тема уже набила оскомину. А большинство хотельщиков - неумытые извращенцы, истязающие себя с особым цинизмом. Прикручивать к ивентам событийную семантику - архитектурное зло. Альтернативные варианты (в том числе предложенный current_transaction) рассматриваются, но с низким приоритетом. У меня на эту тему все.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093476
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛентяйА в очередь их никак не выстроить?

можно, но тогда придумай для них новый термин и напиши новый код. К ивентам это уже отношения иметь не будет.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093489
Amris Mirddin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr ЛентяйА в очередь их никак не выстроить?

можно, но тогда придумай для них новый термин и напиши новый код. К ивентам это уже отношения иметь не будет.

Пажди-пажди-пажди. Чё-т я окончательно запутался как ты эти параметры видишь. Промой мозги плиз:

Event 'MyEvent'+Param в случае множественного срабатывания это

MyEvent 1,2,3

или

MyEvent 1
MyEvent 2
MyEvent 3
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093490
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amris Mirddinколичество переходит в качество не непрерывно, а диалектическим скачком

для вас все вполне приемлемо, спору нет. Но яйца с точки зрения реализации в обоих случаях безумно схожи. А я уже не уверен, что предложенный мной 5 лет назад вариант действительно красив и оптимален. Ибо долго читал пейджер. Возможно, зря :-)
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093503
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amris MirddinEvent 'MyEvent'+Param в случае множественного срабатывания это

MyEvent 1,2,3

или

MyEvent 1
MyEvent 2
MyEvent 3

в моей реализации многолетней давности - первое. Бо второе имеет мало общего с бессмертными идеями г-на Старки. Но сейчас в моей смутной голове все это видится малость по другому:

MyEvent (3)

1
2
3

т.е. ивент со счетчиком пихаются клиенту насильно, а вот параметры он вытягивает сам, если они ему нужны. Эдакое сочетание push+pull, синхронизированный кентавр DMBS_ALERT+DMBS_PIPE (в терминологии оракла).
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093532
Amris Mirddin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr[quot Amris Mirddin]Event 'MyEvent'+Param в случае множественного срабатывания это

MyEvent 1,2,3

или

MyEvent 1
MyEvent 2
MyEvent 3

в моей реализации многолетней давности - первое. Бо второе имеет мало общего с бессмертными идеями г-на Старки.

Иопть. А я-то, дурень, мыслил в плане второго. И жаль и странно, что в бессмертном не так, оно как-то имхо органичнее - событие отличающееся от предыдущего, неважно чем, есть другое событие.

dimitr
Но сейчас в моей смутной голове все это видится малость по другому:

MyEvent (3)

1
2
3

т.е. ивент со счетчиком пихаются клиенту насильно, а вот параметры он вытягивает сам, если они ему нужны. Эдакое сочетание push+pull, синхронизированный кентавр DMBS_ALERT+DMBS_PIPE (в терминологии оракла).

На первый взгляд кривенько как-то - раз параметры заказывали, значит они будут нужны вроде как скорее всего всегда. Очередь на клиенте была бы логичнее чем лазать за ней на сервер. Гридорефрешераторов приструнит пожалуй, а вот репликаторам-логоводам лишние телодвижения. Настораживают не как таковые, а дополнительными задержками, и, пожалуй, относительно немалыми.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093572
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Amris Mirddinжаль и странно, что в бессмертном не так, оно как-то имхо органичнее - событие отличающееся от предыдущего, неважно чем, есть другое событие

событие есть строка, на которую подписывается клиент. Отсюда вывод - параметр не есть часть события.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093576
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, dimitr!
Ты пишешь:

dimitrd> событие есть строка, на которую подписывается клиент.
d> Отсюда вывод - параметр не есть часть события.Походу. Подписку по маске, сложно сделать?

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093578
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем, так. Буду писать статью про то, как эти долбаные ивенты задумывались, как были сделаны и как работают. С мега-доскональными деталями. После чего все курят оный опус. В конце лета тему продолжим.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093583
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийПодписку по маске, сложно сделать?

с этого я и начинал. По сути те же яйца.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093584
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, dimitr!
Ты пишешь:

dimitr МимопроходящийПодписку по маске, сложно сделать?
d> с этого я и начинал. По сути те же яйца.Ну, тебе виднее...

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.2
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093595
Amris Mirddin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitr Amris Mirddinжаль и странно, что в бессмертном не так, оно как-то имхо органичнее - событие отличающееся от предыдущего, неважно чем, есть другое событие

событие есть строка, на которую подписывается клиент. Отсюда вывод - параметр не есть часть события.

Нда. Вот к чему приводит отклонение от общесистемных принципов при проектировании подсистемы. Это как с денормализацией - никогда не делай её вместо, а только кроме, а то самая извращённая фантазия не поможет предугадать когда и на какие грабли наступишь при малейшей подвижке постановки. Нет чтоб rdb$events, возможность подписаться только на зарегистрированные там события и к ним уже хоть колбасу привязывай - не, притянутые за уши строки на клиенте, клиент вмешивается в серверную логику и она начинает зависеть от того, что ни малейшим боком к серверу не относится... В общем ты как всегда прав, самое разумное - забить до лучших времён. Как оно есть, оно почти неюзабельно, переделывать капитально - заломаешь тучу действующих приложений, пристраивать сбоку другой правильный мезонинчик - не настолько велика потребность, есть чем заняться более практически востребованным...
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093826
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv3. для отлова удалений все несколько сложнее. Или на удаления надо положить, если их нет, или сделать отдельную таблицу, параллельную исходной, и при удалении складывать туда идентификаторы (pkfield) удаленных записей. Тут, правда, с генераторами ничего не выйдет, т.к. записи могут удаляться как попало, поэтому если требуется проверять "удаленные за сегодня", то надо добавить в ПК этой доп. таблицы еще и столбец типа DATE.
(тут бы и удалить эти записи в буфере клиентдатасета)


я далеко не гуру, и очень боюсь, что на меня накричат, мол велосипед ... но я делаю так (вариант 100% рабочий):

в таблицах, за изменением которых надо следить, заводятся дополнительно 2 поля:

FCHANGECNT integer,
FDEL integer

FCHANGECNT - заполняется из отдельного генератора при любом измении или добавлении
FDEL изначально =0, если хотим удалить запись, то ставим его в 1, и не забываем перезаполнить FCHANGECNT из генератора

а теперь, на клиенте, когда первый раз грузим табличку, выполняем select * from tabler where FDEL=0, запоминаем максимальное FCHANGECNT, которое встретим в ней, грузим только с FDEL=0

а если хотим обновить табличку, выполняем select * from table where FCHANGECNT>(значение, запомненное клиентом)
для каждой полученной этим запросом записи 3 варианта:
1. если запись с таким ПК в локальном буфере уже есть и новое FDEL=1, то удаляем ее из локального буфера,
2. если запись с таким ПК в локальном буфере уже есть, то перезаписываем остальные поля из полученной записи в буфер
3. если заиси с таким ПК нет, добавляем ее в лок. буфер

конечно, для реализации этой логики пришлось написать свой компонент :((
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093828
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл уточнить, после обновления опять-таки надо запонить максимальное значение FCHANGECNT, чтобы обновлять в следующий раз
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093836
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот не по теме. Если у меня 200 пользователей и я каждого подпишу на 2 события, много ли будет проблем. Есть, в принципе возможность евенты не юзать, но сними удобнее. В общем при таких условиях юзать или не юзать?
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093929
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Карабас Барабасконечно, для реализации этой логики пришлось написать свой компонент :((
А компонентом, в исходниках, не поделишся?
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33093988
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FreemanZAVЕсли у меня 200 пользователей и я каждого подпишу на 2 события, много ли будет проблем.

что ты называешь проблемой?
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33094013
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лебедкин Карабас Барабасконечно, для реализации этой логики пришлось написать свой компонент :((
А компонентом, в исходниках, не поделишся?

думаешь, он тебе понравится ?

1. он не потомок датасета, представляет собой TList с записями, т.е. в дбгриде его не отобразить :)) умеет только в DrawGrid отображаться
2. в гриде редактор не предусмотрен
3. транзакция у каждого компонента своя (ну так исторически сложилось, а переделывать сейчас некогда и неохота)
4. он на бильдере сделан, в дельфи проблемы могут быть
5. работат только с integer, double precision, varchar, char

ну и т.д. и т.п. вобщем заточен под мои конкретные нужды ...
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33094045
Лентяй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrв общем, так. Буду писать статью про то, как эти долбаные ивенты задумывались, как были сделаны и как работают. С мега-доскональными деталями. После чего все курят оный опус. В конце лета тему продолжим.
Кстати, спасибо за чтиво на ночь . Я лично при сочинении запроса всегда абстрактно представляю, как с ним будет разбираться сервер. Надеюсь с прочтением статьи мои абстрактные представления стали ближе к реальности . И по поводу Event-ов - в этой ветке тоже наступило некое просветление. А уж когда статья будет...
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33094059
Лебедкин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4. В билдере мне и надо (вернее предподчительние)
1. Мда - а я думал именно потомок DS
Для связи с сервером IB API использует или IBX/FIB?
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33094116
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛебедкинДля связи с сервером IB API использует или IBX/FIB?
IBX - цепляется компонет к IBDatabase, создаются внутренние IBSQL, IBTransaction (2 штуки - на чтение и на модификацию, хотя особого смысла в 2-х нет, т.к. он читает данные и всегда завершает транзакцию)

да, еще, он не расчитан на квотированные идентификаторы, все имена полей приводит к одному регистру

короче, ограничений куча, единственный плюс - возможность обновления больших наборов данных на клиенте

мне не жалко, могу и выложить исходники, только ведь сам потом ко мне придешь, мол то не так, да это не эдак
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33094173
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кхм.

Вполне можно совместить при визуализации/редактировании данных синхронное отображение без перечитывания всего набора данных. Просто нужно несколько иначе рассматривать методы отображения и синхронизации. Чтобы трафик не нагружать, не требовать от эвентов IB того, что они не могут, и чтобы картинка на экране не мельтешила.

Сразу скажу - без Bold, хотя идею стянул оттуда; все "стандартными" средствами. Ну, почти стандартными.

С использованием эвентов InterBase.

Проверено и запущено - работает.

Кому действительно нужно, могу прислать демку и рассказ "о том, как.", пишите на e-mail. Только без обсуждения того, нужно это или нет - это просто есть, сделано и работает.
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33094206
fynda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mv
Проверено и запущено - работает.
Кому действительно нужно, могу прислать демку и рассказ "о том, как.", пишите на e-mail.

Ты лучше по прошлой теме отчитайся, а то только тайну наводишь, а как рассказать - так нет тебя :(
...
Рейтинг: 0 / 0
Вопрос по POST_EVENT
    #33094225
FreemanZAV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrчто ты называешь проблемой?
В 1.0 кажеться были проблемы с событиями, при отваливании коннекта.
Но вообще, проблема в том, что в короткий срок туева хуча народу должна заколотить туеву хучу данных, да докучи еще столько же делают отчеты. Не хотелось бы иметь напрягов с производительностью. (А кстати, в FB HASH JOIN планируется? )
...
Рейтинг: 0 / 0
25 сообщений из 147, страница 4 из 6
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вопрос по POST_EVENT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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