From 0b2a20befcd58b08898f64db1b28a61a78ab37e9 Mon Sep 17 00:00:00 2001 From: yifanwu-sys <15507068379@163.com> Date: Fri, 19 Jun 2026 11:45:03 +0800 Subject: [PATCH] [test](regression) Add malformed percent-encoding test cases for url_decode --- .../string_functions/test_url_decode.groovy | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/regression-test/suites/query_p0/sql_functions/string_functions/test_url_decode.groovy b/regression-test/suites/query_p0/sql_functions/string_functions/test_url_decode.groovy index dd5cb9d35213fd..fc14f612cdd43b 100644 --- a/regression-test/suites/query_p0/sql_functions/string_functions/test_url_decode.groovy +++ b/regression-test/suites/query_p0/sql_functions/string_functions/test_url_decode.groovy @@ -44,4 +44,30 @@ suite("test_url_decode") { order_qt_const_nullable "select url_decode('') from test_url_decode" // choose one case to test const multi-rows order_qt_const_not_nullable "select url_decode('%2Fhome%2Fdoris%2Fdirectory%2F')" order_qt_const_nullable_no_null "select url_decode('%2Fhome%2Fdoris%2Fdirectory%2F')" + + // malformed percent-encoding: url_decode should raise an error + test { + sql """ select url_decode('%2') """ + exception "Decode url failed" + } + test { + sql """ select url_decode('%') """ + exception "Decode url failed" + } + test { + sql """ select url_decode('hello%') """ + exception "Decode url failed" + } + test { + sql """ select url_decode('%GG') """ + exception "Decode url failed" + } + test { + sql """ select url_decode('%20%GG%41') """ + exception "Decode url failed" + } + test { + sql """ select url_decode('%%20') """ + exception "Decode url failed" + } }