Пропажа данных после restore.
Пропажа данных после restore.
IB 7.1 sp2.
Иногда после restore базы, в одной из таблиц пропадают данные в одной колонок VarChar(30).
Раньше не было такого замечено.
Стало наблюдаться после-того как в таблицу добавил computed by поля.
На других таблицах вроде этого не происходит.
Может кто-то с этим сталкивался?
Иногда после restore базы, в одной из таблиц пропадают данные в одной колонок VarChar(30).
Раньше не было такого замечено.
Стало наблюдаться после-того как в таблицу добавил computed by поля.
На других таблицах вроде этого не происходит.
Может кто-то с этим сталкивался?
Причем здесь парсер. Вообще-то все рабоает. Проблема имена с restore. Все селекты работают изумительно кроме небольших утечек памяти в IB7.1 sp2. Так как на колонку выполняется хранимая процедура.
Пример трудно объяснить. Например удобно в одну колонку собирать информацию из других таблиц связаных с главной. Можно было бы строкой, но информации может быть много.
Другой пример. Изначально был блоб содержащий информацию. Потом этот блоб разнесли в другую таблицу (один ко многим). Но для совместимости работы старого кода сделали copued by атрибут. Все красиво работает.
Пример трудно объяснить. Например удобно в одну колонку собирать информацию из других таблиц связаных с главной. Можно было бы строкой, но информации может быть много.
Другой пример. Изначально был блоб содержащий информацию. Потом этот блоб разнесли в другую таблицу (один ко многим). Но для совместимости работы старого кода сделали copued by атрибут. Все красиво работает.
Модет все таки кто нибудь ответит про пропажу данных в FB. При каких случаях это происходит и так далее. А то при buckup и restore никаких ошибок нет, а данные пропадают. Это вообщето не хорошо. При больших размерах БД и количестве таблиц можно не отследить сразу что пропало. Отсюда вывод FB использовать вообще нельзя.
Я понимаю, что сложно. Но послать базу в 4 гига это сложно.
Вот описание таблицы в которой пропадют данные.
Пропадают значения в колонке Name (После restrore становятся пустые)
Вот описание таблицы в которой пропадют данные.
Код: Выделить всё
CREATE DOMAIN BIN AS BLOB SUB_TYPE 0 SEGMENT SIZE 80;
CREATE DOMAIN BOOL AS SMALLINT;
CREATE DOMAIN GUID AS INTEGER;
CREATE DOMAIN IQTY AS INTEGER;
CREATE DOMAIN SDATE AS TIMESTAMP;
CREATE DOMAIN SNAME AS VARCHAR(30) CHARACTER SET WIN1251 COLLATE PXW_CYRL;
/* Table: FOLDERS, Owner: SYSDBA */
CREATE TABLE FOLDERS
(
ID GUID NOT NULL,
CLASSID GUID,
SENIORID GUID,
NAME SNAME,
ORD IQTY,
LASTCHANGE SDATE,
VALUECLASS GUID,
ASQL BIN,
COND BIN,
CONDINT BIN,
EXTINFO BIN,
PROPS BIN,
READONLY BOOL,
GROUPIDX IQTY,
ASQL2 BIN,
COND2 BIN,
HELPCTX IQTY,
OWNER COMPUTED BY ((select REFS from GetRefObjects(Folders.ID, 41122, 25))),
OWNERWR COMPUTED BY ((select REFS from GetRefObjects(Folders.ID, 41129, 25))),
PRIMARY KEY (ID)
);
SET TERM ^ ;