SingleStore Driver v0.1.0-beta.1

Driver Version v0.1.0-beta.1 Release Date 2026-04-01 Tested With SingleStore 9.0.20

This driver provides access to SingleStore , a distributed database for low-latency SQL. It is developed by SingleStore, Inc. The source code can be found at singlestore-adbc-connector ; the ADBC Driver Foundry distributes precompiled binaries of the upstream sources for Linux, macOS, and Windows.

Installation

The SingleStore driver can be installed with dbc :

dbc install --pre singlestore

Note

Only prerelease versions of the driver are currently available, so you must use --pre with dbc 0.2.0 or newer to install the driver.

Connecting

To connect, edit the uri option below to match your environment and run the following:

from adbc_driver_manager import dbapi

conn = dbapi.connect(
  driver="singlestore",
  db_kwargs = {
    "uri": "root@tcp(localhost:3306)/demo"
  }
)

Note: The example above is for Python using the adbc-driver-manager package but the process will be similar for other driver managers.

Connection String Format

Connection strings are passed with the uri option which uses the following format:

mysql://[user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...]

Examples:

  • mysql://localhost/mydb

  • mysql://user:pass@localhost:3306/mydb

  • mysql://user:pass@host/db?charset=utf8mb4&timeout=30s

  • mysql://user@(/path/to/socket.sock)/db (Unix domain socket)

  • mysql://user@localhost/mydb (no password)

This follows MySQL’s official URI-like connection string format . Also see MySQL Connection Parameters for the complete specification.

Components:

  • scheme: mysql:// (required)

  • user: Optional (for authentication)

  • password: Optional (for authentication, requires user)

  • host: Required (must be explicitly specified)

  • port: Optional (defaults to 3306)

  • schema: Optional (can be empty, SingleStore database name)

  • Query params: SingleStore connection attributes

Note

Reserved characters in URI elements must be URI-encoded. For example, @ becomes %40. If you include a zone ID in an IPv6 address, the % character used as the separator must be replaced with %25.

When connecting via Unix domain sockets, use the parentheses syntax to wrap the socket path: (/path/to/socket.sock).

The driver also supports the SingleStore DSN format (see Go SingleStore Driver documentation ), but standard URIs are recommended.

Feature & Type Support

Feature Support
Bulk Ingestion Create ✅
Append ✅
Create/Append ✅
Replace ✅
Temporary Table ❌
Specify target catalog ✅
Specify target schema ❌
Non-nullable fields are marked NOT NULL ✅
Catalog (GetObjects) depth=catalogs ✅
depth=db_schemas ✅
depth=tables ✅
depth=columns (all) ✅
Get Parameter Schema ❌
Get Table Schema ✅
Prepared Statements ✅
Transactions ✅

Driver-Specific Features

Feature Name Support Description
Configuration Connect with URI ✅ Test authentication with credentials embedded in URI.

Types

SingleStore to Arrow

SingleStore Type

Arrow Type

BIGINT

int64

BIT

binary

BOOLEAN

int64, int8 ⚠️ [1]

DATE

date32[day]

DATETIME

timestamp[us]

DOUBLE PRECISION

double

FLOAT

float

INT

int32

JSON

extension<arrow.json>

NUMERIC

decimal64

REAL

float

SMALLINT

int16

TIME

time64[us]

TIMESTAMP

timestamp[us], timestamp[us] (with time zone) ⚠️ [1]

VARBINARY

binary

VARCHAR

string

Arrow to SingleStore

Arrow Type SingleStore Type
Bind Ingest

binary

VARBINARY

binary_view

VARBINARY

bool

BOOLEAN

date32[day]

DATE

decimal128

DECIMAL

double

DOUBLE PRECISION

fixed_size_binary

VARBINARY

float

FLOAT

int16

SMALLINT

int32

INT

int64

BIGINT

large_binary

VARBINARY

large_string

VARCHAR

string

VARCHAR

string_view

VARCHAR

time32[ms]

TIME

time32[s]

TIME

time64[ns]

TIME

time64[us]

TIME

timestamp[ms]

DATETIME

timestamp[ms] (with time zone)

TIMESTAMP

timestamp[ns]

DATETIME

timestamp[ns] (with time zone)

TIMESTAMP

timestamp[s]

DATETIME

timestamp[s] (with time zone)

TIMESTAMP

timestamp[us]

DATETIME

timestamp[us] (with time zone)

TIMESTAMP

Compatibility

This driver was tested on the following versions of SingleStore:

  • 9.0.20 (SingleStoreDB source distribution (compatible; MySQL Enterprise & MySQL Commercial))