|
@@ -211,6 +211,10 @@ func TestTransactionBatch(t *testing.T) {
|
|
|
now2 := time.Now().Local()
|
|
|
tableNum2 := rand.New(rand.NewSource(now2.Unix())).Intn(10)
|
|
|
|
|
|
+ newName := simpleUUID()
|
|
|
+ newNow := time.Now().Local()
|
|
|
+ newTableNum := rand.New(rand.NewSource(newNow.Unix())).Intn(10)
|
|
|
+
|
|
|
var count int64
|
|
|
resultTableRow := client.NewTableRow()
|
|
|
|
|
@@ -271,17 +275,15 @@ func TestTransactionBatch(t *testing.T) {
|
|
|
assertEqual(now2.Unix(), resultTableRow.ColumnValueTime("time").Unix(), "时间不一致").
|
|
|
assertEqual(tableNum2, resultTableRow.ColumnValueInt("table_num"), "表数量不一致").
|
|
|
transaction(func(tx client.Transaction) error {
|
|
|
- statement, err := tx.DeleteBatchTx(&client.DeleteBatchRequest{
|
|
|
- Items: []client.DeleteTableRowItem{
|
|
|
- {
|
|
|
- TablePrefixWithSchema: tablePrefix,
|
|
|
- Version: "v1",
|
|
|
- KeyValues: []map[string]string{
|
|
|
- {"id": id1},
|
|
|
- {"id": id2},
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
+ statement, err := tx.UpdateWhereTx(&client.UpdateWhereRequest{
|
|
|
+ TablePrefixWithSchema: tablePrefix,
|
|
|
+ Version: "v1",
|
|
|
+ KeyColumns: []string{"id"},
|
|
|
+ Where: client.NewClause().In("id", []string{id1, id2}),
|
|
|
+ NewTableRow: client.NewTableRow().
|
|
|
+ AddColumnValueString("name", newName).
|
|
|
+ AddColumnValueTime("time", newNow).
|
|
|
+ AddColumnValueInt("table_num", newTableNum),
|
|
|
UserID: "test",
|
|
|
})
|
|
|
if err != nil {
|
|
@@ -292,6 +294,40 @@ func TestTransactionBatch(t *testing.T) {
|
|
|
|
|
|
return nil
|
|
|
}).
|
|
|
+ queryByKeys(&client.QueryByKeysRequest{
|
|
|
+ TablePrefixWithSchema: tablePrefix,
|
|
|
+ Version: "v1",
|
|
|
+ KeyValues: map[string]string{"id": id1},
|
|
|
+ }, resultTableRow).
|
|
|
+ assertEqual(id1, resultTableRow.ColumnValueString("id"), "ID不一致").
|
|
|
+ assertEqual(newName, resultTableRow.ColumnValueString("name"), "名称不一致").
|
|
|
+ assertEqual(newNow.Unix(), resultTableRow.ColumnValueTime("time").Unix(), "时间不一致").
|
|
|
+ assertEqual(newTableNum, resultTableRow.ColumnValueInt("table_num"), "表数量不一致").
|
|
|
+ queryByKeys(&client.QueryByKeysRequest{
|
|
|
+ TablePrefixWithSchema: tablePrefix,
|
|
|
+ Version: "v1",
|
|
|
+ KeyValues: map[string]string{"id": id2},
|
|
|
+ }, resultTableRow).
|
|
|
+ assertEqual(id2, resultTableRow.ColumnValueString("id"), "ID不一致").
|
|
|
+ assertEqual(newName, resultTableRow.ColumnValueString("name"), "名称不一致").
|
|
|
+ assertEqual(newNow.Unix(), resultTableRow.ColumnValueTime("time").Unix(), "时间不一致").
|
|
|
+ assertEqual(newTableNum, resultTableRow.ColumnValueInt("table_num"), "表数量不一致").
|
|
|
+ transaction(func(tx client.Transaction) error {
|
|
|
+ statement, err := tx.DeleteWhereTx(&client.DeleteWhereRequest{
|
|
|
+ TablePrefixWithSchema: tablePrefix,
|
|
|
+ Version: "v1",
|
|
|
+ KeyColumns: []string{"id"},
|
|
|
+ Where: client.NewClause().In("id", []string{id1, id2}),
|
|
|
+ UserID: "test",
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ return err
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Println(statement)
|
|
|
+
|
|
|
+ return nil
|
|
|
+ }).
|
|
|
countWhere(&client.CountWhereRequest{
|
|
|
TablePrefixWithSchema: tablePrefix,
|
|
|
Version: "v1",
|
|
@@ -530,7 +566,7 @@ func TestUpdate(t *testing.T) {
|
|
|
assertEqual(newTableNum, resultTableRow.ColumnValueInt("table_num"), "表数量不一致")
|
|
|
}
|
|
|
|
|
|
-func TestDelete(t *testing.T) {
|
|
|
+func TestUpdateWhere(t *testing.T) {
|
|
|
initClient(t, "localhost:30170", "2b78141779ee432295ca371b91c5cac7")
|
|
|
defer destroyClient(t, "2b78141779ee432295ca371b91c5cac7")
|
|
|
|
|
@@ -540,8 +576,11 @@ func TestDelete(t *testing.T) {
|
|
|
name := simpleUUID()
|
|
|
now := time.Now().Local()
|
|
|
tableNum := rand.New(rand.NewSource(now.Unix())).Intn(10)
|
|
|
+ newName := simpleUUID()
|
|
|
+ newNow := time.Now().Local()
|
|
|
+ newTableNum := rand.New(rand.NewSource(now.Unix())).Intn(10)
|
|
|
|
|
|
- var count int64
|
|
|
+ resultTableRow := client.NewTableRow()
|
|
|
|
|
|
newToolKit(t).
|
|
|
autoMigrate([]client.AutoMigrateItem{
|
|
@@ -562,21 +601,30 @@ func TestDelete(t *testing.T) {
|
|
|
AddColumnValueInt("table_num", tableNum),
|
|
|
UserID: "test",
|
|
|
}).
|
|
|
- delete(&client.DeleteRequest{
|
|
|
+ updateWhere(&client.UpdateWhereRequest{
|
|
|
TablePrefixWithSchema: tablePrefix,
|
|
|
Version: "v1",
|
|
|
- KeyValues: map[string]string{"id": id},
|
|
|
- UserID: "test",
|
|
|
+ KeyColumns: []string{"id"},
|
|
|
+ Where: client.NewClause().Equal("name", name),
|
|
|
+ NewTableRow: client.NewTableRow().
|
|
|
+ AddColumnValueString("id", id).
|
|
|
+ AddColumnValueString("name", newName).
|
|
|
+ AddColumnValueTime("time", newNow).
|
|
|
+ AddColumnValueInt("table_num", newTableNum),
|
|
|
+ UserID: "test",
|
|
|
}).
|
|
|
- countWhere(&client.CountWhereRequest{
|
|
|
+ queryByKeys(&client.QueryByKeysRequest{
|
|
|
TablePrefixWithSchema: tablePrefix,
|
|
|
Version: "v1",
|
|
|
- Where: client.NewClause().Equal("id", id),
|
|
|
- }, &count).
|
|
|
- assertEqual(int64(0), count, "数量不一致")
|
|
|
+ KeyValues: map[string]string{"id": id},
|
|
|
+ }, resultTableRow).
|
|
|
+ assertEqual(id, resultTableRow.ColumnValueString("id"), "ID不一致").
|
|
|
+ assertEqual(newName, resultTableRow.ColumnValueString("name"), "名称不一致").
|
|
|
+ assertEqual(newNow.Unix(), resultTableRow.ColumnValueTime("time").Unix(), "时间不一致").
|
|
|
+ assertEqual(newTableNum, resultTableRow.ColumnValueInt("table_num"), "表数量不一致")
|
|
|
}
|
|
|
|
|
|
-func TestDeleteWhere(t *testing.T) {
|
|
|
+func TestDelete(t *testing.T) {
|
|
|
initClient(t, "localhost:30170", "2b78141779ee432295ca371b91c5cac7")
|
|
|
defer destroyClient(t, "2b78141779ee432295ca371b91c5cac7")
|
|
|
|
|
@@ -608,11 +656,10 @@ func TestDeleteWhere(t *testing.T) {
|
|
|
AddColumnValueInt("table_num", tableNum),
|
|
|
UserID: "test",
|
|
|
}).
|
|
|
- deleteWhere(&client.DeleteWhereRequest{
|
|
|
+ delete(&client.DeleteRequest{
|
|
|
TablePrefixWithSchema: tablePrefix,
|
|
|
Version: "v1",
|
|
|
- KeyColumns: []string{"id"},
|
|
|
- Where: client.NewClause().Equal("name", name),
|
|
|
+ KeyValues: map[string]string{"id": id},
|
|
|
UserID: "test",
|
|
|
}).
|
|
|
countWhere(&client.CountWhereRequest{
|
|
@@ -623,21 +670,16 @@ func TestDeleteWhere(t *testing.T) {
|
|
|
assertEqual(int64(0), count, "数量不一致")
|
|
|
}
|
|
|
|
|
|
-func TestDeleteBatch(t *testing.T) {
|
|
|
+func TestDeleteWhere(t *testing.T) {
|
|
|
initClient(t, "localhost:30170", "2b78141779ee432295ca371b91c5cac7")
|
|
|
defer destroyClient(t, "2b78141779ee432295ca371b91c5cac7")
|
|
|
|
|
|
tablePrefix := "test." + simpleUUID()[0:8]
|
|
|
|
|
|
- id1 := simpleUUID()
|
|
|
- name1 := simpleUUID()
|
|
|
- now1 := time.Now().Local()
|
|
|
- tableNum1 := rand.New(rand.NewSource(now1.Unix())).Intn(10)
|
|
|
-
|
|
|
- id2 := simpleUUID()
|
|
|
- name2 := simpleUUID()
|
|
|
- now2 := time.Now().Local()
|
|
|
- tableNum2 := rand.New(rand.NewSource(now2.Unix())).Intn(10)
|
|
|
+ id := simpleUUID()
|
|
|
+ name := simpleUUID()
|
|
|
+ now := time.Now().Local()
|
|
|
+ tableNum := rand.New(rand.NewSource(now.Unix())).Intn(10)
|
|
|
|
|
|
var count int64
|
|
|
|
|
@@ -649,43 +691,28 @@ func TestDeleteBatch(t *testing.T) {
|
|
|
TableModelDescribe: tableModelDescribe,
|
|
|
},
|
|
|
}).
|
|
|
- insertBatch(&client.InsertBatchRequest{
|
|
|
- Items: []client.InsertTableRowItem{
|
|
|
- {
|
|
|
- TablePrefixWithSchema: tablePrefix,
|
|
|
- Version: "v1",
|
|
|
- KeyColumns: []string{"id"},
|
|
|
- TableRows: []*client.TableRow{
|
|
|
- client.NewTableRow().
|
|
|
- AddColumnValueString("id", id1).
|
|
|
- AddColumnValueString("name", name1).
|
|
|
- AddColumnValueTime("time", now1).
|
|
|
- AddColumnValueInt("table_num", tableNum1),
|
|
|
- client.NewTableRow().
|
|
|
- AddColumnValueString("id", id2).
|
|
|
- AddColumnValueString("name", name2).
|
|
|
- AddColumnValueTime("time", now2).
|
|
|
- AddColumnValueInt("table_num", tableNum2),
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
- }).
|
|
|
- deleteBatch(&client.DeleteBatchRequest{
|
|
|
- Items: []client.DeleteTableRowItem{
|
|
|
- {
|
|
|
- TablePrefixWithSchema: tablePrefix,
|
|
|
- Version: "v1",
|
|
|
- KeyValues: []map[string]string{
|
|
|
- {"id": id1},
|
|
|
- {"id": id2},
|
|
|
- },
|
|
|
- },
|
|
|
- },
|
|
|
+ insert(&client.InsertRequest{
|
|
|
+ TablePrefixWithSchema: tablePrefix,
|
|
|
+ Version: "v1",
|
|
|
+ KeyColumns: []string{"id"},
|
|
|
+ TableRow: client.NewTableRow().
|
|
|
+ AddColumnValueString("id", id).
|
|
|
+ AddColumnValueString("name", name).
|
|
|
+ AddColumnValueTime("time", now).
|
|
|
+ AddColumnValueInt("table_num", tableNum),
|
|
|
UserID: "test",
|
|
|
}).
|
|
|
- commonCount(&client.CommonCountRequest{
|
|
|
+ deleteWhere(&client.DeleteWhereRequest{
|
|
|
TablePrefixWithSchema: tablePrefix,
|
|
|
Version: "v1",
|
|
|
+ KeyColumns: []string{"id"},
|
|
|
+ Where: client.NewClause().Equal("name", name),
|
|
|
+ UserID: "test",
|
|
|
+ }).
|
|
|
+ countWhere(&client.CountWhereRequest{
|
|
|
+ TablePrefixWithSchema: tablePrefix,
|
|
|
+ Version: "v1",
|
|
|
+ Where: client.NewClause().Equal("id", id),
|
|
|
}, &count).
|
|
|
assertEqual(int64(0), count, "数量不一致")
|
|
|
}
|