Files
wehub-resource-sync 5357c39144
Fuzzer / Run Fuzzer (push) Has been cancelled
Race tests / Go race tests (ubuntu-22.04) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:01:40 +08:00

660 lines
24 KiB
Go

// Copyright 2021 Dolthub, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package sqle
import (
"math"
"time"
"github.com/dolthub/go-mysql-server/sql"
"github.com/dolthub/go-mysql-server/sql/types"
_ "github.com/dolthub/go-mysql-server/sql/variables"
"github.com/dolthub/dolt/go/libraries/doltcore/env/actions"
"github.com/dolthub/dolt/go/libraries/doltcore/sqle/dsess"
)
// TODO: get rid of me, use an integration point to define new sysvars
func init() {
AddDoltSystemVariables()
}
var DoltSystemVariables = []sql.SystemVariable{
&sql.MysqlSystemVariable{
Name: "log_bin_branch",
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Persist),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType("log_bin_branch"),
Default: "main",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltOverrideSchema,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.DoltOverrideSchema),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicateToRemote,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReplicateToRemote),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicationRemoteURLTemplate,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReplicationRemoteURLTemplate),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReadReplicaRemote,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReadReplicaRemote),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReadReplicaForcePull,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ReadReplicaForcePull),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.SkipReplicationErrors,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.SkipReplicationErrors),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicateHeads,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReplicateHeads),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicateAllHeads,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ReplicateAllHeads),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.AsyncReplication,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.AsyncReplication),
Default: int8(0),
},
&sql.MysqlSystemVariable{
// MySQL exposes this as the --replicate-ignore-db CLI parameter, but we don't want to
// expose all the MySQL replication settings through the CLI, so we use this sys var.
Name: "binlog_ignore_dbs",
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType("binlog_ignore_dbs"),
Default: "",
},
&sql.MysqlSystemVariable{ // If true, causes a Dolt commit to occur when you commit a transaction.
Name: dsess.DoltCommitOnTransactionCommit,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.DoltCommitOnTransactionCommit),
Default: int8(0),
},
&sql.MysqlSystemVariable{ // If set, use this message for automatic Dolt commits
Name: dsess.DoltCommitOnTransactionCommitMessage,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.DoltCommitOnTransactionCommitMessage),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.TransactionsDisabledSysVar,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.TransactionsDisabledSysVar),
Default: int8(0),
},
&sql.MysqlSystemVariable{ // If true, disables the conflict and constraint violation check when you commit a transaction.
Name: dsess.ForceTransactionCommit,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ForceTransactionCommit),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.CurrentBatchModeKey,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemIntType(dsess.CurrentBatchModeKey, -9223372036854775808, 9223372036854775807, false),
Default: int64(0),
},
&sql.MysqlSystemVariable{ // If true, disables the conflict violation check when you commit a transaction.
Name: dsess.AllowCommitConflicts,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.AllowCommitConflicts),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.AwsCredsFile,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: false,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.AwsCredsFile),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.AwsCredsProfile,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: false,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.AwsCredsProfile),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.AwsCredsRegion,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: false,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.AwsCredsRegion),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ShowBranchDatabases,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ShowBranchDatabases),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltClusterAckWritesTimeoutSecs,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Persist),
Type: types.NewSystemIntType(dsess.DoltClusterAckWritesTimeoutSecs, 0, 60, false),
Default: int64(0),
},
&sql.MysqlSystemVariable{
Name: dsess.ShowSystemTables,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Type: types.NewSystemBoolType(dsess.ShowSystemTables),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: "dolt_dont_merge_json",
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Type: types.NewSystemBoolType("dolt_dont_merge_json"),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: "dolt_optimize_json",
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Type: types.NewSystemBoolType("dolt_optimize_json"),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsEnabled,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsEnabled),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsPaused,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsPaused),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsMemoryOnly,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsMemoryOnly),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsJobInterval,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemIntType(dsess.DoltStatsJobInterval, 0, math.MaxInt, false),
Default: int64(30 * time.Millisecond / time.Millisecond),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsGCInterval,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemIntType(dsess.DoltStatsGCInterval, 0, math.MaxInt, false),
Default: int64(time.Hour / time.Millisecond),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsGCEnabled,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsGCEnabled),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsBranches,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemStringType(dsess.DoltStatsBranches),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltAutoGCEnabled,
Dynamic: false,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltAutoGCEnabled),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.AllowCICreation,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemBoolType(dsess.AllowCICreation),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: actions.DoltCommitVerificationGroups,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemStringType(actions.DoltCommitVerificationGroups),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltAuthorName,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltAuthorName),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltAuthorEmail,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltAuthorEmail),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltAuthorDate,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltAuthorDate),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltCommitterName,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltCommitterName),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltCommitterEmail,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltCommitterEmail),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltCommitterDate,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltCommitterDate),
Default: "",
},
}
func AddDoltSystemVariables() {
sql.SystemVariables.AddSystemVariables([]sql.SystemVariable{
&sql.MysqlSystemVariable{
Name: "log_bin_branch",
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Persist),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType("log_bin_branch"),
Default: "main",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltOverrideSchema,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.DoltOverrideSchema),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicateToRemote,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReplicateToRemote),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicationRemoteURLTemplate,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReplicationRemoteURLTemplate),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReadReplicaRemote,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReadReplicaRemote),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReadReplicaForcePull,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ReadReplicaForcePull),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.SkipReplicationErrors,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.SkipReplicationErrors),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicateHeads,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.ReplicateHeads),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ReplicateAllHeads,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ReplicateAllHeads),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.AsyncReplication,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.AsyncReplication),
Default: int8(0),
},
&sql.MysqlSystemVariable{ // If true, causes a Dolt commit to occur when you commit a transaction.
Name: dsess.DoltCommitOnTransactionCommit,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.DoltCommitOnTransactionCommit),
Default: int8(0),
},
&sql.MysqlSystemVariable{ // If set, use this message for automatic Dolt commits
Name: dsess.DoltCommitOnTransactionCommitMessage,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.DoltCommitOnTransactionCommitMessage),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.TransactionsDisabledSysVar,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.TransactionsDisabledSysVar),
Default: int8(0),
},
&sql.MysqlSystemVariable{ // If true, disables the conflict and constraint violation check when you commit a transaction.
Name: dsess.ForceTransactionCommit,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ForceTransactionCommit),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.CurrentBatchModeKey,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemIntType(dsess.CurrentBatchModeKey, -9223372036854775808, 9223372036854775807, false),
Default: int64(0),
},
&sql.MysqlSystemVariable{ // If true, disables the conflict violation check when you commit a transaction.
Name: dsess.AllowCommitConflicts,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.AllowCommitConflicts),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.AwsCredsFile,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: false,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.AwsCredsFile),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.AwsCredsProfile,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: false,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.AwsCredsProfile),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.AwsCredsRegion,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Dynamic: false,
SetVarHintApplies: false,
Type: types.NewSystemStringType(dsess.AwsCredsRegion),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.ShowBranchDatabases,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Dynamic: true,
SetVarHintApplies: false,
Type: types.NewSystemBoolType(dsess.ShowBranchDatabases),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltClusterAckWritesTimeoutSecs,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Persist),
Type: types.NewSystemIntType(dsess.DoltClusterAckWritesTimeoutSecs, 0, 60, false),
Default: int64(0),
},
&sql.MysqlSystemVariable{
Name: dsess.ShowSystemTables,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Type: types.NewSystemBoolType(dsess.ShowSystemTables),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: "dolt_dont_merge_json",
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Type: types.NewSystemBoolType("dolt_dont_merge_json"),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsEnabled,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsEnabled),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsPaused,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsPaused),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsGCInterval,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemIntType(dsess.DoltStatsGCInterval, 0, math.MaxInt, false),
Default: int64(time.Hour / time.Millisecond),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsGCEnabled,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsGCEnabled),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsJobInterval,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemIntType(dsess.DoltStatsJobInterval, 0, math.MaxInt, false),
Default: int64(30 * time.Millisecond / time.Millisecond),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsMemoryOnly,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemBoolType(dsess.DoltStatsMemoryOnly),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltStatsBranches,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Global),
Type: types.NewSystemStringType(dsess.DoltStatsBranches),
Default: "",
},
&sql.MysqlSystemVariable{
Name: "signingkey",
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_PersistOnly),
Type: types.NewSystemStringType("signingkey"),
Default: "",
},
&sql.MysqlSystemVariable{
Name: "gpgsign",
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_PersistOnly),
Type: types.NewSystemBoolType("gpgsign"),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: "sql_warnings",
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Both),
Type: types.NewSystemBoolType("sql_warnings"),
Default: int8(1),
},
&sql.MysqlSystemVariable{
Name: dsess.AllowCICreation,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemBoolType(dsess.AllowCICreation),
Default: int8(0),
},
&sql.MysqlSystemVariable{
Name: dsess.DoltAuthorName,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltAuthorName),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltAuthorEmail,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltAuthorEmail),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltAuthorDate,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltAuthorDate),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltCommitterName,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltCommitterName),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltCommitterEmail,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltCommitterEmail),
Default: "",
},
&sql.MysqlSystemVariable{
Name: dsess.DoltCommitterDate,
Dynamic: true,
Scope: sql.GetMysqlScope(sql.SystemVariableScope_Session),
Type: types.NewSystemStringType(dsess.DoltCommitterDate),
Default: "",
},
})
sql.SystemVariables.AddSystemVariables(DoltSystemVariables)
}
func ReadReplicaForcePull() bool {
_, forcePull, ok := sql.SystemVariables.GetGlobal(dsess.ReadReplicaForcePull)
if !ok {
panic("dolt system variables not loaded")
}
return forcePull == dsess.SysVarTrue
}