Репликация массивов

Методы, механизмы и инструментарий для репликации

Модератор: kdv

Ответить
alex_sm
Сообщения: 7
Зарегистрирован: 13 июл 2006, 14:10

Репликация массивов

Сообщение alex_sm » 13 июл 2006, 14:15

Я использую IBReplicator 2.1.8 (EVAL license) и Firebird 1.5.3 под Windows XP SP2. При попытке прореплицировать изменения следующей таблицы:

Код: Выделить всё

CREATE TABLE LUACCOM (
    LUID                  INTEGER NOT NULL,
    SUPPID                INTEGER,
    BROKERID              INTEGER,
    ARRDATE               DATE,
    ENDDATE               DATE,
    BUILDID               INTEGER,
    BUILDINGNAME          CHAR(35),
    RESORT                INTEGER,
    RESORTNAME            CHAR(35),
    RATING                CHAR(5),
    ROOMTYPECODE          CHAR(10),
    BOARDTYPECODE         CHAR(10),
    CONTRACTTYPE          CHAR(10),
    UPDATED               DATE,
    MAXOCC                CHAR(100),
    MINOCC                CHAR(100),
    REQUESTIFFULL         CHAR(1),
    FIXMARGINS            CHAR(1),
    CONTRACTORID          INTEGER,
    CODING                CHAR(36) [1:750,1:30],
    NOROOMS               INTEGER,
    ANYINCTRANS           CHAR(1),
    PRICES                DOUBLE PRECISION [1:750,1:210],
    BROCHUREPRICING       CHAR(1),
    BOARDTYPESET          CHAR(20),
    REQUESTINSIDERELEASE  CHAR(1)
);

ALTER TABLE LUACCOM ADD PRIMARY KEY (LUID);
возникает ошибка "ErrorNo: 32 - subscript out of bounds"

Если удалить поля CODING и PRICES из схемы репликации, то репликация проходит без проблем, но эти поля обязательно должны передаваться.
Также данные реплицируются, если указанные поля содержат NULL.

Может быть надо сделать какие-нить хитрые настройки FB или IBReplicator для нормальной передачи этих массивов?

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

Сообщение kdv » 13 июл 2006, 14:28

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

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 13 июл 2006, 14:55

Репликатор умеет реплицировать массивы. Но поскольку фича эта крайне малопользуемая то она же и крайне малотестированная. Так что баги вполне вероятны. Сообщать о них надо по-английски в ibp_replicator(at)lists.ibphoenix.com. Ну или можно здесь пожаловаться если ДК не против.

alex_sm
Сообщения: 7
Зарегистрирован: 13 июл 2006, 14:10

Сообщение alex_sm » 13 июл 2006, 15:47

в документации заявлено, что массивы поддерживаются, но эта поддержка, видимо, недостаточно протестирована

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 13 июл 2006, 16:03

Угу. Для тестирования используется максимум employee.fdb, а там единственный массив да и тот одномерный...

alex_sm
Сообщения: 7
Зарегистрирован: 13 июл 2006, 14:10

Сообщение alex_sm » 13 июл 2006, 16:11

Dimitry Sibiryakov писал(а):Угу. Для тестирования используется максимум employee.fdb, а там единственный массив да и тот одномерный...
А мне "достались в наследство" двумерные :) И никаких исходников, чтобы от них отказаться и переписать.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 13 июл 2006, 16:13

Значит ты ценный для авторов человек. :wink:

alex_sm
Сообщения: 7
Зарегистрирован: 13 июл 2006, 14:10

Сообщение alex_sm » 13 июл 2006, 16:38

Dimitry Sibiryakov писал(а):Значит ты ценный для авторов человек. :wink:
Ага, главный тестер двумерных массивов :)

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 14 июл 2006, 09:21

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

alex_sm
Сообщения: 7
Зарегистрирован: 13 июл 2006, 14:10

Сообщение alex_sm » 14 июл 2006, 13:12

Проверил версию 2.1.9, массивы в ней реплицируются.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 14 июл 2006, 16:11

Хорошо. А синхронизация? (В Менеджере правой лаптей на таблицу и Synchronize.)

alex_sm
Сообщения: 7
Зарегистрирован: 13 июл 2006, 14:10

Сообщение alex_sm » 14 июл 2006, 16:17

Dimitry Sibiryakov писал(а):Хорошо. А синхронизация? (В Менеджере правой лаптей на таблицу и Synchronize.)
Пока еще не проверял, чуть позже гляну. В этой таблице данных почти на пять гигов, надо будет сначала урезанную копию сделать.

alex_sm
Сообщения: 7
Зарегистрирован: 13 июл 2006, 14:10

Сообщение alex_sm » 14 июл 2006, 16:37

Dimitry Sibiryakov писал(а):Хорошо. А синхронизация? (В Менеджере правой лаптей на таблицу и Synchronize.)
Проверил - синхронизация работает.

Ответить