Now that head_commit_row and head_commit_field are becoming materialized views for great speed, the internal tables rowset, rowset_row and rowset_row_field, and maybe blob as well, could (should?) have write-blocking triggers for insert, update and delete. They should never be modified directly. They should never change except in functions bundle_csv_import(), commit() and commit_delete(). These functions should temporarily disable the write triggers, make whatever changes, and then re-enable them, then refresh the materialized views.
Now that
head_commit_row
andhead_commit_field
are becoming materialized views for great speed, the internal tablesrowset
,rowset_row
androwset_row_field
, and maybeblob
as well, could (should?) have write-blocking triggers for insert, update and delete. They should never be modified directly. They should never change except in functionsbundle_csv_import()
,commit()
andcommit_delete()
. These functions should temporarily disable the write triggers, make whatever changes, and then re-enable them, then refresh the materialized views.