Счетчик изменений метаданных

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
kinnegan
Сообщения: 4
Зарегистрирован: 30 июн 2005, 13:40

Счетчик изменений метаданных

Сообщение kinnegan » 20 мар 2006, 12:49

Доброго времени суток! Возможно этот вопрос уже неоднократно обсуждался, и даже подробно описан в документации, но поиск по форуму ничего недал, поэтому спрашиваю :-)
Вобщем ситуация следующая. В строке статуса IBExpert появляется сообщение, что "Осталось столько-то изменений таблицы". И когда этот счетчик становиться 0 - таблица перестает меняться. Я понимаю что при этом можно сделать backup/restore и все такое. Собственно вопрос - без backup/restore как-нибудь можно снова обнулить этот счетчик? Просто в приложении которое я пишу у пользователя время от времени бывает необходимость удалить очень много полей (2-3 сотни). Я запихал эти операции в одну транзакцию и стало полегче, но! Я так понимаю что всеравно этот счетчик медленно но верно увеличивается, что неочень хорошо. И как отследить его состояние из программы я незнаю. Вот собственно.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 20 мар 2006, 13:17

1. За писательство приложений, а которых пользователи управляют метаданными, дают 3 года расстрелу и каждый день до смерти.

2. Сбросить счётчик изменений таблицы можно либо путём b/r базы либо drop/create таблицы.

3. Отследить можно помедировав над структурой таблиц rdb$relations и rdb$formats. Полезешь менять - убьёшь базу насмерть.

kinnegan
Сообщения: 4
Зарегистрирован: 30 июн 2005, 13:40

Сообщение kinnegan » 20 мар 2006, 13:48

Осознал свою вину. Меру, степень, глубину :-(
Спасибо за информацию, придется делать каждый день б/р

Slava Ekimov
Сообщения: 44
Зарегистрирован: 26 окт 2004, 14:30

Сообщение Slava Ekimov » 20 мар 2006, 13:55

kinnegan писал(а):Осознал свою вину. Меру, степень, глубину :-(
Спасибо за информацию, придется делать каждый день б/р
А пункт 1 прочитал? Говорю один раз - ты пишешь дурацкую программу.

SAMZ
Сообщения: 128
Зарегистрирован: 21 мар 2005, 08:17

Сообщение SAMZ » 20 мар 2006, 14:19

Slava Ekimov писал(а):
kinnegan писал(а):Осознал свою вину. Меру, степень, глубину :-(
Спасибо за информацию, придется делать каждый день б/р
А пункт 1 прочитал? Говорю один раз - ты пишешь дурацкую программу.
Все же интересно, что за задача такая, в которой надо вносить на уровне пользователя и регулярно сотни изменений в метаданные

Slava Ekimov
Сообщения: 44
Зарегистрирован: 26 окт 2004, 14:30

Сообщение Slava Ekimov » 20 мар 2006, 14:27

SAMZ писал(а):
Slava Ekimov писал(а):
kinnegan писал(а):Осознал свою вину. Меру, степень, глубину :-(
Спасибо за информацию, придется делать каждый день б/р
А пункт 1 прочитал? Говорю один раз - ты пишешь дурацкую программу.
Все же интересно, что за задача такая, в которой надо вносить на уровне пользователя и регулярно сотни изменений в метаданные
Это когда человек не знает, что данные строками хранятся, а не столбцами :D

Zhur
Сообщения: 125
Зарегистрирован: 01 мар 2006, 18:17

Сообщение Zhur » 20 мар 2006, 14:35

Slava Ekimov писал(а):
SAMZ писал(а):
Slava Ekimov писал(а):
kinnegan писал(а):Осознал свою вину. Меру, степень, глубину :-(
Спасибо за информацию, придется делать каждый день б/р
А пункт 1 прочитал? Говорю один раз - ты пишешь дурацкую программу.
Все же интересно, что за задача такая, в которой надо вносить на уровне пользователя и регулярно сотни изменений в метаданные
Это когда человек не знает, что данные строками хранятся, а не столбцами :D
Весело, Слава, но все-же давайте человека выслушаем... может там новый подход?

Slava Ekimov
Сообщения: 44
Зарегистрирован: 26 окт 2004, 14:30

Сообщение Slava Ekimov » 21 мар 2006, 09:54

Zhur писал(а): Весело, Слава, но все-же давайте человека выслушаем... может там новый подход?
Да нет, старый это подход, перректальный.
Когда я только начинал писать бд, у меня тоже такая задача появлялась в голове - поля добавлять и удалять по мере надобности. И только через некоторое время понимаешь, появление такой задачи - это и есть подход к гландам через другое место.

Zhur
Сообщения: 125
Зарегистрирован: 01 мар 2006, 18:17

Сообщение Zhur » 21 мар 2006, 10:01

Согласен... особенно после статьи про ООБД

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 мар 2006, 10:07

Согласен... особенно после статьи про ООБД
статья тут мало при чем.
с манипулированием столбцами тебе еще повезло, что IB/FB позволяет это делать на живых данных. Правда, часто бывают ситуации, когда новый столбец надо обновить, а значит обновить все данные изменяемой таблицы. В общем, динамически изменяемая структура - это караул.

Zhur
Сообщения: 125
Зарегистрирован: 01 мар 2006, 18:17

Сообщение Zhur » 21 мар 2006, 10:09

kdv писал(а):
Согласен... особенно после статьи про ООБД
статья тут мало при чем.
Но ведь статья-то по этой причине и появилась? Правда?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 мар 2006, 10:17

Но ведь статья-то по этой причине и появилась? Правда?
да что ты... идеи модели ОО для РСУБД появились очень давно, как минимум с конца 80-х. Лично я когда похожее на ООБД писал еще на Paradox Engine примерно в 91-93 году, у меня и мысли не было динамически столбцы добавлять. Да и вокруг тогда я приложений с динамическим изменением структур не видел ни на Foxpro, ни на клиппере.

Zhur
Сообщения: 125
Зарегистрирован: 01 мар 2006, 18:17

Сообщение Zhur » 21 мар 2006, 10:20

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 21 мар 2006, 10:25

с рекоммендацией статьи - совершенно верно.

Ответить