On 25-2-2017 01:55, Leyne, Sean wrote: >> MSSQL implements timeouts at client side:
From a quick glance, in the ms-sql JDBC driver, the (client side) query timeout is applied for waiting for a response from the server for an execute, fetch, etc. Each action has its own the timeout timer, so each action has the full timeout duration. >> Server-side statement timeouts implemented in MySQL: > >> PostgreSQL docs is very limited: The pgjdbc driver has a client side timeout which only seems to cover the initial execute and row fetch. Depending on the configuration and transaction auto-commit status, that can be the whole result set, or just the first (fetchSize) rows. Subsequent fetches are not covered by this timeout. > Do you/anyone know if these engines return full results sets or follow the > "page set" approach? As far as I know Oracle[1], PostgreSQL[2], SQL Server[3] support it. I believe MySQL does as well. Don't know about other database systems, but I assume most of them will support this (the SQL CLI standard also defines it). Side note: the way Firebird implements fetch is not a 'page set', but a row set, because a fetch contains complete rows, while the term page is usually reserved for a fixed amount of bytes. [1]: https://oracle.github.io/odpi/doc/public_functions/dpiStmt.html (see dpiStmt_fetchRows) [2]: https://www.postgresql.org/docs/9.6/static/protocol-flow.html#PROTOCOL-FLOW-EXT-QUERY (search for "Once a portal exists, it can be executed using an Execute message.") [3]: https://github.com/Microsoft/mssql-jdbc/blob/master/src/main/java/com/microsoft/sqlserver/jdbc/SQLServerResultSet.java#L1005 Mark -- Mark Rotteveel ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel