c# OdbcDataAdapter возвращает больше строк, чем LIMIT - PullRequest
0 голосов
/ 13 февраля 2020

Я извлекаю строки из базы данных PostgreSQL, используя объект OdbcConnection и OdbcDataAdapter.

Запрос, переданный в OdbcDataAdapter: "SELECT * FROM schema.table OFFSET 100000 LIMIT 100000"

Смещение и предел хранятся в переменной, потому что они используются для обработки строк партиями по 100 000. Но во время выполнения это их ценность. Когда я запускаю этот запрос в SQL, он возвращает 100 000 строк, как и ожидалось - используя смещение правильно. Однако, когда вызывается OdbcDataAdapter.Fill(dt), количество строк на dt равно 200 000 - несмотря на то, что в запросе находится ограничение 100 000 !!!!

Эта проблема продолжается, поскольку программа выполняет итерацию с увеличением числа строк на каждый раз смещением. Поэтому, когда смещение составляет 300 000, количество строк равно 400 000. Я не могу повторить это поведение в SQL.

Есть идеи, что может вызвать это?

...