diff --git a/src/proxy/ddl.go b/src/proxy/ddl.go index 1e1efc90..c831fa68 100644 --- a/src/proxy/ddl.go +++ b/src/proxy/ddl.go @@ -227,11 +227,11 @@ func (spanner *Spanner) handleDDL(session *driver.Session, query string, node *s checkEngine(ddl) switch ddl.TableSpec.Options.Type { - case sqlparser.PartitionTableType, sqlparser.NormalTableType: + case sqlparser.PartitionTableHash, sqlparser.NormalTableType: if shardKey, err = tryGetShardKey(ddl); err != nil { return nil, err } - tableType = router.TableTypePartition + tableType = router.TableTypePartitionHash case sqlparser.GlobalTableType: tableType = router.TableTypeGlobal case sqlparser.SingleTableType: diff --git a/src/router/frm.go b/src/router/frm.go index 40859e94..875583fa 100644 --- a/src/router/frm.go +++ b/src/router/frm.go @@ -22,8 +22,12 @@ import ( const ( TableTypeSingle = "single" TableTypeGlobal = "global" - TableTypePartition = "partition" TableTypeUnknow = "unknow" + + // Table Partition by hash/list/range + TableTypePartitionHash = "hash" + TableTypePartitionList = "list" + TableTypePartitionRange = "range" ) // writeTableFrmData used to write table's json schema to file. @@ -217,7 +221,7 @@ func (r *Router) CreateTable(db, table, shardKey string, tableType string, backe if tableConf, err = r.SingleUniform(table, backends); err != nil { return err } - case TableTypePartition: + case TableTypePartitionHash: if tableConf, err = r.HashUniform(table, shardKey, backends); err != nil { return err } diff --git a/src/router/frm_test.go b/src/router/frm_test.go index 2d956638..29ddeb3d 100644 --- a/src/router/frm_test.go +++ b/src/router/frm_test.go @@ -85,7 +85,7 @@ func TestFrmTable(t *testing.T) { // Add partition table. { backends := []string{"backend1", "backend2"} - err := router.CreateTable("test", "t3_partition", "shardkey1", TableTypePartition, backends, nil) + err := router.CreateTable("test", "t3_partition", "shardkey1", TableTypePartitionHash, backends, nil) assert.Nil(t, err) } diff --git a/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/ast.go b/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/ast.go index 0700cb43..ecc75120 100644 --- a/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/ast.go +++ b/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/ast.go @@ -589,7 +589,7 @@ const ( TruncateTableStr = "truncate table" SingleTableType = "singletable" GlobalTableType = "globaltable" - PartitionTableType = "partitiontable" + PartitionTableHash = "partitiontableHash" NormalTableType = "normaltable" ) diff --git a/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.go b/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.go index d4e06447..2fd285cf 100644 --- a/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.go +++ b/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.go @@ -607,8 +607,12 @@ var yyExca = [...]int{ -2, 455, } +const yyNprod = 682 const yyPrivate = 57344 +var yyTokenNames []string +var yyStates []string + const yyLast = 7874 var yyAct = [...]int{ @@ -2459,7 +2463,7 @@ yydefault: yyDollar[1].ddl.Action = CreateTableStr yyDollar[1].ddl.TableSpec = yyDollar[2].TableSpec yyDollar[1].ddl.PartitionName = string(yyDollar[7].bytes) - yyDollar[1].ddl.TableSpec.Options.Type = PartitionTableType + yyDollar[1].ddl.TableSpec.Options.Type = PartitionTableHash yyVAL.statement = yyDollar[1].ddl } case 43: diff --git a/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.y b/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.y index 3cd693db..cf8ad7c1 100644 --- a/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.y +++ b/src/vendor/github.com/xelabs/go-mysqlstack/sqlparser/sql.y @@ -456,7 +456,7 @@ create_statement: $1.Action = CreateTableStr $1.TableSpec = $2 $1.PartitionName = string($7) - $1.TableSpec.Options.Type = PartitionTableType + $1.TableSpec.Options.Type = PartitionTableHash $$ = $1 } | create_table_prefix table_spec DISTRIBUTED BY openb ID closeb ddl_force_eof