Skip to content

1.7.0

Compare
Choose a tag to compare
@joerivanruth joerivanruth released this 20 Jun 10:12
· 125 commits to master since this release

Changes since 1.6.4

  • Add support for a new, binary result set format. This makes transferring large result sets much faster, often by a factor 3 or more. Only works in combination with MonetDB version Jun2023 or later. This is enabled by default but can be controlled with the binary parameter.

  • Automatically transfer large result sets in batches that grow progressively larger. This behavior can be controlled with the replysize and maxprefetch parameters. See the section on 'Result set batch size' in the documentation.

  • Add optional binary, replysize and maxprefetch parameters to the MAPI URL syntax, equivalent to the pymonetdb.connect() parameters mentioned above.

  • Allow to use Connection and Cursor as context managers, for example:

    with pymonetdb.connect(db') as conn, conn.cursor() as cursor:
        cursor.execute("SELECT 42")
  • Let Cursor.execute() return None for DDL statements such as CREATE and DROP, not -1. Note that PEP 249 leaves the return value of Cursor.execute() deliberately unspecified.

  • Preserve precision of INTERVAL SECOND values, do not round them to whole seconds.

  • Raise a more readable exception on DATE and TIMESTAMP values whose year is zero or negative.

  • At connect time, prime the connection with a number of NUL bytes. This serves two purposes: it prevents a hang when accidentally connecting to a TLS-protected server, and interestingly, it slightly improves connection setup speed.

  • Various other optimizations