Skip to content

install.sh --drivers: bootstrap the open-licence ODBC drivers - #156

Merged
singhpratech merged 2 commits into
mainfrom
feat/driver-bootstrap
Oct 4, 2026
Merged

singhpratech merged 2 commits into
mainfrom
feat/driver-bootstrap

Conversation

@singhpratech

Copy link
Copy Markdown
Owner

Roadmap item: a first run needs an ODBC driver per database, and the open-licence ones are packaged everywhere, so install.sh can fetch them.

./install.sh --drivers installs, after the bridge:

Driver Linux (apt / dnf, via sudo) macOS (Homebrew, no root)
sqliteodbc libsqliteodbc / sqliteodbc sqliteodbc
psqlodbc odbc-postgresql / postgresql-odbc psqlodbc
MariaDB Connector/ODBC odbc-mariadb / mariadb-connector-odbc mariadb-connector-odbc
clickhouse-odbc the project's release tarball, pinned (v1.5.5.20260810) and SHA-256 checked, unpacked under $PREFIX/odbc-drivers same, the Darwin tarball

The first three go through the package manager on purpose: a no-root .deb extraction was tried first and leaves psqlodbc and MariaDB unable to load (libpq.so.5, libmariadb.so.3 missing even on a developer machine), while the package pulls those in and registers the driver name in odbcinst.ini. ClickHouse's library is self-contained, so it is unpacked for the user and used by path. --drivers=sqlite,postgres narrows the set; --drivers-only skips the build; SUDO= overrides the privilege command. The run ends with a table (path, registered name, load check) and a connection string per driver.

Verified in fresh ubuntu:24.04 and fedora:42 containers as a non-root user with sudo: all four report ok; through the bridge, SQLite answers SELECT 42, PostgreSQL 16 answers version() through the installed psqlodbc, and the unpacked clickhouse-odbc queries a live ClickHouse 26.7.5.10 (('26.7.5.10', 42)). Names resolve on both: Debian registers bare file names (Driver=psqlodbcw.so), Fedora full paths; the lookup accepts either. macOS path not run here (no Mac in this session); it is the Homebrew branch plus the Darwin tarball.

CI: a new Linux step runs ./install.sh --drivers in its own build tree, requires all four ok, and checks that SQLite answers, psqlodbc and MariaDB reach the handshake, and the ClickHouse library loads.

Docs: install-linux, install-macos, README quick start, roadmap (done 0.1.4 for Linux and macOS; Windows PowerShell counterpart listed next), FAQ. Also drops a README line that still said the Windows build lacks prefetch and parallel ingest (#155).

sqliteodbc, psqlodbc and MariaDB Connector/ODBC through apt, dnf or Homebrew
(their runtime libraries have to be on the loader path, which only the package
manager arranges, and the package registers the driver name); clickhouse-odbc
from the project's pinned release tarball with its SHA-256 checked, unpacked
under $PREFIX/odbc-drivers. --drivers=<list> narrows it, --drivers-only skips
the build. The run ends with a table of path, registered name and a load check
per driver, plus a connection string each. Docs: install guides, README,
roadmap row done (0.1.4; Windows counterpart next), FAQ.

Verified in fresh Ubuntu 24.04 and Fedora 42 containers as a non-root user with
sudo: all four install; SQLite, PostgreSQL 16 (psqlodbc) and ClickHouse 26.7
queries run through the bridge with the drivers it installed.
@singhpratech
singhpratech merged commit 1447149 into main Oct 4, 2026
6 checks passed
@singhpratech
singhpratech deleted the feat/driver-bootstrap branch October 4, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant