DBUnit | MSSQL. Неправильный порядок строк при CLEAN_INSERT с большими таблицами - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть DataSet с около 200 таблицами. Две из этих таблиц содержат более 300 строк. Я пытаюсь вставить данные с помощью этой команды:

DatabaseOperation.CLEAN_INSERT.execute(_con, dbRep.getDataSet());

, где dbRep - абстракция набора данных.

Мы используем эту функциональность для интеграционного теста и заботимся опорядок, в котором данные попадают в таблицу. Т.е. запись с ID 02 должна быть по индексу 2.

Но в определенной, но неизвестной точке порядок меняется. В этом конкретном примере я могу вставить 132 строк без проблем. Но с 133 на следующий ряд и все последующие будут вставлены первыми, а с 1 до 132 будут вставлены после них. Таким образом, порядок:

133, 134, ... ,max, 1, 2, ... , 132

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

Я использовал SQL Profiler для отслеживания порядка вставки, но кажется, что первая строка попадает на сервер первой. Я хотел бы представить, что это как-то связано с размером набора данных.

Я использую MS Sql 14.0.3223.3, DBUnit 2.6, BatchedStatemnts - ложь, порог пакета - 100.

...