| 101 | } |
| 102 | |
| 103 | func (r *ChangedResources) AddTable(database string, schema string, change *storepb.ChangedResourceTable, affectedTable bool) { |
| 104 | if _, ok := r.databases[database]; !ok { |
| 105 | r.databases[database] = &ChangedDatabase{ |
| 106 | schemas: make(map[string]*ChangedSchema), |
| 107 | } |
| 108 | } |
| 109 | if _, ok := r.databases[database].schemas[schema]; !ok { |
| 110 | r.databases[database].schemas[schema] = &ChangedSchema{ |
| 111 | tables: make(map[string]*ChangedTable), |
| 112 | } |
| 113 | } |
| 114 | if r.databases[database].schemas[schema].tables == nil { |
| 115 | r.databases[database].schemas[schema].tables = make(map[string]*ChangedTable) |
| 116 | } |
| 117 | v, ok := r.databases[database].schemas[schema].tables[change.GetName()] |
| 118 | if !ok { |
| 119 | r.databases[database].schemas[schema].tables[change.GetName()] = &ChangedTable{ |
| 120 | table: change, |
| 121 | affectedTable: affectedTable, |
| 122 | } |
| 123 | return |
| 124 | } |
| 125 | if affectedTable { |
| 126 | v.affectedTable = true |
| 127 | } |
| 128 | } |
| 129 | |
| 130 | // AddDatabase records a database changed by a non-table-object write (Tier 2): a qualified |
| 131 | // object DDL (CREATE/ALTER/DROP VIEW/PROCEDURE/FUNCTION/TRIGGER/...) whose only auth-relevant |