powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MON$ATTACHMENTS не видит новых подключений
55 сообщений из 55, показаны все 3 страниц
MON$ATTACHMENTS не видит новых подключений
    #39718671
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запускаю своё приложение и там каждые три секунды переоткрывается запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT M.MON$ATTACHMENT_ID,
       M.MON$ATTACHMENT_NAME,
       M.MON$USER,
       M.MON$REMOTE_ADDRESS,
       M.MON$REMOTE_HOST,
       M.MON$REMOTE_PID,
       M.MON$TIMESTAMP,
       M.MON$REMOTE_PROCESS,
       M.MON$CLIENT_VERSION,
       M.MON$REMOTE_OS_USER,
       M.MON$STATE
FROM
  MON$ATTACHMENTS M



Вижу 4 подключения: себя, Cache Writer, Garbage Collector и IBExpert.exe.
Запускаю вторую копию приложения, но нового подключения нет, оно не появляется.

Проверил то же самое и в IBExpert. Закрыл оба приложения и запустил на выполнение Database Monitor. Запустил своё приложение, вторую его копию, но Database Monitor не видит новых подключений.

В http://www.ibase.ru/files/firebird/langref25rus/index.html#montables-attachments ничего по теме не нашёл.

Кстати, после закрытия приложения, неактивное подключение тоже должно исчезнуть из MON$ATTACHMENTS, но не исчезает очень продолжительное время. Специально оставил открытым Database Monitor минут на 30. Статью читал http://www.ibase.ru/keepalive/, но не может же быть KEEPALIVE_TIME 30 минут?

Firebird 3, Win 10.

Что я делаю не так? Может, какие-то особые параметры транзакций нужны?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718678
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если перезапустить полностью моё приложение или IBExpert, то в MON$ATTACHMENTS есть все активные подключения, а неактивных уже нет, т.е. есть все те, которые сделаны до запуска приложения или IBExpert.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718679
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

MON$ всегда работают в snapshot даже если стоит режим изолированности READ COMMITED. Чтобы увидеть новые подключения, надо стартовать новую транзакцию, а не просто перевыполнять запрос в текущей транзакции.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718713
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Если перезапустить полностью моё приложение или IBExpert

Перезапустить Эксперта догадался, а нажать в том же Эксперте в том самом окошке кнопочку Commit - не догадался. Странно....
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718716
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениснадо стартовать новую транзакцию, а не просто перевыполнять запрос в текущей транзакции.

ясно, спасибо, хорошо бы это в доках прописать
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718720
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

там это есть

https://www.ibase.ru/files/firebird/langref25rus/index.html#montables Снимок создаётся при первой выборке из любой таблицы мониторинга и сохраняется до конца текущей транзакции, чтобы запросы к множеству таблиц (например, главная-подчинённая) всегда возвращал непротиворечивые данные.

Другими словами таблицы мониторинга ведут себя подобно snapshot table stability ("consistency") транзакции, даже если родительская транзакция была запущена с меньшим уровнем изоляции.

Для обновления снимка, текущая транзакция должна быть завершена и таблицы мониторинга должны быть запрошены в новом контексте транзакции.

ты немного не там искал. Поскольку эта информация относится сразу ко всем MON$ она не дублируется для каждой таблицы.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718721
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

ну, в принципе оно задокументировано, но запрятано, да

"c:\Program Files\Firebird\Firebird_2_1\doc\README.monitoring_tables.txt" The engine offers a set of so called "virtual" tables that provides the user
with a snapshot of the current activity within the given database. The word
"virtual" means that the table data doesn't exist until explicitly asked for.

The key term of the monitoring feature is an activity snapshot. It represents
the current state of the database, consisting of various information about
the database itself, active attachments and users, transactions, prepared and
running statements, etc. A snapshot is created the first time any of the
monitoring tables is being selected from in the given transaction and it's
preserved until the transaction ends, so multiple queries (e.g. master-detail
ones) will always return the consistent view of the data. In other words, the
monitoring tables always behave like a snapshot (aka consistency) transaction,
even if the host transaction has been started with another isolation level.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718724
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://www.ibase.ru/files/firebird/langref25rus/index.html#montables чтобы запросы к множеству таблиц (например, главная-подчинённая) всегда возвращал непротиворечивые данные.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718726
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://www.ibase.ru/files/firebird/langref25rus/index.html#montables даже если родительская транзакция была запущена с меньшим уровнем изоляции.

Родительская - подразумевает вложенность транзакций. Есть родительская Т, а у неё есть дочерние Т-ции.
И уж во всяком случае САМИ ТАБЛИЦЫ порождением транзакции быть не могут.

Лучше IMHO переформулировать

Другими словами таблицы мониторинга ведут себя подобно snapshot table stability ("consistency") транзакции, даже если запросы к ним выполняются в транзакции с меньшим уровнем изоляции.

Или более правильно, но и более занудно

Другими словами запросы к таблицам мониторинга ведут себя подобно snapshot table stability ("consistency") транзакции, даже когда они выполняются в транзакции с меньшим уровнем изоляции.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718733
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денистам это есть

в то же время, информация в самом деле теряется в стене текста....

Хорошо бы вставить врезку "Предупреждение" с краткой отсылкой к ней.

Даже может быть после каждой таблицы отдельно (да, человек может перейти сразу к описанию конкретной таблицы)

Что-нибудь вроде

Предупреждение.
Напоминаем, что данные в таблицах не обновляются до завершения транзакции.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718738
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

ага для каждой MON$ таблицы. Издеваешься?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718739
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь проблема с FibPlus.
Не знаю, какие правильно прописать параметры.

В параметры (TRParams) транзакций пишу:
read
snapshot
wait

При попытке открыть получаю:
Format 'Константа TPB (%d) неизвестна.' invalid or incompatible with argument.

...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718741
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11snapshot

Нет такого параметра. Есть read_committed, concurrency и consistency.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718742
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

offtop. Это ты в берлине тёмную тему нашёл? Или она есть в более ранних студиях?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718744
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так правильно?
read
concurrency
wait
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718750
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисЭто ты в берлине тёмную тему нашёл?
Это в Токио, но в Берлине тоже вроде есть.
До это была XE3, но я не помню, была там тёмная или нет.
В любой версии Delphi можно же самому всё настраивать, но задолбёшься
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718758
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Запускаю своё приложение и там каждые три секунды переоткрывается запрос:Road to hell.
X11но не может же быть KEEPALIVE_TIME 30 минут?может, если выставить. что мешает в той же статье посмотреть что там у тебя стоит, статься годная и вполне понятная.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718759
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я правильно понимаю, что если транзакция только для чтения read, то без разницы, будет Rollback при переоткрытии датасета или Commit?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718760
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyRoad to hell.

Почему?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718761
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_PisarevskyX11но не может же быть KEEPALIVE_TIME 30 минут?может, если выставить. что мешает в той же статье посмотреть что там у тебя стоит, статься годная и вполне понятная.

я понимаю, что может, но в данном случае это уже придирки
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718767
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

если оно так работает весь жизненный цикл приложения, то да Road to hell. Если в отдельном окошке, для админа и на короткое время, то вполне нормально. Просто MON$ создаёт приличную нагрузку на высоко нагруженный сервер, особенно в 2.5.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718772
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, сервер абсолютно не нагружен.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718773
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Нет, сервер абсолютно не нагружен.если каждый 3 секунды дергать мон таблицы, то будет, причем при увеличении нагрузки со стороны юзеров не исключено лавинообразное нарастание нагрузки.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718779
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11так правильно?
read
concurrency
wait
НЕТ!

Для вычитки mon$ правильно
read
read_committed
rec_version
nowait

Объяснили ведь уже, что содержимое mon$ при первом обращении в транзакции вычитывается для всех mon$ и дальше в транзакции не меняется. Поэтому изолированность транзакции пофиг. А раз пофиг, то она должна быть read read_committed rec_version.
Как не влияющая на версионность. Read concurrency будет версии удерживать, если застрянет. И wait тут вообще нафиг не нужен.

X11Ivan_PisarevskyRoad to hell.
Почему?
потому что нельзя так часто тыркать mon$. Это снимок со всех коннектов, транзакций, запросов и областей памяти.
В системах со 100 и более пользователями, в зависимости от загрузки, снимок mon может делаться более нескольких минут!
Кроме того, так часто смотреть mon$ нет никакого смысла. Это типа попытка заменить трассировку, что-ли?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718782
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

ну в трёшке MON$ гораздо легче, но всё равно оставлять приложение дёргающее MON$ каждые три секунды на сутки не стоит.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718783
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

я еще добавлю, что хреново быть писателем, и не читателем. Если бы ты читал sql.ru, всё подряд, то может быть запомнил, что при обращении к mon$ в триггерах и процедурах производительность может падать пропорционально количеству коннектов, или еще хуже.
Самое прекрасное - обращение к mon в триггерах на коннект.

Так что решение про "каждые три секунды обращение к mon$" это из разряда "щас у меня всё зашибись работает, с 1 пользователем, а как там 10 будут работать - мне пофиг".
У тебя даже на 10-ти пользователях мон может не успевать за 3 секунды формироваться.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718787
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvСамое прекрасное - обращение к mon в триггерах на коннект.

на коннект то ещё куда не шло, всё таки не так часто делается. А вот в триггерах на старт/коммит транзакции или обычных табличных триггерах точно не стоит.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718796
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы тут привыкли все работать с ПО, где по 50-200 пользователей. Но у меня не так, 3-5-10 пользователей.

Спасибо за разъяснения. По частным обращениям к mon$ понял.
А вот с транзакциями, их константами и параметрами пока не до конца.
В документации сплошь и рядом читаешь про snapshot, а тут бабах - ан нет такого
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718799
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

ну так ты же не в той документации смотришь. В документации по языку SQL описываются те ключевые слова, которые используются в операторе SET TRANSACTION. А по константам надо смотреть ApiGuide, ну или читать статьи на ibase.ru по IBX/FibPlus
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718802
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718803
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11В документации сплошь и рядом читаешь про snapshot

В какой именно документации? Снапшотом с современном SQL стандарте называют уровень
concurrency.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718809
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvX11,

http://www.ibase.ru/ibtrans/
читал, я о том и говорю, что в доках SNAPSHOT а оказывается это немного или даже совсем другое


Симонов ДенисВ документации по языку SQL описываются те ключевые слова, которые используются в операторе SET TRANSACTION. А по константам надо смотреть ApiGuide

Значит, где-то должно быть какое-то описание соответствий? Или это тоже уже где-то описано?
Ну т.е. если в SQL используется SET ... SNAPSHOT, то в компонентах доступа типа TTransaction - это на самом деле означает, что в параметры транзакций нужно вписать такие-то константы.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718812
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovconcurrency.
Здесь http://www.ibase.ru/ibx/#ibtransaction ничего нет про concurrency.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718817
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Ну т.е. если в SQL используется SET ... SNAPSHOT, то в компонентах доступа типа
TTransaction - это на самом деле означает, что в параметры транзакций нужно вписать
такие-то константы.

Ты не поверишь, но в описании TIBTransaction.Params уже написано "Refer to the Interbase
API Guide for the names of the parameters to provide".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718819
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я про то, что хорошо бы, если бы где-то было написано, что есть такие-то типичные параметры транзакций:
Snapshot = concurrency + nowait




Snapshot + Read only = concurrency + nowait + read





Read Commited = read_committed + rec_version + nowait



... а теперь разберём всё более подробно... и т.д.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718824
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovX11Ну т.е. если в SQL используется SET ... SNAPSHOT, то в компонентах доступа типа
TTransaction - это на самом деле означает, что в параметры транзакций нужно вписать
такие-то константы.

Ты не поверишь, но в описании TIBTransaction.Params уже написано "Refer to the Interbase
API Guide for the names of the parameters to provide".

Поверю, но где это описание?

Например в IDE Delphi Tokyo нажимаю на Help и ничего не происходит, вообще.

...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718835
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11читал, я о том и говорю, что в доках SNAPSHOT а оказывается это немного или даже совсем другое
SQL это одно, константы API это другое, "болванки" наиболее применимых наборов констант API в transaction editor конкретных компонент - это третье.
Я тебе дал статью, которую ты читал, но там как раз указано соответствие между sql и константами api. К примеру, там написано
"SNAPSHOT (константа concurrency)... "
и дальше идут примеры наборов констант.

Увы, но ни в LangRef, ни в API Guide, ни в Embedded sql guide описания соответствия sql константам нет.
А у меня ещеесть видео по параметрам транзакций, также с указанием соответствия (с 12:17)
https://www.youtube. com/watch?v=n35L7gdw51Q
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718842
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvУвы, но ни в LangRef ... описания соответствия sql константам нет.

а должно быть? Если надо добавлю
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718844
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvам написано
"SNAPSHOT (константа concurrency)... "

Поймите, что это непонятно, в том-то и дело...
т.е. не написано, что SNAPSHOT - это в SQL, а в API - это константа concurrency.

А уж тем более непонятно для нубов.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718847
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисArioch,

ага для каждой MON$ таблицы. Издеваешься?

Нет, чем больше думаю, тем серьезнее предлагаю.

пойми, что справку очень част очитают по принципу "кусок, который нужен вот прямо сейчас", а не как институтский курс с первой страницы и по последнюю не отрываясь.

Это - gotcha. Таблица есть, но работает совсем не так, как таблица.

Я в свое время разбираться не стал, ткнул в кнопка Commit, сказал "ага!.." и для себя это закрыл. А уэж баг это, tradeoff или меньшее зло - практической разницы не было.

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

Т.е. вообще-то ловушка небольшая, но она есть. И если справку улучшать, то упомянуть о ней стоит.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718849
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11В любой версии Delphi можно же самому всё настраивать, но задолбёшься

так для этого плагин есть

https://github.com/RRUZ/Delphi-IDE-Colorizer
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718860
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениса должно быть? Если надо добавлю
вероятно должно быть. Я и говорю, что в исходной документации по ИБ ничего такого не нашел.
Мне кажется, просто "таблицы соответствия" где-нибудь рядом с set transaction будет вполне достаточно.

X11т.е. не написано, что SNAPSHOT - это в SQL, а в API - это константа concurrency.
А уж тем более непонятно для нубов.
нубы должны ЧИТАТЬ статьи подряд, а не выкусывать из них то, что им "кажется что надо".
http://www.ibase.ru/ibtrans/
О транзакциях – подробно
Совсем подробно о транзакциях InterBase написано в документации. В Programmers Guide и API Guide (Руководство программиста и Руководство по API, соответственно, в переводном варианте). Programmers Guide на самом деле достаточно вредная книга, т. к. она описывает в основном синтаксис Embedded SQL, который обрабатывается только препроцессором GPRE, и который невозможно использовать при прямой работе с API или из Delphi и C++Builder. С другой стороны, описание транзакций в этих двух книгах хоть и одинаково, но в Programmers Guide более понятно. Поэтому для начала нужно свести термины Programmers Guide и API Guide воедино.
...
set transaction ...
...
Как вы поняли, это синтаксис Embedded SQL. Т. е. "запихнуть" такой оператор в компонент Query не получится. Однако объяснять такой синтаксис проще, чем набор сухих констант из API Guide. Поэтому объяснение синтаксиса пойдет параллельно с константами.
Примечание: ...


Ну вот для кого ЭТО написано? В примечании там тоже поясняется, что и как, и далее. Казалось бы, два абзаца прочитать.
Ну и как после этого "писать статьи для нубов"?
В статье написал, в видео разжевал. Чего еще изволите? :-)
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718865
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochНет, чем больше думаю, тем серьезнее предлагаю.
пойми, что справку очень част очитают по принципу "кусок, который нужен вот прямо сейчас", а не как институтский курс с первой страницы и по последнюю не отрываясь.
да ну нафиг, это перебор, к каждой mon втыкать кусок текста про то что это snapshot. Сейчас всё нормально сделано. Сначала что такое mon, потом описание каждой таблицы.

А кто читает по диагонали, тот не сможет эволюционировать, и туда ему и дорога, в общем-то.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718885
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvНу вот для кого ЭТО написано?

ну хотя бы так:
READ WRITE / READ ONLY ( api- константы write и read)


Константы параметров транзакций IB API имеют префикс isc_tpb_ и используют в таких компонентах, как например, TIBTransaction, TpFibTransaction (ещё 2-3 можно перечислить из др. IDE/языков).

Не сочтите за наглость
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718890
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

перечислить соответствие константам isc_tpb_ ещё можно. Присобачивать сюда ещё компоненты, и IDE это уже перебор.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718892
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так наглядней и понятней
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718900
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvк каждой mon втыкать кусок текста про то что это snapshot.

Одну строчку, с отсылкой к началу раздела.

Потому что грабли, потому что таблица ведет себя не как таблица.

У вас о гораздо меньшего размера граблях предупрежддают - и правильно делают!

Пример 7.4. Использование переменной CURRENT_TIME - Предупреждение. Firebird 4.0 .... Firebird 2.5.9 ... - и не одна строчка, а пол-десятка сразу, и ничего, файл не лопнул.

Пример 7.5. Использование переменной CURRENT_TIMESTAMP

Пример 7.11. Использование переменной LOCALTIME

Пример 7.12. Использование переменной LOCALTIMESTAMP

Также


Пример 7.30. Использование функции LEFT - Предупреждение. При использовании BLOB в параметрах функции....

Пример 7.32. Использование функции LPAD

Пример 7.34. Использование функции OVERLAY

Пример 7.36. Использование функции REPLACE

Пример 7.38. Использование функции RIGHT

Пример 7.39. Использование функции RPAD

Пример 7.40. Использование функции SUBSTRING

Пример 7.41. Использование функции TRIM

И ведь выдержала документация, по швам не затрещала.

Хотя сравнительно с таблицами, игнорирующими параметры транзакции, это вообще ни о чем. Первого - так и просто в природе не существует пока ещё, но длинное предупреждение о несуществующем размножили и проблемы нет. А сделать гораздо меньшего размера предупреждение о реальной проблеме - тут пуризм взыграл :-/
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718903
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvВ системах со 100 и более пользователями, в зависимости от загрузки, снимок mon может делаться более нескольких минут!

Кстати, а это в доке есть?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718904
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

ты не видишь разницу между тем когда эти предупреждения даны для функций находящихся в разных местах документации, и одного общего предупреждения для MON$ таблиц сгруппированных в одной главе?
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718911
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Так наглядней и понятней

С одной стороны - да.
Но с другой - это будет восприниматься, как "Firebird Project для языка X рекомендует использовать библиотеку Y".
И потенциально приведёт к бесконечным просьбам добавить ещё один самый любимый язык и ещё одну самую любимую библиотеку. В самый последний раз.

А вообще, берёшь исходники UIB, которые "близко к API" и читаешь стандартные наборы флагов в исходниках
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718914
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11ну хотя бы так:
READ WRITE / READ ONLY (api-константы write и read)
господи помилуй, ну там же ДВА абзаца про SQL, API и константы, и что далее будут константы, потом написано
READ WRITE / READ ONLY (константы write и read)
И какие же это могут быть константы, интересно?
X11Константы параметров транзакций IB API имеют префикс isc_tpb_ и используют в таких компонентах, как например, TIBTransaction
чуть подрихтовал. Не так, а вообще. Но ведь дальше прямым текстом написан sql, и его эквивалент для IBTransaction, и так далее.

В общем, статью на самом не читал. :-) Вырвал кусок, и пошел дальше...
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718921
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

да-да-да, 7.4 и 7.5 расположены ну совсем в "разных местах документации"

вообще-то первое предупреждение полностью в одной главе - Глава 7. Встроенные функции и переменные. Даже более того - в одном единственном разделе этой главы - Контекстные переменные.

Второе предупреждение совершенно случайно тоже полностью собрано в одной главе - Глава 7. Встроенные функции и переменные. И снова, даже уже чем "одна глава" - один единственный раздел одной единственнйо главы - "Функции для работы со строками"
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718950
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

я ещё раз повторяю. Предупреждение для CURRENT_TIME нельзя натянуть на CURRENT_TIMESTAMP. Читай внимательней там разные предупреждения и советы. И уж тем более это не как не относятся ко всем контекстным переменным.

Что касается функций в которые могут быть засунуты BLOB, то во первых, если функция только читает BLOB, то ничего страшного нет, а вот если на выходе будет новый BLOB, то надо уже предупреждать. Хотя возможно это предупреждение надо было бы вообще перекинуть в описание типа BLOB.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718960
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотря чего ты хочешь.

Если чтобы по руководству было трудно новичку определить причину внезапной проблемы, а ты ходил бы вокруг, показывал пальцем и смеялся "читать разучились" - то тогда ты прав, надо написать в одном месте мелким шрифтом, а кто не нашёл - тот лох.

Но если цель в руководстве - быстро решить неожиданную для человека проблему - то повторить краткое предупреждение о нестандартном поведении каждого объекта совсем не вредно.
...
Рейтинг: 0 / 0
MON$ATTACHMENTS не видит новых подключений
    #39718984
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AriochНо если цель в руководстве - быстро решить неожиданную для человека проблемуЕсть разные руководства, но "быстро решать проблему" новички никогда не делали. Если, конечно, мы исключаем везунчиков.
Просто потому, что новичок "ещё думает" над очень многими вещами, которые профессионалу "уже очевидны".

Поэтому, да - новичок должен читать всё и закладывать это время или бюджет рабочего времени или тратить на это своё личное время.
...
Рейтинг: 0 / 0
55 сообщений из 55, показаны все 3 страниц
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / MON$ATTACHMENTS не видит новых подключений
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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