powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вычисляемые поля в RDB$FORMATS
13 сообщений из 13, страница 1 из 1
Вычисляемые поля в RDB$FORMATS
    #40095191
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Они там хранятся со значением смещения 0. А зачем они там вообще?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40096500
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, почему во flags формата не хранится DSC_nullable?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097001
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могут смещения полей идти не в возрастающем порядке (ради уплотнения записи,
например) при создании формата?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097030
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

Могут смещения полей идти не в возрастающем порядке (ради уплотнения записи,
например) при создании формата?

при первичном создании - могут, gbak так делает (переупорядочивает поля) при ресторе. Но при этом меняется и RDB$FIELD_ID всех полей. При изменении существующего формата - не могут, все старые поля обязаны оставаться на своих местах.
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097170
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrПри изменении существующего формата - не могут, все старые поля обязаны
оставаться на своих местах.

Почему? Формат же привязан к версии записи индивидуально, разве нет? Пока поле
сохраняет свой ID, я не вижу причин почему оно физически должно лежать в Record
в том же месте. Чего я не замечаю (кроме того, что текущий код надо поправить в
как минимум одном месте)?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097171
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ID поля - это его порядковый номер в формате, и на это завязано далеко не одно место, насколько мне помницца...
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097180
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да. Но доступ непосредственно к данным идёт через dsc_offset у которого нет
контракта ни на постоянность, ни на неубывание. То есть теоретически уплотнение
полей по убыванию выравнивания можно проводить не только во время restore но и
при любом создании нового формата.

Гарантированно от такого трюка сломается только MET, где размер записи при
загрузке формата вычисляется как offset+length последнего поля.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097188
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а то, что после "переупаковки" в новом формате дельта-сжатие версий перестанет эффективно работать, тебя не расстраивает?
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097189
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrдельта-сжатие версий перестанет эффективно работать, тебя не расстраивает?

Одна дельта на запись в случае добавления поля в таблицу. Нет, не расстраивает.
Эффективность дельта-сжатия вообще под вопросом.

Хотя если у тебя в планах выкидывание форматов вообще, то оно, конечно, будет лучше.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097197
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если пляски с "оптимизацией" форматов исключительно из-за борьбы с паддингом, то это принесет больше вреда, чем пользы. Таково мое ИМХО.
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097201
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, всякий паддинг это перерасход памяти, конечно. Но я спросил чисто из
интереса "не притаился ли там (в met.epp) редкий баг с неверным вычислением
размера буфера под запись" и можно ли закладываться на такое поведение в своём
коде формирования буфера для отправки в IReplicator.

PS: Например, у меня размер блока NULL-флагов берётся как dsc_offset первого поля. Если они стабильны - это прокатит, если нет - придётся копипастить код с делением количества полей на восемь.
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097330
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем ты вообще влез в низкоуровневый буфер? Не хочешь ждать версию 2 протокола с логическими форматами, которые мы обсуждали в FD?
...
Рейтинг: 0 / 0
Вычисляемые поля в RDB$FORMATS
    #40097335
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrНе хочешь ждать версию 2 протокола с логическими форматами, которые мы обсуждали
в FD?

Пока он не появится плагину надо как-то работать и на текущей четвёрке. Потому я
и просил информацию о поддерживаемых удалённым сервером протоколах.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Вычисляемые поля в RDB$FORMATS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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