Skip to content

Add --use-original-schema option#482

Open
za-arthur wants to merge 3 commits intomasterfrom
use_original_schema
Open

Add --use-original-schema option#482
za-arthur wants to merge 3 commits intomasterfrom
use_original_schema

Conversation

@za-arthur
Copy link
Collaborator

This introduces the --use-original-schema option to allow to create temporary objects in the target table's original schema instead of the repack schema.

  • Replace the repack.tables view by the repack.get_tables() function to generate DDL statements using the target temporary schema.
  • Update internal and SQL helper functions to accept target schema name.

Additionally:

  • Rewrite functions in pg_repack.sql.in by using format() instead of string concatenation: 735aa86
  • Refactor repack.repack_indexdef: pass table name instead of oid: 08ccf05

Discussion for additional context:
#475

Rewrite functions in pg_repack.sql.in by using format() instead of
string concatenation.
Previously repack.repack_indexdef would generate CREATE INDEX on the
target table or on the temp table depending on the 4th
(concurrent_index) argument. If it is true then the table is the target
table, otherwise the table is the temp table.

This looks counter-intuitive. Instead of table oid just pass table name.
It would be a caller responsibility to pass the correct table name.
This introduces the `--use-original-schema` option to allow to create temporary
objects in the target table's original schema instead of the `repack` schema.

- Replace the `repack.tables` view by the `repack.get_tables()` function to
  generate DDL statements using the target temporary schema.
- Update internal and SQL helper functions to accept target schema name.
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