Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions core/translate/trigger.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,10 @@ pub fn translate_create_trigger(
let normalized_trigger_name = normalize_ident(trigger_name.name.as_str());
let normalized_table_name = normalize_ident(tbl_name.name.as_str());

if crate::schema::is_system_table(&normalized_table_name) {
bail_parse_error!("cannot create trigger on system table");
}

// Check if trigger already exists
if resolver
.schema
Expand Down
8 changes: 7 additions & 1 deletion testing/trigger.test
Original file line number Diff line number Diff line change
Expand Up @@ -773,4 +773,10 @@ do_execsql_test_on_specific_db {:memory:} trigger-drop-make-same-table{
select * from a;
select * from t1;
} {1|5000
2|3000}
2|3000}

do_execsql_test_in_memory_any_error trigger-cannot-create-on-system-table {
create trigger t after insert on sqlite_master begin
select 1;
end;
}
Loading