From bd69b15e79147a0727524b2d2a532580cb45a686 Mon Sep 17 00:00:00 2001 From: Lynn Date: Mon, 24 Dec 2018 22:22:00 +0800 Subject: [PATCH] *: add the error check (#8770) --- ddl/db_integration_test.go | 1 + ddl/ddl_worker_test.go | 1 + executor/executor.go | 3 +++ privilege/privileges/privileges_test.go | 1 + sessionctx/variable/varsutil_test.go | 2 ++ store/tikv/gcworker/gc_worker_test.go | 1 + table/tables/tables.go | 3 +++ util/admin/admin_test.go | 4 ++-- util/ranger/detacher.go | 2 +- 9 files changed, 15 insertions(+), 3 deletions(-) diff --git a/ddl/db_integration_test.go b/ddl/db_integration_test.go index e2bbff37e0b0a..ccd5ab7ae3c81 100644 --- a/ddl/db_integration_test.go +++ b/ddl/db_integration_test.go @@ -82,6 +82,7 @@ func (s *testIntegrationSuite) SetUpSuite(c *C) { session.SetSchemaLease(s.lease) session.SetStatsLease(0) s.dom, err = session.BootstrapSession(s.store) + c.Assert(err, IsNil) se, err := session.CreateSession4Test(s.store) c.Assert(err, IsNil) diff --git a/ddl/ddl_worker_test.go b/ddl/ddl_worker_test.go index caaba53b74a10..4982efb17c3c5 100644 --- a/ddl/ddl_worker_test.go +++ b/ddl/ddl_worker_test.go @@ -504,6 +504,7 @@ func (s *testDDLSuite) TestCancelJob(c *C) { Options: []*ast.ColumnOption{}, } col, _, err := buildColumnAndConstraint(ctx, 2, newColumnDef, nil) + c.Assert(err, IsNil) addColumnArgs := []interface{}{col, &ast.ColumnPosition{Tp: ast.ColumnPositionNone}, 0} doDDLJobErrWithSchemaState(ctx, d, c, dbInfo.ID, tblInfo.ID, model.ActionAddColumn, addColumnArgs, &cancelState) c.Check(errors.ErrorStack(checkErr), Equals, "") diff --git a/executor/executor.go b/executor/executor.go index 8a33e48bda78e..7e6009ac72166 100644 --- a/executor/executor.go +++ b/executor/executor.go @@ -1083,6 +1083,9 @@ func (e *MaxOneRowExec) Next(ctx context.Context, chk *chunk.Chunk) error { childChunk := e.children[0].newFirstChunk() err = e.children[0].Next(ctx, childChunk) + if err != nil { + return errors.Trace(err) + } if childChunk.NumRows() != 0 { return errors.New("subquery returns more than 1 row") } diff --git a/privilege/privileges/privileges_test.go b/privilege/privileges/privileges_test.go index b0a6ebb543320..3dec73867a627 100644 --- a/privilege/privileges/privileges_test.go +++ b/privilege/privileges/privileges_test.go @@ -243,6 +243,7 @@ func (s *testPrivilegeSuite) TestShowGrants(c *C) { // This should now return an error gs, err = pc.ShowGrants(se, &auth.UserIdentity{Username: "show", Hostname: "localhost"}) + c.Assert(err, NotNil) // cant show grants for non-existent errNonexistingGrant := terror.ClassPrivilege.New(mysql.ErrNonexistingGrant, mysql.MySQLErrName[mysql.ErrNonexistingGrant]) c.Assert(terror.ErrorEqual(err, errNonexistingGrant), IsTrue) diff --git a/sessionctx/variable/varsutil_test.go b/sessionctx/variable/varsutil_test.go index e109a76987879..8fcf3c4d15f92 100644 --- a/sessionctx/variable/varsutil_test.go +++ b/sessionctx/variable/varsutil_test.go @@ -106,11 +106,13 @@ func (s *testVarsutilSuite) TestVarsutil(c *C) { // 0 converts to OFF SetSessionSystemVar(v, "foreign_key_checks", types.NewStringDatum("0")) val, err = GetSessionSystemVar(v, "foreign_key_checks") + c.Assert(err, IsNil) c.Assert(val, Equals, "OFF") // 1/ON is not supported (generates a warning and sets to OFF) SetSessionSystemVar(v, "foreign_key_checks", types.NewStringDatum("1")) val, err = GetSessionSystemVar(v, "foreign_key_checks") + c.Assert(err, IsNil) c.Assert(val, Equals, "OFF") SetSessionSystemVar(v, "sql_mode", types.NewStringDatum("strict_trans_tables")) diff --git a/store/tikv/gcworker/gc_worker_test.go b/store/tikv/gcworker/gc_worker_test.go index 8c7720acfe201..1bf14628ba45b 100644 --- a/store/tikv/gcworker/gc_worker_test.go +++ b/store/tikv/gcworker/gc_worker_test.go @@ -86,6 +86,7 @@ func (s *testGCWorkerSuite) TestPrepareGC(c *C) { close(s.gcWorker.done) ok, _, err := s.gcWorker.prepare() c.Assert(err, IsNil) + c.Assert(ok, IsFalse) lastRun, err := s.gcWorker.loadTime(gcLastRunTimeKey) c.Assert(err, IsNil) c.Assert(lastRun, NotNil) diff --git a/table/tables/tables.go b/table/tables/tables.go index 0945aa87f29a0..356099ac08b85 100644 --- a/table/tables/tables.go +++ b/table/tables/tables.go @@ -949,6 +949,9 @@ func (t *tableCommon) Seek(ctx sessionctx.Context, h int64) (int64, bool, error) } seekKey := tablecodec.EncodeRowKeyWithHandle(t.physicalTableID, h) iter, err := txn.Iter(seekKey, t.RecordPrefix().PrefixNext()) + if err != nil { + return 0, false, errors.Trace(err) + } if !iter.Valid() || !iter.Key().HasPrefix(t.RecordPrefix()) { // No more records in the table, skip to the end. return 0, false, nil diff --git a/util/admin/admin_test.go b/util/admin/admin_test.go index 3447647e6b74c..e4da87fa9a806 100644 --- a/util/admin/admin_test.go +++ b/util/admin/admin_test.go @@ -331,10 +331,10 @@ func (s *testSuite) TestScan(c *C) { idxRow2 := &RecordData{Handle: int64(2), Values: types.MakeDatums(int64(20))} kvIndex := tables.NewIndex(tb.Meta().ID, tb.Meta(), indices[0].Meta()) sc := &stmtctx.StatementContext{TimeZone: time.Local} - idxRows, nextVals, err := ScanIndexData(sc, txn, kvIndex, idxRow1.Values, 2) + idxRows, _, err := ScanIndexData(sc, txn, kvIndex, idxRow1.Values, 2) c.Assert(err, IsNil) c.Assert(idxRows, DeepEquals, []*RecordData{idxRow1, idxRow2}) - idxRows, nextVals, err = ScanIndexData(sc, txn, kvIndex, idxRow1.Values, 1) + idxRows, nextVals, err := ScanIndexData(sc, txn, kvIndex, idxRow1.Values, 1) c.Assert(err, IsNil) c.Assert(idxRows, DeepEquals, []*RecordData{idxRow1}) idxRows, nextVals, err = ScanIndexData(sc, txn, kvIndex, nextVals, 1) diff --git a/util/ranger/detacher.go b/util/ranger/detacher.go index f020a24b0e446..0ab586b53eafe 100644 --- a/util/ranger/detacher.go +++ b/util/ranger/detacher.go @@ -331,7 +331,7 @@ func DetachSimpleCondAndBuildRangeForIndex(sctx sessionctx.Context, conditions [ newTpSlice = append(newTpSlice, newFieldType(col.RetType)) } ranges, accessConds, _, _, err = detachCNFCondAndBuildRangeForIndex(sctx, conditions, cols, newTpSlice, lengths, false) - return ranges, accessConds, nil + return ranges, accessConds, errors.Trace(err) } func removeAccessConditions(conditions, accessConds []expression.Expression) []expression.Expression {