Commit 3c6a8146 authored by rburnett@bk-internal.mysql.com's avatar rburnett@bk-internal.mysql.com

Merge bk-internal.mysql.com:/data0/bk/mysql-5.0

into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
parents 13a67a9f ee8fd1e3
show variables like 'collation_server';
Variable_name Value
collation_server ucs2_unicode_ci
show variables like "%character_set_ser%"; show variables like "%character_set_ser%";
Variable_name Value Variable_name Value
character_set_server ucs2 character_set_server ucs2
......
...@@ -421,6 +421,28 @@ set tmp_table_size=100; ...@@ -421,6 +421,28 @@ set tmp_table_size=100;
set tx_isolation="READ-COMMITTED"; set tx_isolation="READ-COMMITTED";
set wait_timeout=100; set wait_timeout=100;
set log_warnings=1; set log_warnings=1;
select @@session.insert_id;
@@session.insert_id
1
set @save_insert_id=@@session.insert_id;
set session insert_id=20;
select @@session.insert_id;
@@session.insert_id
20
set session last_insert_id=100;
select @@session.insert_id;
@@session.insert_id
20
select @@session.last_insert_id;
@@session.last_insert_id
100
select @@session.insert_id;
@@session.insert_id
20
set @@session.insert_id=@save_insert_id;
select @@session.insert_id;
@@session.insert_id
1
create table t1 (a int not null auto_increment, primary key(a)); create table t1 (a int not null auto_increment, primary key(a));
create table t2 (a int not null auto_increment, primary key(a)); create table t2 (a int not null auto_increment, primary key(a));
insert into t1 values(null),(null),(null); insert into t1 values(null),(null),(null);
......
--default-character-set=ucs2 --default-collation=ucs2_unicode_ci --default-collation=ucs2_unicode_ci --default-character-set=ucs2
#
# MySQL Bug#15276: MySQL ignores collation-server
#
show variables like 'collation_server';
# #
# Bug#18004 Connecting crashes server when default charset is UCS2 # Bug#18004 Connecting crashes server when default charset is UCS2
# #
......
...@@ -301,6 +301,22 @@ set tx_isolation="READ-COMMITTED"; ...@@ -301,6 +301,22 @@ set tx_isolation="READ-COMMITTED";
set wait_timeout=100; set wait_timeout=100;
set log_warnings=1; set log_warnings=1;
#
# Bugs: #20392: INSERT_ID session variable has weird value
#
select @@session.insert_id;
set @save_insert_id=@@session.insert_id;
set session insert_id=20;
select @@session.insert_id;
set session last_insert_id=100;
select @@session.insert_id;
select @@session.last_insert_id;
select @@session.insert_id;
set @@session.insert_id=@save_insert_id;
select @@session.insert_id;
# #
# key buffer # key buffer
# #
......
...@@ -245,6 +245,22 @@ void setEnvString(char *ret, const char *name, const char *value) ...@@ -245,6 +245,22 @@ void setEnvString(char *ret, const char *name, const char *value)
DBUG_VOID_RETURN ; DBUG_VOID_RETURN ;
} }
/*
my_paramter_handler
Invalid paramter handler we will use instead of the one "baked" into the CRT
for MSC v8. This one just prints out what invalid parameter was encountered.
By providing this routine, routines like lseek will return -1 when we expect them
to instead of crash.
*/
void my_parameter_handler(const wchar_t * expression, const wchar_t * function,
const wchar_t * file, unsigned int line,
uintptr_t pReserved)
{
DBUG_PRINT("my",("Expression: %s function: %s file: %s, line: %d",
expression, function, file, line));
}
static void my_win_init(void) static void my_win_init(void)
{ {
HKEY hSoftMysql ; HKEY hSoftMysql ;
...@@ -262,12 +278,18 @@ static void my_win_init(void) ...@@ -262,12 +278,18 @@ static void my_win_init(void)
setlocale(LC_CTYPE, ""); /* To get right sortorder */ setlocale(LC_CTYPE, ""); /* To get right sortorder */
#if defined(_MSC_VER) && (_MSC_VER < 1300) #if defined(_MSC_VER)
#if _MSC_VER < 1300
/* /*
Clear the OS system variable TZ and avoid the 100% CPU usage Clear the OS system variable TZ and avoid the 100% CPU usage
Only for old versions of Visual C++ Only for old versions of Visual C++
*/ */
_putenv( "TZ=" ); _putenv( "TZ=" );
#endif
#if _MSC_VER >= 1400
/* this is required to make crt functions return -1 appropriately */
_set_invalid_parameter_handler(my_parameter_handler);
#endif
#endif #endif
_tzset(); _tzset();
......
...@@ -314,6 +314,7 @@ static char *default_character_set_name; ...@@ -314,6 +314,7 @@ static char *default_character_set_name;
static char *character_set_filesystem_name; static char *character_set_filesystem_name;
static char *my_bind_addr_str; static char *my_bind_addr_str;
static char *default_collation_name; static char *default_collation_name;
static char compiled_default_collation_name[]= MYSQL_DEFAULT_COLLATION_NAME;
static char mysql_data_home_buff[2]; static char mysql_data_home_buff[2];
static struct passwd *user_info; static struct passwd *user_info;
static I_List<THD> thread_cache; static I_List<THD> thread_cache;
...@@ -6382,7 +6383,7 @@ static void mysql_init_variables(void) ...@@ -6382,7 +6383,7 @@ static void mysql_init_variables(void)
/* Variables in libraries */ /* Variables in libraries */
charsets_dir= 0; charsets_dir= 0;
default_character_set_name= (char*) MYSQL_DEFAULT_CHARSET_NAME; default_character_set_name= (char*) MYSQL_DEFAULT_CHARSET_NAME;
default_collation_name= (char*) MYSQL_DEFAULT_COLLATION_NAME; default_collation_name= compiled_default_collation_name;
sys_charset_system.value= (char*) system_charset_info->csname; sys_charset_system.value= (char*) system_charset_info->csname;
character_set_filesystem_name= (char*) "binary"; character_set_filesystem_name= (char*) "binary";
...@@ -6544,6 +6545,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), ...@@ -6544,6 +6545,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
strmake(mysql_home,argument,sizeof(mysql_home)-1); strmake(mysql_home,argument,sizeof(mysql_home)-1);
break; break;
case 'C': case 'C':
if (default_collation_name == compiled_default_collation_name)
default_collation_name= 0; default_collation_name= 0;
break; break;
case 'l': case 'l':
......
...@@ -2578,7 +2578,7 @@ bool sys_var_insert_id::update(THD *thd, set_var *var) ...@@ -2578,7 +2578,7 @@ bool sys_var_insert_id::update(THD *thd, set_var *var)
byte *sys_var_insert_id::value_ptr(THD *thd, enum_var_type type, byte *sys_var_insert_id::value_ptr(THD *thd, enum_var_type type,
LEX_STRING *base) LEX_STRING *base)
{ {
return (byte*) &thd->current_insert_id; return (byte*) &thd->next_insert_id;
} }
......
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