mirror of
https://github.com/tursodatabase/limbo.git
synced 2025-08-04 10:08:20 +00:00
Prevent panic on loading non-existent vtab module
This commit is contained in:
parent
e368cd1499
commit
3ad7d194cb
1 changed files with 8 additions and 2 deletions
10
core/util.rs
10
core/util.rs
|
@ -60,8 +60,14 @@ pub fn parse_schema_rows(
|
|||
let sql: &str = row.get::<&str>(4)?;
|
||||
if root_page == 0 && sql.to_lowercase().contains("create virtual") {
|
||||
let name: &str = row.get::<&str>(1)?;
|
||||
let vtab = syms.vtabs.get(name).unwrap().clone();
|
||||
schema.add_virtual_table(vtab);
|
||||
let Some(vtab) = syms.vtabs.get(name) else {
|
||||
return Err(LimboError::InvalidArgument(format!(
|
||||
"Virtual table Module for {} not found in symbol table,
|
||||
please load extension first",
|
||||
name
|
||||
)));
|
||||
};
|
||||
schema.add_virtual_table(vtab.clone());
|
||||
} else {
|
||||
let table = schema::BTreeTable::from_sql(sql, root_page as usize)?;
|
||||
schema.add_btree_table(Rc::new(table));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue