Skip to content

v0.1.1

Choose a tag to compare

@kenshaw kenshaw released this 07 Oct 08:29
· 1 commit to main since this release

This release fixes one bug and documents a crash that is not a fault of odbc.

Fixed

A statement that returns no result set, such as CREATE TABLE, sent through QueryContext, failed on the first Next with fetching: return code -1 with no diagnostic. The driver fetched from a statement that has no result. It now returns no rows, and Err and Close report no error. A client that sends every statement through QueryContext, as usql can, met this. TestQueryWithoutResult covers all six tested databases.

Documented

  • The README has a FAQ entry for a crash of a program that links both go-sqlite3 and the DuckDB bindings and uses the SQLite ODBC driver. The DuckDB bindings link with -rdynamic, so the program exports the sqlite3_* functions of go-sqlite3, and the SQLite ODBC driver binds to them while it also uses the SQLite of the system. The first query then faults. Build go-sqlite3 with the tag libsqlite3, leave one of the two libraries out, or build with CGO_ENABLED=0. odbc cannot prevent it.
  • The SQLite ODBC driver answers a VALUES statement with SQL_NO_DATA, so the driver manager refuses to describe its columns with HY010. select * from (values (1)) works. The backlog records it as a known limit.

Everything else in v0.1.0 is unchanged, and CI passed on all three systems for this release.