driver

package
v3.1.0-fork Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2020 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// FeatureIDAutoRandom is the `auto_random` feature.
	FeatureIDAutoRandom featureID = "auto_rand"
	// FeatureIDAutoIDCache is the `auto_id_cache` feature.
	FeatureIDAutoIDCache featureID = "auto_id_cache"
)
View Source
const SpecialCommentVersionPrefix = `/*T!`

SpecialCommentVersionPrefix is the prefix of TiDB executable comments.

Variables

View Source
var FeatureIDPatterns = map[featureID]*regexp.Regexp{
	FeatureIDAutoRandom:  regexp.MustCompile(`(?i)AUTO_RANDOM\s*(\(\s*\d+\s*\))?\s*`),
	FeatureIDAutoIDCache: regexp.MustCompile(`(?i)AUTO_ID_CACHE\s*=?\s*\d+\s*`),
}

FeatureIDPatterns is used to record special comments patterns.

Functions

func BuildSpecialCommentPrefix

func BuildSpecialCommentPrefix(featureID featureID) string

BuildSpecialCommentPrefix returns the prefix of `featureID` special comment. For some special feature in TiDB, we will refine ddl query with special comment, which may be useful when A: the downstream is directly MySQL instance (treat it as comment for compatibility). B: the downstream is lower version TiDB (ignore the unknown feature comment). C: the downstream is same/higher version TiDB (parse the feature syntax out).

Types

type ParamMarkerExpr

type ParamMarkerExpr struct {
	ValueExpr
	Offset    int
	Order     int
	InExecute bool
}

ParamMarkerExpr expression holds a place for another expression. Used in parsing prepare statement.

func (*ParamMarkerExpr) Accept

func (n *ParamMarkerExpr) Accept(v ast.Visitor) (ast.Node, bool)

Accept implements Node Accept interface.

func (*ParamMarkerExpr) Format

func (n *ParamMarkerExpr) Format(w io.Writer)

Format the ExprNode into a Writer.

func (*ParamMarkerExpr) Restore

func (n *ParamMarkerExpr) Restore(ctx *format.RestoreCtx) error

Restore implements Node interface.

func (*ParamMarkerExpr) SetOrder

func (n *ParamMarkerExpr) SetOrder(order int)

SetOrder implements the ast.ParamMarkerExpr interface.

type ValueExpr

type ValueExpr struct {
	ast.TexprNode
	types.Datum
	// contains filtered or unexported fields
}

ValueExpr is the simple value expression.

func (*ValueExpr) Accept

func (n *ValueExpr) Accept(v ast.Visitor) (ast.Node, bool)

Accept implements Node interface.

func (*ValueExpr) Format

func (n *ValueExpr) Format(w io.Writer)

Format the ExprNode into a Writer.

func (*ValueExpr) GetDatumString

func (n *ValueExpr) GetDatumString() string

GetDatumString implements the ast.ValueExpr interface.

func (*ValueExpr) GetProjectionOffset

func (n *ValueExpr) GetProjectionOffset() int

GetProjectionOffset returns ValueExpr.projectionOffset.

func (*ValueExpr) Restore

func (n *ValueExpr) Restore(ctx *format.RestoreCtx) error

Restore implements Node interface.

func (*ValueExpr) SetProjectionOffset

func (n *ValueExpr) SetProjectionOffset(offset int)

SetProjectionOffset sets ValueExpr.projectionOffset for logical plan builder.

func (*ValueExpr) SetValue

func (n *ValueExpr) SetValue(res interface{})

SetValue implements interface of ast.ValueExpr.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL