// Code generated by protoc-gen-go. // source: expression.proto // DO NOT EDIT! /* Package tipb is a generated protocol buffer package. It is generated from these files: expression.proto schema.proto select.proto It has these top-level messages: Expr TableInfo ColumnInfo IndexInfo KeyRange ByItem SelectRequest Row Error SelectResponse */ package tipb import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" // Reference imports to suppress errors if they are not otherwise used. var _ = proto.Marshal var _ = fmt.Errorf var _ = math.Inf // This is a compile-time assertion to ensure that this generated file // is compatible with the proto package it is being compiled against. const _ = proto.ProtoPackageIsVersion1 type ExprType int32 const ( // Values are encoded bytes. ExprType_Null ExprType = 0 ExprType_Int64 ExprType = 1 ExprType_Uint64 ExprType = 2 ExprType_Float32 ExprType = 3 ExprType_Float64 ExprType = 4 ExprType_String ExprType = 5 ExprType_Bytes ExprType = 6 // Mysql specific types. ExprType_MysqlBit ExprType = 101 ExprType_MysqlDecimal ExprType = 102 ExprType_MysqlDuration ExprType = 103 ExprType_MysqlEnum ExprType = 104 ExprType_MysqlHex ExprType = 105 ExprType_MysqlSet ExprType = 106 ExprType_MysqlTime ExprType = 107 // Column reference. value is int64 column ID. ExprType_ColumnRef ExprType = 201 // Unary operations, children count 1. ExprType_Not ExprType = 1001 ExprType_Neg ExprType = 1002 ExprType_BitNeg ExprType = 1003 // Comparison operations. ExprType_LT ExprType = 2001 ExprType_LE ExprType = 2002 ExprType_EQ ExprType = 2003 ExprType_NE ExprType = 2004 ExprType_GE ExprType = 2005 ExprType_GT ExprType = 2006 ExprType_NullEQ ExprType = 2007 // Bit operations. ExprType_BitAnd ExprType = 2101 ExprType_BitOr ExprType = 2102 ExprType_BitXor ExprType = 2103 ExprType_LeftShift ExprType = 2104 ExprType_RighShift ExprType = 2105 // Arithmatic. ExprType_Plus ExprType = 2201 ExprType_Minus ExprType = 2202 ExprType_Mul ExprType = 2203 ExprType_Div ExprType = 2204 ExprType_IntDiv ExprType = 2205 ExprType_Mod ExprType = 2206 // Logic operations. ExprType_And ExprType = 2301 ExprType_Or ExprType = 2302 ExprType_Xor ExprType = 2303 // Aggregate functions. ExprType_Count ExprType = 3001 ExprType_Sum ExprType = 3002 ExprType_Avg ExprType = 3003 ExprType_Min ExprType = 3004 ExprType_Max ExprType = 3005 ExprType_First ExprType = 3006 ExprType_GroupConcat ExprType = 3007 // Math functions. ExprType_Abs ExprType = 3101 ExprType_Pow ExprType = 3102 // String functions. ExprType_Concat ExprType = 3201 ExprType_ConcatWS ExprType = 3202 ExprType_Left ExprType = 3203 ExprType_Length ExprType = 3204 ExprType_Lower ExprType = 3205 ExprType_Repeat ExprType = 3206 ExprType_Replace ExprType = 3207 ExprType_Upper ExprType = 3208 ExprType_Strcmp ExprType = 3209 ExprType_Convert ExprType = 3210 ExprType_Cast ExprType = 3211 ExprType_Substring ExprType = 3212 ExprType_SubstringIndex ExprType = 3213 ExprType_Locate ExprType = 3214 ExprType_Trim ExprType = 3215 // Control flow functions. ExprType_If ExprType = 3301 ExprType_NullIf ExprType = 3302 ExprType_IfNull ExprType = 3303 // Time functions. ExprType_Date ExprType = 3401 ExprType_DateAdd ExprType = 3402 ExprType_DateSub ExprType = 3403 ExprType_Year ExprType = 3411 ExprType_YearWeek ExprType = 3412 ExprType_Month ExprType = 3421 ExprType_Week ExprType = 3431 ExprType_Weekday ExprType = 3432 ExprType_WeekOfYear ExprType = 3433 ExprType_Day ExprType = 3441 ExprType_DayName ExprType = 3442 ExprType_DayOfYear ExprType = 3443 ExprType_DayOfMonth ExprType = 3444 ExprType_DayOfWeek ExprType = 3445 ExprType_Hour ExprType = 3451 ExprType_Minute ExprType = 3452 ExprType_Second ExprType = 3453 ExprType_Microsecond ExprType = 3454 ExprType_Extract ExprType = 3461 // Other functions; ExprType_Coalesce ExprType = 3501 // Other expressions. ExprType_In ExprType = 4001 ExprType_IsTruth ExprType = 4002 ExprType_IsNull ExprType = 4003 ExprType_ExprRow ExprType = 4004 ExprType_Like ExprType = 4005 ExprType_RLike ExprType = 4006 ExprType_Case ExprType = 4007 ) var ExprType_name = map[int32]string{ 0: "Null", 1: "Int64", 2: "Uint64", 3: "Float32", 4: "Float64", 5: "String", 6: "Bytes", 101: "MysqlBit", 102: "MysqlDecimal", 103: "MysqlDuration", 104: "MysqlEnum", 105: "MysqlHex", 106: "MysqlSet", 107: "MysqlTime", 201: "ColumnRef", 1001: "Not", 1002: "Neg", 1003: "BitNeg", 2001: "LT", 2002: "LE", 2003: "EQ", 2004: "NE", 2005: "GE", 2006: "GT", 2007: "NullEQ", 2101: "BitAnd", 2102: "BitOr", 2103: "BitXor", 2104: "LeftShift", 2105: "RighShift", 2201: "Plus", 2202: "Minus", 2203: "Mul", 2204: "Div", 2205: "IntDiv", 2206: "Mod", 2301: "And", 2302: "Or", 2303: "Xor", 3001: "Count", 3002: "Sum", 3003: "Avg", 3004: "Min", 3005: "Max", 3006: "First", 3007: "GroupConcat", 3101: "Abs", 3102: "Pow", 3201: "Concat", 3202: "ConcatWS", 3203: "Left", 3204: "Length", 3205: "Lower", 3206: "Repeat", 3207: "Replace", 3208: "Upper", 3209: "Strcmp", 3210: "Convert", 3211: "Cast", 3212: "Substring", 3213: "SubstringIndex", 3214: "Locate", 3215: "Trim", 3301: "If", 3302: "NullIf", 3303: "IfNull", 3401: "Date", 3402: "DateAdd", 3403: "DateSub", 3411: "Year", 3412: "YearWeek", 3421: "Month", 3431: "Week", 3432: "Weekday", 3433: "WeekOfYear", 3441: "Day", 3442: "DayName", 3443: "DayOfYear", 3444: "DayOfMonth", 3445: "DayOfWeek", 3451: "Hour", 3452: "Minute", 3453: "Second", 3454: "Microsecond", 3461: "Extract", 3501: "Coalesce", 4001: "In", 4002: "IsTruth", 4003: "IsNull", 4004: "ExprRow", 4005: "Like", 4006: "RLike", 4007: "Case", } var ExprType_value = map[string]int32{ "Null": 0, "Int64": 1, "Uint64": 2, "Float32": 3, "Float64": 4, "String": 5, "Bytes": 6, "MysqlBit": 101, "MysqlDecimal": 102, "MysqlDuration": 103, "MysqlEnum": 104, "MysqlHex": 105, "MysqlSet": 106, "MysqlTime": 107, "ColumnRef": 201, "Not": 1001, "Neg": 1002, "BitNeg": 1003, "LT": 2001, "LE": 2002, "EQ": 2003, "NE": 2004, "GE": 2005, "GT": 2006, "NullEQ": 2007, "BitAnd": 2101, "BitOr": 2102, "BitXor": 2103, "LeftShift": 2104, "RighShift": 2105, "Plus": 2201, "Minus": 2202, "Mul": 2203, "Div": 2204, "IntDiv": 2205, "Mod": 2206, "And": 2301, "Or": 2302, "Xor": 2303, "Count": 3001, "Sum": 3002, "Avg": 3003, "Min": 3004, "Max": 3005, "First": 3006, "GroupConcat": 3007, "Abs": 3101, "Pow": 3102, "Concat": 3201, "ConcatWS": 3202, "Left": 3203, "Length": 3204, "Lower": 3205, "Repeat": 3206, "Replace": 3207, "Upper": 3208, "Strcmp": 3209, "Convert": 3210, "Cast": 3211, "Substring": 3212, "SubstringIndex": 3213, "Locate": 3214, "Trim": 3215, "If": 3301, "NullIf": 3302, "IfNull": 3303, "Date": 3401, "DateAdd": 3402, "DateSub": 3403, "Year": 3411, "YearWeek": 3412, "Month": 3421, "Week": 3431, "Weekday": 3432, "WeekOfYear": 3433, "Day": 3441, "DayName": 3442, "DayOfYear": 3443, "DayOfMonth": 3444, "DayOfWeek": 3445, "Hour": 3451, "Minute": 3452, "Second": 3453, "Microsecond": 3454, "Extract": 3461, "Coalesce": 3501, "In": 4001, "IsTruth": 4002, "IsNull": 4003, "ExprRow": 4004, "Like": 4005, "RLike": 4006, "Case": 4007, } func (x ExprType) Enum() *ExprType { p := new(ExprType) *p = x return p } func (x ExprType) String() string { return proto.EnumName(ExprType_name, int32(x)) } func (x *ExprType) UnmarshalJSON(data []byte) error { value, err := proto.UnmarshalJSONEnum(ExprType_value, data, "ExprType") if err != nil { return err } *x = ExprType(value) return nil } func (ExprType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } // Evaluators should implement evaluation functions for every expression type. type Expr struct { Tp *ExprType `protobuf:"varint,1,opt,name=tp,enum=tipb.ExprType" json:"tp,omitempty"` Val []byte `protobuf:"bytes,2,opt,name=val" json:"val,omitempty"` Children []*Expr `protobuf:"bytes,3,rep,name=children" json:"children,omitempty"` XXX_unrecognized []byte `json:"-"` } func (m *Expr) Reset() { *m = Expr{} } func (m *Expr) String() string { return proto.CompactTextString(m) } func (*Expr) ProtoMessage() {} func (*Expr) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} } func (m *Expr) GetTp() ExprType { if m != nil && m.Tp != nil { return *m.Tp } return ExprType_Null } func (m *Expr) GetVal() []byte { if m != nil { return m.Val } return nil } func (m *Expr) GetChildren() []*Expr { if m != nil { return m.Children } return nil } func init() { proto.RegisterType((*Expr)(nil), "tipb.Expr") proto.RegisterEnum("tipb.ExprType", ExprType_name, ExprType_value) } var fileDescriptor0 = []byte{ // 865 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x44, 0x54, 0x49, 0x70, 0x1b, 0x55, 0x10, 0x45, 0x96, 0x6c, 0xc9, 0xdf, 0x8e, 0xdd, 0x1a, 0x8a, 0xb2, 0x66, 0x42, 0x95, 0x52, 0x9c, 0x52, 0x1c, 0x7c, 0x30, 0x14, 0x77, 0x2f, 0x4a, 0xa2, 0x2a, 0xcb, 0x31, 0x92, 0x52, 0x81, 0xe3, 0x78, 0xe6, 0x4b, 0xfa, 0x78, 0x34, 0x7f, 0xf8, 0xf3, 0x47, 0x91, 0x8e, 0x2c, 0x61, 0x5f, 0xce, 0x2c, 0x4e, 0x15, 0xfb, 0x89, 0x23, 0xfb, 0x76, 0x0e, 0x9c, 0x20, 0x01, 0x4e, 0x1c, 0x21, 0x04, 0x4e, 0x6c, 0x27, 0x20, 0xd0, 0xdd, 0xa3, 0x28, 0xb7, 0xf7, 0xba, 0x5f, 0x2f, 0xbf, 0xbb, 0x67, 0x04, 0xc8, 0x71, 0x62, 0x64, 0x9a, 0x2a, 0x1d, 0xaf, 0x27, 0x46, 0x5b, 0xed, 0x94, 0xac, 0x4a, 0x0e, 0xee, 0x6a, 0x89, 0x52, 0x03, 0x3d, 0x8e, 0x27, 0xe6, 0x6c, 0x52, 0x2b, 0x9c, 0x28, 0x9c, 0x5c, 0xd9, 0x58, 0x59, 0x27, 0xd7, 0x3a, 0xd9, 0xbb, 0x93, 0x44, 0x3a, 0x4b, 0xa2, 0x38, 0xf2, 0xa3, 0xda, 0x1c, 0x3a, 0x97, 0x9d, 0x3b, 0x45, 0x25, 0x18, 0xa8, 0x28, 0x34, 0x32, 0xae, 0x15, 0x4f, 0x14, 0x4f, 0x2e, 0x6d, 0x88, 0x5b, 0xf2, 0xbb, 0x8f, 0x16, 0x45, 0x65, 0x16, 0x57, 0x11, 0xa5, 0xbd, 0x2c, 0x8a, 0xe0, 0x36, 0x67, 0x51, 0xcc, 0x37, 0x63, 0x7b, 0xdf, 0xbd, 0x50, 0x70, 0x84, 0x58, 0x38, 0xa7, 0x18, 0xcf, 0x61, 0xe2, 0xf2, 0xa9, 0x48, 0xfb, 0xf6, 0x9e, 0x0d, 0x28, 0xce, 0x08, 0x7a, 0x4a, 0xa4, 0xea, 0x58, 0xa3, 0xe2, 0x3e, 0xcc, 0x53, 0xf0, 0xd6, 0xc4, 0xca, 0x14, 0x16, 0x9c, 0x65, 0x51, 0x69, 0x4d, 0xd2, 0x87, 0xa3, 0x2d, 0x65, 0x41, 0x3a, 0x20, 0x96, 0x99, 0xed, 0xc8, 0x40, 0x0d, 0xfd, 0x08, 0x7a, 0x4e, 0x55, 0x1c, 0xcb, 0x2d, 0x99, 0xf1, 0x2d, 0x3e, 0x15, 0xfa, 0xce, 0x31, 0xb1, 0xc8, 0xa6, 0x46, 0x9c, 0x0d, 0x61, 0x30, 0xcb, 0x70, 0x46, 0x8e, 0x41, 0xcd, 0x58, 0x47, 0x5a, 0x78, 0x68, 0x26, 0xed, 0xaa, 0xa1, 0x84, 0x43, 0x67, 0x45, 0x2c, 0x6e, 0xeb, 0x28, 0x1b, 0xc6, 0x6d, 0xd9, 0x83, 0xcb, 0x05, 0x7c, 0x4e, 0x71, 0x4f, 0x5b, 0xb8, 0x5e, 0x66, 0x24, 0xfb, 0xf0, 0x4b, 0x19, 0x9b, 0x5e, 0xc0, 0x5e, 0x88, 0xfc, 0x5a, 0x76, 0xca, 0x62, 0x6e, 0xb7, 0x0b, 0x5f, 0xaf, 0x32, 0x68, 0xc0, 0x37, 0x0c, 0x1a, 0xf7, 0xc3, 0x15, 0x06, 0x7b, 0x0d, 0xb8, 0xca, 0xe0, 0x74, 0x03, 0xbe, 0xcd, 0x41, 0x17, 0xbe, 0x5b, 0xa5, 0x14, 0x34, 0x25, 0xd4, 0x7d, 0xbf, 0x3a, 0xcd, 0xb7, 0x19, 0x87, 0xf0, 0x1e, 0xe0, 0x10, 0xe6, 0x91, 0x9c, 0x35, 0xf0, 0x3e, 0x4c, 0x1d, 0x0f, 0x68, 0x03, 0x1f, 0x00, 0x75, 0xb6, 0x2b, 0x7b, 0xb6, 0x33, 0x50, 0x3d, 0x0b, 0x1f, 0x32, 0x6f, 0xab, 0xfe, 0x20, 0xe7, 0x1f, 0x01, 0x4e, 0xac, 0xb4, 0x1f, 0x65, 0x29, 0xbc, 0x54, 0xa5, 0x1c, 0x2d, 0x15, 0x23, 0x7e, 0xb9, 0x4a, 0x6d, 0xb7, 0xb2, 0x08, 0x5e, 0x61, 0xb4, 0xa3, 0x46, 0xf0, 0x6a, 0x95, 0xf2, 0xe2, 0x66, 0x88, 0x1c, 0xe5, 0x02, 0x1d, 0xc2, 0x25, 0x46, 0xd4, 0xc4, 0xbf, 0x55, 0xea, 0x13, 0x3b, 0xb8, 0xc1, 0x26, 0x2a, 0xff, 0x1f, 0xe7, 0xdc, 0xd6, 0x59, 0x8c, 0xa5, 0xd6, 0xc8, 0xda, 0xc1, 0xc1, 0x7e, 0xcc, 0x68, 0x73, 0xd4, 0x87, 0x4f, 0x18, 0x61, 0x4d, 0xf8, 0x34, 0x47, 0xfe, 0x18, 0x3e, 0x5b, 0xa3, 0x98, 0x53, 0xca, 0xa4, 0x16, 0x3e, 0x5f, 0xc3, 0xbd, 0x2d, 0x9d, 0x36, 0x3a, 0x4b, 0xb6, 0x75, 0x1c, 0xf8, 0x16, 0xbe, 0xc8, 0x63, 0x0f, 0x52, 0x38, 0xaa, 0x11, 0xda, 0xd7, 0x17, 0xe0, 0x52, 0x8d, 0x3a, 0x9b, 0x0a, 0x1e, 0x71, 0x71, 0x35, 0x95, 0x9c, 0x9c, 0xef, 0xc0, 0xa3, 0x2e, 0x3d, 0x90, 0x06, 0x00, 0x8f, 0xb9, 0x24, 0xdb, 0x95, 0x71, 0xdf, 0x0e, 0xe0, 0x71, 0x97, 0xaa, 0xec, 0xea, 0x0b, 0xd2, 0xc0, 0x45, 0x76, 0xb4, 0x65, 0x22, 0x31, 0xfe, 0x09, 0x17, 0x17, 0x5d, 0x46, 0x12, 0xf9, 0x81, 0x84, 0x27, 0x59, 0x76, 0x2e, 0x49, 0x50, 0xf6, 0x14, 0xcb, 0xf0, 0xd2, 0x82, 0x61, 0x02, 0x4f, 0xb3, 0x0c, 0xcb, 0x8c, 0xa4, 0xb1, 0xf0, 0x0c, 0x57, 0xd9, 0xf6, 0xb1, 0xe5, 0x67, 0x5d, 0x9a, 0x70, 0x27, 0x3b, 0x48, 0xf3, 0x93, 0x7c, 0xce, 0x75, 0x6e, 0x17, 0x2b, 0x33, 0xde, 0x8c, 0x43, 0x3c, 0xa6, 0xe7, 0xf3, 0x56, 0x34, 0xf6, 0x28, 0xe1, 0x05, 0x0e, 0xee, 0x1a, 0x35, 0x84, 0x17, 0x5d, 0x1a, 0x61, 0xb3, 0x07, 0x3f, 0xba, 0x37, 0x57, 0x8d, 0xe4, 0x27, 0x26, 0xcd, 0x1e, 0x7f, 0x1f, 0xd7, 0x58, 0xbd, 0x43, 0x81, 0x97, 0x3d, 0xea, 0x81, 0xe0, 0x66, 0x18, 0xc2, 0x97, 0x33, 0x86, 0xc5, 0xe0, 0x2b, 0x8f, 0x64, 0x0f, 0x4a, 0xdf, 0xc0, 0x15, 0x8f, 0x26, 0x42, 0xf0, 0xbc, 0x94, 0x87, 0x70, 0xd5, 0xe3, 0x3d, 0xeb, 0x18, 0xa7, 0xf0, 0x03, 0xab, 0xd8, 0x7c, 0x8d, 0xc3, 0x09, 0x86, 0xfe, 0x04, 0x7e, 0xf6, 0x9c, 0x55, 0x21, 0x88, 0x9d, 0xed, 0x71, 0x92, 0xeb, 0x1e, 0xdf, 0x01, 0xba, 0x7e, 0x9b, 0xd6, 0x99, 0xec, 0xf9, 0x78, 0xf9, 0xbf, 0x7b, 0xf4, 0x5c, 0x64, 0x53, 0xdd, 0x1f, 0x1c, 0xc8, 0x3c, 0x2f, 0xf1, 0xe7, 0x2d, 0x01, 0xd7, 0xf9, 0x8b, 0x4b, 0x9e, 0xd1, 0x99, 0x81, 0xbf, 0x3d, 0x7a, 0x17, 0x5d, 0x1c, 0x3e, 0xe6, 0x1f, 0x26, 0x1d, 0x19, 0x68, 0x3a, 0x25, 0x8f, 0xf6, 0xde, 0x52, 0x81, 0xd1, 0x69, 0x6e, 0xb9, 0xc1, 0x55, 0x1b, 0x63, 0x6b, 0xfc, 0xc0, 0xc2, 0xc5, 0xe3, 0xf9, 0x92, 0xfd, 0x48, 0xa6, 0xb8, 0xa5, 0x77, 0x8f, 0xf3, 0xd8, 0x62, 0x78, 0xad, 0x4e, 0xaa, 0x66, 0xda, 0x35, 0x19, 0x96, 0x7e, 0xbd, 0xce, 0x73, 0x4b, 0x79, 0x6e, 0x6f, 0xd4, 0xf3, 0x04, 0x89, 0x69, 0xe3, 0xc9, 0xbc, 0x59, 0xe7, 0xb3, 0x50, 0x87, 0x12, 0xde, 0xaa, 0xd3, 0x3c, 0xda, 0x8c, 0xdf, 0xae, 0x4f, 0xf7, 0x28, 0xe1, 0x9d, 0xfa, 0x96, 0x2b, 0xee, 0x08, 0xf4, 0x70, 0x3d, 0xc1, 0xb5, 0x05, 0x7e, 0x82, 0x3f, 0xae, 0xf0, 0x80, 0xff, 0x5e, 0xfb, 0x85, 0xff, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc0, 0x46, 0xd6, 0x7c, 0x22, 0x05, 0x00, 0x00, }