# Functions
AddColumn will add a new column to the table.
AddPrimaryKey will add a new column to the table.
AddTablePartitions will add a new partition to the table.
AlterColumn ALTER ..
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
convert first 8 bytes to uint64, slice might be less than 8 bytes.
ChangeColumn Can rename a column and change its definition, or both.
Check if the column name is valid and conflicts with internal hidden columns.
CheckModifyColumnForeignkeyConstraint check for table column foreign key dependencies, including the foreign keys of the table itself and being dependent on foreign keys of other tables.
No description provided by the author
No description provided by the author
ConstructCreateTableSQL used to build CREATE Table statement.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
AddColumn will add a new column to the table.
No description provided by the author
EscapeFormat output escape character with backslash.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FillValuesOfParamsInPlan replaces the params by their values.
No description provided by the author
FindColumn finds column in cols by name.
FindColumn finds column in cols by colId.
FormatColType Get the formatted description of the column type.
No description provided by the author
No description provided by the author
GenConstraintName yields uuid for the constraint name.
GenUniqueColCheckExpr like GenUniqueColJoinExpr.
GenUniqueColJoinExpr if get table: t1(a int primary key, b int, c int, d int, unique key(b,c)); uniqueCols is: []map[string]int { {'a'=1}, {'b'=2,'c'=3} } we will get expr like: 'leftTag.a = rightTag.a or (leftTag.b = rightTag.b and leftTag.c = rightTag.
No description provided by the author
No description provided by the author
No description provided by the author
GetColDefFromTable Find the target column definition from the predefined table columns and return its deep copy.
No description provided by the author
No description provided by the author
No description provided by the author
GetExecType get executor will execute base AP or TP.
GetFkReferredTo returns the foreign key relationships that refer to the table.
No description provided by the author
GetFunctionArgTypeStrFromAst function arg type do not have scale and width, it depends on the data that it process.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GetResultColumnsFromPlan.
No description provided by the author
No description provided by the author
No description provided by the author
todo: remove this in the future.
GetSqlForFkReferredTo returns the query that retrieves the fk relationships that refer to the table.
GetUniqueColAndIdxFromTableDef if get table: t1(a int primary key, b int, c int, d int, unique key(b,c)); return : []map[string]int { {'a'=1}, {'b'=2,'c'=3} }.
No description provided by the author
No description provided by the author
HasFkSelfReferOnly checks the foreign key referencing itself only.
HasMoCtrl checks whether the expression has mo_ctrl(..,..,..).
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
IsEquiJoin2 Judge whether a join node is equi-join (after column remapping) Can only be used after optimizer!!!.
No description provided by the author
IsFkBannedDatabase denotes the database should not have any foreign keys.
IsFkSelfRefer checks the foreign key referencing itself.
IsForeignKeyChecksEnabled returns the system variable foreign_key_checks is true or false.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
used for Compound primary key column name && clusterby column name.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
ModifyColumn Can change a column definition but not its name.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewEmptyCompilerContext for test create/drop statement.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
NewMockBinder creates a new mock instance.
No description provided by the author
NewMockCompilerContext2 creates a new mock instance.
No description provided by the author
NewMockOptimizer2 creates a new mock instance.
NewMockRule creates a new mock instance.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
use for on duplicate key update clause: eg: insert into t1 values(1,1),(2,2) on duplicate key update a = a + abs(b), b = values(b)-2.
No description provided by the author
No description provided by the author
OrderByColumn Currently, Mo only performs semantic checks on alter table order by and does not implement the function of changing the physical storage order of data in the table.
No description provided by the author
No description provided by the author
ReadDir support "etl:" and "/..." absolute path, NOT support relative path.
No description provided by the author
No description provided by the author
RemoveIf removes the elements that pred is true.
RenameColumn Can change a column name but not its definition.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SplitCNFItems splits CNF items.
SplitDNFItems splits DNF items.
No description provided by the author
No description provided by the author
convert first 8 bytes to uint64.
convert first 8 bytes to uint64.
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
INTERVAL_DAY is the time or timestamp unit DAY.
INTERVAL_DAY_HOUR is the time unit DAY_HOUR.
INTERVAL_DAY_MICROSECOND is the time unit DAY_MICROSECOND.
INTERVAL_DAY_MINUTE is the time unit DAY_MINUTE.
INTERVAL_DAY_SECOND is the time unit DAY_SECOND.
INTERVAL_HOUR is the time or timestamp unit HOUR.
INTERVAL_HOUR_MICROSECOND is the time unit HOUR_MICROSECOND.
INTERVAL_HOUR_MINUTE is the time unit HOUR_MINUTE.
INTERVAL_HOUR_SECOND is the time unit HOUR_SECOND.
INTERVAL_MICROSECOND is the time or timestamp unit MICROSECOND.
INTERVAL_MINUTE is the time or timestamp unit MINUTE.
INTERVAL_MINUTE_MICROSECOND is the time unit MINUTE_MICROSECOND.
INTERVAL_MINUTE_SECOND is the time unit MINUTE_SECOND.
INTERVAL_MONTH is the time or timestamp unit MONTH.
INTERVAL_QUARTER is the time or timestamp unit QUARTER.
INTERVAL_SECOND is the time or timestamp unit SECOND.
INTERVAL_SECOND_MICROSECOND is the time unit SECOND_MICROSECOND.
INTERVAL_WEEK is the time or timestamp unit WEEK.
INTERVAL_YEAR is the time or timestamp unit YEAR.
INTERVAL_YEAR_MONTH is the time unit YEAR_MONTH.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MaxFsp is the maximum digit of fractional seconds part.
Identifier Length Limits
See MySQL: https://dev.mysql.com/doc/refman/8.0/en/identifiers.html
*/ MaxKeyParts is max length of key parts.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MoLocksColTypeTableName.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
MoLocksColTypeSessionId.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
https://dev.mysql.com/doc/refman/8.0/en/create-table.html
1.
https://dev.mysql.com/doc/refman/8.0/en/create-table.html
PARTITION BY
If used, a partition_options clause begins with PARTITION BY.
PrimaryKeyName defines primary key name.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
https://dev.mysql.com/doc/refman/8.0/en/column-count-limit.html
MySQL has hard limit of 4096 columns per table, but the effective maximum may be less for a given table.
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
AllowedPartitionBinaryOpMap store the operators of Binary operation expression link ref:https://dev.mysql.com/doc/refman/8.0/en/partitioning-limitations.html.
AllowedPartitionFuncMap stores functions which can be used in the partition expression.
AllowedPartitionUnaryOpMap store the operators of Unary expression link ref:https://dev.mysql.com/doc/refman/8.0/en/partitioning-limitations.html.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
BaseOptimizer is base optimizer, capable of handling only a few simple rules.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
FkReferDef holds the definition & details of the foreign key.
FkReferKey holds the database and table name of the foreign key.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
KEY and HASH Partition Pruner.
No description provided by the author
MockBinder is a mock of Binder interface.
MockBinderMockRecorder is the mock recorder for MockBinder.
No description provided by the author
MockCompilerContext2 is a mock of CompilerContext interface.
MockCompilerContext2MockRecorder is the mock recorder for MockCompilerContext2.
No description provided by the author
MockOptimizer2 is a mock of Optimizer interface.
MockOptimizer2MockRecorder is the mock recorder for MockOptimizer2.
MockRule is a mock of Rule interface.
MockRuleMockRecorder is the mock recorder for MockRule.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
fuzzy filter need to get partial unique key attrs name and its origin table name for Decimal type, we need colDef to get the scale.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
SetBinder for 'set @var = expr'.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Interfaces
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author