vibesql-catalog
Schema metadata storage and catalog management for VibeSQL.
Overview
This crate provides metadata structures for database objects (tables, views, indexes, etc.) and the catalog registry that tracks schema information.
Features
- Schema Management: Database, schema, and table metadata
- Column Definitions: Type information, constraints, and default values
- Constraints: PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK constraints
- Indexes: B-tree and spatial index metadata
- Views: View definitions and dependencies
- Advanced Objects: Functions, procedures, sequences, triggers, domains
- Access Control: Privilege tracking and grant management
- User-Defined Types: Support for custom type definitions
Usage
Add this to your Cargo.toml:
[]
= "0.1"
Basic example:
use ;
use DataType;
// Create a catalog
let mut catalog = new;
// Define table schema
let mut schema = new;
schema.add_column;
schema.add_column;
// Register in catalog
catalog.add_table;
Documentation
License
This project is licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.