DataGrip 2023.3 fetch size default change when Limit rows is enabled
27K reputation · 25 Sept 2023, 04:53 UTC
DataGrip 2023.3 fetch size default change when Limit rows is enabled
Goal: determine the actual fetch size applied to large result sets when the 'Limit rows' option is turned on, considering version‑dependent defaults, server‑side cursor mode, and the undocumented registry key.
Constraints: the default fetch size switched from 50 rows to 0 (driver‑dependent) in 2023.3, server‑side cursors for PostgreSQL ignore client fetch size, MySQL versions <5.7 fall back to client‑side skipping, and the hidden key 'db.result.set.fetch.size' overrides UI limits but its behavior differs between EAP and stable builds.
What fetch size does DataGrip actually use for PostgreSQL when both 'Limit rows' and 'Use server‑side cursors' are enabled? How does the registry key interact with the UI limit for MySQL 5.6 versus 5.7+? Is there a supported way to enforce a consistent fetch size across all JDBC drivers without relying on the undocumented registry?