Release 0.1.0
Pre-releaseThis release marks an initial stage of maturity for zdb. There's a long way to go, but using zdb for general DB operations has become very practical.
Features in this Release
Here's a list of the major features included in this release:
- Connecting to a database using a connection string or DSN + username and password (tested so far with Postgres and Snowflake)
- Catalog functions
SQLTables
,SQLColumns
, andSQLTablePrivileges
- Automatically inserting data with structs/
cursor.insert
- Parameter binding on SQL statements
- Preparing and executing statements with
cursor.prepare -> cursor.execute
- Directly executing statements with
cursor.executeDirect
- Fast, typesafe row-wise binding
- More customizable column-wise binding with user defined
fromRow
functions
Features not included
Here is an incomplete list of some features that will be coming in future releases:
- Improved logging and error handling
- Scrollable cursors
- Connection pooling
- Async/await support
- Support for more catalog functions
- Transaction management features (manual commit mode, etc.)
The main thing that makes this release non-production ready (besides the missing features listed above) is that there may still be bugs in the zig-odbc
binding which probably won't be fixed until they're encountered in zdb
development. In addition to general bugs, each driver works slightly different and so there will definitely be tweaks needed as more databases are tested. The features listed above have been tested extensively with Postgres and Snowflake databases and so (even though there may still be issues) I'm confident that they'll work for most users in most use cases.
Call to Action
If anybody has already used zdb, thanks! For new users, here are some things you could do if you want to help out with zdb development
- Test with different DBMS's
- Test on Linux
- Report any bugs
- Report feature requests
- Pick up PR's, if you want! Even if I've already assigned it to myself feel free to comment if you want to work on any particular issue.
Thanks for your support!