Commit 802e6351 authored by unknown's avatar unknown
Browse files

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

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

parents 149b43f3 c7201c13
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -636,3 +636,31 @@ fi

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 ---------------------------------------------------------------------------
+1 −0
Original line number Diff line number Diff line
@@ -2373,6 +2373,7 @@ AC_SUBST(readline_basedir)
AC_SUBST(readline_link)
AC_SUBST(readline_h_ln_cmd)

MYSQL_CHECK_BIG_TABLES
MYSQL_CHECK_BDB
MYSQL_CHECK_INNODB
MYSQL_CHECK_EXAMPLEDB
+9 −8
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ CREATE TABLE user (
  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,
  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_cipher BLOB NOT NULL,
  x509_issuer BLOB NOT NULL,
@@ -98,9 +99,9 @@ CHARACTER SET utf8 COLLATE utf8_bin
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 ('@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);
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);
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','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 ('@HOSTNAME@%','');

@@ -147,11 +148,11 @@ comment='Column privileges';

CREATE TABLE help_topic (
  help_topic_id int unsigned not null,
  name varchar(64) not null,
  name char(64) not null,
  help_category_id smallint unsigned not null,
  description text not null,
  example text not null,
  url varchar(128) not null,
  url char(128) not null,
  primary key (help_topic_id),
  unique index (name)
) engine=MyISAM
@@ -161,9 +162,9 @@ comment='help topics';
  
CREATE TABLE help_category (
  help_category_id smallint unsigned not null,
  name varchar(64) not null,
  name char(64) not 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)
) engine=MyISAM
CHARACTER SET utf8
@@ -172,7 +173,7 @@ comment='help categories';

CREATE TABLE help_keyword (
  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)
) engine=MyISAM
CHARACTER SET utf8
+11 −11
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ test_sequence
------ simple select tests ------
prepare stmt1 from ' select * from t9 order by c1 ' ;
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	c2	c2	2	6	1	Y	32768	0	63
def	test	t9	t9	c3	c3	9	9	1	Y	32768	0	63
@@ -1144,7 +1144,7 @@ test_sequence
------ explain select tests ------
prepare stmt1 from ' explain select * from t9 ' ;
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					select_type	253	19	6	N	1	31	8
def					table	253	64	2	N	1	31	8
@@ -1782,7 +1782,7 @@ t5 CREATE TABLE `t5` (
  `param15` longblob
) ENGINE=MyISAM DEFAULT CHARSET=latin1
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	param01	param01	8	20	1	Y	32768	0	63
def	test	t5	t5	const02	const02	246	3	3	N	1	1	63
@@ -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
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 ;
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					@arg02	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 ;
@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
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					@arg02	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 ;
@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
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					@arg02	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 ;
@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
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					@arg02	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,
@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
from t9 where c1= 1 ;
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					@arg02	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,
@arg25, @arg26, @arg27, @arg28, @arg29, @arg30, @arg31, @arg32
from t9 where c1= 0 ;
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					@arg02	253	20	0	Y	128	31	63
def					@arg03	253	20	0	Y	128	31	63
@@ -2169,7 +2169,7 @@ from t9 where c1= ?" ;
set @my_key= 1 ;
execute stmt1 using @my_key ;
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					@arg02	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
set @my_key= 0 ;
execute stmt1 using @my_key ;
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					@arg02	253	20	0	Y	128	31	63
def					@arg03	253	20	0	Y	128	31	63
+24 −8
Original line number Diff line number Diff line
@@ -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
      Q_AUTO_INCREMENT*, Q_CHARSET and so replication will fail silently in
      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
      5.0.3<->5.0.4. If replication is from older to new, the new won't find
      the catalog and will have the same problems.
      they are not exactly the same version, with example of 5.0.3->5.0.2 and
      5.0.4->5.0.3. If replication is from older to new, the new will
      recognize Q_CATALOG_CODE and have no problem.
      */
  }
  if (auto_increment_increment != 1)
@@ -1195,6 +1195,7 @@ Query_log_event::Query_log_event(const char* buf, uint event_len,
  uint8 common_header_len, post_header_len;
  char *start;
  const char *end;
  bool catalog_nz= 1;
  DBUG_ENTER("Query_log_event::Query_log_event(char*,...)");

  common_header_len= description_event->common_header_len;
@@ -1286,11 +1287,17 @@ Query_log_event::Query_log_event(const char* buf, uint event_len,
      pos+= time_zone_len+1;
      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:
      /* 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\
 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,
                                            data_len + 1, MYF(MY_WME))))
    DBUG_VOID_RETURN;
  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);
      catalog= start;
      start+= catalog_len;
      *start++= 0;
    }
    else
    {
      memcpy(start, catalog, catalog_len+1); // copy end 0
      catalog= start;
      start+= catalog_len+1;
    }
  }
  if (time_zone_len)
  {
    memcpy(start, time_zone_str, time_zone_len);