diff --git a/executor/executor_test.go b/executor/executor_test.go index d68be53420147..13efa78e0eecb 100644 --- a/executor/executor_test.go +++ b/executor/executor_test.go @@ -3379,6 +3379,17 @@ func (s *testSuite3) TestIndexJoinTableDualPanic(c *C) { Check(testkit.Rows("1 a")) } +func (s *testSuite3) TestSortLeftJoinWithNullColumnInRightChildPanic(c *C) { + tk := testkit.NewTestKit(c, s.store) + tk.MustExec("use test") + tk.MustExec("drop table if exists t1, t2") + tk.MustExec("create table t1(a int)") + tk.MustExec("create table t2(a int)") + tk.MustExec("insert into t1(a) select 1;") + tk.MustQuery("select b.n from t1 left join (select a as a, null as n from t2) b on b.a = t1.a order by t1.a"). + Check(testkit.Rows("")) +} + func (s *testSuite3) TestUnionAutoSignedCast(c *C) { tk := testkit.NewTestKit(c, s.store) tk.MustExec("use test") diff --git a/util/chunk/codec.go b/util/chunk/codec.go index 4458dbe76e1bc..498e034000269 100644 --- a/util/chunk/codec.go +++ b/util/chunk/codec.go @@ -171,7 +171,7 @@ func getFixedLen(colType *types.FieldType) int { case mysql.TypeFloat: return 4 case mysql.TypeTiny, mysql.TypeShort, mysql.TypeInt24, mysql.TypeLong, - mysql.TypeLonglong, mysql.TypeDouble, mysql.TypeYear, mysql.TypeDuration: + mysql.TypeLonglong, mysql.TypeDouble, mysql.TypeYear, mysql.TypeDuration, mysql.TypeNull: return 8 case mysql.TypeDate, mysql.TypeDatetime, mysql.TypeTimestamp: return 16