This example uses GizmoSQL, a lightweight, high-performance SQL server powered by DuckDB or SQLite that supports Arrow Flight SQL.
Tip
If you already have a GizmoSQL instance running, skip the steps to set up GizmoSQL.
-
Start the GizmoSQL server:
docker run -d --rm -it --init -p 31337:31337 --name gizmosql -e DATABASE_FILENAME=adbc_quickstart.db -e TLS_ENABLED=0 -e GIZMOSQL_PASSWORD=gizmosql_password -e PRINT_QUERIES=1 -e INIT_SQL_COMMANDS='CALL dbgen(sf=0.01);' --pull always gizmodata/gizmosql:latest-slim
-
Install the Flight SQL ADBC driver:
dbc install flightsql
-
Customize
src/main.rsas needed- Change the connection arguments in
optsOptionDatabase::Uriis the URI of your GizmoSQL instance. The host and port will depend on your installation (the default port is 31337). The protocol scheme should begrpcorgrpc+tcpif your GizmoSQL instance is not using TLS and should begrpc+tlsotherwise.OptionDatabase::UsernameandOptionDatabase::Passwordare the username and password of your GizmoSQL admin user (the one specified when starting the instance).
- Change the connection arguments in
-
Run the Rust program:
cargo run
-
Stop and remove the Docker container running GizmoSQL:
docker stop gizmosql