func checkCases(cases []testCase, ld *executor.LoadDataInfo, c *C, tk *testkit.TestKit, ctx context.Context, selectSQL, deleteSQL string) { for _, ca := range cases { data, err1 := ld.InsertData(ca.data1, ca.data2) c.Assert(err1, IsNil) if ca.restData == nil { c.Assert(data, HasLen, 0, Commentf("data1:%v, data2:%v, data:%v", string(ca.data1), string(ca.data2), string(data))) } else { c.Assert(data, DeepEquals, ca.restData, Commentf("data1:%v, data2:%v, data:%v", string(ca.data1), string(ca.data2), string(data))) } err1 = ctx.CommitTxn() c.Assert(err1, IsNil) r := tk.MustQuery(selectSQL) r.Check(testkit.Rows(ca.expected...)) tk.MustExec(deleteSQL) } }
func (s *testSuite) fillDataMultiTable(tk *testkit.TestKit) { tk.MustExec("use test") tk.MustExec("drop table if exists t1, t2, t3") // Create and fill table t1 tk.MustExec("create table t1 (id int, data int);") tk.MustExec("insert into t1 values (11, 121), (12, 122), (13, 123);") tk.CheckExecResult(3, 0) // Create and fill table t2 tk.MustExec("create table t2 (id int, data int);") tk.MustExec("insert into t2 values (11, 221), (22, 222), (23, 223);") tk.CheckExecResult(3, 0) // Create and fill table t3 tk.MustExec("create table t3 (id int, data int);") tk.MustExec("insert into t3 values (11, 321), (22, 322), (23, 323);") tk.CheckExecResult(3, 0) }
func (s *testSuite) fillMultiTableForUpdate(tk *testkit.TestKit) { // Create and fill table items tk.MustExec("CREATE TABLE items (id int, price TEXT);") tk.MustExec(`insert into items values (11, "items_price_11"), (12, "items_price_12"), (13, "items_price_13");`) tk.CheckExecResult(3, 0) // Create and fill table month tk.MustExec("CREATE TABLE month (mid int, mprice TEXT);") tk.MustExec(`insert into month values (11, "month_price_11"), (22, "month_price_22"), (13, "month_price_13");`) tk.CheckExecResult(3, 0) }
func (s *testSuite) fillData(tk *testkit.TestKit, table string) { tk.MustExec("use test") tk.MustExec(fmt.Sprintf("create table %s(id int not null default 1, name varchar(255), PRIMARY KEY(id));", table)) // insert data tk.MustExec(fmt.Sprintf("insert INTO %s VALUES (1, \"hello\");", table)) tk.CheckExecResult(1, 0) tk.MustExec(fmt.Sprintf("insert into %s values (2, \"hello\");", table)) tk.CheckExecResult(1, 0) }