Commit 0b0a9188 authored by heikki@hundin.mysql.fi's avatar heikki@hundin.mysql.fi

Merge heikki@bk-internal.mysql.com:/home/bk/mysql-4.1

into hundin.mysql.fi:/home/heikki/mysql-4.1
parents 2ec7c5f4 87c93bc5
<?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>
...@@ -739,3 +739,18 @@ ySQL ...@@ -739,3 +739,18 @@ ySQL
SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column; SELECT CHAR_LENGTH(CHAR(NULL,121,83,81,'76')) as my_column;
my_column my_column
4 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;
...@@ -482,3 +482,19 @@ DROP TABLE t1; ...@@ -482,3 +482,19 @@ DROP TABLE t1;
# #
SELECT CHAR(NULL,121,83,81,'76') as my_column; SELECT CHAR(NULL,121,83,81,'76') as my_column;
SELECT CHAR_LENGTH(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;
...@@ -81,6 +81,8 @@ ...@@ -81,6 +81,8 @@
#define CFG_DB_BACKUP_DATADIR 158 #define CFG_DB_BACKUP_DATADIR 158
#define CFG_DB_MAX_OPEN_FILES 159
#define CFG_NODE_ARBIT_RANK 200 #define CFG_NODE_ARBIT_RANK 200
#define CFG_NODE_ARBIT_DELAY 201 #define CFG_NODE_ARBIT_DELAY 201
......
...@@ -66,10 +66,10 @@ Ndbfs::Ndbfs(const Configuration & conf) : ...@@ -66,10 +66,10 @@ Ndbfs::Ndbfs(const Configuration & conf) :
ndbrequire(p != 0); ndbrequire(p != 0);
m_maxFiles = 40; m_maxFiles = 40;
//ndb_mgm_get_int_parameter(p, CFG_DB_MAX_OPEN_FILES, &m_maxFiles); ndb_mgm_get_int_parameter(p, CFG_DB_MAX_OPEN_FILES, &m_maxFiles);
// Create idle AsyncFiles // Create idle AsyncFiles
Uint32 noIdleFiles = 27; Uint32 noIdleFiles = m_maxFiles > 27 ? 27 : m_maxFiles ;
for (Uint32 i = 0; i < noIdleFiles; i++){ for (Uint32 i = 0; i < noIdleFiles; i++){
theIdleFiles.push_back(createAsyncFile()); theIdleFiles.push_back(createAsyncFile());
} }
......
...@@ -712,7 +712,7 @@ void Trix::setupSubscription(Signal* signal, SubscriptionRecPtr subRecPtr) ...@@ -712,7 +712,7 @@ void Trix::setupSubscription(Signal* signal, SubscriptionRecPtr subRecPtr)
subCreateReq->subscriptionType = SubCreateReq::SingleTableScan; subCreateReq->subscriptionType = SubCreateReq::SingleTableScan;
sendSignal(SUMA_REF, GSN_SUB_CREATE_REQ, sendSignal(SUMA_REF, GSN_SUB_CREATE_REQ,
signal, SubCreateReq::SignalLength, JBB, orderPtr, 1); signal, SubCreateReq::SignalLength+1, JBB, orderPtr, 1);
} }
void Trix::setupTableScan(Signal* signal, SubscriptionRecPtr subRecPtr) void Trix::setupTableScan(Signal* signal, SubscriptionRecPtr subRecPtr)
......
...@@ -873,7 +873,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ...@@ -873,7 +873,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
STR_VALUE(MAX_INT_RNIL) }, STR_VALUE(MAX_INT_RNIL) },
{ {
KEY_INTERNAL, CFG_DB_MAX_OPEN_FILES,
"MaxNoOfOpenFiles", "MaxNoOfOpenFiles",
DB_TOKEN, DB_TOKEN,
"Max number of files open per "DB_TOKEN_PRINT" node.(One thread is created per file)", "Max number of files open per "DB_TOKEN_PRINT" node.(One thread is created per file)",
...@@ -882,8 +882,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = { ...@@ -882,8 +882,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo::CI_INT, ConfigInfo::CI_INT,
"40", "40",
"20", "20",
"256" }, STR_VALUE(MAX_INT_RNIL) },
{ {
CFG_DB_TRANSACTION_CHECK_INTERVAL, CFG_DB_TRANSACTION_CHECK_INTERVAL,
......
...@@ -235,6 +235,7 @@ String *Item_func_aes_decrypt::val_str(String *str) ...@@ -235,6 +235,7 @@ String *Item_func_aes_decrypt::val_str(String *str)
void Item_func_aes_decrypt::fix_length_and_dec() void Item_func_aes_decrypt::fix_length_and_dec()
{ {
max_length=args[0]->max_length; max_length=args[0]->max_length;
maybe_null= 1;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment