Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bundle: add write blocking triggers on bundle.rowset* #286

Open
erichanson opened this issue Nov 29, 2023 · 1 comment
Open

bundle: add write blocking triggers on bundle.rowset* #286

erichanson opened this issue Nov 29, 2023 · 1 comment

Comments

@erichanson
Copy link
Member

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.

erichanson added a commit that referenced this issue Nov 29, 2023
Big speedups.  Working around what sure seems to be a PostgreSQL bug #285.  If
we keep this approach, would be nice to add write-blocking triggers on the
internal rowset* tables, as they should never be modified directly, #286.
@erichanson
Copy link
Member Author

Or maybe use permissions? Once we get the requirement of being superuser out of checkout(), this could at least be possible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant