diff --git a/enginetest/queries/queries.go b/enginetest/queries/queries.go index b71dbe3ff2..99ed2f3f9f 100644 --- a/enginetest/queries/queries.go +++ b/enginetest/queries/queries.go @@ -8688,6 +8688,15 @@ from typestable`, {"k", "k", 1, 1, 0}, }, }, + { + Query: "select * from xy inner join uv on (xy.x in (false in ('asdf')));", + Expected: []sql.Row{ + {1, 0, 0, 1}, + {1, 0, 1, 1}, + {1, 0, 2, 2}, + {1, 0, 3, 2}, + }, + }, } var KeylessQueries = []QueryTest{ diff --git a/sql/expression/in.go b/sql/expression/in.go index 193761e1ec..bf9fe73651 100644 --- a/sql/expression/in.go +++ b/sql/expression/in.go @@ -336,7 +336,11 @@ func convertOrTruncate(ctx *sql.Context, i interface{}, t sql.Type) (interface{} Message: fmt.Sprintf("Truncated incorrect %s value: %v", t.String(), i), Code: 1292, } - ctx.Session.Warn(&warning) + + if ctx != nil && ctx.Session != nil { + ctx.Session.Warn(&warning) + } + return t.Zero(), nil }