Fix identifier quoting in postgresql_publication resource #578
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes #577
This PR adds proper identifier quoting using
pq.QuoteIdentifier()for publication names and owner names in all SQL statements within thepostgresql_publicationresource.Problem
When setting a publication owner or name containing special characters (e.g., hyphens like
tenant-management-user), the resource failed with a syntax error:This occurred because identifiers were not properly quoted in SQL statements.
Solution
Added
pq.QuoteIdentifier()to all publication and owner name references in:CREATE PUBLICATIONstatementsALTER PUBLICATION ... OWNER TOstatementsALTER PUBLICATION ... ADD/DROP TABLEstatementsALTER PUBLICATION ... SETstatements (parameter updates)This aligns the publication resource with the identifier quoting standards already implemented in other resources (database, schema, role, etc.).
Testing
TestAccPostgresqlPublication_UpdateOwnerandTestAccPostgresqlPublication_UpdateName