Crate tegdb

Source
Expand description

§TegDB - A high-performance, embedded database engine

TegDB provides a high-level SQLite-like database interface for easy database operations.

§Database API

The Database struct provides a SQLite-like interface for easy database operations:

use tegdb::{Database, Result};

    // Open or create a database
    let mut db = Database::open("my_database.db")?;
     
    // Create table
    db.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")?;
     
    // Insert data
    db.execute("INSERT INTO users (id, name, age) VALUES (1, 'Alice', 30)")?;
     
    // Query data
    let result = db.query("SELECT * FROM users")?.into_query_result()?;
    for row in result.rows() {
        println!("User row: {:?}", row);
    }
     
    // Use transactions
    let mut tx = db.begin_transaction()?;
    tx.execute("UPDATE users SET age = 31 WHERE id = 1")?;
    tx.commit()?;
     

§Low-level API (Advanced Users)

For advanced use cases, benchmarks, or examples, you can enable the dev feature to access the low-level engine API:

[dependencies]
tegdb = { version = "0.2", features = ["dev"] }

This exposes additional types like Engine, EngineConfig, Executor, etc. for direct engine manipulation.

Re-exports§

pub use database::Database;
pub use database::DatabaseTransaction;
pub use database::QueryResult;
pub use error::Error;
pub use error::Result;
pub use engine::Engine;
pub use engine::EngineConfig;
pub use engine::Transaction;
pub use executor::ColumnInfo;
pub use executor::Executor;
pub use executor::ResultSet;
pub use executor::TableSchema;
pub use parser::parse_sql;
pub use parser::Assignment;
pub use parser::ColumnConstraint;
pub use parser::ColumnDefinition;
pub use parser::ComparisonOperator;
pub use parser::Condition;
pub use parser::CreateTableStatement;
pub use parser::DataType;
pub use parser::DeleteStatement;
pub use parser::DropTableStatement;
pub use parser::InsertStatement;
pub use parser::OrderByClause;
pub use parser::OrderDirection;
pub use parser::SelectStatement;
pub use parser::Statement;
pub use parser::UpdateStatement;
pub use parser::WhereClause;
pub use planner::ColumnStatistics;
pub use planner::Cost;
pub use planner::ExecutionPlan;
pub use planner::PlannerConfig;
pub use planner::QueryPlanner;
pub use planner::TableStatistics;
pub use storage_format::StorageFormat;
pub use parser::SqlValue;

Modules§

database
High-level database interface
engine
error
executor
Modern executor for TegDB with native row format support
low_level
native_row_format
parser
SQL parser implementation using nom
planner
Query planner and optimizer for TegDB
storage_format