Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Connecting Rust and DuckDB Quack Server with ADBC

Instructions

Tip

If you already have a DuckDB Quack server instance running, skip the steps to set up DuckDB.

Prerequisites

  1. Install Rust

  2. Install dbc

  3. Install DuckDB

Set up DuckDB server

  1. Start the DuckDB CLI:

    duckdb
  2. Create a table:

    CREATE TABLE penguins AS FROM read_csv('https://blobs.duckdb.org/data/penguins.csv', nullstr = 'NA');
  3. Start a server from the DuckDB session:

    CALL quack_serve('quack:localhost');

    Note the auth_token value that DuckDB prints.

Connect to DuckDB via Quack protocol

  1. Install the Quack ADBC driver:

    dbc install --pre quack
  2. Customize src/main.rs as needed

    • Change the uri connection argument in opts
      • Replace YOUR_AUTH_TOKEN with the auth_token printed by DuckDB
      • Change the host and port if applicable
    • If you changed which database you're connecting to, also change the SQL SELECT statement in statement.set_sql_query()
  3. Run the Rust program:

    cargo run

Clean up

If you started a DuckDB server, exit the DuckDB CLI:

.exit