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

Bootstrap the system tables from the commitlog #1433

Open
cloutiertyler opened this issue Jun 13, 2024 · 1 comment · May be fixed by #1535
Open

Bootstrap the system tables from the commitlog #1433

cloutiertyler opened this issue Jun 13, 2024 · 1 comment · May be fixed by #1535
Assignees

Comments

@cloutiertyler
Copy link
Contributor

cloutiertyler commented Jun 13, 2024

The purpose of this ticket and corresponding PR is the following:

Currently some rows are inserted into system tables by the bootstrapping code. If we ever wanted to change the system tables for existing databases, then we would have to maintain two versions of the bootstrapping code. One for the old database which were initially bootstrapped with the old code and one for the new database which was bootstrapped with the new code. This is complex.

Instead we want to make it so that the only tables which have rows inserted into them on startup is st_table and st_column and that all rows in all other tables are inserted into the commitlog. Thus making it so that migrating a system table is the same as migrating any table. We would old need the old system table code if we wanted to look at the historical state of a system table in an old database.

Food for thought, Postgres creates a template1 database and then clones it to create all other new databases.

@kim kim linked a pull request Jul 23, 2024 that will close this issue
@bfops
Copy link
Collaborator

bfops commented Feb 3, 2025

We think it's unlikely we'll get this in for 1.0. We'll have to deal with this limitation throughout 1.0, i.e. not being able to change system tables.

Does this mean we can't add more system tables? We'll need to think about this a bit more, it's not obvious.

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

Successfully merging a pull request may close this issue.

3 participants