Commit ff509df7 authored by unknown's avatar unknown

Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-maint

into  siva.hindu.god:/usr/home/tim/m/bk/51


mysql-test/mysql-test-run.pl:
  Auto merged
parents 8e1f5450 610afd42
...@@ -24,5 +24,9 @@ flush tables; ...@@ -24,5 +24,9 @@ flush tables;
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster'; select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
enable_query_log; 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' # Set the default connection to 'server1'
connection server1; connection server1;
...@@ -4,4 +4,8 @@ disable_query_log; ...@@ -4,4 +4,8 @@ disable_query_log;
select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster'; select support = 'Enabled' as `TRUE` from information_schema.engines where engine = 'ndbcluster';
enable_query_log; enable_query_log;
# Check that master mysqld has come out of redonly mode
--source include/ndb_not_readonly.inc
# 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; ...@@ -237,7 +237,7 @@ our $opt_mark_progress;
our $opt_skip; our $opt_skip;
our $opt_skip_rpl; our $opt_skip_rpl;
our $max_slave_num= 0; our $max_slave_num= 0;
our $max_master_num= 0; our $max_master_num= 1;
our $use_innodb; our $use_innodb;
our $opt_skip_test; our $opt_skip_test;
our $opt_skip_im; our $opt_skip_im;
......
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
#
# 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
# TODO: THIS TEST DOES NOT WORK ON WINDOWS
# This should be fixed.
--source include/not_windows.inc
source include/have_openssl.inc; source include/have_openssl.inc;
source include/master-slave.inc; source include/master-slave.inc;
......
...@@ -40,7 +40,7 @@ ...@@ -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
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 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> </map>
</ctype> </ctype>
...@@ -106,7 +106,7 @@ ...@@ -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 0000
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 2017 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 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> </map>
</unicode> </unicode>
......
...@@ -951,29 +951,30 @@ my_bool plugin_foreach_with_mask(THD *thd, plugin_foreach_func *func, ...@@ -951,29 +951,30 @@ my_bool plugin_foreach_with_mask(THD *thd, plugin_foreach_func *func,
state_mask= ~state_mask; // do it only once state_mask= ~state_mask; // do it only once
rw_rdlock(&THR_LOCK_plugin); 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) 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++) for (idx= 0; idx < total; idx++)
{ {
plugin= dynamic_element(&plugin_array, idx, struct st_plugin_int *); plugin= dynamic_element(&plugin_array, idx, struct st_plugin_int *);
if (plugin->state & state_mask) plugins[idx]= !(plugin->state & state_mask) ? plugin : NULL;
continue;
plugins[idx]= plugin;
} }
} }
else else
{ {
HASH *hash= &plugin_hash[type]; HASH *hash= plugin_hash + type;
total=hash->records;
plugins=(struct st_plugin_int **)my_alloca(total*sizeof(*plugins));
for (idx= 0; idx < total; idx++) for (idx= 0; idx < total; idx++)
{ {
plugin= (struct st_plugin_int *) hash_element(hash, idx); plugin= (struct st_plugin_int *) hash_element(hash, idx);
if (plugin->state & state_mask) if (plugin->state & state_mask)
continue; continue;
plugins[idx]= plugin; plugins[idx]= !(plugin->state & state_mask) ? plugin : NULL;
} }
} }
rw_unlock(&THR_LOCK_plugin); rw_unlock(&THR_LOCK_plugin);
...@@ -984,7 +985,7 @@ my_bool plugin_foreach_with_mask(THD *thd, plugin_foreach_func *func, ...@@ -984,7 +985,7 @@ my_bool plugin_foreach_with_mask(THD *thd, plugin_foreach_func *func,
{ {
rw_rdlock(&THR_LOCK_plugin); rw_rdlock(&THR_LOCK_plugin);
for (uint i=idx; i < total; i++) for (uint i=idx; i < total; i++)
if (plugins[i]->state & state_mask) if (plugins[i] && plugins[i]->state & state_mask)
plugins[i]=0; plugins[i]=0;
rw_unlock(&THR_LOCK_plugin); rw_unlock(&THR_LOCK_plugin);
} }
......
...@@ -276,7 +276,14 @@ main(int argc, char **argv __attribute__((unused))) ...@@ -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 <my_global.h>\n");
fprintf(f,"#include <m_ctype.h>\n\n"); fprintf(f,"#include <m_ctype.h>\n\n");
......
/*
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 <my_global.h>
#include <m_ctype.h> #include <m_ctype.h>
...@@ -1169,7 +1177,7 @@ uchar ctype_hebrew_general_ci[] = { ...@@ -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,
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,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[] = { uchar to_lower_hebrew_general_ci[] = {
...@@ -1261,7 +1269,7 @@ uint16 to_uni_hebrew_general_ci[] = { ...@@ -1261,7 +1269,7 @@ uint16 to_uni_hebrew_general_ci[] = {
0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7, 0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,
0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF, 0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF,
0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7, 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 #endif
...@@ -5100,7 +5108,7 @@ uchar ctype_hebrew_bin[] = { ...@@ -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,
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,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[] = { uchar to_lower_hebrew_bin[] = {
...@@ -5173,7 +5181,7 @@ uint16 to_uni_hebrew_bin[] = { ...@@ -5173,7 +5181,7 @@ uint16 to_uni_hebrew_bin[] = {
0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7, 0x05D0,0x05D1,0x05D2,0x05D3,0x05D4,0x05D5,0x05D6,0x05D7,
0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF, 0x05D8,0x05D9,0x05DA,0x05DB,0x05DC,0x05DD,0x05DE,0x05DF,
0x05E0,0x05E1,0x05E2,0x05E3,0x05E4,0x05E5,0x05E6,0x05E7, 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 #endif
......
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