Commit 89ac1e15 authored by Marc Alff's avatar Marc Alff

local merge

parents ba00d17a 654b9bea
......@@ -2032,6 +2032,7 @@ int main(int argc, char** argv)
{
usage();
free_defaults(defaults_argv);
my_end(my_end_arg);
exit(1);
}
......
......@@ -6338,7 +6338,7 @@ void free_win_path_patterns()
for (i=0 ; i < patterns.elements ; i++)
{
const char** pattern= dynamic_element(&patterns, i, const char**);
my_free(*pattern);
my_free((void *) *pattern);
}
delete_dynamic(&patterns);
}
......
......@@ -52,7 +52,7 @@ mystringsextra= strto.c
dbugobjects = dbug.lo
mysysheaders = mysys_priv.h my_static.h
vioheaders = vio_priv.h
mysysobjects1 = my_init.lo my_static.lo my_malloc.lo my_realloc.lo \
mysysobjects1 = my_init.lo my_static.lo my_malloc.lo \
my_create.lo my_delete.lo mf_tempfile.lo my_open.lo \
my_file.lo my_read.lo my_write.lo errors.lo \
my_error.lo my_getwd.lo my_div.lo \
......
......@@ -1606,6 +1606,25 @@ drop function f1;
--echo # End of WL#2649 Number-to-string conversions
--echo #
--echo #
--echo # Bug#54668 User variable assignments get wrong type
--echo #
SET @x=md5('a');
SELECT charset(@x), collation(@x);
SET @x=old_password('a');
SELECT charset(@x), collation(@x);
SET @x=password('a');
SELECT charset(@x), collation(@x);
SET @x=sha('a');
SELECT charset(@x), collation(@x);
SET @x=sha1('a');
SELECT charset(@x), collation(@x);
SET @x=astext(point(1,2));
SELECT charset(@x), collation(@x);
SET @x=aswkt(point(1,2));
SELECT charset(@x), collation(@x);
--echo #
--echo # Bug#52159 returning time type from function and empty left join causes debug assertion
--echo #
......
......@@ -2567,6 +2567,37 @@ drop function f1;
# End of WL#2649 Number-to-string conversions
#
#
# Bug#54668 User variable assignments get wrong type
#
SET @x=md5('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
binary binary
SET @x=old_password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
binary binary
SET @x=password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
binary binary
SET @x=sha('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
binary binary
SET @x=sha1('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
binary binary
SET @x=astext(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
binary binary
SET @x=aswkt(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
binary binary
#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
......
......@@ -2649,6 +2649,37 @@ drop function f1;
# End of WL#2649 Number-to-string conversions
#
#
# Bug#54668 User variable assignments get wrong type
#
SET @x=md5('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
cp1251 cp1251_general_ci
SET @x=old_password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
cp1251 cp1251_general_ci
SET @x=password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
cp1251 cp1251_general_ci
SET @x=sha('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
cp1251 cp1251_general_ci
SET @x=sha1('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
cp1251 cp1251_general_ci
SET @x=astext(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
cp1251 cp1251_general_ci
SET @x=aswkt(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
cp1251 cp1251_general_ci
#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
......
......@@ -2977,6 +2977,37 @@ drop function f1;
# End of WL#2649 Number-to-string conversions
#
#
# Bug#54668 User variable assignments get wrong type
#
SET @x=md5('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
latin1 latin1_swedish_ci
SET @x=old_password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
latin1 latin1_swedish_ci
SET @x=password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
latin1 latin1_swedish_ci
SET @x=sha('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
latin1 latin1_swedish_ci
SET @x=sha1('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
latin1 latin1_swedish_ci
SET @x=astext(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
latin1 latin1_swedish_ci
SET @x=aswkt(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
latin1 latin1_swedish_ci
#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
......
......@@ -3809,6 +3809,37 @@ drop function f1;
# End of WL#2649 Number-to-string conversions
#
#
# Bug#54668 User variable assignments get wrong type
#
SET @x=md5('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
ucs2 ucs2_general_ci
SET @x=old_password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
ucs2 ucs2_general_ci
SET @x=password('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
ucs2 ucs2_general_ci
SET @x=sha('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
ucs2 ucs2_general_ci
SET @x=sha1('a');
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
ucs2 ucs2_general_ci
SET @x=astext(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
ucs2 ucs2_general_ci
SET @x=aswkt(point(1,2));
SELECT charset(@x), collation(@x);
charset(@x) collation(@x)
ucs2 ucs2_general_ci
#
# Bug#52159 returning time type from function and empty left join causes debug assertion
#
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
......
......@@ -355,7 +355,7 @@ void filesort_free_buffers(TABLE *table, bool full)
table->sort.sort_keys= NULL;
my_free(table->sort.buffpek);
table->sort.buffpek= NULL;
table->sort.buffpek_len= NULL;
table->sort.buffpek_len= 0;
}
my_free(table->sort.addon_buf);
......
......@@ -72,7 +72,12 @@ String *Item_str_ascii_func::val_str(String *str)
DBUG_ASSERT(fixed == 1);
if (!(collation.collation->state & MY_CS_NONASCII))
return val_str_ascii(str);
{
String *res= val_str_ascii(str);
if (res)
res->set_charset(collation.collation);
return res;
}
DBUG_ASSERT(str != &ascii_buf);
......
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