summaryrefslogtreecommitdiff
path: root/mysql-test/t/udf.test
diff options
context:
space:
mode:
authorunknown <cmiller@zippy.(none)>2006-06-08 13:25:28 -0400
committerunknown <cmiller@zippy.(none)>2006-06-08 13:25:28 -0400
commite2495206b276d6aaeb506ed135016112532d71e3 (patch)
tree655da24031881eafeb600ef54597c989f70793b1 /mysql-test/t/udf.test
parent6f42227f31a3b9e2a85e69f0bfb7bdb02380f112 (diff)
downloadmariadb-git-e2495206b276d6aaeb506ed135016112532d71e3.tar.gz
Bug#19904: UDF: not initialized *is_null per row
The is_null value was initialized once and thereafter only set to indicate NULL, and never unset to indicate not-NULL. Now set is_null to false, in addition to only setting it to true when the value in question is null. mysql-test/r/udf.result: Add result. mysql-test/t/udf.test: Add test. sql/sql_udf.h: Initialize is_null to false before trying to use it, so that historical NULLs don't affect our operation.
Diffstat (limited to 'mysql-test/t/udf.test')
-rw-r--r--mysql-test/t/udf.test12
1 files changed, 12 insertions, 0 deletions
diff --git a/mysql-test/t/udf.test b/mysql-test/t/udf.test
index e2556692612..f3be08c8537 100644
--- a/mysql-test/t/udf.test
+++ b/mysql-test/t/udf.test
@@ -99,6 +99,17 @@ delimiter ;//
call XXX2();
drop procedure xxx2;
+#
+# Bug#19904: UDF: not initialized *is_null per row
+#
+
+CREATE TABLE bug19904(n INT, v varchar(10));
+INSERT INTO bug19904 VALUES (1,'one'),(2,'two'),(NULL,NULL),(3,'three'),(4,'four');
+SELECT myfunc_double(n) AS f FROM bug19904;
+SELECT metaphon(v) AS f FROM bug19904;
+DROP TABLE bug19904;
+
+--echo End of 5.0 tests.
#
# Drop the example functions from udf_example
@@ -114,3 +125,4 @@ DROP FUNCTION lookup;
DROP FUNCTION reverse_lookup;
DROP FUNCTION avgcost;
+