Expand description
ADBC-Taos: Arrow Database Connectivity driver for TDengine.
This crate provides an ADBC (Arrow Database Connectivity) driver for TDengine, a high-performance time-series database. ADBC provides a standard interface for database access using Apache Arrow format, eliminating unnecessary data copies.
§Features
- Full ADBC Core API implementation
- TDengine 3.3.0+ support
- Connection pooling via
deadpool - Prepared statements with parameter binding
- Supertable metadata introspection
- All TDengine data types (JSON, GEOMETRY, DECIMAL, BLOB)
§Quick Start
ⓘ
use adbc_core::{Database, Connection, Statement, Driver};
use adbc_core::options::{OptionDatabase, OptionValue};
let mut driver = adbc_taos::TaosDriver::default();
let mut db = driver.new_database()?;
db.set_option(
OptionDatabase::Uri,
OptionValue::String("taos://root:taosdata@127.0.0.1:6030".to_string())
)?;
let conn = db.new_connection()?;
let mut stmt = conn.new_statement()?;
stmt.set_sql_query("SELECT * FROM my_table")?;
let reader = stmt.execute()?;
for batch in reader {
let batch = batch?;
println!("Got {} rows", batch.num_rows());
}§Connection Pooling
ⓘ
use adbc_taos::TaosDatabase;
let mut db = TaosDatabase::default();
db.uri = "taos://root:taosdata@127.0.0.1:6030".to_string();
db.set_pool_size(10);
let conn1 = db.create_connection()?;
let conn2 = db.create_connection()?;§Module Structure
Re-exports§
pub use connection::TaosConnection;pub use database::TaosDatabase;pub use driver::TaosDriver;pub use error::TaosError;pub use pool::TaosPool;pub use pool::TaosPoolConfig;pub use pool::PooledTaosConnection;pub use utils::Runtime;pub use utils::block_on_on_runtime;
Modules§
- connection
- Connection implementation for ADBC-Taos driver.
- database
- Database implementation for ADBC-Taos driver.
- driver
- error
- Error types for ADBC-Taos driver.
- pool
- Connection pool for TDengine.
- reader
- RecordBatchReader implementation for streaming query results.
- statement
- Statement implementation for ADBC-Taos driver.
- types
- Type conversion between TDengine and Apache Arrow.
- utils