diff --git a/Cargo.toml b/Cargo.toml deleted file mode 100644 index d24ce27..0000000 --- a/Cargo.toml +++ /dev/null @@ -1,100 +0,0 @@ -[package] -name = "flusql" -version = "0.5.0" -edition = "2024" -authors = ["Your Name "] -description = "Embedded SQL database with wait-free architecture, Lua support and clustering" -license = "MIT OR Apache-2.0" -readme = "README.md" -repository = "https://github.com/yourusername/flusql" -keywords = ["database", "sql", "embedded", "lua", "cluster", "mvcc", "wait-free"] -categories = ["database", "embedded"] - -[features] -default = ["cli", "wal", "mvcc", "lua", "cluster", "plugins", "tokio"] -cli = ["ansi_term", "clap", "rustyline"] # интерактивный интерфейс -wal = [] # Write-Ahead Log -mvcc = [] # Multi-Version Concurrency Control -lua = ["mlua/lua54", "mlua/vendored"] # поддержка Lua 5.4 с встроенной библиотекой -cluster = ["serde", "serde_json", "tokio-tungstenite", "reqwest", "tokio"] # кластерные функции -plugins = ["serde", "serde_json", "uuid", "crossbeam"] # поддержка плагинов с lock-free архитектурой -full = ["cli", "wal", "mvcc", "lua", "cluster", "plugins"] - -[dependencies] -# Основные системные зависимости -tokio = { version = "1.0", features = ["full"], optional = true } -futures = "0.3" -async-trait = "0.1" -log = "0.4" -env_logger = "0.11" -parking_lot = "0.12" # эффективные примитивы синхронизации -dashmap = "5.0" # конкурентные HashMap -thiserror = "1.0" # удобные ошибки -anyhow = "1.0" # ошибки для приложений -itertools = "0.12" # итераторы -chrono = { version = "0.4", features = ["serde"] } -uuid = { version = "1.0", features = ["v4", "serde"], optional = true } -serde = { version = "1.0", features = ["derive"], optional = true } -mlua = { version = "0.11.5", optional = true } # версия Lua будет выбрана через фичи -tokio-util = "0.7.0" - -# Дополнительные зависимости -hex = "0.4.3" -crossbeam = { version = "0.8.4", optional = true } # каналы для lock-free архитектуры -toml = "0.5" -libc = "0.2" -postcard = "1.0" -atty = "0.2" -lazy_static = "1.4" -regex = "1.5" -csv = "1.1" -memmap2 = "0.5" -arc-swap = "1.4" -unicode-width = "0.1" - -# Сетевые и кластерные зависимости (опционально) -reqwest = { version = "0.11", optional = true } # HTTP клиент -tungstenite = { version = "0.20", optional = true } # WebSocket -tokio-tungstenite = { version = "0.20", optional = true } # асинхронные WebSocket -serde_json = { version = "1.0", optional = true } - -# CLI и интерфейс -ansi_term = { version = "0.12", optional = true } -clap = { version = "4.0", optional = true, features = ["derive"] } -rustyline = { version = "12.0", optional = true } -colored = { version = "2.0", optional = true } # цветной вывод -prettytable-rs = { version = "0.10", optional = true } # табличный вывод - -# Плагины и события (опционально) -notify = { version = "6.0", optional = true } # отслеживание файлов плагинов - -[dev-dependencies] -tempfile = "3.0" # временные файлы для тестов -criterion = "0.5" # бенчмарки -proptest = "1.0" # property-based тестирование -tokio-test = "0.4" # тестирование async - -[lib] -name = "flusql" -path = "src/lib.rs" -crate-type = ["cdylib", "staticlib", "rlib"] # поддержка разных форматов - -[profile.dev] -opt-level = 0 -debug = true -debug-assertions = true -overflow-checks = true - -[profile.release] -opt-level = 3 -lto = true -codegen-units = 1 -panic = 'abort' # для максимальной производительности - -[profile.bench] -opt-level = 3 -debug = false -debug-assertions = false -overflow-checks = false -lto = true -codegen-units = 1