Skip to content

Commit 59f141d

Browse files
committed
Update to reflect what's reviewed
1 parent 4f1956f commit 59f141d

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

postgresql/resource_postgresql_security_label.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func resourcePostgreSQLSecurityLabelCreate(db *DBConnection, d *schema.ResourceD
6767
}
6868
log.Printf("[DEBUG] PostgreSQL security label Create")
6969
label := d.Get(securityLabelLabelAttr).(string)
70-
if err := resourcePostgreSQLSecurityLabelUpdateImpl(db, d, label); err != nil {
70+
if err := resourcePostgreSQLSecurityLabelUpdateImpl(db, d, pq.QuoteLiteral(label)); err != nil {
7171
return err
7272
}
7373

@@ -116,11 +116,11 @@ func resourcePostgreSQLSecurityLabelReadImpl(db *DBConnection, d *schema.Resourc
116116
}
117117
defer deferredRollback(txn)
118118

119-
query := "SELECT objtype, provider, label FROM pg_seclabels WHERE objtype = $1 and objname = $2 and provider = $3"
119+
query := "SELECT objtype, provider, objname, label FROM pg_seclabels WHERE objtype = $1 and objname = $2 and provider = $3"
120120
row := db.QueryRow(query, objectType, quoteIdentifier(objectName), quoteIdentifier(provider))
121121

122-
var label string
123-
err = row.Scan(&objectType, &provider, &label)
122+
var label, newObjectName, newProvider string
123+
err = row.Scan(&objectType, &newProvider, &newObjectName, &label)
124124
switch {
125125
case err == sql.ErrNoRows:
126126
log.Printf("[WARN] PostgreSQL security label for (%s '%s') with provider %s not found", objectType, objectName, provider)
@@ -130,6 +130,12 @@ func resourcePostgreSQLSecurityLabelReadImpl(db *DBConnection, d *schema.Resourc
130130
return fmt.Errorf("Error reading security label: %w", err)
131131
}
132132

133+
if quoteIdentifier(objectName) != newObjectName || quoteIdentifier(provider) != newProvider {
134+
// In reality, this should never happen, but if it does, we want to make sure that the state is in sync with the remote system
135+
// This will trigger a TF error saying that the provider has a bug if it ever happens
136+
objectName = newObjectName
137+
provider = newProvider
138+
}
133139
d.Set(securityLabelObjectTypeAttr, objectType)
134140
d.Set(securityLabelObjectNameAttr, objectName)
135141
d.Set(securityLabelProviderAttr, provider)
@@ -146,7 +152,7 @@ func resourcePostgreSQLSecurityLabelDelete(db *DBConnection, d *schema.ResourceD
146152
db.version,
147153
)
148154
}
149-
log.Printf("[WARN] PostgreSQL security label Delete")
155+
log.Printf("[DEBUG] PostgreSQL security label Delete")
150156

151157
if err := resourcePostgreSQLSecurityLabelUpdateImpl(db, d, "NULL"); err != nil {
152158
return err
@@ -164,7 +170,7 @@ func resourcePostgreSQLSecurityLabelUpdate(db *DBConnection, d *schema.ResourceD
164170
db.version,
165171
)
166172
}
167-
log.Printf("[WARN] PostgreSQL security label Update")
173+
log.Printf("[DEBUG] PostgreSQL security label Update")
168174

169175
label := d.Get(securityLabelLabelAttr).(string)
170176
if err := resourcePostgreSQLSecurityLabelUpdateImpl(db, d, pq.QuoteLiteral(label)); err != nil {

0 commit comments

Comments
 (0)