Skip to content

Commit 0d873a3

Browse files
committed
refactor resource logic
1 parent b46675b commit 0d873a3

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

postgresql/resource_postgresql_script.go

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -82,30 +82,35 @@ func resourcePostgreSQLScriptDelete(db *DBConnection, d *schema.ResourceData) er
8282
}
8383

8484
func executeCommands(db *DBConnection, commands []any, tries int, backoffDelay int) error {
85-
for i := 1; ; i++ {
86-
var err error
87-
for _, command := range commands {
88-
log.Printf("[DEBUG] Executing (%d try) %s", i, command.(string))
89-
_, err = db.Query(command.(string))
90-
91-
if err != nil {
92-
log.Println("[DEBUG] Error catched:", err)
93-
if _, rollbackError := db.Query("ROLLBACK"); rollbackError != nil {
94-
log.Println("[DEBUG] Rollback raised an error:", rollbackError)
95-
}
96-
if i >= tries {
97-
return err
98-
}
99-
time.Sleep(time.Duration(backoffDelay) * time.Second)
100-
break
101-
}
102-
}
85+
for try := 1; ; try++ {
86+
err := executeBatch(db, commands)
10387
if err == nil {
10488
return nil
89+
} else {
90+
if try >= tries {
91+
return err
92+
}
93+
time.Sleep(time.Duration(backoffDelay) * time.Second)
10594
}
10695
}
10796
}
10897

98+
func executeBatch(db *DBConnection, commands []any) error {
99+
for _, command := range commands {
100+
log.Printf("[ERROR] Executing %s", command.(string))
101+
_, err := db.Query(command.(string))
102+
103+
if err != nil {
104+
log.Println("[ERROR] Error catched:", err)
105+
if _, rollbackError := db.Query("ROLLBACK"); rollbackError != nil {
106+
log.Println("[ERROR] Rollback raised an error:", rollbackError)
107+
}
108+
return err
109+
}
110+
}
111+
return nil
112+
}
113+
109114
func shasumCommands(commands []any) string {
110115
sha := sha1.New()
111116
for _, command := range commands {

0 commit comments

Comments
 (0)