Привет всем.
С наступившим, типа.
Я тут накатал тест, результаты которого меня заставили задуматься :)
В эксперте это воспроизводится таким образом.
1. Таблица с одной INTEGER-колонкой
2. Заполняем таблицу
execute block
as
declare variable n integer;
begin
n=1;
while(n<=100000)do
begin
insert into TEST_TABLE_3197 (ID) VALUES (:n);
n=n+1;
end
end
3. Открываем данные таблицы. У меня эксперт вывел первые 39 записей.
4. Вставляем (в гриде) новую запись (ID=999 999)
5. Нажимаем Ctrl+End для перехода на последнию запись
6. И видим нашу добавленную запись с ID=999 999
7. Идем обратно, в начало нашего множества. И там мы её тоже видим.
----
Ясный пень, я понимаю почему это происходит.
И не спасет никакой уровень изоляции. Ну только если вставку делать в другой
транзакции. А читать в повторяемом чтении. Но это не всегда хорошо.
Либо перед первой вставкой форсированно загружать все множества. И тут тоже
можно нарваться :)
----
Я правильно понимайт, что спасет только (та самая что и для insert from
select) доработка со стороны сервера? :)))
Коваленко Дмитрий.