Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» InterBase и FireBird: вопросы по работе и их решение

Автор: miwa
Дата сообщения: 05.07.2012 18:49
delover


Цитата:
1) Достаточно шаблонный 2 триггер бефо апдейт афтр инсерт (надеюсь по русски) на основные таблицы типа юзверь-коннект которые копируют в табленаме_лог заставляют волосы вставать дыбом.

Если программиста пугают шаблонные тригеры, может сменить профессию?

Цитата:

Так что не советую без особой необходимости. Хотя тут же АБЦ анализ на хранимых процедурах, который ещё и работает шустро! Кто может не в курсе - это очень сложная для понимания посторонних людей математика, и полностью в SQL.

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

Цитата:

2) Я бы тоже не чистил если таблица без индексов.

При чем здесь индексы?

Цитата:

3) Реагировать какимто процессом - ну либо маньячество ИМХО либо третья педаль велосипеду ещё раз ИМХО.

Обе имхи не в тему.


Цитата:

Добавлено:
miwa
2)+ Не генератор пусть молотит...

Генератор ничего не скажет о смысле отправленных сообщений, так что опять не в тему.
Автор: ant0ni02004
Дата сообщения: 05.07.2012 20:53
delover

Цитата:
Что послано?

Цитата:
вся пачка эвентов приходит к Вам только когда транзакция типа того, - комит

рассматривался вариант отправки событий (не event-ов ФБ) через UDF, и тут уже коммит не рулил
Автор: delover
Дата сообщения: 06.07.2012 10:01
ant0ni02004
ну тогда, не знаю как в ФБ, но в MS есть текущяя транзакция её стэйты и связи с DBO и привилегиями. просто слать месаджи которые будет читать любое приложение, мне кажется не совсем корректно и в 10 раз более некорректно если тематика базы подразумевает работу с баблом. Ну нажал кнопку юзер, а потом решил отказаться, если я захочу увидеть метания пользователя, то р-админ какой нибудь поставлю.
Автор: miwa
Дата сообщения: 06.07.2012 10:34
delover

Цитата:
просто слать месаджи которые будет читать любое приложение, мне кажется не совсем корректно и в 10 раз более некорректно если тематика базы подразумевает работу с баблом.

Разговор вообще не об этом, как ни странно. «Сообщения» в данном контексте - это некие уведомления о происходящих событиях. Много узнает "любое приложение" из текстов типа "invoice_changed", "order_closed" и т.д.? При том что для того, чтобы получить эти сообщения, приложению надо знать параметры доступа к базе данных и точные тексты собственно сообщений.


Цитата:

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

Опять мимо кассы. «Метания» нужны операторам. Например для того, чтобы видеть изменения остатков. Тоесть если Вася уже продал последний ящик гвоздей, то чтобы Коля это увидел и не пытался продать то, чего нету.
Автор: delover
Дата сообщения: 10.07.2012 09:08
miwa

Цитата:
то чтобы Коля это увидел и не пытался продать то, чего нету.


Цитата:
чтобы видеть изменения остатков.

Остатки - это наличие ящиков гвоздей. Оно меняется только тогда когда прошла операция по безналику, после этого напечатали чек и если всё есть гуд - изменяется наличие. Но есть резерв - это второе поле которое должно содержать максимальное количество затребованное Васей при всех его метаниях которое было разрешено занять. Это поле чистится после "коммитов/ролбеков" уровня 1 (первый уровень лучше организовать не за счёт транзакций, ну да Бог с ним). Но это поле - резерв всегда коммитится на уровне 2. По этой причине остаток в моём понимании это наличие - резерв (резерв всегда актуален). Если мне подкинут халтурку все параметры будут известны, а мессаги окажут дополнительную помощь просто как напоминание. Иногда понять все, - бывает труд-о-затратно, а хочется чтоб не глючило.


Цитата:
Много узнает "любое приложение" из текстов типа "invoice_changed", "order_closed" и т.д.?

Если учесть, что не все программеры знакомые с прогой подобной WinSight32, перестали программировать, то очень много. Толку слать на локальном компе локальные месаджи в принципе нет никакого. Даже UDF легко может открыть TCP IP Server Port если на забанят админы. Что там будет разузнать гораздо сложнее, а пользы гораздо больше. Хотя обходимся и без этого, вообще без алертеров.


Цитата:
приложению надо знать параметры доступа к базе данных и точные тексты собственно сообщений.

Угу...
Автор: miwa
Дата сообщения: 10.07.2012 17:24
delover
Блин, это определенно талант. Так много написать, включая цитатами мои сообщения, и при этом ничего не сказать по обсуждаемой теме... Талантище.

Вы, случаем, политикой на досуге не занимаетесь?
Автор: delover
Дата сообщения: 10.07.2012 17:47
miwa
Извините, я вообще понял что не уловил начало темы, по этому отвечал на то что вижу. Не сказал ничего - жаль, я естественно не в обиде. Мой пост был недавно о том что Fib алертеры научились ловить любые сообщения а не те под которые подписаны. Типо алертеры стали понимать не только TForm но ещё и TForm1 и т.д. А потом была Ваша тема, сути которой я не уловил...
Автор: AlexCoRu
Дата сообщения: 10.07.2012 18:00

Цитата:
Если мне подкинут халтурку
Сомневаюсь, что подкинут. Поэтому давай уж здесь про
Цитата:
все параметры будут известны, а мессаги окажут дополнительную помощь просто как напоминание
делись. Не закапывай свои знания.

Добавлено:
delover, а Вы и в самом деле считаете, что
Цитата:
Fib алертеры научились ловить любые сообщения а не те под которые подписаны
и из этого исходите во всех своих последующих умозаключениях?



Добавлено:
Вообще-то тема началась с моего вопроса:
Цитата:
При изменении таблицы генерируется событие (POST_EVENT), его плучают все подписавшиеся клиенты в т.ч. и тот который изменение сделал. Как можно сделать, что б клиент, сделавший изменение, сообщение не получал? На ум пришло только: отписаться, сделать изменение, подписаться.



Добавлено:
Кстати, отписаться, сделать изменение, подписаться накладок не вызывает, в смысле сообщения не теряются.
Автор: miwa
Дата сообщения: 11.07.2012 08:52
delover

Цитата:
Извините, я вообще понял что не уловил начало темы, по этому отвечал на то что вижу.

Ну вот. А может все же стоило хотя бы в контекст вникнуть? AlexCoRu выше уже объяснил насчет начала темы, повторяться не буду, разве что напомню - вы вообще-то хотели radmin ставить чтобы видеть метания пользователя. И я привел пример с остатками. Вы тут же бросились мне рассказывать, что же такое, эти остатки, быстренько «не уловив» свои же слова об radmin и меседжах.
Мда.


Цитата:
Не сказал ничего - жаль, я естественно не в обиде.

«Ничего не сказал» - это вообще-то флуд, и он запрещен правилами форума. Потому что в обиде могут быть те, кто сюда приходит пообщаться на интересные ему технические темы, а не читать излияния мыслей человека, который даже не соизволил уловить, о чем тут общаются.


Цитата:
Мой пост был недавно о том что Fib алертеры научились ловить любые сообщения а не те под которые подписаны

И вам тут же ответили, что это ложь; после чего более квалифицированные люди обсуждали тему алертов и возможности рассылки сообщений средствами ФБ.
Автор: delover
Дата сообщения: 11.07.2012 20:01
miwa
Не хотел отвечать сейчас. Ммда. Жаль вы не заметили как миллион евро стал дешевле копейки.

AlexCoRu

Цитата:
Кстати, отписаться, сделать изменение,

Прошу не надо меня убивать морально, сто раз убивали. Шутка. Знаю - тяжела и неказиста...


Цитата:
а Вы и в самом деле считаете, что
Цитата:
Fib алертеры научились ловить любые сообщения а не те под которые подписаны

Да считаю, как пророк который увидел то что произойдёт через тысячу лет. Шутка.

(удалено правообладателем)


Цитата:
delover, а Вы и в самом деле считаете, что

Своим умом фибы больше чем сервер созрели...

Добавлено:
miwa
Теперь моя непонятная фраза про первый уровень транзакций. Это обычные таблички с приставкой TMP. Реальный TMP который уже сделали о котором я мечтал, я даже не видел. Я так же мечтаю найти время и научиться использовать механизм тэмповых таблиц. Но пока чистим сами и не всегда правильно.


Цитата:
И вам тут же ответили, что это ложь;

Фантазии и стёб уже научились называть ложью без критики снизу?


Цитата:
быстренько «не уловив» свои же слова об radmin и меседжах.

Ну торможу, я же сказал что не в обиде. Вы привыкли на форуме видеть только молодёж, я по Вашим меркам старик. Тут только следующий абзац который топором не вырубить.



Ктото скажет что общая память DLL это не сложная тема, всё едино EXE DLL и BMP. Правильное утверждение, но я бы в другую сторону хотел мысль продвинуть. Я настолько привык, что мне было бы удобнее вместо шаремем использовать Embeded, чей бы вы думали? Ну теперь всё тупо.

create procedure DrobAllTables_AndAlertMessage
rdb for select...
post_event TForm

create procedure DrobAllTables_AndAlertMessageEx
rdb for select...
post_event TForm1

Теперь, - почему фигово на душе? А потому что приложение которое я компилил когдато, - уже не работает...

Это для miwa который думает что Turbo Pascal который был на компьютере Роботрон знал об флоат поинт регистрах. Нет в регистрах Зилок не было таких регистров.
Автор: delover
Дата сообщения: 12.07.2012 06:32
Про квалификацию, - я даже и не видел смысла обсуждать возможность открыть порт 3052 и всё сделать самостоятельно. В реальности это не особо сложно, но изначально криво. Ай. Криво, если это будет делать я, так как сделать это я сделаю, даже компонент сделаю (хоть на винсокет хоть на tcp, хотя квалифицированные специалисты чаще всего утверждают что винсокеты сделаны на основе tcp а не наобарот), только сопровождать сделанное не буду.

Добавлю
Мне очень помогали алертеры в своё время, давно, когда я ещё не знал других стилей строить приложения. Но потом узнал и уже долгое время не связываюсь с алертерами. Я даже не помню синтаксис как их вызывать. В общем нет надобности вообще. Это уже если Вам нужно, а у нас просто была речь с сотрудником, опять вспомнить молодость, мы подумали - и отказались.

Ну и закрываю свой вопрос
Никто же не отменял самый очевидный способ слать любые сообщения - такой - есть таблица сообщений где около 50 полей на каждый домен, а сообщение шлётся одно - обновилося табличка сообщений.
Автор: AlexCoRu
Дата сообщения: 12.07.2012 09:44
delover

Цитата:
Фантазии и стёб уже научились называть ложью без критики снизу?
И над кем стебёшся?
Автор: miwa
Дата сообщения: 12.07.2012 10:00
delover

Цитата:
Вы привыкли на форуме видеть только молодёж, я по Вашим меркам старик.

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

Вот примеры ниже


Цитата:
Жаль вы не заметили как миллион евро стал дешевле копейки.


Цитата:
Сори тема лукопов связана всегда с падениями самолётов в странах третьего мира


Цитата:
Это для miwa который думает что Turbo Pascal который был на компьютере Роботрон знал об флоат поинт регистрах. Нет в регистрах Зилок не было таких регистров.


При чем тут регистры роботрона, самолеты третьего мира и милилоны евро?


Цитата:
create procedure DrobAllTables_AndAlertMessage
rdb for select...
post_event TForm
 

А этот «псевдокод» не имеет ни малейшего смысла, как его не верти.
Автор: Maximus777
Дата сообщения: 12.07.2012 12:57
Люди добрые, помогите советом. Вопрос может сильно чайниковский, но уж простите, срочно надо. Можно ли в запрос:

Код: INSERT трали-вали ...
Автор: miwa
Дата сообщения: 12.07.2012 14:11
Maximus777
Нельзя.
Для того, чтобы на стороне сервера узнать, кто выполняет конкретный запрос, надо использовать контекстные переменные, среди которых есть CURRENT_USER:

insert into talbename (f1, f2, f_user) values ('трали', 'вали', (select current_user from rdb$database))

Автор: Maximus777
Дата сообщения: 12.07.2012 14:39
miwa
Спасибо огромное. Работает!
Автор: noisy
Дата сообщения: 12.07.2012 14:44
Maximus777

CURRENT_USER - Контекстная переменная возвращает имя текущего пользователя

Словарик по Firebird


Добавлено:
miwa

пойдет просто

insert into talbename (f1, f2, f_user) values ('трали', 'вали', current_user)
Автор: Maximus777
Дата сообщения: 12.07.2012 14:59
noisy
Точно! Работает даже так. За словарик отдельное спасибо.
Автор: miwa
Дата сообщения: 12.07.2012 15:24
noisy
Да, точно. Я сперва через get$context написал, а потом вспомнил, что current_user еще и отдельно есть и изменил запрос, а select from rdb$database остался
Автор: delover
Дата сообщения: 13.07.2012 09:41
miwa

Цитата:
По моим меркам вы - учащийся старшых классов

) По моим меркам - Вы первокласник. Давайте флуд пока отложим.


Цитата:
если иногда проговариваетесь о чем-то на технические темы

Проблема ясна

1) В случае, если передо мной человек знакомый с отличиями в естественном, формализованном и мета-языке. А так же если человек легко справляется с удобной смесью мета-языка и естественного.
- Я хочу реализацию, аналогичную POST_EVENT, с возможностью передачи параметров. Способы на усмотрение разработчика. Варианты - принимать все сообщения, сам отфильтрую, принимать сообщения по префиксу, принимать сообщения с дополнительным параметром типа Int. Все _перечисленные_ варианты вполне устраивают. Варианты реализации того же самого с дополнительным SQL или библиотеками не устраивают.

2) В случае, если передо мной технарь.
- Вы понимаете что порт 3051 абсолютно бесполезен, я только по забывчивости забываю его запрещать в брандмауэре? Нужно post_event ( "MsgAboutUpdate", ID_CONNECTION ) и когда нибудь можно не ловить свои хотя бы сообщения?

3) В случае, если передо мной человек, который как обычно включает дурака, по своим соображениям, но всё же не плохой специалист в своей области.
- Думаю Вы имеете достаточный опыт работы с клиентами. Обычно это с десяток пожелалок клиента который пылились на полке и мы общаемся только про одну пожелалку. (Я такой же клиент). Например клиент просит - а вы можете сделать то-то то-то. Ответ - это не возможно сделать. Клиент - ну вы можете хоть что-то сделать, чтобы быстрее было? В этот момент я не объясняю клиенту что он обязан знать различия в снепшотах реадкомитед транзакций, и только после этого просить. Если бы я так поступал я бы не считал себя специалистом. По этому, моя пожелалка:
* post_event... Посмотрите может можно для него что-то сделать? Есть много технологий который стали мертвы из-за того что делались скупыми людьми, или давно уже себя изжили. Мне не хочется разбираться в причинах. Повторю - давно уже, только по этому пишу. Желаю повысить Вам квалификацию и опыт в работе с клиентами - просителями.



Добавлено:
Хотя бы экспертизу кто провёл...

Добавлено:
AlexCoRu
Над ситуацией... Ой, да мне уж тоже не до смеха. - Всё плохо. Всё плохо.
Автор: miwa
Дата сообщения: 13.07.2012 10:50
delover

Цитата:
Давайте флуд пока отложим.

Я-то с радостью, да только что вы тогда делать будете?


Цитата:
В случае, если передо мной человек знакомый с отличиями в естественном, формализованном и мета-языке. А так же если человек легко справляется с удобной смесью мета-языка и естественного.

Определения или хотя бы примеры формализированного и мета-языка в студию. И заодно ваше понимание удобства. Потому как еще Оккам рекомендовал отсекать все лишнее, а вы тут смешением народ смешите.


Цитата:
Я хочу реализацию, аналогичную POST_EVENT, с возможностью передачи параметров.

FB 3.0. Альфу можно посмотреть уже сейчас.


Цитата:
Вы понимаете что порт 3051 абсолютно бесполезен, я только по забывчивости забываю его запрещать в брандмауэре?

Опять проговорились о своей технической некомпетентности. У компетентного человека порты надо не запрещать, а разрешать.


Цитата:
В этот момент я не объясняю клиенту что он обязан знать различия в снепшотах реадкомитед транзакций, и только после этого просить.

Беда только, что тут не клиенты, а программисты общаются. Которые либо ориентируются в предметной области, либо спрашивают совета. И кроме прочего понимают разницу между read commited и snapshot.
Автор: AlexCoRu
Дата сообщения: 13.07.2012 11:23

Цитата:
Я хочу реализацию, аналогичную POST_EVENT, с возможностью передачи параметров.

Цитата:
FB 3.0. Альфу можно посмотреть уже сейчас.
В Release Notes - Firebird Core - Version 3.0 Alpha 1 - HTML format не увидел такого.

Добавлено:
miwa, по-моему он на ней разговаривает

Цитата:
удобной смесью мета-языка и естественного
, ему одному понятной. Причём, иногда сам с собой)
Автор: miwa
Дата сообщения: 13.07.2012 12:13
AlexCoRu

Цитата:
не увидел такого

Почему-то не покидает ощущение, что читал где-то об этом - то ли в рассылке fb-devel, то ли где-то на форуме от разработчиков, то ли в трекере. Сейчас найти не смог, только о параметризованых исключениях в докладе Дмитрия Еманова на последней конференции.


Цитата:
miwa, по-моему он на ней разговаривает

Цитата:
удобной смесью мета-языка и естественного

, ему одному понятной. Причём, иногда сам с собой)
Автор: delover
Дата сообщения: 13.07.2012 14:15

Цитата:
Определения или хотя бы примеры формализированного и мета-языка в студию.

Начну с естественного. Не стану умолять способностей программистов не читавших мёртвые души, хотя похоже. Тут более похожий фрагмент, не помню откуда, там такое. Крик, ор, то-ли дедушка то-ли бабушка умерла. А главный герой поддерживает мёртвое тело, стоя сзади. И бодро помахивает ручкой - утверждает - да нет смотрите живая ещё, вот ручкой машет...
В ассортименте программиста всегда есть так сказать ходовой и не ходовой товар, который можно использовать. Если речь касается незнания специфики отрасли в которой применяется ассортимент, то простительно. Но когда на протяжении уже более недели невозможно донести до головы то, что имеется мёртвый ассортимент, а они всё отшучиваются, приходит на ум - и правду говорят про программистов - не от мира сего люди...


Цитата:
удобной смесью мета-языка и естественного
, ему одному понятной. Причём, иногда сам с собой)

Иногда смеси это есть импровизация, порой сокращающая на десяток лет вопрос о том выносить ли тело или пусть ещё полежит. Когда одна импровизация не срабатывает приходится определяться в терминах, кто какие вкладывает денотации чтобы выработать общие сигнификанты. Ссылки на вики нужны о денотации / сигнификации? С Вашей стороны молчёк, приходится признать - обычное дело. Как и мы в детстве найдём того кто на дразнилку дико реагирует и долго над ним прикалываемся. Ну и так же - а докажи нам - мы не поняли и как в просилке купи слона да купи и расскажи более понятно.


Цитата:
Ага, хочется человеку иногда пообщаться с кем-то, кто его понимает

Ну я например понимаю прикол - все хотели не этого, а получилось это. Так многие негодовали и расстраивались, что всё так плохо с post_event-ами. Однако


Цитата:
Оккам рекомендовал отсекать все лишнее

Я бы тоже хлам и мёртвый ассортимент вывозил тележками, чтобы место освободить. Только как это донести до дровосека ослеплённого своей местячковостью. Как только прочтёт он местную газетку, как возьмёт топорик, аж так и Оккамы сыплются. А лес всё гуще и гуще.

Добавлено:
зы

Цитата:
MilaMila: пусть только мальчики ответят. что по вашему лучше всего подчеркивает талийю?????
DosPro: лучше всего талийю подчеркивает Ворд.
Автор: miwa
Дата сообщения: 13.07.2012 14:54
delover

Цитата:
Не стану умолять способностей программистов не читавших мёртвые души, хотя похоже.

Я кроме "Вечеров на хуторе..." и "Вия" больше ничего не помню. Как там мои способности - уже ниже плинтуса?


Цитата:
Когда одна импровизация не срабатывает приходится определяться в терминах, кто какие вкладывает денотации чтобы выработать общие сигнификанты. Ссылки на вики нужны о денотации / сигнификации?

Не надо, сам нашел.


Цитата:
Ну я например понимаю того кто не хотел бы как в шестых фибах с алертером вышло с синхронизацией, пришлось из более старой сборки брать.

А вот здесь ссылки на вики не помешали бы. Хотя бы указание, на каком языке написано. А то буквы вроде русские, и слова практически понятны, а вот предложение уже за пределами понимания. Это из-за того, что с денотациями у нас полная сигнификация, да?


Цитата:
Я бы тоже хлам и мёртвый ассортимент вывозил тележками, чтобы место освободить.

Вот кстати да - отличное занятие. Нафига вам это программирование, где дразнятся непонятными дразнилками?
Автор: delover
Дата сообщения: 13.07.2012 15:05

Цитата:
А вот здесь ссылки на вики не помешали бы.

Да не помнит никто уже. Спрашивал - молчат как партизаны.
Автор: miwa
Дата сообщения: 13.07.2012 18:12
delover

Цитата:
Откатывали на 6.9.6 или 6.9.7 по моему, а было с фибами 6.9.9. И связано было с введением  fpu.

А вот здесь с вами полностью согласен. Версия 6.9.9 получилась весьма неюзабельной.
Автор: delover
Дата сообщения: 13.07.2012 18:34
miwa
Вернёмся к уровню или квалификации программирования. Про мой уровень - он весьма низкий. ))) Мне зачем заумный сложный код? Тут я тоже согласен.
Автор: delover
Дата сообщения: 19.07.2012 18:39
miwa
Вы всё же не стёрли мой комментарий жалко - не хотел влипнуть. Повторю - мой уровень низкий. ФПУ сроду не видел - ЦПу пока обещает жить. Антирекламу любимых компонентов - ненавижу.

Да были неудачные шаги в post_event. Да есть куча народа которая боится повторений. Да есть разница между поддержкой ФПУ и заменой SameText на SamePartialText.
Автор: miwa
Дата сообщения: 19.07.2012 19:49
delover

Цитата:
Вы всё же не стёрли мой комментарий жалко - не хотел влипнуть.

Я никогда не правлю свои комментарии. Если сморозил глупость - прошу прощения; если оппонент меня не понял - пытаюсь аргументировать. Правка свих текстов - удел средней школы, где учительница за ошибки плохие оценки ставит. К сожалению или к счастью, но это уже прошло

Цитата:
Повторю - мой уровень низкий. ФПУ сроду не видел - ЦПу пока обещает жить. Антирекламу любимых компонентов - ненавижу.  

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

О ЦПУ и ФПУ в данном контексте - не понял. Можно расшифровать аббревиатуры?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465

Предыдущая тема: Сравнение двух строк


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.