From e16938687ce148148632d7a3d937fb687211713e Mon Sep 17 00:00:00 2001 From: James Cor Date: Fri, 9 May 2025 15:26:36 -0700 Subject: [PATCH] fix textstorage panic --- enginetest/queries/script_queries.go | 16 ++++++++++++++++ sql/expression/in.go | 5 ++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/enginetest/queries/script_queries.go b/enginetest/queries/script_queries.go index e0a1a4b307..1d2e771722 100644 --- a/enginetest/queries/script_queries.go +++ b/enginetest/queries/script_queries.go @@ -8436,6 +8436,22 @@ where }, }, }, + { + Name: "hash tuples", + Dialect: "mysql", + SetUpScript: []string{ + "CREATE TABLE test (id longtext);", + "INSERT INTO test (id) VALUES ('test_id');", + }, + Assertions: []ScriptTestAssertion{ + { + Query: "SELECT * FROM test WHERE id IN ('test_id');", + Expected: []sql.Row{ + {"test_id"}, + }, + }, + }, + }, } var SpatialScriptTests = []ScriptTest{ diff --git a/sql/expression/in.go b/sql/expression/in.go index 4dc5ee336f..039466e60a 100644 --- a/sql/expression/in.go +++ b/sql/expression/in.go @@ -274,7 +274,10 @@ func hashOfSimple(ctx *sql.Context, i interface{}, t sql.Type) (uint64, error) { if err != nil { return 0, err } - str = converted.(string) + str, _, err = sql.Unwrap[string](ctx, converted) + if err != nil { + return 0, err + } } } else { x, err := convertOrTruncate(ctx, i, t.Promote())