Skip to content

[TASK] Skip unchanged PostgreSQL tables during database reset - #758

Open
wouter90 wants to merge 1 commit into
TYPO3:mainfrom
wouter90:perf/postgres-selective-reset
Open

wouter90 wants to merge 1 commit into
TYPO3:mainfrom
wouter90:perf/postgres-selective-reset

Conversation

@wouter90

Copy link
Copy Markdown
Contributor

Only truncate tables containing rows or changed owned sequences. Preserve sequence starts for serial and identity columns, including empty tables whose IDs have already been consumed. Keep the full reset for databases with foreign keys or enabled truncate triggers.

Bound table checks to 100 SELECT branches and resolve sequence owners against the current schema search path.

Add functional coverage for untouched tables, sequence state, multiple identity columns, schema changes, query batches and both fallbacks.

Repeated PostgreSQL 17 benchmarks improve WorkspacesModify by 8.3% and RootlineUtility by 15.7%, with identical tests and assertions.

Only truncate tables containing rows or changed owned sequences.
Preserve sequence starts for serial and identity columns, including
empty tables whose IDs have already been consumed. Keep the full
reset for databases with foreign keys or enabled truncate triggers.

Bound table checks to 100 SELECT branches and resolve sequence owners
against the current schema search path.

Add functional coverage for untouched tables, sequence state, multiple
identity columns, schema changes, query batches and both fallbacks.

Repeated PostgreSQL 17 benchmarks improve WorkspacesModify by 8.3%
and RootlineUtility by 15.7%, with identical tests and assertions.
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 this pull request may close these issues.

1 participant