mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into siva.hindu.god:/usr/home/tim/m/bk/51
This commit is contained in:
@ -24,5 +24,9 @@ flush tables;
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
enable_query_log;
|
||||
|
||||
# Check should be here as well...
|
||||
# # Check that second master mysqld has come out of redonly mode
|
||||
# --source include/ndb_not_readonly.inc
|
||||
|
||||
# Set the default connection to 'server1'
|
||||
connection server1;
|
||||
|
@ -4,4 +4,8 @@ disable_query_log;
|
||||
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
|
||||
enable_query_log;
|
||||
|
||||
# Check that master mysqld has come out of redonly mode
|
||||
--source include/ndb_not_readonly.inc
|
||||
|
||||
|
||||
|
||||
|
31
mysql-test/include/ndb_not_readonly.inc
Normal file
31
mysql-test/include/ndb_not_readonly.inc
Normal file
@ -0,0 +1,31 @@
|
||||
# Check that server has come out ot readonly mode
|
||||
--disable_query_log
|
||||
let $counter= 100;
|
||||
let $mysql_errno= 1;
|
||||
while ($mysql_errno)
|
||||
{
|
||||
--error 0, 1005
|
||||
create table check_read_only(a int) engine=NDB;
|
||||
sleep 0.1;
|
||||
if (!$counter)
|
||||
{
|
||||
die("Failed while waiting for mysqld to come out of readonly mode");
|
||||
}
|
||||
dec $counter;
|
||||
}
|
||||
|
||||
let $counter= 100;
|
||||
let $mysql_errno= 1;
|
||||
while ($mysql_errno)
|
||||
{
|
||||
--error 0, 1036
|
||||
insert into check_read_only values(1);
|
||||
sleep 0.1;
|
||||
if (!$counter)
|
||||
{
|
||||
die("Failed while waiting for mysqld to come out of readonly mode");
|
||||
}
|
||||
dec $counter;
|
||||
}
|
||||
drop table check_read_only;
|
||||
--enable_query_log
|
@ -237,7 +237,7 @@ our $opt_mark_progress;
|
||||
our $opt_skip;
|
||||
our $opt_skip_rpl;
|
||||
our $max_slave_num= 0;
|
||||
our $max_master_num= 0;
|
||||
our $max_master_num= 1;
|
||||
our $use_innodb;
|
||||
our $opt_skip_test;
|
||||
our $opt_skip_im;
|
||||
|
11
mysql-test/r/ctype_hebrew.result
Normal file
11
mysql-test/r/ctype_hebrew.result
Normal file
@ -0,0 +1,11 @@
|
||||
DROP TABLE IF EXISTS t1;
|
||||
SET NAMES hebrew;
|
||||
CREATE TABLE t1 (a char(1)) DEFAULT CHARSET=hebrew;
|
||||
INSERT INTO t1 VALUES (0xFD),(0xFE);
|
||||
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8;
|
||||
SELECT HEX(a) FROM t1;
|
||||
HEX(a)
|
||||
E2808E
|
||||
E2808F
|
||||
DROP TABLE t1;
|
||||
End of 4.1 tests
|
16
mysql-test/t/ctype_hebrew.test
Normal file
16
mysql-test/t/ctype_hebrew.test
Normal file
@ -0,0 +1,16 @@
|
||||
#
|
||||
# BUG #24037: Lossy Hebrew to Unicode conversion
|
||||
#
|
||||
# Test if LRM and RLM characters are correctly converted to UTF-8
|
||||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
|
||||
SET NAMES hebrew;
|
||||
CREATE TABLE t1 (a char(1)) DEFAULT CHARSET=hebrew;
|
||||
INSERT INTO t1 VALUES (0xFD),(0xFE);
|
||||
ALTER TABLE t1 CONVERT TO CHARACTER SET utf8;
|
||||
SELECT HEX(a) FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo End of 4.1 tests
|
@ -1,3 +1,7 @@
|
||||
# TODO: THIS TEST DOES NOT WORK ON WINDOWS
|
||||
# This should be fixed.
|
||||
--source include/not_windows.inc
|
||||
|
||||
source include/have_openssl.inc;
|
||||
source include/master-slave.inc;
|
||||
|
||||
|
@ -40,7 +40,7 @@
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02
|
||||
02 02 02 02 02 02 02 02 02 02 02 00 00 00 00 00
|
||||
02 02 02 02 02 02 02 02 02 02 02 00 00 20 20 00
|
||||
</map>
|
||||
</ctype>
|
||||
|
||||
@ -106,7 +106,7 @@
|
||||
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
|
||||
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 2017
|
||||
05D0 05D1 05D2 05D3 05D4 05D5 05D6 05D7 05D8 05D9 05DA 05DB 05DC 05DD 05DE 05DF
|
||||
05E0 05E1 05E2 05E3 05E4 05E5 05E6 05E7 05E8 05E9 05EA 0000 0000 0000 0000 0000
|
||||
05E0 05E1 05E2 05E3 05E4 05E5 05E6 05E7 05E8 05E9 05EA 0000 0000 200E 200F 0000
|
||||
</map>
|
||||
</unicode>
|
||||
|
||||
|
@ -951,29 +951,30 @@ my_bool plugin_foreach_with_mask(THD *thd, plugin_foreach_func *func,
|
||||
state_mask= ~state_mask; // do it only once
|
||||
|
||||
rw_rdlock(&THR_LOCK_plugin);
|
||||
total= type == MYSQL_ANY_PLUGIN ? plugin_array.elements
|
||||
: plugin_hash[type].records;
|
||||
/*
|
||||
Do the alloca out here in case we do have a working alloca:
|
||||
leaving the nested stack frame invalidates alloca allocation.
|
||||
*/
|
||||
plugins=(struct st_plugin_int **)my_alloca(total*sizeof(*plugins));
|
||||
if (type == MYSQL_ANY_PLUGIN)
|
||||
{
|
||||
total=plugin_array.elements;
|
||||
plugins=(struct st_plugin_int **)my_alloca(total*sizeof(*plugins));
|
||||
for (idx= 0; idx < total; idx++)
|
||||
{
|
||||
plugin= dynamic_element(&plugin_array, idx, struct st_plugin_int *);
|
||||
if (plugin->state & state_mask)
|
||||
continue;
|
||||
plugins[idx]= plugin;
|
||||
plugins[idx]= !(plugin->state & state_mask) ? plugin : NULL;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
HASH *hash= &plugin_hash[type];
|
||||
total=hash->records;
|
||||
plugins=(struct st_plugin_int **)my_alloca(total*sizeof(*plugins));
|
||||
HASH *hash= plugin_hash + type;
|
||||
for (idx= 0; idx < total; idx++)
|
||||
{
|
||||
plugin= (struct st_plugin_int *) hash_element(hash, idx);
|
||||
if (plugin->state & state_mask)
|
||||
continue;
|
||||
plugins[idx]= plugin;
|
||||
plugins[idx]= !(plugin->state & state_mask) ? plugin : NULL;
|
||||
}
|
||||
}
|
||||
rw_unlock(&THR_LOCK_plugin);
|
||||
@ -984,7 +985,7 @@ my_bool plugin_foreach_with_mask(THD *thd, plugin_foreach_func *func,
|
||||
{
|
||||
rw_rdlock(&THR_LOCK_plugin);
|
||||
for (uint i=idx; i < total; i++)
|
||||
if (plugins[i]->state & state_mask)
|
||||
if (plugins[i] && plugins[i]->state & state_mask)
|
||||
plugins[i]=0;
|
||||
rw_unlock(&THR_LOCK_plugin);
|
||||
}
|
||||
|
@ -276,7 +276,14 @@ main(int argc, char **argv __attribute__((unused)))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fprintf(f, "/*\n");
|
||||
fprintf(f, " This file was generated by the conf_to_src utility. "
|
||||
"Do not edit it directly,\n");
|
||||
fprintf(f, " edit the XML definitions in sql/share/charsets/ instead.\n\n");
|
||||
fprintf(f, " To re-generate, run the following in the strings/ "
|
||||
"directory:\n");
|
||||
fprintf(f, " ./conf_to_src ../sql/share/charsets/ > FILE\n");
|
||||
fprintf(f, "*/\n\n");
|
||||
fprintf(f,"#include <my_global.h>\n");
|
||||
fprintf(f,"#include <m_ctype.h>\n\n");
|
||||
|
||||
|
@ -1,3 +1,11 @@
|
||||
/*
|
||||
This file was generated by the conf_to_src utility. Do not edit it directly,
|
||||
edit the XML definitions in sql/share/charsets/ instead.
|
||||
|
||||
To re-generate, run the following in the strings/ directory:
|
||||
./conf_to_src ../sql/share/charsets/ > FILE
|
||||
*/
|
||||
|
||||
#include <my_global.h>
|
||||
#include <m_ctype.h>
|
||||
|
||||
@ -1169,7 +1177,7 @@ uchar ctype_hebrew_general_ci[] = {
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
|
||||
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00
|
||||
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x20,0x20,0x00
|
||||
};
|
||||
|
||||
uchar to_lower_hebrew_general_ci[] = {
|
||||
@ -1261,7 +1269,7 @@ uint16 to_uni_hebrew_general_ci[] = {
|
||||
0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,
|
||||
0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF,
|
||||
0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7,
|
||||
0x05E8,0x05E9,0x05EA,0x0000,0x0000,0x0000,0x0000,0x0000
|
||||
0x05E8,0x05E9,0x05EA,0x0000,0x0000,0x200E,0x200F,0x0000
|
||||
};
|
||||
|
||||
#endif
|
||||
@ -5100,7 +5108,7 @@ uchar ctype_hebrew_bin[] = {
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
|
||||
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00
|
||||
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x20,0x20,0x00
|
||||
};
|
||||
|
||||
uchar to_lower_hebrew_bin[] = {
|
||||
@ -5173,7 +5181,7 @@ uint16 to_uni_hebrew_bin[] = {
|
||||
0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,
|
||||
0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF,
|
||||
0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7,
|
||||
0x05E8,0x05E9,0x05EA,0x0000,0x0000,0x0000,0x0000,0x0000
|
||||
0x05E8,0x05E9,0x05EA,0x0000,0x0000,0x200E,0x200F,0x0000
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user