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

Function compareProcedures

backend/plugin/schema/differ.go:1804–1845  ·  view source on GitHub ↗

compareProcedures compares procedures between two schemas.

(diff *MetadataDiff, schemaName string, oldSchema, newSchema *model.SchemaMetadata)

Source from the content-addressed store, hash-verified

1802
1803// compareProcedures compares procedures between two schemas.
1804func compareProcedures(diff *MetadataDiff, schemaName string, oldSchema, newSchema *model.SchemaMetadata) {
1805 // Check for dropped procedures
1806 for _, procName := range oldSchema.ListProcedureNames() {
1807 if newSchema.GetProcedure(procName) == nil {
1808 oldProc := oldSchema.GetProcedure(procName)
1809 if oldProc != nil && !oldProc.SkipDump {
1810 diff.ProcedureChanges = append(diff.ProcedureChanges, &ProcedureDiff{
1811 Action: MetadataDiffActionDrop,
1812 SchemaName: schemaName,
1813 ProcedureName: procName,
1814 OldProcedure: oldProc,
1815 })
1816 }
1817 }
1818 }
1819
1820 // Check for new and modified procedures
1821 for _, procName := range newSchema.ListProcedureNames() {
1822 newProc := newSchema.GetProcedure(procName)
1823 if newProc == nil || newProc.SkipDump {
1824 continue
1825 }
1826
1827 oldProc := oldSchema.GetProcedure(procName)
1828 if oldProc == nil {
1829 diff.ProcedureChanges = append(diff.ProcedureChanges, &ProcedureDiff{
1830 Action: MetadataDiffActionCreate,
1831 SchemaName: schemaName,
1832 ProcedureName: procName,
1833 NewProcedure: newProc,
1834 })
1835 } else if !oldProc.SkipDump && !procedureDefinitionsEqual(oldProc.Definition, newProc.Definition, procName) {
1836 diff.ProcedureChanges = append(diff.ProcedureChanges, &ProcedureDiff{
1837 Action: MetadataDiffActionAlter,
1838 SchemaName: schemaName,
1839 ProcedureName: procName,
1840 OldProcedure: oldProc,
1841 NewProcedure: newProc,
1842 })
1843 }
1844 }
1845}
1846
1847// compareSequences compares sequences between two schemas.
1848func compareSequences(diff *MetadataDiff, schemaName string, oldSchema, newSchema *model.SchemaMetadata) {

Callers 1

compareSchemaObjectsFunction · 0.70

Calls 3

ListProcedureNamesMethod · 0.80
GetProcedureMethod · 0.80

Tested by

no test coverage detected