tidb: github.com/pingcap/tidb/types/parser_driver Index | Files

package driver

import "github.com/pingcap/tidb/types/parser_driver"

Index

Package Files

special_cmt_ctrl.go value_expr.go

Constants

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

SpecialCommentVersionPrefix is the prefix of TiDB executable comments.

Variables

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

FeatureIDPatterns is used to record special comments patterns.

func BuildSpecialCommentPrefix Uses

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).

type ParamMarkerExpr Uses

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 Uses

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

Accept implements Node Accept interface.

func (*ParamMarkerExpr) Format Uses

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

Format the ExprNode into a Writer.

func (*ParamMarkerExpr) Restore Uses

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

Restore implements Node interface.

func (*ParamMarkerExpr) SetOrder Uses

func (n *ParamMarkerExpr) SetOrder(order int)

SetOrder implements the ast.ParamMarkerExpr interface.

type ValueExpr Uses

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

ValueExpr is the simple value expression.

func (*ValueExpr) Accept Uses

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

Accept implements Node interface.

func (*ValueExpr) Format Uses

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

Format the ExprNode into a Writer.

func (*ValueExpr) GetDatumString Uses

func (n *ValueExpr) GetDatumString() string

GetDatumString implements the ast.ValueExpr interface.

func (*ValueExpr) GetProjectionOffset Uses

func (n *ValueExpr) GetProjectionOffset() int

GetProjectionOffset returns ValueExpr.projectionOffset.

func (*ValueExpr) Restore Uses

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

Restore implements Node interface.

func (*ValueExpr) SetProjectionOffset Uses

func (n *ValueExpr) SetProjectionOffset(offset int)

SetProjectionOffset sets ValueExpr.projectionOffset for logical plan builder.

func (*ValueExpr) SetValue Uses

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

SetValue implements interface of ast.ValueExpr.

Package driver imports 11 packages (graph) and is imported by 54 packages. Updated 2020-05-31. Refresh now. Tools for package owners.