use vibesql_catalog::{ColumnSchema, TableSchema};
use vibesql_storage::Database;
use vibesql_types::{DataType, SqlValue};
#[allow(dead_code)] pub fn setup_users_table(db: &mut Database) {
let schema = TableSchema::new(
"users".to_string(),
vec![
ColumnSchema::new("id".to_string(), DataType::Integer, false),
ColumnSchema::new("name".to_string(), DataType::Varchar { max_length: Some(50) }, true),
],
);
db.create_table(schema).unwrap();
}
#[allow(dead_code)] pub fn setup_users_table_with_active(db: &mut Database) {
use vibesql_storage::Row;
let schema = TableSchema::new(
"users".to_string(),
vec![
ColumnSchema::new("id".to_string(), DataType::Integer, false),
ColumnSchema::new(
"name".to_string(),
DataType::Varchar { max_length: Some(50) },
false,
),
ColumnSchema::new("active".to_string(), DataType::Boolean, false),
],
);
db.create_table(schema).unwrap();
db.insert_row(
"users",
Row::new(vec![
SqlValue::Integer(1),
SqlValue::Varchar(arcstr::ArcStr::from("Alice")),
SqlValue::Boolean(true),
]),
)
.unwrap();
db.insert_row(
"users",
Row::new(vec![
SqlValue::Integer(2),
SqlValue::Varchar(arcstr::ArcStr::from("Bob")),
SqlValue::Boolean(false),
]),
)
.unwrap();
db.insert_row(
"users",
Row::new(vec![
SqlValue::Integer(3),
SqlValue::Varchar(arcstr::ArcStr::from("Charlie")),
SqlValue::Boolean(true),
]),
)
.unwrap();
}