Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

Connecting C++ and Vitess with ADBC

Instructions

Tip

If you already have a Vitess instance running, skip the steps to set up and clean up Vitess.

Prerequisites

  1. Install Pixi

  2. Install dbc

Set up Vitess

  1. Install Docker

  2. Start a Vitess instance:

    docker run -d --rm --name=vttestserver \
        -p 33574:33574 \
        -p 33575:33575 \
        -p 33577:33577 \
        -e PORT=33574 \
        -e KEYSPACES=test,unsharded \
        -e NUM_SHARDS=2,1 \
        -e MYSQL_MAX_CONNECTIONS=70000 \
        -e MYSQL_BIND_HOST=0.0.0.0 \
        -e VTCOMBO_BIND_HOST=0.0.0.0 \
        vitess/vttestserver:mysql80

    Wait a few moments before continuing to the next step to allow the Vitess container to fully initialize.

Connect to Vitess

  1. Install the MySQL ADBC driver:

    dbc install --level user mysql
  2. Customize the C++ program main.cpp as needed

    • Change the connection arguments in the AdbcDatabaseSetOption() calls
    • If you changed which database you're connecting to, also change the SQL SELECT statement in AdbcStatementSetSqlQuery()
  3. Build and run the C++ program:

    Using Make:

    pixi run make
    ./vitess_demo

    Or using CMake:

    pixi run cmake -B build
    pixi run cmake --build build
    ./build/vitess_demo

Clean up

  1. Clean build artifacts:

    Using Make:

    pixi run make clean

    Using CMake:

    rm -rf build
  2. Stop the Docker container running Vitess:

    docker stop vttestserver