diff --git a/pkg/sql/colexec/external/external.go b/pkg/sql/colexec/external/external.go index 0ed66290454ee001aff536bfb4101dfda5a0e302..815cd2157e6a8d88f4ebcfdebfef607047065b77 100644 --- a/pkg/sql/colexec/external/external.go +++ b/pkg/sql/colexec/external/external.go @@ -97,9 +97,11 @@ func ReadFromS3(param *tree.ExternParam) ([]string, error) { config.Bucket = param.S3Param.Config.Bucket config.Endpoint = param.S3Param.Config.Endpoint - os.Setenv("AWS_REGION", param.S3Param.Region) - os.Setenv("AWS_ACCESS_KEY_ID", param.S3Param.APIKey) - os.Setenv("AWS_SECRET_ACCESS_KEY", param.S3Param.APISecret) + if param.S3Param.APIKey != "" { + os.Setenv("AWS_REGION", param.S3Param.Region) + os.Setenv("AWS_ACCESS_KEY_ID", param.S3Param.APIKey) + os.Setenv("AWS_SECRET_ACCESS_KEY", param.S3Param.APISecret) + } fs, err := fileservice.NewS3FS( config.Endpoint, @@ -143,9 +145,11 @@ func ReadFromS3File(param *tree.ExternParam) (io.ReadCloser, error) { config.Bucket = param.S3Param.Config.Bucket config.Endpoint = param.S3Param.Config.Endpoint - os.Setenv("AWS_REGION", param.S3Param.Region) - os.Setenv("AWS_ACCESS_KEY_ID", param.S3Param.APIKey) - os.Setenv("AWS_SECRET_ACCESS_KEY", param.S3Param.APISecret) + if param.S3Param.APIKey != "" { + os.Setenv("AWS_REGION", param.S3Param.Region) + os.Setenv("AWS_ACCESS_KEY_ID", param.S3Param.APIKey) + os.Setenv("AWS_SECRET_ACCESS_KEY", param.S3Param.APISecret) + } fs, err := fileservice.NewS3FS( config.Endpoint, @@ -375,38 +379,38 @@ func makeBatch(param *ExternalParam, plh *ParseLineHandler) *batch.Batch { vec.Or = true switch vec.Typ.Oid { case types.T_bool: - vec.Col = make([]bool, batchSize) vec.Data = make([]byte, batchSize) + vec.Col = types.DecodeBoolSlice(vec.Data) case types.T_int8: - vec.Col = make([]int8, batchSize) vec.Data = make([]byte, batchSize) + vec.Col = types.DecodeInt8Slice(vec.Data) case types.T_int16: - vec.Col = make([]int16, batchSize) vec.Data = make([]byte, 2*batchSize) + vec.Col = types.DecodeInt16Slice(vec.Data) case types.T_int32: - vec.Col = make([]int32, batchSize) vec.Data = make([]byte, 4*batchSize) + vec.Col = types.DecodeInt32Slice(vec.Data) case types.T_int64: - vec.Col = make([]int64, batchSize) vec.Data = make([]byte, 8*batchSize) + vec.Col = types.DecodeInt64Slice(vec.Data) case types.T_uint8: - vec.Col = make([]uint8, batchSize) vec.Data = make([]byte, batchSize) + vec.Col = types.DecodeUint8Slice(vec.Data) case types.T_uint16: - vec.Col = make([]uint16, batchSize) vec.Data = make([]byte, 2*batchSize) + vec.Col = types.DecodeUint16Slice(vec.Data) case types.T_uint32: - vec.Col = make([]uint32, batchSize) vec.Data = make([]byte, 4*batchSize) + vec.Col = types.DecodeUint32Slice(vec.Data) case types.T_uint64: - vec.Col = make([]uint64, batchSize) vec.Data = make([]byte, 8*batchSize) + vec.Col = types.DecodeUint64Slice(vec.Data) case types.T_float32: - vec.Col = make([]float32, batchSize) vec.Data = make([]byte, 4*batchSize) + vec.Col = types.DecodeFloat32Slice(vec.Data) case types.T_float64: - vec.Col = make([]float64, batchSize) vec.Data = make([]byte, 8*batchSize) + vec.Col = types.DecodeFloat64Slice(vec.Data) case types.T_char, types.T_varchar, types.T_json: vBytes := &types.Bytes{ Offsets: make([]uint32, batchSize), @@ -416,20 +420,20 @@ func makeBatch(param *ExternalParam, plh *ParseLineHandler) *batch.Batch { vec.Col = vBytes vec.Data = make([]byte, batchSize) case types.T_date: - vec.Col = make([]types.Date, batchSize) vec.Data = make([]byte, 4*batchSize) + vec.Col = types.DecodeDateSlice(vec.Data) case types.T_datetime: - vec.Col = make([]types.Datetime, batchSize) vec.Data = make([]byte, 8*batchSize) + vec.Col = types.DecodeDatetimeSlice(vec.Data) case types.T_decimal64: - vec.Col = make([]types.Decimal64, batchSize) vec.Data = make([]byte, 8*batchSize) + vec.Col = types.DecodeDecimal64Slice(vec.Data) case types.T_decimal128: - vec.Col = make([]types.Decimal128, batchSize) vec.Data = make([]byte, 16*batchSize) + vec.Col = types.DecodeDecimal128Slice(vec.Data) case types.T_timestamp: - vec.Col = make([]types.Timestamp, batchSize) vec.Data = make([]byte, 8*batchSize) + vec.Col = types.DecodeTimestampSlice(vec.Data) default: panic("unsupported vector type") } @@ -447,9 +451,15 @@ func GetBatchData(param *ExternalParam, plh *ParseLineHandler, proc *process.Pro return nil, errors.New("the table colnum is larger than input data colnum") } for colIdx := range param.Attrs { - field := strings.TrimSpace(Line[param.Name2ColIndex[param.Attrs[colIdx]]]) + field := Line[param.Name2ColIndex[param.Attrs[colIdx]]] + if types.T(param.Cols[colIdx].Typ.Id) != types.T_char && types.T(param.Cols[colIdx].Typ.Id) != types.T_varchar { + field = strings.TrimSpace(field) + } vec := bat.Vecs[colIdx] - isNullOrEmpty := len(field) == 0 || field == NULL_FLAG + isNullOrEmpty := field == NULL_FLAG + if types.T(param.Cols[colIdx].Typ.Id) != types.T_char && types.T(param.Cols[colIdx].Typ.Id) != types.T_varchar { + isNullOrEmpty = isNullOrEmpty || len(field) == 0 + } switch types.T(param.Cols[colIdx].Typ.Id) { case types.T_bool: cols := vec.Col.([]bool) @@ -776,7 +786,7 @@ func GetSimdcsvReader(param *ExternalParam) (*ParseLineHandler, error) { rune(param.extern.Tail.Fields.Terminated[0]), '#', true, - false) + true) return plh, nil } diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql.go b/pkg/sql/parsers/dialect/mysql/mysql_sql.go index 1d2186b23f0453c807d1d985882fa737d8e1dbcc..e5c7d388038e4e4e586b06da748e83c8b6c7e4b9 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.go +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.go @@ -976,7 +976,7 @@ const yyEofCode = 1 const yyErrCode = 2 const yyInitialStackSize = 16 -//line mysql_sql.y:7200 +//line mysql_sql.y:7201 //line yacctab:1 var yyExca = [...]int{ @@ -3585,7 +3585,7 @@ var yyPgo = [...]int{ 1945, 153, 1944, } -//line mysql_sql.y:7200 +//line mysql_sql.y:7201 type yySymType struct { union interface{} id int @@ -10024,16 +10024,17 @@ yydefault: //line mysql_sql.y:3887 { yyLOCAL = &tree.CreateTable{ - Table: *yyDollar[5].tableNameUnion(), - Defs: yyDollar[7].tableDefsUnion(), - Param: yyDollar[9].loadParamUnion(), + IfNotExists: yyDollar[4].ifNotExistsUnion(), + Table: *yyDollar[5].tableNameUnion(), + Defs: yyDollar[7].tableDefsUnion(), + Param: yyDollar[9].loadParamUnion(), } } yyVAL.union = yyLOCAL case 620: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3897 +//line mysql_sql.y:3898 { yyLOCAL = yyDollar[1].loadParamUnion() yyLOCAL.Tail = yyDollar[2].tailParamUnion() @@ -10042,7 +10043,7 @@ yydefault: case 621: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3904 +//line mysql_sql.y:3905 { yyLOCAL = &tree.ExternParam{ Filepath: yyDollar[2].str, @@ -10054,7 +10055,7 @@ yydefault: case 622: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3912 +//line mysql_sql.y:3913 { if strings.ToLower(yyDollar[3].str) != "filepath" { yylex.Error(fmt.Sprintf("can not recognize the '%s'", yyDollar[3].str)) @@ -10070,7 +10071,7 @@ yydefault: case 623: yyDollar = yyS[yypt-10 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3924 +//line mysql_sql.y:3925 { if strings.ToLower(yyDollar[3].str) != "filepath" || strings.ToLower(yyDollar[7].str) != "compression" { yylex.Error(fmt.Sprintf("can not recognize the '%s' or '%s' ", yyDollar[3].str, yyDollar[7].str)) @@ -10086,7 +10087,7 @@ yydefault: case 624: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.ExternParam -//line mysql_sql.y:3936 +//line mysql_sql.y:3937 { yyLOCAL = &tree.ExternParam{ ScanType: tree.S3, @@ -10097,7 +10098,7 @@ yydefault: case 625: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.TailParameter -//line mysql_sql.y:3945 +//line mysql_sql.y:3946 { yyLOCAL = &tree.TailParameter{ Fields: yyDollar[1].fieldsUnion(), @@ -10111,7 +10112,7 @@ yydefault: case 626: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3957 +//line mysql_sql.y:3958 { yyLOCAL = yyDollar[1].strsUnion() } @@ -10119,7 +10120,7 @@ yydefault: case 627: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3961 +//line mysql_sql.y:3962 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].strsUnion()...) } @@ -10127,7 +10128,7 @@ yydefault: case 628: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3966 +//line mysql_sql.y:3967 { yyLOCAL = []string{} } @@ -10135,7 +10136,7 @@ yydefault: case 629: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:3970 +//line mysql_sql.y:3971 { yyLOCAL = append(yyLOCAL, yyDollar[1].str) yyLOCAL = append(yyLOCAL, yyDollar[3].str) @@ -10144,7 +10145,7 @@ yydefault: case 630: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:3976 +//line mysql_sql.y:3977 { yyLOCAL = false } @@ -10152,7 +10153,7 @@ yydefault: case 631: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:3980 +//line mysql_sql.y:3981 { yyLOCAL = true } @@ -10160,7 +10161,7 @@ yydefault: case 632: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:3985 +//line mysql_sql.y:3986 { yyLOCAL = nil } @@ -10168,7 +10169,7 @@ yydefault: case 633: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionOption -//line mysql_sql.y:3989 +//line mysql_sql.y:3990 { yyDollar[3].partitionByUnion().Num = uint64(yyDollar[4].int64ValUnion()) yyLOCAL = &tree.PartitionOption{ @@ -10181,7 +10182,7 @@ yydefault: case 634: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:3999 +//line mysql_sql.y:4000 { yyLOCAL = nil } @@ -10189,7 +10190,7 @@ yydefault: case 635: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4003 +//line mysql_sql.y:4004 { yyLOCAL = &tree.PartitionBy{ IsSubPartition: true, @@ -10201,7 +10202,7 @@ yydefault: case 636: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4012 +//line mysql_sql.y:4013 { yyLOCAL = nil } @@ -10209,7 +10210,7 @@ yydefault: case 637: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4016 +//line mysql_sql.y:4017 { yyLOCAL = yyDollar[2].partitionsUnion() } @@ -10217,7 +10218,7 @@ yydefault: case 638: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4022 +//line mysql_sql.y:4023 { yyLOCAL = []*tree.Partition{yyDollar[1].partitionUnion()} } @@ -10225,7 +10226,7 @@ yydefault: case 639: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.Partition -//line mysql_sql.y:4026 +//line mysql_sql.y:4027 { yyLOCAL = append(yyDollar[1].partitionsUnion(), yyDollar[3].partitionUnion()) } @@ -10233,7 +10234,7 @@ yydefault: case 640: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:4032 +//line mysql_sql.y:4033 { yyLOCAL = &tree.Partition{ Name: tree.Identifier(yyDollar[2].str), @@ -10246,7 +10247,7 @@ yydefault: case 641: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.Partition -//line mysql_sql.y:4041 +//line mysql_sql.y:4042 { yyLOCAL = &tree.Partition{ Name: tree.Identifier(yyDollar[2].str), @@ -10259,7 +10260,7 @@ yydefault: case 642: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4051 +//line mysql_sql.y:4052 { yyLOCAL = nil } @@ -10267,7 +10268,7 @@ yydefault: case 643: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4055 +//line mysql_sql.y:4056 { yyLOCAL = yyDollar[2].subPartitionsUnion() } @@ -10275,7 +10276,7 @@ yydefault: case 644: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4061 +//line mysql_sql.y:4062 { yyLOCAL = []*tree.SubPartition{yyDollar[1].subPartitionUnion()} } @@ -10283,7 +10284,7 @@ yydefault: case 645: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.SubPartition -//line mysql_sql.y:4065 +//line mysql_sql.y:4066 { yyLOCAL = append(yyDollar[1].subPartitionsUnion(), yyDollar[3].subPartitionUnion()) } @@ -10291,7 +10292,7 @@ yydefault: case 646: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:4071 +//line mysql_sql.y:4072 { yyLOCAL = &tree.SubPartition{ Name: tree.Identifier(yyDollar[2].str), @@ -10302,7 +10303,7 @@ yydefault: case 647: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.SubPartition -//line mysql_sql.y:4078 +//line mysql_sql.y:4079 { yyLOCAL = &tree.SubPartition{ Name: tree.Identifier(yyDollar[2].str), @@ -10313,7 +10314,7 @@ yydefault: case 648: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4087 +//line mysql_sql.y:4088 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } @@ -10321,7 +10322,7 @@ yydefault: case 649: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4091 +//line mysql_sql.y:4092 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } @@ -10329,7 +10330,7 @@ yydefault: case 650: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4096 +//line mysql_sql.y:4097 { yyLOCAL = nil } @@ -10337,7 +10338,7 @@ yydefault: case 651: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Values -//line mysql_sql.y:4100 +//line mysql_sql.y:4101 { yyLOCAL = &tree.ValuesLessThan{ValueList: yyDollar[5].exprsUnion()} } @@ -10345,7 +10346,7 @@ yydefault: case 652: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4105 +//line mysql_sql.y:4106 { yyLOCAL = 0 } @@ -10353,7 +10354,7 @@ yydefault: case 653: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4109 +//line mysql_sql.y:4110 { res := yyDollar[2].item.(int64) if res == 0 { @@ -10366,7 +10367,7 @@ yydefault: case 654: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4119 +//line mysql_sql.y:4120 { yyLOCAL = 0 } @@ -10374,7 +10375,7 @@ yydefault: case 655: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4123 +//line mysql_sql.y:4124 { res := yyDollar[2].item.(int64) if res == 0 { @@ -10387,7 +10388,7 @@ yydefault: case 656: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4134 +//line mysql_sql.y:4135 { yyLOCAL = &tree.PartitionBy{ PType: &tree.RangeType{ @@ -10399,7 +10400,7 @@ yydefault: case 657: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4142 +//line mysql_sql.y:4143 { yyLOCAL = &tree.PartitionBy{ PType: &tree.RangeType{ @@ -10411,7 +10412,7 @@ yydefault: case 658: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4150 +//line mysql_sql.y:4151 { yyLOCAL = &tree.PartitionBy{ PType: &tree.ListType{ @@ -10423,7 +10424,7 @@ yydefault: case 659: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4158 +//line mysql_sql.y:4159 { yyLOCAL = &tree.PartitionBy{ PType: &tree.ListType{ @@ -10435,7 +10436,7 @@ yydefault: case 661: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4169 +//line mysql_sql.y:4170 { yyLOCAL = &tree.PartitionBy{ PType: &tree.KeyType{ @@ -10449,7 +10450,7 @@ yydefault: case 662: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.PartitionBy -//line mysql_sql.y:4179 +//line mysql_sql.y:4180 { yyLOCAL = &tree.PartitionBy{ PType: &tree.HashType{ @@ -10462,7 +10463,7 @@ yydefault: case 663: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4189 +//line mysql_sql.y:4190 { yyLOCAL = 0 } @@ -10470,7 +10471,7 @@ yydefault: case 664: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4193 +//line mysql_sql.y:4194 { yyLOCAL = yyDollar[3].item.(int64) } @@ -10478,7 +10479,7 @@ yydefault: case 665: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4198 +//line mysql_sql.y:4199 { yyLOCAL = false } @@ -10486,7 +10487,7 @@ yydefault: case 666: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4202 +//line mysql_sql.y:4203 { yyLOCAL = true } @@ -10494,7 +10495,7 @@ yydefault: case 667: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4207 +//line mysql_sql.y:4208 { yyLOCAL = nil } @@ -10502,7 +10503,7 @@ yydefault: case 668: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4211 +//line mysql_sql.y:4212 { yyLOCAL = yyDollar[1].tableOptionsUnion() } @@ -10510,7 +10511,7 @@ yydefault: case 669: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4217 +//line mysql_sql.y:4218 { yyLOCAL = []tree.TableOption{yyDollar[1].tableOptionUnion()} } @@ -10518,7 +10519,7 @@ yydefault: case 670: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4221 +//line mysql_sql.y:4222 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[3].tableOptionUnion()) } @@ -10526,7 +10527,7 @@ yydefault: case 671: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.TableOption -//line mysql_sql.y:4225 +//line mysql_sql.y:4226 { yyLOCAL = append(yyDollar[1].tableOptionsUnion(), yyDollar[2].tableOptionUnion()) } @@ -10534,7 +10535,7 @@ yydefault: case 672: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4231 +//line mysql_sql.y:4232 { yyLOCAL = tree.NewTableOptionAutoIncrement(uint64(yyDollar[3].item.(int64))) } @@ -10542,7 +10543,7 @@ yydefault: case 673: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4235 +//line mysql_sql.y:4236 { yyLOCAL = tree.NewTableOptionAvgRowLength(uint64(yyDollar[3].item.(int64))) } @@ -10550,7 +10551,7 @@ yydefault: case 674: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4239 +//line mysql_sql.y:4240 { yyLOCAL = tree.NewTableOptionCharset(yyDollar[4].str) } @@ -10558,7 +10559,7 @@ yydefault: case 675: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4243 +//line mysql_sql.y:4244 { yyLOCAL = tree.NewTableOptionCollate(yyDollar[4].str) } @@ -10566,7 +10567,7 @@ yydefault: case 676: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4247 +//line mysql_sql.y:4248 { yyLOCAL = tree.NewTableOptionChecksum(uint64(yyDollar[3].item.(int64))) } @@ -10574,7 +10575,7 @@ yydefault: case 677: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4251 +//line mysql_sql.y:4252 { yyLOCAL = tree.NewTableOptionComment(yyDollar[3].str) } @@ -10582,7 +10583,7 @@ yydefault: case 678: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4255 +//line mysql_sql.y:4256 { yyLOCAL = tree.NewTableOptionCompression(yyDollar[3].str) } @@ -10590,7 +10591,7 @@ yydefault: case 679: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4259 +//line mysql_sql.y:4260 { yyLOCAL = tree.NewTableOptionConnection(yyDollar[3].str) } @@ -10598,7 +10599,7 @@ yydefault: case 680: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4263 +//line mysql_sql.y:4264 { yyLOCAL = tree.NewTableOptionDataDirectory(yyDollar[4].str) } @@ -10606,7 +10607,7 @@ yydefault: case 681: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4267 +//line mysql_sql.y:4268 { yyLOCAL = tree.NewTableOptionIndexDirectory(yyDollar[4].str) } @@ -10614,7 +10615,7 @@ yydefault: case 682: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4271 +//line mysql_sql.y:4272 { yyLOCAL = tree.NewTableOptionDelayKeyWrite(uint64(yyDollar[3].item.(int64))) } @@ -10622,7 +10623,7 @@ yydefault: case 683: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4275 +//line mysql_sql.y:4276 { yyLOCAL = tree.NewTableOptionEncryption(yyDollar[3].str) } @@ -10630,7 +10631,7 @@ yydefault: case 684: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4279 +//line mysql_sql.y:4280 { yyLOCAL = tree.NewTableOptionEngine(yyDollar[3].str) } @@ -10638,7 +10639,7 @@ yydefault: case 685: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4283 +//line mysql_sql.y:4284 { yyLOCAL = tree.NewTableOptionKeyBlockSize(uint64(yyDollar[3].item.(int64))) } @@ -10646,7 +10647,7 @@ yydefault: case 686: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4287 +//line mysql_sql.y:4288 { yyLOCAL = tree.NewTableOptionMaxRows(uint64(yyDollar[3].item.(int64))) } @@ -10654,7 +10655,7 @@ yydefault: case 687: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4291 +//line mysql_sql.y:4292 { yyLOCAL = tree.NewTableOptionMinRows(uint64(yyDollar[3].item.(int64))) } @@ -10662,7 +10663,7 @@ yydefault: case 688: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4295 +//line mysql_sql.y:4296 { yyLOCAL = &tree.TableOptionPackKeys{Value: yyDollar[3].item.(int64)} } @@ -10670,7 +10671,7 @@ yydefault: case 689: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4299 +//line mysql_sql.y:4300 { yyLOCAL = &tree.TableOptionPackKeys{Default: true} } @@ -10678,7 +10679,7 @@ yydefault: case 690: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4303 +//line mysql_sql.y:4304 { yyLOCAL = tree.NewTableOptionPassword(yyDollar[3].str) } @@ -10686,7 +10687,7 @@ yydefault: case 691: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4307 +//line mysql_sql.y:4308 { yyLOCAL = tree.NewTableOptionRowFormat(yyDollar[3].rowFormatTypeUnion()) } @@ -10694,7 +10695,7 @@ yydefault: case 692: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4311 +//line mysql_sql.y:4312 { yyLOCAL = &tree.TableOptionStatsAutoRecalc{Value: uint64(yyDollar[3].item.(int64))} } @@ -10702,7 +10703,7 @@ yydefault: case 693: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4315 +//line mysql_sql.y:4316 { yyLOCAL = &tree.TableOptionStatsAutoRecalc{Default: true} } @@ -10710,7 +10711,7 @@ yydefault: case 694: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4319 +//line mysql_sql.y:4320 { yyLOCAL = &tree.TableOptionStatsPersistent{Value: uint64(yyDollar[3].item.(int64))} } @@ -10718,7 +10719,7 @@ yydefault: case 695: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4323 +//line mysql_sql.y:4324 { yyLOCAL = &tree.TableOptionStatsPersistent{Default: true} } @@ -10726,7 +10727,7 @@ yydefault: case 696: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4327 +//line mysql_sql.y:4328 { yyLOCAL = &tree.TableOptionStatsSamplePages{Value: uint64(yyDollar[3].item.(int64))} } @@ -10734,7 +10735,7 @@ yydefault: case 697: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4331 +//line mysql_sql.y:4332 { yyLOCAL = &tree.TableOptionStatsSamplePages{Default: true} } @@ -10742,7 +10743,7 @@ yydefault: case 698: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4335 +//line mysql_sql.y:4336 { yyLOCAL = tree.NewTableOptionTablespace(yyDollar[3].str, yyDollar[4].str) } @@ -10750,7 +10751,7 @@ yydefault: case 699: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4339 +//line mysql_sql.y:4340 { yyLOCAL = tree.NewTableOptionUnion(yyDollar[4].tableNamesUnion()) } @@ -10758,7 +10759,7 @@ yydefault: case 700: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.TableOption -//line mysql_sql.y:4343 +//line mysql_sql.y:4344 { yyLOCAL = &tree.TableOptionProperties{Preperties: yyDollar[3].propertiesUnion()} } @@ -10766,7 +10767,7 @@ yydefault: case 701: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:4350 +//line mysql_sql.y:4351 { yyLOCAL = []tree.Property{yyDollar[1].propertyUnion()} } @@ -10774,7 +10775,7 @@ yydefault: case 702: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []tree.Property -//line mysql_sql.y:4354 +//line mysql_sql.y:4355 { yyLOCAL = append(yyDollar[1].propertiesUnion(), yyDollar[3].propertyUnion()) } @@ -10782,33 +10783,33 @@ yydefault: case 703: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Property -//line mysql_sql.y:4360 +//line mysql_sql.y:4361 { yyLOCAL = tree.Property{Key: yyDollar[1].str, Value: yyDollar[3].str} } yyVAL.union = yyLOCAL case 704: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4365 +//line mysql_sql.y:4366 { yyVAL.str = "" } case 705: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4369 +//line mysql_sql.y:4370 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } case 706: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4373 +//line mysql_sql.y:4374 { yyVAL.str = " " + yyDollar[1].str + " " + yyDollar[2].str } case 707: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4379 +//line mysql_sql.y:4380 { yyLOCAL = tree.ROW_FORMAT_DEFAULT } @@ -10816,7 +10817,7 @@ yydefault: case 708: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4383 +//line mysql_sql.y:4384 { yyLOCAL = tree.ROW_FORMAT_DYNAMIC } @@ -10824,7 +10825,7 @@ yydefault: case 709: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4387 +//line mysql_sql.y:4388 { yyLOCAL = tree.ROW_FORMAT_FIXED } @@ -10832,7 +10833,7 @@ yydefault: case 710: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4391 +//line mysql_sql.y:4392 { yyLOCAL = tree.ROW_FORMAT_COMPRESSED } @@ -10840,7 +10841,7 @@ yydefault: case 711: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4395 +//line mysql_sql.y:4396 { yyLOCAL = tree.ROW_FORMAT_REDUNDANT } @@ -10848,7 +10849,7 @@ yydefault: case 712: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.RowFormatType -//line mysql_sql.y:4399 +//line mysql_sql.y:4400 { yyLOCAL = tree.ROW_FORMAT_COMPACT } @@ -10856,7 +10857,7 @@ yydefault: case 717: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:4413 +//line mysql_sql.y:4414 { yyLOCAL = tree.TableNames{yyDollar[1].tableNameUnion()} } @@ -10864,7 +10865,7 @@ yydefault: case 718: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableNames -//line mysql_sql.y:4417 +//line mysql_sql.y:4418 { yyLOCAL = append(yyDollar[1].tableNamesUnion(), yyDollar[3].tableNameUnion()) } @@ -10872,7 +10873,7 @@ yydefault: case 719: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:4426 +//line mysql_sql.y:4427 { prefix := tree.ObjectNamePrefix{ExplicitSchema: false} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[1].str), prefix) @@ -10881,7 +10882,7 @@ yydefault: case 720: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.TableName -//line mysql_sql.y:4431 +//line mysql_sql.y:4432 { prefix := tree.ObjectNamePrefix{SchemaName: tree.Identifier(yyDollar[1].str), ExplicitSchema: true} yyLOCAL = tree.NewTableName(tree.Identifier(yyDollar[3].str), prefix) @@ -10890,7 +10891,7 @@ yydefault: case 721: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:4437 +//line mysql_sql.y:4438 { yyLOCAL = tree.TableDefs(nil) } @@ -10898,7 +10899,7 @@ yydefault: case 723: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:4444 +//line mysql_sql.y:4445 { yyLOCAL = tree.TableDefs{yyDollar[1].tableDefUnion()} } @@ -10906,7 +10907,7 @@ yydefault: case 724: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.TableDefs -//line mysql_sql.y:4448 +//line mysql_sql.y:4449 { yyLOCAL = append(yyDollar[1].tableDefsUnion(), yyDollar[3].tableDefUnion()) } @@ -10914,7 +10915,7 @@ yydefault: case 725: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4454 +//line mysql_sql.y:4455 { yyLOCAL = tree.TableDef(yyDollar[1].columnTableDefUnion()) } @@ -10922,7 +10923,7 @@ yydefault: case 726: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4458 +//line mysql_sql.y:4459 { yyLOCAL = yyDollar[1].tableDefUnion() } @@ -10930,7 +10931,7 @@ yydefault: case 727: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4464 +//line mysql_sql.y:4465 { if yyDollar[1].str != "" { switch v := yyDollar[2].tableDefUnion().(type) { @@ -10944,7 +10945,7 @@ yydefault: case 728: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4474 +//line mysql_sql.y:4475 { yyLOCAL = yyDollar[1].tableDefUnion() } @@ -10952,7 +10953,7 @@ yydefault: case 729: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4480 +//line mysql_sql.y:4481 { yyLOCAL = &tree.PrimaryKeyIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -10965,7 +10966,7 @@ yydefault: case 730: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4489 +//line mysql_sql.y:4490 { yyLOCAL = &tree.FullTextIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -10978,7 +10979,7 @@ yydefault: case 731: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4498 +//line mysql_sql.y:4499 { keyTyp := tree.INDEX_TYPE_INVALID if yyDollar[3].strsUnion()[1] != "" { @@ -11005,7 +11006,7 @@ yydefault: case 732: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4521 +//line mysql_sql.y:4522 { yyLOCAL = &tree.UniqueIndex{ KeyParts: yyDollar[5].keyPartsUnion(), @@ -11018,7 +11019,7 @@ yydefault: case 733: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4530 +//line mysql_sql.y:4531 { yyLOCAL = &tree.ForeignKey{ IfNotExists: yyDollar[3].ifNotExistsUnion(), @@ -11032,7 +11033,7 @@ yydefault: case 734: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.TableDef -//line mysql_sql.y:4540 +//line mysql_sql.y:4541 { yyLOCAL = &tree.CheckIndex{ Expr: yyDollar[3].exprUnion(), @@ -11043,27 +11044,27 @@ yydefault: case 735: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4548 +//line mysql_sql.y:4549 { yyLOCAL = false } yyVAL.union = yyLOCAL case 737: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4554 +//line mysql_sql.y:4555 { yyVAL.str = "" } case 738: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4558 +//line mysql_sql.y:4559 { yyVAL.str = yyDollar[1].str } case 741: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4568 +//line mysql_sql.y:4569 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str @@ -11073,7 +11074,7 @@ yydefault: case 742: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4574 +//line mysql_sql.y:4575 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str @@ -11083,7 +11084,7 @@ yydefault: case 743: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:4580 +//line mysql_sql.y:4581 { yyLOCAL = make([]string, 2) yyLOCAL[0] = yyDollar[1].str @@ -11092,14 +11093,14 @@ yydefault: yyVAL.union = yyLOCAL case 749: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4594 +//line mysql_sql.y:4595 { yyVAL.str = "" } case 751: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.ColumnTableDef -//line mysql_sql.y:4601 +//line mysql_sql.y:4602 { yyLOCAL = tree.NewColumnTableDef(yyDollar[1].unresolvedNameUnion(), yyDollar[2].columnTypeUnion(), yyDollar[3].columnAttributesUnion()) } @@ -11107,7 +11108,7 @@ yydefault: case 752: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4607 +//line mysql_sql.y:4608 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) } @@ -11115,7 +11116,7 @@ yydefault: case 753: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4611 +//line mysql_sql.y:4612 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) } @@ -11123,7 +11124,7 @@ yydefault: case 754: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4615 +//line mysql_sql.y:4616 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) } @@ -11131,7 +11132,7 @@ yydefault: case 758: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4626 +//line mysql_sql.y:4627 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str) } @@ -11139,7 +11140,7 @@ yydefault: case 759: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4630 +//line mysql_sql.y:4631 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str) } @@ -11147,7 +11148,7 @@ yydefault: case 760: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.UnresolvedName -//line mysql_sql.y:4634 +//line mysql_sql.y:4635 { yyLOCAL = tree.SetUnresolvedName(yyDollar[1].str, yyDollar[3].str, yyDollar[5].str) } @@ -11155,7 +11156,7 @@ yydefault: case 761: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4639 +//line mysql_sql.y:4640 { yyLOCAL = nil } @@ -11163,7 +11164,7 @@ yydefault: case 762: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4643 +//line mysql_sql.y:4644 { yyLOCAL = yyDollar[1].columnAttributesUnion() } @@ -11171,7 +11172,7 @@ yydefault: case 763: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4649 +//line mysql_sql.y:4650 { yyLOCAL = []tree.ColumnAttribute{yyDollar[1].columnAttributeUnion()} } @@ -11179,7 +11180,7 @@ yydefault: case 764: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []tree.ColumnAttribute -//line mysql_sql.y:4653 +//line mysql_sql.y:4654 { yyLOCAL = append(yyDollar[1].columnAttributesUnion(), yyDollar[2].columnAttributeUnion()) } @@ -11187,7 +11188,7 @@ yydefault: case 765: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4659 +//line mysql_sql.y:4660 { yyLOCAL = tree.NewAttributeNull(true) } @@ -11195,7 +11196,7 @@ yydefault: case 766: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4663 +//line mysql_sql.y:4664 { yyLOCAL = tree.NewAttributeNull(false) } @@ -11203,7 +11204,7 @@ yydefault: case 767: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4667 +//line mysql_sql.y:4668 { yyLOCAL = tree.NewAttributeDefault(yyDollar[2].exprUnion()) } @@ -11211,7 +11212,7 @@ yydefault: case 768: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4671 +//line mysql_sql.y:4672 { yyLOCAL = tree.NewAttributeAutoIncrement() } @@ -11219,7 +11220,7 @@ yydefault: case 769: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4675 +//line mysql_sql.y:4676 { yyLOCAL = yyDollar[1].columnAttributeUnion() } @@ -11227,7 +11228,7 @@ yydefault: case 770: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4679 +//line mysql_sql.y:4680 { yyLOCAL = tree.NewAttributeComment(tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char)) } @@ -11235,7 +11236,7 @@ yydefault: case 771: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4683 +//line mysql_sql.y:4684 { yyLOCAL = tree.NewAttributeCollate(yyDollar[2].str) } @@ -11243,7 +11244,7 @@ yydefault: case 772: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4687 +//line mysql_sql.y:4688 { yyLOCAL = tree.NewAttributeColumnFormat(yyDollar[2].str) } @@ -11251,7 +11252,7 @@ yydefault: case 773: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4691 +//line mysql_sql.y:4692 { yyLOCAL = tree.NewAttributeStorage(yyDollar[2].str) } @@ -11259,7 +11260,7 @@ yydefault: case 774: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4695 +//line mysql_sql.y:4696 { yyLOCAL = tree.NewAttributeAutoRandom(int(yyDollar[2].int64ValUnion())) } @@ -11267,7 +11268,7 @@ yydefault: case 775: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4699 +//line mysql_sql.y:4700 { yyLOCAL = yyDollar[1].attributeReferenceUnion() } @@ -11275,7 +11276,7 @@ yydefault: case 776: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4703 +//line mysql_sql.y:4704 { yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), false, yyDollar[1].str) } @@ -11283,7 +11284,7 @@ yydefault: case 777: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:4707 +//line mysql_sql.y:4708 { yyLOCAL = tree.NewAttributeCheck(yyDollar[4].exprUnion(), yyDollar[6].boolValUnion(), yyDollar[1].str) } @@ -11291,7 +11292,7 @@ yydefault: case 778: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4717 +//line mysql_sql.y:4718 { yyLOCAL = true } @@ -11299,39 +11300,39 @@ yydefault: case 779: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:4721 +//line mysql_sql.y:4722 { yyLOCAL = false } yyVAL.union = yyLOCAL case 780: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:4726 +//line mysql_sql.y:4727 { yyVAL.str = "" } case 781: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4730 +//line mysql_sql.y:4731 { yyVAL.str = yyDollar[1].str } case 782: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:4736 +//line mysql_sql.y:4737 { yyVAL.str = "" } case 783: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:4740 +//line mysql_sql.y:4741 { yyVAL.str = yyDollar[2].str } case 784: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.AttributeReference -//line mysql_sql.y:4746 +//line mysql_sql.y:4747 { yyLOCAL = &tree.AttributeReference{ TableName: yyDollar[2].tableNameUnion(), @@ -11345,7 +11346,7 @@ yydefault: case 785: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4757 +//line mysql_sql.y:4758 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -11356,7 +11357,7 @@ yydefault: case 787: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4767 +//line mysql_sql.y:4768 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -11367,7 +11368,7 @@ yydefault: case 788: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4774 +//line mysql_sql.y:4775 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: tree.REFERENCE_OPTION_INVALID, @@ -11378,7 +11379,7 @@ yydefault: case 789: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4781 +//line mysql_sql.y:4782 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[1].referenceOptionTypeUnion(), @@ -11389,7 +11390,7 @@ yydefault: case 790: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.ReferenceOnRecord -//line mysql_sql.y:4788 +//line mysql_sql.y:4789 { yyLOCAL = &tree.ReferenceOnRecord{ OnDelete: yyDollar[2].referenceOptionTypeUnion(), @@ -11400,7 +11401,7 @@ yydefault: case 791: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4797 +//line mysql_sql.y:4798 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } @@ -11408,7 +11409,7 @@ yydefault: case 792: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4803 +//line mysql_sql.y:4804 { yyLOCAL = yyDollar[3].referenceOptionTypeUnion() } @@ -11416,7 +11417,7 @@ yydefault: case 793: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4809 +//line mysql_sql.y:4810 { yyLOCAL = tree.REFERENCE_OPTION_RESTRICT } @@ -11424,7 +11425,7 @@ yydefault: case 794: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4813 +//line mysql_sql.y:4814 { yyLOCAL = tree.REFERENCE_OPTION_CASCADE } @@ -11432,7 +11433,7 @@ yydefault: case 795: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4817 +//line mysql_sql.y:4818 { yyLOCAL = tree.REFERENCE_OPTION_SET_NULL } @@ -11440,7 +11441,7 @@ yydefault: case 796: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4821 +//line mysql_sql.y:4822 { yyLOCAL = tree.REFERENCE_OPTION_NO_ACTION } @@ -11448,7 +11449,7 @@ yydefault: case 797: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ReferenceOptionType -//line mysql_sql.y:4825 +//line mysql_sql.y:4826 { yyLOCAL = tree.REFERENCE_OPTION_SET_DEFAULT } @@ -11456,7 +11457,7 @@ yydefault: case 798: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4830 +//line mysql_sql.y:4831 { yyLOCAL = tree.MATCH_INVALID } @@ -11464,7 +11465,7 @@ yydefault: case 800: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4837 +//line mysql_sql.y:4838 { yyLOCAL = tree.MATCH_FULL } @@ -11472,7 +11473,7 @@ yydefault: case 801: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4841 +//line mysql_sql.y:4842 { yyLOCAL = tree.MATCH_PARTIAL } @@ -11480,7 +11481,7 @@ yydefault: case 802: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.MatchType -//line mysql_sql.y:4845 +//line mysql_sql.y:4846 { yyLOCAL = tree.MATCH_SIMPLE } @@ -11488,7 +11489,7 @@ yydefault: case 803: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:4850 +//line mysql_sql.y:4851 { yyLOCAL = nil } @@ -11496,7 +11497,7 @@ yydefault: case 804: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []*tree.KeyPart -//line mysql_sql.y:4854 +//line mysql_sql.y:4855 { yyLOCAL = yyDollar[2].keyPartsUnion() } @@ -11504,7 +11505,7 @@ yydefault: case 805: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4859 +//line mysql_sql.y:4860 { yyLOCAL = -1 } @@ -11512,7 +11513,7 @@ yydefault: case 806: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int64 -//line mysql_sql.y:4863 +//line mysql_sql.y:4864 { yyLOCAL = yyDollar[2].item.(int64) } @@ -11520,7 +11521,7 @@ yydefault: case 813: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.Subquery -//line mysql_sql.y:4879 +//line mysql_sql.y:4880 { yyLOCAL = &tree.Subquery{Select: yyDollar[1].selectStatementUnion(), Exists: false} } @@ -11528,7 +11529,7 @@ yydefault: case 814: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4885 +//line mysql_sql.y:4886 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_AND, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11536,7 +11537,7 @@ yydefault: case 815: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4889 +//line mysql_sql.y:4890 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_OR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11544,7 +11545,7 @@ yydefault: case 816: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4893 +//line mysql_sql.y:4894 { yyLOCAL = tree.NewBinaryExpr(tree.BIT_XOR, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11552,7 +11553,7 @@ yydefault: case 817: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4897 +//line mysql_sql.y:4898 { yyLOCAL = tree.NewBinaryExpr(tree.PLUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11560,7 +11561,7 @@ yydefault: case 818: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4901 +//line mysql_sql.y:4902 { yyLOCAL = tree.NewBinaryExpr(tree.MINUS, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11568,7 +11569,7 @@ yydefault: case 819: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4905 +//line mysql_sql.y:4906 { yyLOCAL = tree.NewBinaryExpr(tree.MULTI, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11576,7 +11577,7 @@ yydefault: case 820: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4909 +//line mysql_sql.y:4910 { yyLOCAL = tree.NewBinaryExpr(tree.DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11584,7 +11585,7 @@ yydefault: case 821: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4913 +//line mysql_sql.y:4914 { yyLOCAL = tree.NewBinaryExpr(tree.INTEGER_DIV, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11592,7 +11593,7 @@ yydefault: case 822: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4917 +//line mysql_sql.y:4918 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11600,7 +11601,7 @@ yydefault: case 823: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4921 +//line mysql_sql.y:4922 { yyLOCAL = tree.NewBinaryExpr(tree.MOD, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11608,7 +11609,7 @@ yydefault: case 824: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4925 +//line mysql_sql.y:4926 { yyLOCAL = tree.NewBinaryExpr(tree.LEFT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11616,7 +11617,7 @@ yydefault: case 825: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4929 +//line mysql_sql.y:4930 { yyLOCAL = tree.NewBinaryExpr(tree.RIGHT_SHIFT, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -11624,7 +11625,7 @@ yydefault: case 826: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4933 +//line mysql_sql.y:4934 { yyLOCAL = yyDollar[1].exprUnion() } @@ -11632,7 +11633,7 @@ yydefault: case 827: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4939 +//line mysql_sql.y:4940 { yyLOCAL = yyDollar[1].unresolvedNameUnion() } @@ -11640,7 +11641,7 @@ yydefault: case 828: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4943 +//line mysql_sql.y:4944 { yyLOCAL = yyDollar[1].varExprUnion() } @@ -11648,7 +11649,7 @@ yydefault: case 829: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4947 +//line mysql_sql.y:4948 { yyLOCAL = yyDollar[1].exprUnion() } @@ -11656,7 +11657,7 @@ yydefault: case 830: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4951 +//line mysql_sql.y:4952 { yyLOCAL = tree.NewParenExpr(yyDollar[2].exprUnion()) } @@ -11664,7 +11665,7 @@ yydefault: case 831: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4955 +//line mysql_sql.y:4956 { yyLOCAL = tree.NewTuple(append(yyDollar[2].exprsUnion(), yyDollar[4].exprUnion())) } @@ -11672,7 +11673,7 @@ yydefault: case 832: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4959 +//line mysql_sql.y:4960 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_PLUS, yyDollar[2].exprUnion()) } @@ -11680,7 +11681,7 @@ yydefault: case 833: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4963 +//line mysql_sql.y:4964 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MINUS, yyDollar[2].exprUnion()) } @@ -11688,7 +11689,7 @@ yydefault: case 834: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4967 +//line mysql_sql.y:4968 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_TILDE, yyDollar[2].exprUnion()) } @@ -11696,7 +11697,7 @@ yydefault: case 835: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4971 +//line mysql_sql.y:4972 { yyLOCAL = tree.NewUnaryExpr(tree.UNARY_MARK, yyDollar[2].exprUnion()) } @@ -11704,7 +11705,7 @@ yydefault: case 836: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4975 +//line mysql_sql.y:4976 { yyLOCAL = yyDollar[1].exprUnion() } @@ -11712,7 +11713,7 @@ yydefault: case 837: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4979 +//line mysql_sql.y:4980 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -11720,7 +11721,7 @@ yydefault: case 838: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4983 +//line mysql_sql.y:4984 { yyDollar[2].subqueryUnion().Exists = true yyLOCAL = yyDollar[2].subqueryUnion() @@ -11729,7 +11730,7 @@ yydefault: case 839: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4988 +//line mysql_sql.y:4989 { yyLOCAL = &tree.CaseExpr{ Expr: yyDollar[2].exprUnion(), @@ -11741,7 +11742,7 @@ yydefault: case 840: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:4996 +//line mysql_sql.y:4997 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } @@ -11749,7 +11750,7 @@ yydefault: case 841: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5000 +//line mysql_sql.y:5001 { yyLOCAL = tree.NewCastExpr(yyDollar[3].exprUnion(), yyDollar[5].columnTypeUnion()) } @@ -11757,7 +11758,7 @@ yydefault: case 842: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5004 +//line mysql_sql.y:5005 { name := tree.SetUnresolvedName("convert") es := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) @@ -11770,7 +11771,7 @@ yydefault: case 843: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5013 +//line mysql_sql.y:5014 { yyLOCAL = yyDollar[1].funcExprUnion() } @@ -11778,7 +11779,7 @@ yydefault: case 844: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5017 +//line mysql_sql.y:5018 { yyLOCAL = yyDollar[1].funcExprUnion() } @@ -11786,7 +11787,7 @@ yydefault: case 845: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5021 +//line mysql_sql.y:5022 { yyLOCAL = yyDollar[1].funcExprUnion() } @@ -11794,7 +11795,7 @@ yydefault: case 846: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5025 +//line mysql_sql.y:5026 { yyLOCAL = yyDollar[1].funcExprUnion() } @@ -11802,7 +11803,7 @@ yydefault: case 847: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5029 +//line mysql_sql.y:5030 { yyLOCAL = yyDollar[1].funcExprUnion() } @@ -11810,7 +11811,7 @@ yydefault: case 848: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5034 +//line mysql_sql.y:5035 { yyLOCAL = nil } @@ -11818,7 +11819,7 @@ yydefault: case 849: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5038 +//line mysql_sql.y:5039 { yyLOCAL = yyDollar[2].exprUnion() } @@ -11826,7 +11827,7 @@ yydefault: case 850: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5043 +//line mysql_sql.y:5044 { yyLOCAL = nil } @@ -11834,7 +11835,7 @@ yydefault: case 851: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5047 +//line mysql_sql.y:5048 { yyLOCAL = yyDollar[1].exprUnion() } @@ -11842,7 +11843,7 @@ yydefault: case 852: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:5053 +//line mysql_sql.y:5054 { yyLOCAL = []*tree.When{yyDollar[1].whenClauseUnion()} } @@ -11850,7 +11851,7 @@ yydefault: case 853: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL []*tree.When -//line mysql_sql.y:5057 +//line mysql_sql.y:5058 { yyLOCAL = append(yyDollar[1].whenClauseListUnion(), yyDollar[2].whenClauseUnion()) } @@ -11858,7 +11859,7 @@ yydefault: case 854: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.When -//line mysql_sql.y:5063 +//line mysql_sql.y:5064 { yyLOCAL = &tree.When{ Cond: yyDollar[2].exprUnion(), @@ -11869,7 +11870,7 @@ yydefault: case 856: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5073 +//line mysql_sql.y:5074 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -11890,7 +11891,7 @@ yydefault: case 857: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5090 +//line mysql_sql.y:5091 { locale := "" yyLOCAL = &tree.T{ @@ -11908,7 +11909,7 @@ yydefault: case 859: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5107 +//line mysql_sql.y:5108 { locale := "" yyLOCAL = &tree.T{ @@ -11925,7 +11926,7 @@ yydefault: case 860: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5120 +//line mysql_sql.y:5121 { locale := "" yyLOCAL = &tree.T{ @@ -11942,7 +11943,7 @@ yydefault: case 861: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5133 +//line mysql_sql.y:5134 { locale := "" yyLOCAL = &tree.T{ @@ -11958,7 +11959,7 @@ yydefault: case 862: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5145 +//line mysql_sql.y:5146 { locale := "" yyLOCAL = &tree.T{ @@ -11976,7 +11977,7 @@ yydefault: case 863: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5159 +//line mysql_sql.y:5160 { locale := "" yyLOCAL = &tree.T{ @@ -11995,7 +11996,7 @@ yydefault: case 864: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5174 +//line mysql_sql.y:5175 { locale := "" yyLOCAL = &tree.T{ @@ -12014,7 +12015,7 @@ yydefault: case 865: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5189 +//line mysql_sql.y:5190 { name := yyDollar[1].str if yyDollar[2].str != "" { @@ -12035,7 +12036,7 @@ yydefault: case 866: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:5206 +//line mysql_sql.y:5207 { locale := "" yyLOCAL = &tree.T{ @@ -12052,13 +12053,13 @@ yydefault: yyVAL.union = yyLOCAL case 867: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5221 +//line mysql_sql.y:5222 { } case 870: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5227 +//line mysql_sql.y:5228 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12071,7 +12072,7 @@ yydefault: case 871: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5236 +//line mysql_sql.y:5237 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12083,7 +12084,7 @@ yydefault: case 872: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5244 +//line mysql_sql.y:5245 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12095,7 +12096,7 @@ yydefault: case 873: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5252 +//line mysql_sql.y:5253 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12108,7 +12109,7 @@ yydefault: case 874: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5261 +//line mysql_sql.y:5262 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12121,7 +12122,7 @@ yydefault: case 875: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5270 +//line mysql_sql.y:5271 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12134,7 +12135,7 @@ yydefault: case 876: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5279 +//line mysql_sql.y:5280 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12147,7 +12148,7 @@ yydefault: case 877: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5288 +//line mysql_sql.y:5289 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) es := tree.NewNumValWithType(constant.MakeString("*"), "*", false, tree.P_char) @@ -12160,7 +12161,7 @@ yydefault: case 878: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5297 +//line mysql_sql.y:5298 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12173,7 +12174,7 @@ yydefault: case 879: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5306 +//line mysql_sql.y:5307 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12186,7 +12187,7 @@ yydefault: case 880: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5315 +//line mysql_sql.y:5316 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12199,7 +12200,7 @@ yydefault: case 881: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5324 +//line mysql_sql.y:5325 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12212,7 +12213,7 @@ yydefault: case 882: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5333 +//line mysql_sql.y:5334 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12225,7 +12226,7 @@ yydefault: case 883: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5342 +//line mysql_sql.y:5343 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12238,7 +12239,7 @@ yydefault: case 884: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5351 +//line mysql_sql.y:5352 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12251,7 +12252,7 @@ yydefault: case 888: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5367 +//line mysql_sql.y:5368 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12263,7 +12264,7 @@ yydefault: case 889: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5375 +//line mysql_sql.y:5376 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12275,7 +12276,7 @@ yydefault: case 890: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5383 +//line mysql_sql.y:5384 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12287,7 +12288,7 @@ yydefault: case 891: yyDollar = yyS[yypt-8 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5391 +//line mysql_sql.y:5392 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12299,7 +12300,7 @@ yydefault: case 892: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5399 +//line mysql_sql.y:5400 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) timeUinit := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12312,7 +12313,7 @@ yydefault: case 893: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5408 +//line mysql_sql.y:5409 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12324,7 +12325,7 @@ yydefault: case 894: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5416 +//line mysql_sql.y:5417 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12337,7 +12338,7 @@ yydefault: case 895: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5425 +//line mysql_sql.y:5426 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12350,7 +12351,7 @@ yydefault: case 896: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5434 +//line mysql_sql.y:5435 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12362,7 +12363,7 @@ yydefault: case 897: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5442 +//line mysql_sql.y:5443 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12374,7 +12375,7 @@ yydefault: case 898: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5450 +//line mysql_sql.y:5451 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12387,7 +12388,7 @@ yydefault: case 899: yyDollar = yyS[yypt-7 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5459 +//line mysql_sql.y:5460 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) arg1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12400,7 +12401,7 @@ yydefault: case 900: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5469 +//line mysql_sql.y:5470 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) a1 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12413,14 +12414,14 @@ yydefault: yyVAL.union = yyLOCAL case 906: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:5490 +//line mysql_sql.y:5491 { yyVAL.str = yyDollar[1].str } case 935: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5526 +//line mysql_sql.y:5527 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -12436,7 +12437,7 @@ yydefault: case 936: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5538 +//line mysql_sql.y:5539 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -12452,7 +12453,7 @@ yydefault: case 937: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5552 +//line mysql_sql.y:5553 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12464,7 +12465,7 @@ yydefault: case 938: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5560 +//line mysql_sql.y:5561 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12475,7 +12476,7 @@ yydefault: case 939: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5567 +//line mysql_sql.y:5568 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) yyLOCAL = &tree.FuncExpr{ @@ -12486,7 +12487,7 @@ yydefault: case 940: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5574 +//line mysql_sql.y:5575 { name := tree.SetUnresolvedName(strings.ToLower(yyDollar[1].str)) var es tree.Exprs = nil @@ -12502,7 +12503,7 @@ yydefault: case 941: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5586 +//line mysql_sql.y:5587 { name := tree.SetUnresolvedName("char") yyLOCAL = &tree.FuncExpr{ @@ -12514,7 +12515,7 @@ yydefault: case 942: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5594 +//line mysql_sql.y:5595 { cn := tree.NewNumValWithType(constant.MakeString(yyDollar[5].str), yyDollar[5].str, false, tree.P_char) es := yyDollar[3].exprsUnion() @@ -12529,7 +12530,7 @@ yydefault: case 943: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5605 +//line mysql_sql.y:5606 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("date") @@ -12542,7 +12543,7 @@ yydefault: case 944: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5614 +//line mysql_sql.y:5615 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("time") @@ -12555,7 +12556,7 @@ yydefault: case 945: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5623 +//line mysql_sql.y:5624 { name := tree.SetUnresolvedName("insert") yyLOCAL = &tree.FuncExpr{ @@ -12567,7 +12568,7 @@ yydefault: case 946: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5631 +//line mysql_sql.y:5632 { es := tree.Exprs{yyDollar[3].exprUnion()} es = append(es, yyDollar[5].exprUnion()) @@ -12581,7 +12582,7 @@ yydefault: case 947: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5641 +//line mysql_sql.y:5642 { name := tree.SetUnresolvedName("password") yyLOCAL = &tree.FuncExpr{ @@ -12593,7 +12594,7 @@ yydefault: case 948: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5649 +//line mysql_sql.y:5650 { name := tree.SetUnresolvedName("binary") yyLOCAL = &tree.FuncExpr{ @@ -12605,7 +12606,7 @@ yydefault: case 949: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.FuncExpr -//line mysql_sql.y:5657 +//line mysql_sql.y:5658 { val := tree.NewNumValWithType(constant.MakeString(yyDollar[2].str), yyDollar[2].str, false, tree.P_char) name := tree.SetUnresolvedName("timestamp") @@ -12618,7 +12619,7 @@ yydefault: case 950: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5667 +//line mysql_sql.y:5668 { yyLOCAL = nil } @@ -12626,7 +12627,7 @@ yydefault: case 951: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5671 +//line mysql_sql.y:5672 { yyLOCAL = yyDollar[1].exprUnion() } @@ -12634,7 +12635,7 @@ yydefault: case 952: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5677 +//line mysql_sql.y:5678 { yyLOCAL = nil } @@ -12642,7 +12643,7 @@ yydefault: case 953: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5681 +//line mysql_sql.y:5682 { ival, errStr := util.GetInt64(yyDollar[2].item) if errStr != "" { @@ -12655,18 +12656,18 @@ yydefault: yyVAL.union = yyLOCAL case 960: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:5700 +//line mysql_sql.y:5701 { } case 961: yyDollar = yyS[yypt-2 : yypt+1] -//line mysql_sql.y:5702 +//line mysql_sql.y:5703 { } case 994: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5742 +//line mysql_sql.y:5743 { name := tree.SetUnresolvedName("interval") arg2 := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), yyDollar[3].str, false, tree.P_char) @@ -12679,7 +12680,7 @@ yydefault: case 995: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:5752 +//line mysql_sql.y:5753 { yyLOCAL = tree.FUNC_TYPE_DEFAULT } @@ -12687,7 +12688,7 @@ yydefault: case 996: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:5756 +//line mysql_sql.y:5757 { yyLOCAL = tree.FUNC_TYPE_DISTINCT } @@ -12695,7 +12696,7 @@ yydefault: case 997: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.FuncType -//line mysql_sql.y:5760 +//line mysql_sql.y:5761 { yyLOCAL = tree.FUNC_TYPE_ALL } @@ -12703,7 +12704,7 @@ yydefault: case 998: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.Tuple -//line mysql_sql.y:5766 +//line mysql_sql.y:5767 { yyLOCAL = tree.NewTuple(yyDollar[2].exprsUnion()) } @@ -12711,7 +12712,7 @@ yydefault: case 999: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5771 +//line mysql_sql.y:5772 { yyLOCAL = nil } @@ -12719,7 +12720,7 @@ yydefault: case 1000: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5775 +//line mysql_sql.y:5776 { yyLOCAL = yyDollar[1].exprsUnion() } @@ -12727,7 +12728,7 @@ yydefault: case 1001: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5781 +//line mysql_sql.y:5782 { yyLOCAL = tree.Exprs{yyDollar[1].exprUnion()} } @@ -12735,7 +12736,7 @@ yydefault: case 1002: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Exprs -//line mysql_sql.y:5785 +//line mysql_sql.y:5786 { yyLOCAL = append(yyDollar[1].exprsUnion(), yyDollar[3].exprUnion()) } @@ -12743,7 +12744,7 @@ yydefault: case 1003: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5792 +//line mysql_sql.y:5793 { yyLOCAL = tree.NewAndExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -12751,7 +12752,7 @@ yydefault: case 1004: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5796 +//line mysql_sql.y:5797 { yyLOCAL = tree.NewOrExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -12759,7 +12760,7 @@ yydefault: case 1005: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5800 +//line mysql_sql.y:5801 { name := tree.SetUnresolvedName(strings.ToLower("concat")) yyLOCAL = &tree.FuncExpr{ @@ -12771,7 +12772,7 @@ yydefault: case 1006: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5808 +//line mysql_sql.y:5809 { yyLOCAL = tree.NewXorExpr(yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -12779,7 +12780,7 @@ yydefault: case 1007: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5812 +//line mysql_sql.y:5813 { yyLOCAL = tree.NewNotExpr(yyDollar[2].exprUnion()) } @@ -12787,7 +12788,7 @@ yydefault: case 1008: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5816 +//line mysql_sql.y:5817 { yyLOCAL = tree.NewComparisonExpr(tree.EQUAL, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -12795,7 +12796,7 @@ yydefault: case 1009: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5820 +//line mysql_sql.y:5821 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_EQUAL, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } @@ -12803,7 +12804,7 @@ yydefault: case 1010: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5824 +//line mysql_sql.y:5825 { arg := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), "", false, tree.P_char) yyLOCAL = tree.NewComparisonExpr(tree.EQUAL, yyDollar[1].exprUnion(), arg) @@ -12812,7 +12813,7 @@ yydefault: case 1011: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5829 +//line mysql_sql.y:5830 { arg := tree.NewNumValWithType(constant.MakeString(yyDollar[3].str), "", false, tree.P_char) yyLOCAL = tree.NewComparisonExpr(tree.NOT_EQUAL, yyDollar[1].exprUnion(), arg) @@ -12821,7 +12822,7 @@ yydefault: case 1012: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5834 +//line mysql_sql.y:5835 { yyLOCAL = yyDollar[1].exprUnion() } @@ -12829,7 +12830,7 @@ yydefault: case 1013: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5840 +//line mysql_sql.y:5841 { yyLOCAL = tree.NewIsNullExpr(yyDollar[1].exprUnion()) } @@ -12837,7 +12838,7 @@ yydefault: case 1014: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5844 +//line mysql_sql.y:5845 { yyLOCAL = tree.NewIsNotNullExpr(yyDollar[1].exprUnion()) } @@ -12845,7 +12846,7 @@ yydefault: case 1015: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5848 +//line mysql_sql.y:5849 { yyLOCAL = tree.NewComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -12853,7 +12854,7 @@ yydefault: case 1016: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5852 +//line mysql_sql.y:5853 { yyLOCAL = tree.NewSubqueryComparisonExpr(yyDollar[2].comparisonOpUnion(), yyDollar[3].comparisonOpUnion(), yyDollar[1].exprUnion(), yyDollar[4].subqueryUnion()) } @@ -12861,7 +12862,7 @@ yydefault: case 1018: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5859 +//line mysql_sql.y:5860 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "", false, tree.P_bool) } @@ -12869,7 +12870,7 @@ yydefault: case 1019: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5863 +//line mysql_sql.y:5864 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "", false, tree.P_bool) } @@ -12877,7 +12878,7 @@ yydefault: case 1020: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5869 +//line mysql_sql.y:5870 { yyLOCAL = tree.NewComparisonExpr(tree.IN, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -12885,7 +12886,7 @@ yydefault: case 1021: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5873 +//line mysql_sql.y:5874 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_IN, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } @@ -12893,7 +12894,7 @@ yydefault: case 1022: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5877 +//line mysql_sql.y:5878 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.LIKE, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[4].exprUnion()) } @@ -12901,7 +12902,7 @@ yydefault: case 1023: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5881 +//line mysql_sql.y:5882 { yyLOCAL = tree.NewComparisonExprWithEscape(tree.NOT_LIKE, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[5].exprUnion()) } @@ -12909,7 +12910,7 @@ yydefault: case 1024: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5885 +//line mysql_sql.y:5886 { yyLOCAL = tree.NewComparisonExpr(tree.REG_MATCH, yyDollar[1].exprUnion(), yyDollar[3].exprUnion()) } @@ -12917,7 +12918,7 @@ yydefault: case 1025: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5889 +//line mysql_sql.y:5890 { yyLOCAL = tree.NewComparisonExpr(tree.NOT_REG_MATCH, yyDollar[1].exprUnion(), yyDollar[4].exprUnion()) } @@ -12925,7 +12926,7 @@ yydefault: case 1026: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5893 +//line mysql_sql.y:5894 { yyLOCAL = tree.NewRangeCond(false, yyDollar[1].exprUnion(), yyDollar[3].exprUnion(), yyDollar[5].exprUnion()) } @@ -12933,7 +12934,7 @@ yydefault: case 1027: yyDollar = yyS[yypt-6 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5897 +//line mysql_sql.y:5898 { yyLOCAL = tree.NewRangeCond(true, yyDollar[1].exprUnion(), yyDollar[4].exprUnion(), yyDollar[6].exprUnion()) } @@ -12941,7 +12942,7 @@ yydefault: case 1029: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5903 +//line mysql_sql.y:5904 { yyLOCAL = nil } @@ -12949,7 +12950,7 @@ yydefault: case 1030: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5907 +//line mysql_sql.y:5908 { yyLOCAL = yyDollar[2].exprUnion() } @@ -12957,7 +12958,7 @@ yydefault: case 1031: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5913 +//line mysql_sql.y:5914 { yyLOCAL = yyDollar[1].tupleUnion() } @@ -12965,7 +12966,7 @@ yydefault: case 1032: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5917 +//line mysql_sql.y:5918 { yyLOCAL = yyDollar[1].subqueryUnion() } @@ -12973,7 +12974,7 @@ yydefault: case 1033: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5924 +//line mysql_sql.y:5925 { yyLOCAL = tree.ALL } @@ -12981,7 +12982,7 @@ yydefault: case 1034: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5928 +//line mysql_sql.y:5929 { yyLOCAL = tree.ANY } @@ -12989,7 +12990,7 @@ yydefault: case 1035: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5932 +//line mysql_sql.y:5933 { yyLOCAL = tree.SOME } @@ -12997,7 +12998,7 @@ yydefault: case 1036: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5938 +//line mysql_sql.y:5939 { yyLOCAL = tree.EQUAL } @@ -13005,7 +13006,7 @@ yydefault: case 1037: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5942 +//line mysql_sql.y:5943 { yyLOCAL = tree.LESS_THAN } @@ -13013,7 +13014,7 @@ yydefault: case 1038: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5946 +//line mysql_sql.y:5947 { yyLOCAL = tree.GREAT_THAN } @@ -13021,7 +13022,7 @@ yydefault: case 1039: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5950 +//line mysql_sql.y:5951 { yyLOCAL = tree.LESS_THAN_EQUAL } @@ -13029,7 +13030,7 @@ yydefault: case 1040: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5954 +//line mysql_sql.y:5955 { yyLOCAL = tree.GREAT_THAN_EQUAL } @@ -13037,7 +13038,7 @@ yydefault: case 1041: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5958 +//line mysql_sql.y:5959 { yyLOCAL = tree.NOT_EQUAL } @@ -13045,7 +13046,7 @@ yydefault: case 1042: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ComparisonOp -//line mysql_sql.y:5962 +//line mysql_sql.y:5963 { yyLOCAL = tree.NULL_SAFE_EQUAL } @@ -13053,7 +13054,7 @@ yydefault: case 1043: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5968 +//line mysql_sql.y:5969 { yyLOCAL = tree.NewAttributePrimaryKey() } @@ -13061,7 +13062,7 @@ yydefault: case 1044: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5972 +//line mysql_sql.y:5973 { yyLOCAL = tree.NewAttributeUniqueKey() } @@ -13069,7 +13070,7 @@ yydefault: case 1045: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5976 +//line mysql_sql.y:5977 { yyLOCAL = tree.NewAttributeUnique() } @@ -13077,7 +13078,7 @@ yydefault: case 1046: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.ColumnAttribute -//line mysql_sql.y:5980 +//line mysql_sql.y:5981 { yyLOCAL = tree.NewAttributeKey() } @@ -13085,7 +13086,7 @@ yydefault: case 1047: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5986 +//line mysql_sql.y:5987 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_char) } @@ -13093,7 +13094,7 @@ yydefault: case 1048: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:5990 +//line mysql_sql.y:5991 { str := fmt.Sprintf("%v", yyDollar[1].item) switch v := yyDollar[1].item.(type) { @@ -13110,7 +13111,7 @@ yydefault: case 1049: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6003 +//line mysql_sql.y:6004 { fval := yyDollar[1].item.(float64) yyLOCAL = tree.NewNumValWithType(constant.MakeFloat64(fval), yylex.(*Lexer).scanner.LastToken, false, tree.P_float64) @@ -13119,7 +13120,7 @@ yydefault: case 1050: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6008 +//line mysql_sql.y:6009 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(true), "true", false, tree.P_bool) } @@ -13127,7 +13128,7 @@ yydefault: case 1051: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6012 +//line mysql_sql.y:6013 { yyLOCAL = tree.NewNumValWithType(constant.MakeBool(false), "false", false, tree.P_bool) } @@ -13135,7 +13136,7 @@ yydefault: case 1052: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6016 +//line mysql_sql.y:6017 { yyLOCAL = tree.NewNumValWithType(constant.MakeUnknown(), "null", false, tree.P_null) } @@ -13143,7 +13144,7 @@ yydefault: case 1053: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6020 +//line mysql_sql.y:6021 { switch v := yyDollar[1].item.(type) { case uint64: @@ -13161,7 +13162,7 @@ yydefault: case 1054: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6034 +//line mysql_sql.y:6035 { yyLOCAL = tree.NewNumValWithType(constant.MakeString(yyDollar[1].str), yyDollar[1].str, false, tree.P_decimal) } @@ -13169,7 +13170,7 @@ yydefault: case 1055: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6038 +//line mysql_sql.y:6039 { switch v := yyDollar[1].item.(type) { case uint64: @@ -13187,7 +13188,7 @@ yydefault: case 1056: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL tree.Expr -//line mysql_sql.y:6052 +//line mysql_sql.y:6053 { yyLOCAL = tree.NewParamExpr(yylex.(*Lexer).GetParamIndex()) } @@ -13195,7 +13196,7 @@ yydefault: case 1057: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6058 +//line mysql_sql.y:6059 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.Unsigned = yyDollar[2].unsignedOptUnion() @@ -13205,7 +13206,7 @@ yydefault: case 1061: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6069 +//line mysql_sql.y:6070 { yyLOCAL = yyDollar[1].columnTypeUnion() yyLOCAL.InternalType.DisplayWith = yyDollar[2].lengthOptUnion() @@ -13214,7 +13215,7 @@ yydefault: case 1062: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6074 +//line mysql_sql.y:6075 { yyLOCAL = yyDollar[1].columnTypeUnion() } @@ -13222,7 +13223,7 @@ yydefault: case 1063: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6080 +//line mysql_sql.y:6081 { locale := "" yyLOCAL = &tree.T{ @@ -13238,7 +13239,7 @@ yydefault: case 1064: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6092 +//line mysql_sql.y:6093 { locale := "" yyLOCAL = &tree.T{ @@ -13254,7 +13255,7 @@ yydefault: case 1065: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6104 +//line mysql_sql.y:6105 { locale := "" yyLOCAL = &tree.T{ @@ -13270,7 +13271,7 @@ yydefault: case 1066: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6116 +//line mysql_sql.y:6117 { locale := "" yyLOCAL = &tree.T{ @@ -13287,7 +13288,7 @@ yydefault: case 1067: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6129 +//line mysql_sql.y:6130 { locale := "" yyLOCAL = &tree.T{ @@ -13304,7 +13305,7 @@ yydefault: case 1068: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6142 +//line mysql_sql.y:6143 { locale := "" yyLOCAL = &tree.T{ @@ -13321,7 +13322,7 @@ yydefault: case 1069: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6155 +//line mysql_sql.y:6156 { locale := "" yyLOCAL = &tree.T{ @@ -13338,7 +13339,7 @@ yydefault: case 1070: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6168 +//line mysql_sql.y:6169 { locale := "" yyLOCAL = &tree.T{ @@ -13355,7 +13356,7 @@ yydefault: case 1071: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6181 +//line mysql_sql.y:6182 { locale := "" yyLOCAL = &tree.T{ @@ -13372,7 +13373,7 @@ yydefault: case 1072: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6194 +//line mysql_sql.y:6195 { locale := "" yyLOCAL = &tree.T{ @@ -13389,7 +13390,7 @@ yydefault: case 1073: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6207 +//line mysql_sql.y:6208 { locale := "" yyLOCAL = &tree.T{ @@ -13406,7 +13407,7 @@ yydefault: case 1074: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6220 +//line mysql_sql.y:6221 { locale := "" yyLOCAL = &tree.T{ @@ -13423,7 +13424,7 @@ yydefault: case 1075: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6233 +//line mysql_sql.y:6234 { locale := "" yyLOCAL = &tree.T{ @@ -13440,7 +13441,7 @@ yydefault: case 1076: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6246 +//line mysql_sql.y:6247 { locale := "" yyLOCAL = &tree.T{ @@ -13457,7 +13458,7 @@ yydefault: case 1077: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6261 +//line mysql_sql.y:6262 { locale := "" if yyDollar[2].lengthScaleOptUnion().DisplayWith > 255 { @@ -13484,7 +13485,7 @@ yydefault: case 1078: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6284 +//line mysql_sql.y:6285 { locale := "" if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -13524,7 +13525,7 @@ yydefault: case 1079: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6321 +//line mysql_sql.y:6322 { locale := "" if yyDollar[2].lengthScaleOptUnion().Precision != tree.NotDefineDec && yyDollar[2].lengthScaleOptUnion().Precision > yyDollar[2].lengthScaleOptUnion().DisplayWith { @@ -13564,7 +13565,7 @@ yydefault: case 1080: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6369 +//line mysql_sql.y:6370 { locale := "" yyLOCAL = &tree.T{ @@ -13583,7 +13584,7 @@ yydefault: case 1081: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6386 +//line mysql_sql.y:6387 { locale := "" yyLOCAL = &tree.T{ @@ -13599,7 +13600,7 @@ yydefault: case 1082: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6398 +//line mysql_sql.y:6399 { locale := "" yyLOCAL = &tree.T{ @@ -13618,7 +13619,7 @@ yydefault: case 1083: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6413 +//line mysql_sql.y:6414 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -13642,7 +13643,7 @@ yydefault: case 1084: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6433 +//line mysql_sql.y:6434 { locale := "" if yyDollar[2].lengthOptUnion() < 0 || yyDollar[2].lengthOptUnion() > 6 { @@ -13666,7 +13667,7 @@ yydefault: case 1085: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6453 +//line mysql_sql.y:6454 { locale := "" yyLOCAL = &tree.T{ @@ -13684,7 +13685,7 @@ yydefault: case 1086: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6469 +//line mysql_sql.y:6470 { locale := "" yyLOCAL = &tree.T{ @@ -13701,7 +13702,7 @@ yydefault: case 1087: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6482 +//line mysql_sql.y:6483 { locale := "" yyLOCAL = &tree.T{ @@ -13718,7 +13719,7 @@ yydefault: case 1088: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6495 +//line mysql_sql.y:6496 { locale := "" yyLOCAL = &tree.T{ @@ -13735,7 +13736,7 @@ yydefault: case 1089: yyDollar = yyS[yypt-2 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6508 +//line mysql_sql.y:6509 { locale := "" yyLOCAL = &tree.T{ @@ -13752,7 +13753,7 @@ yydefault: case 1090: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6521 +//line mysql_sql.y:6522 { locale := "" yyLOCAL = &tree.T{ @@ -13768,7 +13769,7 @@ yydefault: case 1091: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6533 +//line mysql_sql.y:6534 { locale := "" yyLOCAL = &tree.T{ @@ -13784,7 +13785,7 @@ yydefault: case 1092: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6545 +//line mysql_sql.y:6546 { locale := "" yyLOCAL = &tree.T{ @@ -13800,7 +13801,7 @@ yydefault: case 1093: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6557 +//line mysql_sql.y:6558 { locale := "" yyLOCAL = &tree.T{ @@ -13816,7 +13817,7 @@ yydefault: case 1094: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6569 +//line mysql_sql.y:6570 { locale := "" yyLOCAL = &tree.T{ @@ -13832,7 +13833,7 @@ yydefault: case 1095: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6581 +//line mysql_sql.y:6582 { locale := "" yyLOCAL = &tree.T{ @@ -13848,7 +13849,7 @@ yydefault: case 1096: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6593 +//line mysql_sql.y:6594 { locale := "" yyLOCAL = &tree.T{ @@ -13864,7 +13865,7 @@ yydefault: case 1097: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6605 +//line mysql_sql.y:6606 { locale := "" yyLOCAL = &tree.T{ @@ -13880,7 +13881,7 @@ yydefault: case 1098: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6617 +//line mysql_sql.y:6618 { locale := "" yyLOCAL = &tree.T{ @@ -13896,7 +13897,7 @@ yydefault: case 1099: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6629 +//line mysql_sql.y:6630 { locale := "" yyLOCAL = &tree.T{ @@ -13913,7 +13914,7 @@ yydefault: case 1100: yyDollar = yyS[yypt-4 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6642 +//line mysql_sql.y:6643 { locale := "" yyLOCAL = &tree.T{ @@ -13930,7 +13931,7 @@ yydefault: case 1101: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL *tree.T -//line mysql_sql.y:6657 +//line mysql_sql.y:6658 { locale := "" yyLOCAL = &tree.T{ @@ -13946,7 +13947,7 @@ yydefault: case 1102: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6680 +//line mysql_sql.y:6681 { yyLOCAL = make([]string, 0, 4) yyLOCAL = append(yyLOCAL, yyDollar[1].str) @@ -13955,7 +13956,7 @@ yydefault: case 1103: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL []string -//line mysql_sql.y:6685 +//line mysql_sql.y:6686 { yyLOCAL = append(yyDollar[1].strsUnion(), yyDollar[3].str) } @@ -13963,7 +13964,7 @@ yydefault: case 1104: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6691 +//line mysql_sql.y:6692 { yyLOCAL = 0 } @@ -13971,7 +13972,7 @@ yydefault: case 1106: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6698 +//line mysql_sql.y:6699 { yyLOCAL = 0 } @@ -13979,7 +13980,7 @@ yydefault: case 1107: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6702 +//line mysql_sql.y:6703 { yyLOCAL = int32(yyDollar[2].item.(int64)) } @@ -13987,7 +13988,7 @@ yydefault: case 1108: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6707 +//line mysql_sql.y:6708 { yyLOCAL = int32(-1) } @@ -13995,7 +13996,7 @@ yydefault: case 1109: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6711 +//line mysql_sql.y:6712 { yyLOCAL = int32(yyDollar[2].item.(int64)) } @@ -14003,7 +14004,7 @@ yydefault: case 1110: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL int32 -//line mysql_sql.y:6717 +//line mysql_sql.y:6718 { yyLOCAL = tree.GetDisplayWith(int32(yyDollar[2].item.(int64))) } @@ -14011,7 +14012,7 @@ yydefault: case 1111: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6723 +//line mysql_sql.y:6724 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.NotDefineDisplayWidth, @@ -14022,7 +14023,7 @@ yydefault: case 1112: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6730 +//line mysql_sql.y:6731 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14033,7 +14034,7 @@ yydefault: case 1113: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6737 +//line mysql_sql.y:6738 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14044,7 +14045,7 @@ yydefault: case 1114: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6746 +//line mysql_sql.y:6747 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: 34, // this is the default precision for decimal @@ -14055,7 +14056,7 @@ yydefault: case 1115: yyDollar = yyS[yypt-3 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6753 +//line mysql_sql.y:6754 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14066,7 +14067,7 @@ yydefault: case 1116: yyDollar = yyS[yypt-5 : yypt+1] var yyLOCAL tree.LengthScaleOpt -//line mysql_sql.y:6760 +//line mysql_sql.y:6761 { yyLOCAL = tree.LengthScaleOpt{ DisplayWith: tree.GetDisplayWith(int32(yyDollar[2].item.(int64))), @@ -14077,7 +14078,7 @@ yydefault: case 1117: yyDollar = yyS[yypt-0 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6769 +//line mysql_sql.y:6770 { yyLOCAL = false } @@ -14085,7 +14086,7 @@ yydefault: case 1118: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6773 +//line mysql_sql.y:6774 { yyLOCAL = true } @@ -14093,33 +14094,33 @@ yydefault: case 1119: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6777 +//line mysql_sql.y:6778 { yyLOCAL = false } yyVAL.union = yyLOCAL case 1120: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6783 +//line mysql_sql.y:6784 { } case 1121: yyDollar = yyS[yypt-1 : yypt+1] var yyLOCAL bool -//line mysql_sql.y:6785 +//line mysql_sql.y:6786 { yyLOCAL = true } yyVAL.union = yyLOCAL case 1125: yyDollar = yyS[yypt-0 : yypt+1] -//line mysql_sql.y:6795 +//line mysql_sql.y:6796 { yyVAL.str = "" } case 1126: yyDollar = yyS[yypt-1 : yypt+1] -//line mysql_sql.y:6799 +//line mysql_sql.y:6800 { yyVAL.str = string(yyDollar[1].str) } diff --git a/pkg/sql/parsers/dialect/mysql/mysql_sql.y b/pkg/sql/parsers/dialect/mysql/mysql_sql.y index 21e113e116f781b62ee8380e3001157b3aed4efa..fcab366192749b86b1780f53798428565175fd85 100644 --- a/pkg/sql/parsers/dialect/mysql/mysql_sql.y +++ b/pkg/sql/parsers/dialect/mysql/mysql_sql.y @@ -3886,6 +3886,7 @@ create_table_stmt: | CREATE EXTERNAL TABLE not_exists_opt table_name '(' table_elem_list_opt ')' load_param_opt_2 { $$ = &tree.CreateTable { + IfNotExists: $4, Table: *$5, Defs: $7, Param: $9, diff --git a/pkg/sql/plan/query_builder.go b/pkg/sql/plan/query_builder.go index 52335cd395f5b118cdd0abf724915435e2dd7043..bc8cef36348e1c805a427ae1ba705fe1e5f8c0f8 100644 --- a/pkg/sql/plan/query_builder.go +++ b/pkg/sql/plan/query_builder.go @@ -2037,7 +2037,7 @@ func (builder *QueryBuilder) pushdownFilters(nodeID int32, filters []*plan.Expr) case plan.Node_PROJECT: child := builder.qry.Nodes[node.Children[0]] - if child.NodeType == plan.Node_VALUE_SCAN && child.RowsetData == nil { + if (child.NodeType == plan.Node_VALUE_SCAN || child.NodeType == plan.Node_EXTERNAL_SCAN) && child.RowsetData == nil { cantPushdown = filters break } @@ -2060,7 +2060,7 @@ func (builder *QueryBuilder) pushdownFilters(nodeID int32, filters []*plan.Expr) node.Children[0] = childID - case plan.Node_TABLE_SCAN: + case plan.Node_TABLE_SCAN, plan.Node_EXTERNAL_SCAN: node.FilterList = append(node.FilterList, filters...) default: diff --git a/pkg/sql/plan/rule/predicate_pushdown.go b/pkg/sql/plan/rule/predicate_pushdown.go index a285730829de0ec1fbe6ae772fc6e308d23e6a0a..a452ed0d562de5b7b0fec17463e6784c04ab0882 100644 --- a/pkg/sql/plan/rule/predicate_pushdown.go +++ b/pkg/sql/plan/rule/predicate_pushdown.go @@ -27,7 +27,7 @@ func NewPredicatePushdown() *PredicatePushdown { } func (r *PredicatePushdown) Match(n *plan.Node) bool { - return n.NodeType != plan.Node_TABLE_SCAN && len(n.FilterList) > 0 + return n.NodeType != plan.Node_TABLE_SCAN && n.NodeType != plan.Node_EXTERNAL_SCAN && len(n.FilterList) > 0 } func (r *PredicatePushdown) Apply(n *plan.Node, qry *plan.Query) { diff --git a/pkg/vm/pipeline/pipeline.go b/pkg/vm/pipeline/pipeline.go index db8a3bcff311375b6fae894372790b7333838937..c6f8d262b10c1b9a5e9075745f94d39d81376cc8 100644 --- a/pkg/vm/pipeline/pipeline.go +++ b/pkg/vm/pipeline/pipeline.go @@ -97,13 +97,14 @@ func (p *Pipeline) ConstRun(bat *batch.Batch, proc *process.Process) (bool, erro // processing the batch according to the instructions for { proc.Reg.InputBatch = bat - end, err = vm.Run(p.instructions, proc) + if end, err = vm.Run(p.instructions, proc); err != nil || end { + return end, err + } proc.Reg.InputBatch = nil - if end2, err2 := vm.Run(p.instructions, proc); err2 != nil || end2 { - break + if end, err = vm.Run(p.instructions, proc); err != nil || end { + return end, err } } - return end, err } func (p *Pipeline) MergeRun(proc *process.Process) (bool, error) {