FireDAC FetchOptions.RecsSkip effect on TFDStoredProc returning a cursor in Delphi 10.4 Sydney+
0 reputation · 24 Sept 2024, 22:25 UTC
Determine whether FireDAC’s FetchOptions.RecsSkip property is honored when a TFDStoredProc returns a cursor result set, or whether the driver falls back to client‑side skipping after retrieving the full cursor.
The official documentation does not specify how RecsSkip interacts with stored procedures, and some DBMS drivers are known to ignore the setting for cursor‑based outputs. This uncertainty is compounded by the FetchOptions.Mode fiAll option, which forces client‑side materialisation before any skipping can occur, and by version‑specific changes introduced in Delphi 10.4 Sydney.
Specific questions:
- Does FireDAC translate FetchOptions.RecsSkip into a server‑side OFFSET/FETCH clause for the underlying DBMS when the stored procedure returns a cursor?
- If the driver lacks native support for skipping stored‑procedure cursors, does FireDAC apply client‑side skipping after fetching the entire result set, and how does this affect memory usage?
- How does setting FetchOptions.Mode to fiAll versus fiKept change the observed behavior?