Commit 802e6351 authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-5.0

into serg.mylan:/usr/home/serg/Abk/mysql-5.0

parents 149b43f3 c7201c13
...@@ -636,3 +636,31 @@ fi ...@@ -636,3 +636,31 @@ fi
dnl --------------------------------------------------------------------------- dnl ---------------------------------------------------------------------------
dnl ---------------------------------------------------------------------------
dnl Macro: MYSQL_CHECK_BIG_TABLES
dnl Sets BIG_TABLES if --with-big-tables is used
dnl ---------------------------------------------------------------------------
AC_DEFUN([MYSQL_CHECK_BIG_TABLES], [
AC_ARG_WITH([big-tables],
[
--with-big-tables Support tables with more than 4 G rows even on 32 bit platforms],
[bigtables="$withval"],
[bigtables=no])
AC_MSG_CHECKING([for big tables support])
case "$bigtables" in
yes )
AC_DEFINE([BIG_TABLES], [1], [Support big tables])
AC_MSG_RESULT([yes])
;;
* )
AC_MSG_RESULT([no])
;;
esac
])
dnl ---------------------------------------------------------------------------
dnl END OF MYSQL_CHECK_BIG_TABLES SECTION
dnl ---------------------------------------------------------------------------
...@@ -2373,6 +2373,7 @@ AC_SUBST(readline_basedir) ...@@ -2373,6 +2373,7 @@ AC_SUBST(readline_basedir)
AC_SUBST(readline_link) AC_SUBST(readline_link)
AC_SUBST(readline_h_ln_cmd) AC_SUBST(readline_h_ln_cmd)
MYSQL_CHECK_BIG_TABLES
MYSQL_CHECK_BDB MYSQL_CHECK_BDB
MYSQL_CHECK_INNODB MYSQL_CHECK_INNODB
MYSQL_CHECK_EXAMPLEDB MYSQL_CHECK_EXAMPLEDB
......
...@@ -84,6 +84,7 @@ CREATE TABLE user ( ...@@ -84,6 +84,7 @@ CREATE TABLE user (
Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Show_view_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Create_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL, Alter_routine_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
Create_user_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL, ssl_type enum('','ANY','X509', 'SPECIFIED') COLLATE utf8_general_ci DEFAULT '' NOT NULL,
ssl_cipher BLOB NOT NULL, ssl_cipher BLOB NOT NULL,
x509_issuer BLOB NOT NULL, x509_issuer BLOB NOT NULL,
...@@ -98,9 +99,9 @@ CHARACTER SET utf8 COLLATE utf8_bin ...@@ -98,9 +99,9 @@ CHARACTER SET utf8 COLLATE utf8_bin
comment='Users and global privileges'; comment='Users and global privileges';
INSERT INTO user VALUES ('localhost' ,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); INSERT INTO user VALUES ('localhost' ,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
INSERT INTO user VALUES ('@HOSTNAME@%' ,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); INSERT INTO user VALUES ('@HOSTNAME@%' ,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
REPLACE INTO user VALUES ('127.0.0.1' ,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0); REPLACE INTO user VALUES ('127.0.0.1' ,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0);
INSERT INTO user (host,user) VALUES ('localhost',''); INSERT INTO user (host,user) VALUES ('localhost','');
INSERT INTO user (host,user) VALUES ('@HOSTNAME@%',''); INSERT INTO user (host,user) VALUES ('@HOSTNAME@%','');
...@@ -147,11 +148,11 @@ comment='Column privileges'; ...@@ -147,11 +148,11 @@ comment='Column privileges';
CREATE TABLE help_topic ( CREATE TABLE help_topic (
help_topic_id int unsigned not null, help_topic_id int unsigned not null,
name varchar(64) not null, name char(64) not null,
help_category_id smallint unsigned not null, help_category_id smallint unsigned not null,
description text not null, description text not null,
example text not null, example text not null,
url varchar(128) not null, url char(128) not null,
primary key (help_topic_id), primary key (help_topic_id),
unique index (name) unique index (name)
) engine=MyISAM ) engine=MyISAM
...@@ -161,9 +162,9 @@ comment='help topics'; ...@@ -161,9 +162,9 @@ comment='help topics';
CREATE TABLE help_category ( CREATE TABLE help_category (
help_category_id smallint unsigned not null, help_category_id smallint unsigned not null,
name varchar(64) not null, name char(64) not null,
parent_category_id smallint unsigned null, parent_category_id smallint unsigned null,
url varchar(128) not null, url char(128) not null,
primary key (help_category_id),unique index (name) primary key (help_category_id),unique index (name)
) engine=MyISAM ) engine=MyISAM
CHARACTER SET utf8 CHARACTER SET utf8
...@@ -172,7 +173,7 @@ comment='help categories'; ...@@ -172,7 +173,7 @@ comment='help categories';
CREATE TABLE help_keyword ( CREATE TABLE help_keyword (
help_keyword_id int unsigned not null, help_keyword_id int unsigned not null,
name varchar(64) not null, name char(64) not null,
primary key (help_keyword_id),unique index (name) primary key (help_keyword_id),unique index (name)
) engine=MyISAM ) engine=MyISAM
CHARACTER SET utf8 CHARACTER SET utf8
......
...@@ -48,7 +48,7 @@ test_sequence ...@@ -48,7 +48,7 @@ test_sequence
------ simple select tests ------ ------ simple select tests ------
prepare stmt1 from ' select * from t9 order by c1 ' ; prepare stmt1 from ' select * from t9 order by c1 ' ;
execute stmt1; execute stmt1;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t9 t9 c1 c1 1 4 1 N 49155 0 63 def test t9 t9 c1 c1 1 4 1 N 49155 0 63
def test t9 t9 c2 c2 2 6 1 Y 32768 0 63 def test t9 t9 c2 c2 2 6 1 Y 32768 0 63
def test t9 t9 c3 c3 9 9 1 Y 32768 0 63 def test t9 t9 c3 c3 9 9 1 Y 32768 0 63
...@@ -1144,7 +1144,7 @@ test_sequence ...@@ -1144,7 +1144,7 @@ test_sequence
------ explain select tests ------ ------ explain select tests ------
prepare stmt1 from ' explain select * from t9 ' ; prepare stmt1 from ' explain select * from t9 ' ;
execute stmt1; execute stmt1;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def id 8 3 1 N 32929 0 63 def id 8 3 1 N 32929 0 63
def select_type 253 19 6 N 1 31 8 def select_type 253 19 6 N 1 31 8
def table 253 64 2 N 1 31 8 def table 253 64 2 N 1 31 8
...@@ -1782,7 +1782,7 @@ t5 CREATE TABLE `t5` ( ...@@ -1782,7 +1782,7 @@ t5 CREATE TABLE `t5` (
`param15` longblob `param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
select * from t5 ; select * from t5 ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t5 t5 const01 const01 8 1 1 N 32769 0 63 def test t5 t5 const01 const01 8 1 1 N 32769 0 63
def test t5 t5 param01 param01 8 20 1 Y 32768 0 63 def test t5 t5 param01 param01 8 20 1 Y 32768 0 63
def test t5 t5 const02 const02 246 3 3 N 1 1 63 def test t5 t5 const02 const02 246 3 3 N 1 1 63
...@@ -1894,7 +1894,7 @@ from t9 where c1= 1 ; ...@@ -1894,7 +1894,7 @@ from t9 where c1= 1 ;
@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32 @arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday 1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63 def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63 def @arg03 253 20 1 Y 128 31 63
...@@ -1941,7 +1941,7 @@ from t9 where c1= 0 ; ...@@ -1941,7 +1941,7 @@ from t9 where c1= 0 ;
@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32 @arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63 def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63 def @arg03 253 20 0 Y 128 31 63
...@@ -1991,7 +1991,7 @@ execute stmt1 using @my_key ; ...@@ -1991,7 +1991,7 @@ execute stmt1 using @my_key ;
@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32 @arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday 1 1 1 1 1 1 1 1 1 1 1.0000 1.0000 2004-02-29 2004-02-29 11:11:11 2004-02-29 11:11:11 11:11:11 2004 1 1 a 123456789a 123456789a123456789b123456789c tinyblob tinytext blob text mediumblob mediumtext longblob longtext one monday
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63 def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63 def @arg03 253 20 1 Y 128 31 63
...@@ -2031,7 +2031,7 @@ execute stmt1 using @my_key ; ...@@ -2031,7 +2031,7 @@ execute stmt1 using @my_key ;
@arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32 @arg01:= c1 @arg02:= c2 @arg03:= c3 @arg04:= c4 @arg05:= c5 @arg06:= c6 @arg07:= c7 @arg08:= c8 @arg09:= c9 @arg10:= c10 @arg11:= c11 @arg12:= c12 @arg13:= c13 @arg14:= c14 @arg15:= c15 @arg16:= c16 @arg17:= c17 @arg18:= c18 @arg19:= c19 @arg20:= c20 @arg21:= c21 @arg22:= c22 @arg23:= c23 @arg24:= c24 @arg25:= c25 @arg26:= c26 @arg27:= c27 @arg28:= c28 @arg29:= c29 @arg30:= c30 @arg31:= c31 @arg32:= c32
0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 1991-01-01 01:01:01 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63 def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63 def @arg03 253 20 0 Y 128 31 63
...@@ -2079,7 +2079,7 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, ...@@ -2079,7 +2079,7 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32 @arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
from t9 where c1= 1 ; from t9 where c1= 1 ;
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63 def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63 def @arg03 253 20 1 Y 128 31 63
...@@ -2123,7 +2123,7 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08, ...@@ -2123,7 +2123,7 @@ into @arg01, @arg02, @arg03, @arg04, @arg05, @arg06, @arg07, @arg08,
@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32 @arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
from t9 where c1= 0 ; from t9 where c1= 0 ;
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63 def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63 def @arg03 253 20 0 Y 128 31 63
...@@ -2169,7 +2169,7 @@ from t9 where c1= ?" ; ...@@ -2169,7 +2169,7 @@ from t9 where c1= ?" ;
set @my_key= 1 ; set @my_key= 1 ;
execute stmt1 using @my_key ; execute stmt1 using @my_key ;
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 1 Y 128 31 63 def @arg02 253 20 1 Y 128 31 63
def @arg03 253 20 1 Y 128 31 63 def @arg03 253 20 1 Y 128 31 63
...@@ -2207,7 +2207,7 @@ def @arg32 253 8192 6 Y 0 31 8 ...@@ -2207,7 +2207,7 @@ def @arg32 253 8192 6 Y 0 31 8
set @my_key= 0 ; set @my_key= 0 ;
execute stmt1 using @my_key ; execute stmt1 using @my_key ;
execute full_info ; execute full_info ;
Catalog Database Table Table_alias Column Column_alias Name Type Length Max length Is_null Flags Decimals Charsetnr Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def @arg01 253 20 1 Y 128 31 63 def @arg01 253 20 1 Y 128 31 63
def @arg02 253 20 0 Y 128 31 63 def @arg02 253 20 0 Y 128 31 63
def @arg03 253 20 0 Y 128 31 63 def @arg03 253 20 0 Y 128 31 63
......
...@@ -1059,9 +1059,9 @@ bool Query_log_event::write(IO_CACHE* file) ...@@ -1059,9 +1059,9 @@ bool Query_log_event::write(IO_CACHE* file)
sees unknown Q_CATALOG_NZ_CODE; so it will not be able to read sees unknown Q_CATALOG_NZ_CODE; so it will not be able to read
Q_AUTO_INCREMENT*, Q_CHARSET and so replication will fail silently in Q_AUTO_INCREMENT*, Q_CHARSET and so replication will fail silently in
various ways. Documented that you should not mix alpha/beta versions if various ways. Documented that you should not mix alpha/beta versions if
they are not exactly the same version, with example of 5.0.2<->5.0.3 and they are not exactly the same version, with example of 5.0.3->5.0.2 and
5.0.3<->5.0.4. If replication is from older to new, the new won't find 5.0.4->5.0.3. If replication is from older to new, the new will
the catalog and will have the same problems. recognize Q_CATALOG_CODE and have no problem.
*/ */
} }
if (auto_increment_increment != 1) if (auto_increment_increment != 1)
...@@ -1195,6 +1195,7 @@ Query_log_event::Query_log_event(const char* buf, uint event_len, ...@@ -1195,6 +1195,7 @@ Query_log_event::Query_log_event(const char* buf, uint event_len,
uint8 common_header_len, post_header_len; uint8 common_header_len, post_header_len;
char *start; char *start;
const char *end; const char *end;
bool catalog_nz= 1;
DBUG_ENTER("Query_log_event::Query_log_event(char*,...)"); DBUG_ENTER("Query_log_event::Query_log_event(char*,...)");
common_header_len= description_event->common_header_len; common_header_len= description_event->common_header_len;
...@@ -1286,11 +1287,17 @@ Query_log_event::Query_log_event(const char* buf, uint event_len, ...@@ -1286,11 +1287,17 @@ Query_log_event::Query_log_event(const char* buf, uint event_len,
pos+= time_zone_len+1; pos+= time_zone_len+1;
break; break;
} }
case Q_CATALOG_CODE: /* for 5.0.x where 0<=x<=3 masters */
if ((catalog_len= *pos))
catalog= (char*) pos+1; // Will be copied later
pos+= catalog_len+2; // leap over end 0
catalog_nz= 0; // catalog has end 0 in event
break;
default: default:
/* That's why you must write status vars in growing order of code */ /* That's why you must write status vars in growing order of code */
DBUG_PRINT("info",("Query_log_event has unknown status vars (first has\ DBUG_PRINT("info",("Query_log_event has unknown status vars (first has\
code: %u), skipping the rest of them", (uint) *(pos-1))); code: %u), skipping the rest of them", (uint) *(pos-1)));
pos= (const uchar*) end; // Break look pos= (const uchar*) end; // Break loop
} }
} }
...@@ -1299,12 +1306,21 @@ Query_log_event::Query_log_event(const char* buf, uint event_len, ...@@ -1299,12 +1306,21 @@ Query_log_event::Query_log_event(const char* buf, uint event_len,
data_len + 1, MYF(MY_WME)))) data_len + 1, MYF(MY_WME))))
DBUG_VOID_RETURN; DBUG_VOID_RETURN;
if (catalog_len) // If catalog is given if (catalog_len) // If catalog is given
{
if (likely(catalog_nz)) // true except if event comes from 5.0.0|1|2|3.
{ {
memcpy(start, catalog, catalog_len); memcpy(start, catalog, catalog_len);
catalog= start; catalog= start;
start+= catalog_len; start+= catalog_len;
*start++= 0; *start++= 0;
} }
else
{
memcpy(start, catalog, catalog_len+1); // copy end 0
catalog= start;
start+= catalog_len+1;
}
}
if (time_zone_len) if (time_zone_len)
{ {
memcpy(start, time_zone_str, time_zone_len); memcpy(start, time_zone_str, time_zone_len);
......
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