Documentation ¶
Index ¶
- Constants
- func ConvertIntOrStringMapToStringMap(config map[string]intstr.IntOrString) map[string]string
- func GenerateDynamicConfigMap(config map[string]string) map[string]string
- type CdcNodeInfo
- type ClusterKind
- type ComputeNodeInfo
- type GrantOption
- type GrantPrivilegeType
- type K8sObject
- type K8sTopology
- type Manager
- type MetaDB
- type PCNodeStatus
- type PSNodeStatus
- type StorageKind
- type StorageNodeInfo
- type StorageType
Constants ¶
const ( ConfigKeyEnableLocalMode = "ENABLE_LOCAL_MODE" ConfigKeyEnableBackgroundStatisticCollection = "ENABLE_BACKGROUND_STATISTIC_COLLECTION" ConfigKeyMemoryLimitPerQuery = "PER_QUERY_MEMORY_LIMIT" ConfigKeyPhysicalConnSocketTimeout = "SOCKET_TIMEOUT" ConfigKeyInformationSchemaAggregateStats = "INFO_SCHEMA_QUERY_WITH_STAT" ConfigKeyPhysicalConnIdleTimeout = "CONN_POOL_IDLE_TIMEOUT" ConfigKeyPhysicalConnBlockingTimeout = "CONN_POOL_BLOCK_TIMEOUT" ConfigKeyPhysicalConnMinPoolSize = "CONN_POOL_MIN_POOL_SIZE" ConfigKeyPhysicalConnMaxPoolSize = "CONN_POOL_MAX_POOL_SIZE" ConfigKeyTimeZone = "LOGICAL_DB_TIME_ZONE" ConfigKeyEnableComplexDmlCrossDB = "ENABLE_COMPLEX_DML_CROSS_DB" ConfigKeyMaxAllowedPacketSize = "MAX_ALLOWED_PACKET" ConfigKeyForbidDeleteWholeTable = "FORBID_EXECUTE_DML_ALL" ConfigKeyLogicalConnIdleTimeout = "LOGIC_IDLE_TIMEOUT" ConfigKeyTransactionLogsPurgeStartTime = "PURGE_TRANS_START_TIME" ConfigKeySlowSqlRtThreshold = "SLOW_SQL_TIME" ConfigKeyMergeUnionSize = "MERGE_UNIONS_SIZE" ConfigKeyEnableBinlogRowsQueryLogEvents = "ENABLE_SQL_FLASHBACK_EXACT_MATCH" ConfigKeyParallelism = "PARALLELISM" ConfigKeyEnableTableRecycleBin = "ENABLE_RECYCLEBIN" )
const MetaDBName = "polardbx_meta_db"
Variables ¶
This section is empty.
Functions ¶
func ConvertIntOrStringMapToStringMap ¶
func ConvertIntOrStringMapToStringMap(config map[string]intstr.IntOrString) map[string]string
Types ¶
type CdcNodeInfo ¶
type CdcNodeInfo struct { ContainerId string `json:"containerId"` Host string `json:"host"` DaemonPort int32 `json:"daemonPort"` }
CdcNodeInfo
type ClusterKind ¶
type ClusterKind int32
ClusterKind defines the PolarDBX cluster's kinds
const ( MasterCluster ClusterKind = 0 ReadOnlyCluster ClusterKind = 1 )
These are valid cluster kinds
func (ClusterKind) String ¶
func (k ClusterKind) String() string
type ComputeNodeInfo ¶
type ComputeNodeInfo struct { // Host is the host or ip of server node. Host string `json:"host"` // Port is the service port of server node. Port int32 `json:"port"` // HtapPort is the port for HTAP of server node. HtapPort int32 `json:"htapPort"` // MgrPort is the port for management of server node. MgrPort int32 `json:"mgrPort"` // MppPort is the port for MPP of server node. MppPort int32 `json:"mppPort"` // Status stands Status PCNodeStatus `json:"status"` CpuCore int32 `json:"cpuCore"` MemSize int64 `json:"memSize"` Extra string `json:"extra,omitempty"` }
ComputeNodeInfo defines the necessary information for compute nodes in PolarDBX cluster.
type GrantOption ¶
type GrantOption struct { // Type of grant. Type GrantPrivilegeType `json:"type"` // Databases to grant, when type is GrantSuperPrivilege, the values are ignored. Databases []string `json:"databases"` // User to grant. User string `json:"user"` // Host to grant, default is "%" stands for all. Host string `json:"host,omitempty"` // Customized grant statement, only be used when GrantCustomPrivilege. Refer to // PolarDB-X privileges document. Privileges []string `json:"privileges,omitempty"` }
GrantOption which
type GrantPrivilegeType ¶
type GrantPrivilegeType string
GrantPrivilegeType for
const ( GrantSuperPrivilege GrantPrivilegeType = "super" GrantAllPrivilege GrantPrivilegeType = "all" GrantReadWritePrivilege GrantPrivilegeType = "read-write" GrantReadOnlyPrivilege GrantPrivilegeType = "read-only" GrantDdlPrivilege GrantPrivilegeType = "ddl" GrantCustomPrivilege GrantPrivilegeType = "custom" )
These are valid grant privilege types.
type K8sTopology ¶
type Manager ¶
type Manager interface { IsMetaDBInitialized() (bool, error) // InitializeMetaDB initializes the metadb. It's essential for creating a PolarDBX cluster. InitializeMetaDB() error // IsGmsSchemaRestored return the status if the schema is restored. IsGmsSchemaRestored() (bool, error) // RestoreSchemas restores the schemas in metadb. RestoreSchemas(fromPxcCluster string) error // EnableComputeNodes enables the specified compute server nodes by setting // the metadb. EnableComputeNodes(computeNodes ...ComputeNodeInfo) error // DisableComputeNodes disables the specified compute server nodes by setting // the metadb. DisableComputeNodes(computeNodes ...ComputeNodeInfo) error // DeleteComputeNodes deletes the specified compute server nodes by setting // the metadb. DeleteComputeNodes(computeNodes ...ComputeNodeInfo) error // ListComputeNodes lists all enabled compute server nodes. ListComputeNodes() ([]ComputeNodeInfo, error) // SyncComputeNodes deletes all nodes not specified and insert those not exists // in metadb SyncComputeNodes(computeNodes ...ComputeNodeInfo) error // EnableStorageNodes adds the specified storage nodes by adding the corresponding // records into metadb. EnableStorageNodes(storageNodes ...StorageNodeInfo) error // DisableStorageNodes disables the specified storage nodes by removing the corresponding // records from metadb. DisableStorageNodes(storageNodes ...StorageNodeInfo) error // ListStorageNodes lists all storage nodes. ListStorageNodes(kind StorageKind) ([]StorageNodeInfo, error) // ListCdcNodes lists all enabled CDC nodes. ListCdcNodes() ([]CdcNodeInfo, error) // DeleteCdcNodes deletes the specified CDC nodes by setting the metadb. DeleteCdcNodes(cdcNodes ...CdcNodeInfo) error // ListDynamicParams list all dynamic parameters in the cluster. ListDynamicParams() (map[string]string, error) // SyncDynamicParams syncs all specified parameters to cluster by setting the parameter table in metadb. SyncDynamicParams(params map[string]string) error // SyncSecurityIPs syncs all specified security ips to cluster. SyncSecurityIPs([]string) error // CreateDBAccount creates an account in cluster by directly creating records in metadb. CreateDBAccount(user, passwd string, grantOptions ...*GrantOption) error // DeleteDBAccount deletes the specified account in cluster by directly deleting records in metadb. DeleteDBAccount(user string) error // SyncAccountPasswd syncs the password of specified user in cluster by directly modifying records // in metadb. If the user not exists, it returns an error. SyncAccountPasswd(user, passwd string) error // SyncK8sTopology syncs the k8s topology into GMS. SyncK8sTopology(topology *K8sTopology) error // GetK8sTopology gets the k8s topology from GMS. GetK8sTopology() (*K8sTopology, error) // Lock locks the cluster, idempotent Lock() error // Unlock unlocks the cluster, idempotent Unlock() error // Close closes the manager Close() error }
Manager defines a set of methods for manage the PolarDBX cluster.
func NewGmsManager ¶
type PCNodeStatus ¶
type PCNodeStatus int32
PCNodeStatus is the abbrev. for PolarDB-X Compute Node Status
const ( PCNodeEnabled PCNodeStatus = 0 PCNodeDisabled PCNodeStatus = 1 )
These are valid PCNodeStatus
type PSNodeStatus ¶
type PSNodeStatus int32
PSNodeStatus is the abbrev. for PolarDB-X Storage Node Status
const ( PSNodeEnabled PSNodeStatus = 0 PSNodeDisabling PSNodeStatus = 1 PSNodeDisabled PSNodeStatus = 2 )
These are valid PSNodeStatus
type StorageKind ¶
type StorageKind int32
StorageKind indicates the role of the storage node.
const ( StorageKindMaster StorageKind = 0 StorageKindSlave StorageKind = 1 StorageKindMetaDB StorageKind = 2 )
These are valid storage kinds.
type StorageNodeInfo ¶
type StorageNodeInfo struct { // Id is the unique identity for storage node. Id string `json:"id"` // Host is host or ip of the storage node. Host string `json:"host"` // Port is the service port of the storage node. Port int32 `json:"port"` // XProtocolPort is the x-protocol port of the storage node. XProtocolPort int32 `json:"xport"` // User is the user of the storage node with super privilege. User string `json:"user"` // Passwd is the password encrypted of the user above. Passwd string `json:"passwd"` // Type indicates the storage type. Type StorageType `json:"type"` // Kind indicates the storage kind. Kind StorageKind `json:"kind"` // Status indicates that the storage's status. Status PSNodeStatus `json:"status"` // MaxConn indicates the max connection size the storage node supports. MaxConn int32 `json:"maxConn"` // CpuCore indicates the CPU core the storage node uses. CpuCore int32 `json:"cpuCore"` // MemSize indicates the memory size the storage node uses. MemSize int64 `json:"memSize"` // Extra define the extra messages. Extra string `json:"extra,omitempty"` }
StorageNodeInfo defines the basic information for storage node.
type StorageType ¶
type StorageType int32
StorageType indicates the type of the underlying storage node.
const ( StorageTypeXCluster57 StorageType = 0 StorageTypeMySQL StorageType = 1 StorageTypePolarDB StorageType = 2 StorageTypeXCluster80 StorageType = 3 StorageTypeGalaxySingle StorageType = 4 StorageTypeGalaxyCluster StorageType = 5 )
These are valid storage types.
func GetStorageType ¶
func GetStorageType(engine string, version string) (StorageType, error)