Skip to content

Commit 51df181

Browse files
Update dependency system
1 parent 24b6beb commit 51df181

File tree

4 files changed

+190
-162
lines changed

4 files changed

+190
-162
lines changed

pkg/diff/policy_sql_generator.go

+9-9
Original file line numberDiff line numberDiff line change
@@ -262,17 +262,17 @@ func (psg *policySQLVertexGenerator) Alter(diff policyDiff) ([]Statement, error)
262262
}}, nil
263263
}
264264

265-
func (psg *policySQLVertexGenerator) GetSQLVertexId(p schema.Policy) string {
266-
return buildPolicyVertexId(psg.table.SchemaQualifiedName, p.EscapedName)
265+
func (psg *policySQLVertexGenerator) GetSQLVertexId(p schema.Policy, diffType diffType) sqlVertexId {
266+
return buildPolicyVertexId(psg.table.SchemaQualifiedName, p.EscapedName, diffType)
267267
}
268268

269-
func buildPolicyVertexId(owningTable schema.SchemaQualifiedName, policyEscapedName string) string {
270-
return buildVertexId("policy", fmt.Sprintf("%s.%s", owningTable.GetFQEscapedName(), policyEscapedName))
269+
func buildPolicyVertexId(owningTable schema.SchemaQualifiedName, policyEscapedName string, diffType diffType) sqlVertexId {
270+
return buildSchemaObjVertexId("policy", fmt.Sprintf("%s.%s", owningTable.GetFQEscapedName(), policyEscapedName), diffType)
271271
}
272272

273273
func (psg *policySQLVertexGenerator) GetAddAlterDependencies(newPolicy, oldPolicy schema.Policy) ([]dependency, error) {
274274
deps := []dependency{
275-
mustRun(psg.GetSQLVertexId(newPolicy), diffTypeDelete).before(psg.GetSQLVertexId(newPolicy), diffTypeAddAlter),
275+
mustRun(psg.GetSQLVertexId(newPolicy, diffTypeDelete)).before(psg.GetSQLVertexId(newPolicy, diffTypeAddAlter)),
276276
}
277277

278278
newTargetColumns, err := getTargetColumns(newPolicy.Columns, psg.newSchemaColumnsByName)
@@ -282,7 +282,7 @@ func (psg *policySQLVertexGenerator) GetAddAlterDependencies(newPolicy, oldPolic
282282

283283
// Run after the new columns are added/altered
284284
for _, tc := range newTargetColumns {
285-
deps = append(deps, mustRun(psg.GetSQLVertexId(newPolicy), diffTypeAddAlter).after(buildColumnVertexId(tc.Name), diffTypeAddAlter))
285+
deps = append(deps, mustRun(psg.GetSQLVertexId(newPolicy, diffTypeAddAlter)).after(buildColumnVertexId(tc.Name, diffTypeAddAlter)))
286286
}
287287

288288
if !cmp.Equal(oldPolicy, schema.Policy{}) {
@@ -294,7 +294,7 @@ func (psg *policySQLVertexGenerator) GetAddAlterDependencies(newPolicy, oldPolic
294294
for _, tc := range oldTargetColumns {
295295
// It only needs to run before the delete if the column is actually being deleted
296296
if _, stillExists := psg.newSchemaColumnsByName[tc.GetName()]; !stillExists {
297-
deps = append(deps, mustRun(psg.GetSQLVertexId(newPolicy), diffTypeAddAlter).before(buildColumnVertexId(tc.Name), diffTypeDelete))
297+
deps = append(deps, mustRun(psg.GetSQLVertexId(newPolicy, diffTypeAddAlter)).before(buildColumnVertexId(tc.Name, diffTypeDelete)))
298298
}
299299
}
300300
}
@@ -311,8 +311,8 @@ func (psg *policySQLVertexGenerator) GetDeleteDependencies(pol schema.Policy) ([
311311
}
312312
// The policy needs to be deleted before all the columns it references are deleted or add/altered
313313
for _, c := range columns {
314-
deps = append(deps, mustRun(psg.GetSQLVertexId(pol), diffTypeDelete).before(buildColumnVertexId(c.Name), diffTypeDelete))
315-
deps = append(deps, mustRun(psg.GetSQLVertexId(pol), diffTypeDelete).before(buildColumnVertexId(c.Name), diffTypeAddAlter))
314+
deps = append(deps, mustRun(psg.GetSQLVertexId(pol, diffTypeDelete)).before(buildColumnVertexId(c.Name, diffTypeDelete)))
315+
deps = append(deps, mustRun(psg.GetSQLVertexId(pol, diffTypeDelete)).before(buildColumnVertexId(c.Name, diffTypeAddAlter)))
316316
}
317317

318318
return deps, nil

0 commit comments

Comments
 (0)