summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorigor@rurik.mysql.com <>2005-03-09 16:53:20 -0800
committerigor@rurik.mysql.com <>2005-03-09 16:53:20 -0800
commitdb4ca33f52936eccf3b5d99d038f25e17d454330 (patch)
tree323b4ef95a894e973d0d6fe11eba38be1a6e725e
parent9fea6f6d1f01d8db15b4dc0314a84c8c32e09a08 (diff)
parent6540c59808b9803d997be0842e9b027daea8334e (diff)
downloadmariadb-git-db4ca33f52936eccf3b5d99d038f25e17d454330.tar.gz
Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
-rwxr-xr-xDocs/changelog-4.0.xml18
-rw-r--r--mysql-test/r/func_str.result15
-rw-r--r--mysql-test/t/func_str.test16
-rw-r--r--sql/item_strfunc.cc1
4 files changed, 50 insertions, 0 deletions
diff --git a/Docs/changelog-4.0.xml b/Docs/changelog-4.0.xml
new file mode 100755
index 00000000000..f0f9aa881f1
--- /dev/null
+++ b/Docs/changelog-4.0.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
+<!--
+This is a dummy changelog file. Don't use it yet.
+It merges upward without conflict.
+-->
+<appendix id="news-4-0-x">
+
+ <title>
+ Changes in release 4.0.x
+ </title>
+
+ <para>
+ This is a dummy changelog file. Don't use it yet.
+ </para>
+
+</appendix>
diff --git a/mysql-test/r/func_str.result b/mysql-test/r/func_str.result
index 9b93fe2ad1c..92c7d46550f 100644
--- a/mysql-test/r/func_str.result
+++ b/mysql-test/r/func_str.result
@@ -748,3 +748,18 @@ ySQL
SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column;
my_column
4
+CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL);
+CREATE TABLE t2 (id int NOT NULL UNIQUE);
+INSERT INTO t2 VALUES (1),(2);
+INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar'));
+INSERT INTO t1 VALUES (2, 'not valid');
+SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id;
+id aes_decrypt(str, 'bar')
+1 foo
+2 NULL
+SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id
+ORDER BY t1.id;
+id aes_decrypt(str, 'bar')
+1 foo
+2 NULL
+DROP TABLE t1, t2;
diff --git a/mysql-test/t/func_str.test b/mysql-test/t/func_str.test
index a69febef340..2fa6b603155 100644
--- a/mysql-test/t/func_str.test
+++ b/mysql-test/t/func_str.test
@@ -485,3 +485,19 @@ DROP TABLE t1;
#
SELECT CHAR(NULL,121,83,81,'76') as my_column;
SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column;
+#
+# Test case for bug #8669: null aes_decrypt result in order by query
+#
+
+CREATE TABLE t1 (id int PRIMARY KEY, str char(255) NOT NULL);
+CREATE TABLE t2 (id int NOT NULL UNIQUE);
+INSERT INTO t2 VALUES (1),(2);
+INSERT INTO t1 VALUES (1, aes_encrypt('foo', 'bar'));
+INSERT INTO t1 VALUES (2, 'not valid');
+
+SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id;
+SELECT t1.id, aes_decrypt(str, 'bar') FROM t1, t2 WHERE t1.id = t2.id
+ ORDER BY t1.id;
+
+DROP TABLE t1, t2;
+
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index 298418e1574..a9ec7139ea7 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -225,6 +225,7 @@ String *Item_func_aes_decrypt::val_str(String *str)
void Item_func_aes_decrypt::fix_length_and_dec()
{
max_length=args[0]->max_length;
+ maybe_null= 1;
}