Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'

This commit is contained in:
ruv
2026-02-28 14:39:40 -05:00
7854 changed files with 3522914 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
// Integration of SQL module into RvLite
// This shows the minimal changes needed to lib.rs
use wasm_bindgen::prelude::*;
use serde::{Deserialize, Serialize};
use std::collections::HashMap;
// Import ruvector-core
use ruvector_core::{
VectorDB, VectorEntry, SearchQuery,
DistanceMetric,
};
use ruvector_core::types::DbOptions;
// SQL module
pub mod sql;
// RvLite struct needs to include sql_engine field:
// sql_engine: sql::SqlEngine,
// In RvLite::new(), initialize the SQL engine:
// sql_engine: sql::SqlEngine::new(),
// Replace the sql() method with this implementation:
/*
/// Execute SQL query
pub async fn sql(&self, query: String) -> Result<JsValue, JsValue> {
// Parse SQL
let mut parser = sql::SqlParser::new(&query)
.map_err(|e| RvLiteError {
message: format!("SQL parse error: {}", e),
kind: ErrorKind::SqlError,
})?;
let statement = parser.parse()
.map_err(|e| RvLiteError {
message: format!("SQL parse error: {}", e),
kind: ErrorKind::SqlError,
})?;
// Execute statement
let result = self.sql_engine.execute(statement)
.map_err(|e| JsValue::from(e))?;
// Serialize result
serde_wasm_bindgen::to_value(&result)
.map_err(|e| RvLiteError {
message: format!("Failed to serialize result: {}", e),
kind: ErrorKind::WasmError,
}.into())
}
*/