MCPcopy Index your code
hub / github.com/bytebase/bytebase / FilterPostgresArchiveSchema

Function FilterPostgresArchiveSchema

backend/plugin/schema/differ.go:2145–2226  ·  view source on GitHub ↗

FilterPostgresArchiveSchema filters out schema diff objects related to bbdataarchive schema.

(diff *MetadataDiff)

Source from the content-addressed store, hash-verified

2143
2144// FilterPostgresArchiveSchema filters out schema diff objects related to bbdataarchive schema.
2145func FilterPostgresArchiveSchema(diff *MetadataDiff) *MetadataDiff {
2146 if diff == nil {
2147 return nil
2148 }
2149
2150 archiveSchemaName := common.BackupDatabaseNameOfEngine(storepb.Engine_POSTGRES)
2151
2152 // Create a new diff object with filtered changes
2153 filtered := &MetadataDiff{
2154 DatabaseName: diff.DatabaseName,
2155 }
2156
2157 // Filter schema changes
2158 for _, schemaChange := range diff.SchemaChanges {
2159 if schemaChange.SchemaName != archiveSchemaName {
2160 filtered.SchemaChanges = append(filtered.SchemaChanges, schemaChange)
2161 }
2162 }
2163
2164 // Filter table changes
2165 for _, tableChange := range diff.TableChanges {
2166 if tableChange.SchemaName != archiveSchemaName {
2167 filtered.TableChanges = append(filtered.TableChanges, tableChange)
2168 }
2169 }
2170
2171 // Filter view changes
2172 for _, viewChange := range diff.ViewChanges {
2173 if viewChange.SchemaName != archiveSchemaName {
2174 filtered.ViewChanges = append(filtered.ViewChanges, viewChange)
2175 }
2176 }
2177
2178 // Filter materialized view changes
2179 for _, mvChange := range diff.MaterializedViewChanges {
2180 if mvChange.SchemaName != archiveSchemaName {
2181 filtered.MaterializedViewChanges = append(filtered.MaterializedViewChanges, mvChange)
2182 }
2183 }
2184
2185 // Filter function changes
2186 for _, funcChange := range diff.FunctionChanges {
2187 if funcChange.SchemaName != archiveSchemaName {
2188 filtered.FunctionChanges = append(filtered.FunctionChanges, funcChange)
2189 }
2190 }
2191
2192 // Filter procedure changes
2193 for _, procChange := range diff.ProcedureChanges {
2194 if procChange.SchemaName != archiveSchemaName {
2195 filtered.ProcedureChanges = append(filtered.ProcedureChanges, procChange)
2196 }
2197 }
2198
2199 // Filter sequence changes
2200 for _, seqChange := range diff.SequenceChanges {
2201 if seqChange.SchemaName != archiveSchemaName {
2202 filtered.SequenceChanges = append(filtered.SequenceChanges, seqChange)

Callers

nothing calls this directly

Calls 1

Tested by

no test coverage detected