Skip to content

Commit 0a89ff2

Browse files
committed
refactor(meta): Clarify source DB version and initialize destination version
Rename the global variable `gpdbVersion` to `srcDBVersion` for better clarity, indicating it represents the source database version. This change has been applied throughout the relevant metadata handling code. Additionally, in the `SetConnection` function within `meta/builtin/variables.go`, the `destDBVersion` is now also initialized with the version from the input connection, alongside `srcDBVersion`. This ensures `destDBVersion` receives a consistent initialization when this setup function is called, potentially for contexts like single-database operations or testing.
1 parent 0c53a14 commit 0a89ff2

File tree

11 files changed

+32
-31
lines changed

11 files changed

+32
-31
lines changed

meta/builtin/builtin.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (b *BuiltinMeta) Open(srcConn, destConn *dbconn.DBConn) {
4848

4949
InitializeMetadataParams(srcConn)
5050

51-
gpdbVersion = srcConn.Version
51+
srcDBVersion = srcConn.Version
5252
destDBVersion = destConn.Version
5353

5454
globalTOC = &toc.TOC{}

meta/builtin/metadata_globals.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func PrintResetResourceGroupStatements(metadataFile *utils.FileWithByteCount, to
115115
}
116116
defSettings := make([]DefSetting, 0)
117117

118-
if gpdbVersion.IsGPDB() && gpdbVersion.Before("7") {
118+
if srcDBVersion.IsGPDB() && srcDBVersion.Before("7") {
119119
defSettings = append(defSettings, DefSetting{"admin_group", "SET CPU_RATE_LIMIT 1"})
120120
defSettings = append(defSettings, DefSetting{"admin_group", "SET MEMORY_LIMIT 1"})
121121
defSettings = append(defSettings, DefSetting{"default_group", "SET CPU_RATE_LIMIT 1"})
@@ -181,7 +181,7 @@ func PrintCreateResourceGroupStatementsAtLeast7(metadataFile *utils.FileWithByte
181181
if !strings.HasPrefix(resGroup.CpuMaxPercent, "-") {
182182
/* cpu rate mode */
183183
attributes = append(attributes, fmt.Sprintf("CPU_MAX_PERCENT=%s", resGroup.CpuMaxPercent))
184-
} else if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("5.9.0")) || gpdbVersion.IsCBDBFamily() {
184+
} else if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("5.9.0")) || srcDBVersion.IsCBDBFamily() {
185185
/* cpuset mode */
186186
attributes = append(attributes, fmt.Sprintf("CPUSET='%s'", resGroup.Cpuset))
187187
}
@@ -201,7 +201,7 @@ func PrintCreateResourceGroupStatementsBefore7(metadataFile *utils.FileWithByteC
201201
// temporarily special case for 5x resource groups #temp5xResGroup
202202
memorySpillRatio := resGroup.MemorySpillRatio
203203

204-
if gpdbVersion.IsGPDB() && gpdbVersion.Is("5") {
204+
if srcDBVersion.IsGPDB() && srcDBVersion.Is("5") {
205205
/*
206206
* memory_spill_ratio can be set in absolute value format since 5.20,
207207
* such as '1 MB', it has to be set as a quoted string, otherwise set
@@ -238,7 +238,7 @@ func PrintCreateResourceGroupStatementsBefore7(metadataFile *utils.FileWithByteC
238238
if !strings.HasPrefix(resGroup.CPURateLimit, "-") {
239239
/* cpu rate mode */
240240
metadataFile.MustPrintf("\n\nALTER RESOURCE GROUP %s SET CPU_RATE_LIMIT %s;", resGroup.Name, resGroup.CPURateLimit)
241-
} else if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("5.9.0")) || gpdbVersion.IsCBDBFamily() {
241+
} else if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("5.9.0")) || srcDBVersion.IsCBDBFamily() {
242242
/* cpuset mode */
243243
metadataFile.MustPrintf("\n\nALTER RESOURCE GROUP %s SET CPUSET '%s';", resGroup.Name, resGroup.Cpuset)
244244
}
@@ -253,7 +253,7 @@ func PrintCreateResourceGroupStatementsBefore7(metadataFile *utils.FileWithByteC
253253
if !strings.HasPrefix(resGroup.CPURateLimit, "-") {
254254
/* cpu rate mode */
255255
attributes = append(attributes, fmt.Sprintf("CPU_RATE_LIMIT=%s", resGroup.CPURateLimit))
256-
} else if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("5.9.0")) || gpdbVersion.IsCBDBFamily() {
256+
} else if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("5.9.0")) || srcDBVersion.IsCBDBFamily() {
257257
/* cpuset mode */
258258
attributes = append(attributes, fmt.Sprintf("CPUSET='%s'", resGroup.Cpuset))
259259
}
@@ -265,7 +265,7 @@ func PrintCreateResourceGroupStatementsBefore7(metadataFile *utils.FileWithByteC
265265
*/
266266
if resGroup.MemoryAuditor == "1" {
267267
attributes = append(attributes, "MEMORY_AUDITOR=cgroup")
268-
} else if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("5.8.0")) || gpdbVersion.IsCBDBFamily() {
268+
} else if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("5.8.0")) || srcDBVersion.IsCBDBFamily() {
269269
attributes = append(attributes, "MEMORY_AUDITOR=vmtracker")
270270
}
271271

@@ -338,7 +338,7 @@ func PrintCreateRoleStatements(metadataFile *utils.FileWithByteCount, toc *toc.T
338338

339339
attrs = append(attrs, fmt.Sprintf("RESOURCE QUEUE %s", role.ResQueue))
340340

341-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("5")) || gpdbVersion.IsCBDBFamily() {
341+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("5")) || srcDBVersion.IsCBDBFamily() {
342342
attrs = append(attrs, fmt.Sprintf("RESOURCE GROUP %s", role.ResGroup))
343343
}
344344

@@ -402,7 +402,7 @@ func PrintObjectMetadataEx(file *utils.FileWithByteCount, toc *toc.TOC,
402402
statements = append(statements, strings.TrimSpace(comment))
403403
}
404404
if owner := metadata.GetOwnerStatement(obj.FQN(), entry.ObjectType); owner != "" {
405-
if !((gpdbVersion.IsGPDB() && gpdbVersion.Before("5")) && entry.ObjectType == "LANGUAGE") {
405+
if !((srcDBVersion.IsGPDB() && srcDBVersion.Before("5")) && entry.ObjectType == "LANGUAGE") {
406406
// Languages have implicit owners in 4.3, but do not support ALTER OWNER
407407
statements = append(statements, strings.TrimSpace(owner))
408408
}

meta/builtin/parallel_depend.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func lookupSourceTables(schema, name string, partNameMap map[string][]string, ta
6464
6565
todo: add some more detail description on variables value (partNameMap, tabMap, etc)
6666
*/
67-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
67+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
6868
found = false
6969
}
7070

meta/builtin/postdata.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func PrintCreateIndexStatements(metadataFile *utils.FileWithByteCount, toc *toc.
3333
metadataFile.MustPrintf("\nALTER INDEX %s SET TABLESPACE %s;", index.FQN(), index.Tablespace)
3434
toc.AddMetadataEntry(section, entry, start, metadataFile.ByteCount)
3535
}
36-
if index.ParentIndexFQN != "" && ((gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily()) {
36+
if index.ParentIndexFQN != "" && ((srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily()) {
3737
start := metadataFile.ByteCount
3838
metadataFile.MustPrintf("\nALTER INDEX %s ATTACH PARTITION %s;", index.ParentIndexFQN, index.FQN())
3939
toc.AddMetadataEntry(section, entry, start, metadataFile.ByteCount)
@@ -101,7 +101,7 @@ func PrintCreateEventTriggerStatements(metadataFile *utils.FileWithByteCount, to
101101
if eventTrigger.EventTags != "" {
102102
metadataFile.MustPrintf("\nWHEN TAG IN (%s)", eventTrigger.EventTags)
103103
}
104-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
104+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
105105
metadataFile.MustPrintf("\nEXECUTE FUNCTION %s();", eventTrigger.FunctionName)
106106
} else {
107107
metadataFile.MustPrintf("\nEXECUTE PROCEDURE %s();", eventTrigger.FunctionName)

meta/builtin/predata_acl.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func PrintObjectMetadata(metadataFile *utils.FileWithByteCount, toc *toc.TOC,
105105
}
106106

107107
objectType := entry.ObjectType
108-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
108+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
109109
switch object := obj.(type) {
110110
case Function:
111111
if object.Kind == "p" {
@@ -117,7 +117,7 @@ func PrintObjectMetadata(metadataFile *utils.FileWithByteCount, toc *toc.TOC,
117117
}
118118

119119
if owner := metadata.GetOwnerStatement(obj.FQN(), objectType); owner != "" {
120-
if !((gpdbVersion.IsGPDB() && gpdbVersion.Before("5")) && entry.ObjectType == "LANGUAGE") {
120+
if !((srcDBVersion.IsGPDB() && srcDBVersion.Before("5")) && entry.ObjectType == "LANGUAGE") {
121121
// Languages have implicit owners in 4.3, but do not support ALTER OWNER
122122
statements = append(statements, strings.TrimSpace(owner))
123123
}
@@ -487,7 +487,7 @@ func createPrivilegeStrings(acl ACL, objectType string) (string, string) {
487487
}
488488
func (obj ObjectMetadata) GetOwnerStatement(objectName string, objectType string) string {
489489
typeStr := objectType
490-
if (gpdbVersion.IsGPDB() && gpdbVersion.Before("6")) && (objectType == "SEQUENCE" || objectType == "VIEW") {
490+
if (srcDBVersion.IsGPDB() && srcDBVersion.Before("6")) && (objectType == "SEQUENCE" || objectType == "VIEW") {
491491
typeStr = "TABLE"
492492
} else if objectType == "FOREIGN SERVER" {
493493
typeStr = "SERVER"

meta/builtin/predata_functions.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ func PrintCreateFunctionStatement(metadataFile *utils.FileWithByteCount, toc *to
2020
start := metadataFile.ByteCount
2121
funcFQN := utils.MakeFQN(funcDef.Schema, funcDef.Name)
2222

23-
if ((gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily()) && funcDef.Kind == "p" {
23+
if ((srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily()) && funcDef.Kind == "p" {
2424
metadataFile.MustPrintf("\n\nCREATE PROCEDURE %s(%s) AS", funcFQN, funcDef.Arguments.String)
2525
} else {
2626
metadataFile.MustPrintf("\n\nCREATE FUNCTION %s(%s) RETURNS %s AS", funcFQN, funcDef.Arguments.String, funcDef.ResultType.String)
@@ -95,7 +95,7 @@ func PrintFunctionModifiers(metadataFile *utils.FileWithByteCount, funcDef Funct
9595
if funcDef.IsSecurityDefiner {
9696
metadataFile.MustPrintf(" SECURITY DEFINER")
9797
}
98-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
98+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
9999
if funcDef.TransformTypes != "" {
100100
metadataFile.MustPrintf("\nTRANSFORM %s\n", funcDef.TransformTypes)
101101
}
@@ -118,7 +118,7 @@ func PrintFunctionModifiers(metadataFile *utils.FileWithByteCount, funcDef Funct
118118

119119
// https://github.com/greenplum-db/gpbackup/commit/08e1f840398596be92d6d34020aed390352c7553
120120
// Stored procedures do not permit parallelism declarations
121-
if ((gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily()) && funcDef.Kind != "p" {
121+
if ((srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily()) && funcDef.Kind != "p" {
122122
switch funcDef.Parallel {
123123
case "u":
124124
metadataFile.MustPrintf(" PARALLEL UNSAFE")
@@ -174,7 +174,7 @@ func PrintCreateAggregateStatement(metadataFile *utils.FileWithByteCount, toc *t
174174
if aggDef.SortOperator != "" {
175175
metadataFile.MustPrintf(",\n\tSORTOP = %s.\"%s\"", aggDef.SortOperatorSchema, aggDef.SortOperator)
176176
}
177-
if gpdbVersion.IsGPDB() && gpdbVersion.Before("7") {
177+
if srcDBVersion.IsGPDB() && srcDBVersion.Before("7") {
178178
if aggDef.Hypothetical {
179179
metadataFile.MustPrintf(",\n\tHYPOTHETICAL")
180180
}
@@ -205,7 +205,7 @@ func PrintCreateAggregateStatement(metadataFile *utils.FileWithByteCount, toc *t
205205
metadataFile.MustPrintf(",\n\tMINITCOND = '%s'", aggDef.MInitialValue)
206206
}
207207

208-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
208+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
209209
var defaultFinalModify string
210210
if aggDef.Kind == "o" {
211211
defaultFinalModify = "w"
@@ -331,7 +331,7 @@ func PrintCreateLanguageStatements(metadataFile *utils.FileWithByteCount, toc *t
331331
for _, procLang := range procLangs {
332332
start := metadataFile.ByteCount
333333
metadataFile.MustPrintf("\n\nCREATE ")
334-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("6")) || gpdbVersion.IsCBDBFamily() {
334+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("6")) || srcDBVersion.IsCBDBFamily() {
335335
metadataFile.MustPrintf("OR REPLACE ")
336336
}
337337
if procLang.PlTrusted {

meta/builtin/predata_operators.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func PrintCreateOperatorStatement(metadataFile *utils.FileWithByteCount, toc *to
2222
var leftArg string
2323
var rightArg string
2424
var createStatementFuncRepl string
25-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
25+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
2626
createStatementFuncRepl = "FUNCTION"
2727
} else {
2828
createStatementFuncRepl = "PROCEDURE"

meta/builtin/predata_relations.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -448,7 +448,7 @@ func generateSequenceDefinitionStatement(sequence Sequence) string {
448448
minVal := int64(math.MinInt64)
449449

450450
// Identity columns cannot be defined with `AS smallint/integer`
451-
if ((gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily()) && sequence.OwningColumnAttIdentity == "" {
451+
if ((srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily()) && sequence.OwningColumnAttIdentity == "" {
452452
if definition.Type != "bigint" {
453453
statement += fmt.Sprintf("\n\tAS %s", definition.Type)
454454
}
@@ -460,7 +460,7 @@ func generateSequenceDefinitionStatement(sequence Sequence) string {
460460
minVal = int64(math.MinInt32)
461461
}
462462
}
463-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("6")) || gpdbVersion.IsCBDBFamily() {
463+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("6")) || srcDBVersion.IsCBDBFamily() {
464464
statement += fmt.Sprintf("\n\tSTART WITH %d", definition.StartVal)
465465
} else if !definition.IsCalled {
466466
statement += fmt.Sprintf("\n\tSTART WITH %d", definition.LastVal)
@@ -553,7 +553,7 @@ func PrintPostCreateTableStatements(metadataFile *utils.FileWithByteCount, toc *
553553
utils.MakeFQN(alteredPartitionRelation.OldSchema, alteredPartitionRelation.Name), alteredPartitionRelation.NewSchema))
554554
}
555555

556-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
556+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
557557

558558
attachInfo := table.AttachPartitionInfo
559559
// https://github.com/greenplum-db/gpbackup/commit/08fd7c563bdf5510ffd9256632adb56fa43d65ff
@@ -662,7 +662,7 @@ func PrintCreateViewStatement(metadataFile *utils.FileWithByteCount, toc *toc.TO
662662
663663
*/
664664
viewOptions := view.Options
665-
if gpdbVersion.IsHDW() && gpdbVersion.Is("3") && viewOptions != "" {
665+
if srcDBVersion.IsHDW() && srcDBVersion.Is("3") && viewOptions != "" {
666666
viewOptions = transformViewOptions(viewOptions)
667667
}
668668

meta/builtin/predata_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func PrintCreateBaseTypeStatement(metadataFile *utils.FileWithByteCount, toc *to
7777
if base.Send != "" {
7878
metadataFile.MustPrintf(",\n\tSEND = %s", base.Send)
7979
}
80-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("5")) || gpdbVersion.IsCBDBFamily() {
80+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("5")) || srcDBVersion.IsCBDBFamily() {
8181
if base.ModIn != "" {
8282
metadataFile.MustPrintf(",\n\tTYPMOD_IN = %s", base.ModIn)
8383
}

meta/builtin/statistics.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ func GenerateAttributeStatisticsQueries(table Table, attStat AttributeStatistic)
6161
inheritStr := ""
6262
attributeSlotsQueryStr := ""
6363
var attributeQueries []string
64-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("6")) || gpdbVersion.IsCBDBFamily() {
64+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("6")) || srcDBVersion.IsCBDBFamily() {
6565
inheritStr = fmt.Sprintf("\n\t%t::boolean,", attStat.Inherit)
66-
if (gpdbVersion.IsGPDB() && gpdbVersion.AtLeast("7")) || gpdbVersion.IsCBDBFamily() {
66+
if (srcDBVersion.IsGPDB() && srcDBVersion.AtLeast("7")) || srcDBVersion.IsCBDBFamily() {
6767
attributeSlotsQueryStr = generateAttributeSlotsQuery7(attStat)
6868
} else {
6969
attributeSlotsQueryStr = generateAttributeSlotsQuery6(attStat)

0 commit comments

Comments
 (0)