mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
This commit is contained in:
@ -1092,7 +1092,7 @@ int chk_data_link(MI_CHECK *param, MI_INFO *info,int extend)
|
|||||||
"Keypointers and record positions doesn't match");
|
"Keypointers and record positions doesn't match");
|
||||||
error=1;
|
error=1;
|
||||||
}
|
}
|
||||||
else if (param->glob_crc != info->s->state.checksum &&
|
else if (param->glob_crc != info->state->checksum &&
|
||||||
(info->s->options &
|
(info->s->options &
|
||||||
(HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD)))
|
(HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD)))
|
||||||
{
|
{
|
||||||
@ -1388,7 +1388,7 @@ int mi_repair(MI_CHECK *param, register MI_INFO *info,
|
|||||||
info->state->data_file_length=sort_param.max_pos;
|
info->state->data_file_length=sort_param.max_pos;
|
||||||
}
|
}
|
||||||
if (param->testflag & T_CALC_CHECKSUM)
|
if (param->testflag & T_CALC_CHECKSUM)
|
||||||
share->state.checksum=param->glob_crc;
|
info->state->checksum=param->glob_crc;
|
||||||
|
|
||||||
if (!(param->testflag & T_SILENT))
|
if (!(param->testflag & T_SILENT))
|
||||||
{
|
{
|
||||||
@ -2156,7 +2156,7 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
|
|||||||
my_errno);
|
my_errno);
|
||||||
}
|
}
|
||||||
if (param->testflag & T_CALC_CHECKSUM)
|
if (param->testflag & T_CALC_CHECKSUM)
|
||||||
share->state.checksum=param->glob_crc;
|
info->state->checksum=param->glob_crc;
|
||||||
|
|
||||||
if (my_chsize(share->kfile,info->state->key_file_length,0,MYF(0)))
|
if (my_chsize(share->kfile,info->state->key_file_length,0,MYF(0)))
|
||||||
mi_check_print_warning(param,
|
mi_check_print_warning(param,
|
||||||
@ -2577,7 +2577,7 @@ int mi_repair_parallel(MI_CHECK *param, register MI_INFO *info,
|
|||||||
my_errno);
|
my_errno);
|
||||||
}
|
}
|
||||||
if (param->testflag & T_CALC_CHECKSUM)
|
if (param->testflag & T_CALC_CHECKSUM)
|
||||||
share->state.checksum=param->glob_crc;
|
info->state->checksum=param->glob_crc;
|
||||||
|
|
||||||
if (my_chsize(share->kfile,info->state->key_file_length,0,MYF(0)))
|
if (my_chsize(share->kfile,info->state->key_file_length,0,MYF(0)))
|
||||||
mi_check_print_warning(param,
|
mi_check_print_warning(param,
|
||||||
@ -3808,7 +3808,7 @@ int recreate_table(MI_CHECK *param, MI_INFO **org_info, char *filename)
|
|||||||
(*org_info)->s->state.create_time=share.state.create_time;
|
(*org_info)->s->state.create_time=share.state.create_time;
|
||||||
(*org_info)->s->state.unique=(*org_info)->this_unique=
|
(*org_info)->s->state.unique=(*org_info)->this_unique=
|
||||||
share.state.unique;
|
share.state.unique;
|
||||||
(*org_info)->s->state.checksum=share.state.checksum;
|
(*org_info)->state->checksum=info.state->checksum;
|
||||||
(*org_info)->state->del=info.state->del;
|
(*org_info)->state->del=info.state->del;
|
||||||
(*org_info)->s->state.dellink=share.state.dellink;
|
(*org_info)->s->state.dellink=share.state.dellink;
|
||||||
(*org_info)->state->empty=info.state->empty;
|
(*org_info)->state->empty=info.state->empty;
|
||||||
|
@ -93,7 +93,7 @@ int mi_delete(MI_INFO *info,const byte *record)
|
|||||||
|
|
||||||
if ((*share->delete_record)(info))
|
if ((*share->delete_record)(info))
|
||||||
goto err; /* Remove record from database */
|
goto err; /* Remove record from database */
|
||||||
info->s->state.checksum-=info->checksum;
|
info->state->checksum-=info->checksum;
|
||||||
|
|
||||||
info->update= HA_STATE_CHANGED+HA_STATE_DELETED+HA_STATE_ROW_CHANGED;
|
info->update= HA_STATE_CHANGED+HA_STATE_DELETED+HA_STATE_ROW_CHANGED;
|
||||||
info->state->records--;
|
info->state->records--;
|
||||||
|
@ -41,7 +41,7 @@ int mi_delete_all_rows(MI_INFO *info)
|
|||||||
info->state->key_file_length=share->base.keystart;
|
info->state->key_file_length=share->base.keystart;
|
||||||
info->state->data_file_length=0;
|
info->state->data_file_length=0;
|
||||||
info->state->empty=info->state->key_empty=0;
|
info->state->empty=info->state->key_empty=0;
|
||||||
state->checksum=0;
|
info->state->checksum=0;
|
||||||
|
|
||||||
for (i=share->base.max_key_block_length/MI_MIN_KEY_BLOCK_LENGTH ; i-- ; )
|
for (i=share->base.max_key_block_length/MI_MIN_KEY_BLOCK_LENGTH ; i-- ; )
|
||||||
state->key_del[i]= HA_OFFSET_ERROR;
|
state->key_del[i]= HA_OFFSET_ERROR;
|
||||||
|
@ -822,7 +822,7 @@ uint mi_state_info_write(File file, MI_STATE_INFO *state, uint pWrite)
|
|||||||
mi_sizestore(ptr,state->state.empty); ptr +=8;
|
mi_sizestore(ptr,state->state.empty); ptr +=8;
|
||||||
mi_sizestore(ptr,state->state.key_empty); ptr +=8;
|
mi_sizestore(ptr,state->state.key_empty); ptr +=8;
|
||||||
mi_int8store(ptr,state->auto_increment); ptr +=8;
|
mi_int8store(ptr,state->auto_increment); ptr +=8;
|
||||||
mi_int8store(ptr,(ulonglong) state->checksum);ptr +=8;
|
mi_int8store(ptr,(ulonglong) state->state.checksum);ptr +=8;
|
||||||
mi_int4store(ptr,state->process); ptr +=4;
|
mi_int4store(ptr,state->process); ptr +=4;
|
||||||
mi_int4store(ptr,state->unique); ptr +=4;
|
mi_int4store(ptr,state->unique); ptr +=4;
|
||||||
mi_int4store(ptr,state->status); ptr +=4;
|
mi_int4store(ptr,state->status); ptr +=4;
|
||||||
@ -884,7 +884,7 @@ char *mi_state_info_read(uchar *ptr, MI_STATE_INFO *state)
|
|||||||
state->state.empty = mi_sizekorr(ptr); ptr +=8;
|
state->state.empty = mi_sizekorr(ptr); ptr +=8;
|
||||||
state->state.key_empty= mi_sizekorr(ptr); ptr +=8;
|
state->state.key_empty= mi_sizekorr(ptr); ptr +=8;
|
||||||
state->auto_increment=mi_uint8korr(ptr); ptr +=8;
|
state->auto_increment=mi_uint8korr(ptr); ptr +=8;
|
||||||
state->checksum=(ha_checksum) mi_uint8korr(ptr); ptr +=8;
|
state->state.checksum=(ha_checksum) mi_uint8korr(ptr); ptr +=8;
|
||||||
state->process= mi_uint4korr(ptr); ptr +=4;
|
state->process= mi_uint4korr(ptr); ptr +=4;
|
||||||
state->unique = mi_uint4korr(ptr); ptr +=4;
|
state->unique = mi_uint4korr(ptr); ptr +=4;
|
||||||
state->status = mi_uint4korr(ptr); ptr +=4;
|
state->status = mi_uint4korr(ptr); ptr +=4;
|
||||||
|
@ -162,7 +162,7 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
|
|||||||
if (auto_key_changed)
|
if (auto_key_changed)
|
||||||
update_auto_increment(info,newrec);
|
update_auto_increment(info,newrec);
|
||||||
if (share->calc_checksum)
|
if (share->calc_checksum)
|
||||||
share->state.checksum+=(info->checksum - old_checksum);
|
info->state->checksum+=(info->checksum - old_checksum);
|
||||||
|
|
||||||
info->update= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED | HA_STATE_AKTIV |
|
info->update= (HA_STATE_CHANGED | HA_STATE_ROW_CHANGED | HA_STATE_AKTIV |
|
||||||
key_changed);
|
key_changed);
|
||||||
|
@ -142,7 +142,7 @@ int mi_write(MI_INFO *info, byte *record)
|
|||||||
{
|
{
|
||||||
if ((*share->write_record)(info,record))
|
if ((*share->write_record)(info,record))
|
||||||
goto err;
|
goto err;
|
||||||
share->state.checksum+=info->checksum;
|
info->state->checksum+=info->checksum;
|
||||||
}
|
}
|
||||||
if (share->base.auto_key)
|
if (share->base.auto_key)
|
||||||
update_auto_increment(info,record);
|
update_auto_increment(info,record);
|
||||||
|
@ -1261,7 +1261,7 @@ static void descript(MI_CHECK *param, register MI_INFO *info, my_string name)
|
|||||||
share->base.raid_chunksize);
|
share->base.raid_chunksize);
|
||||||
}
|
}
|
||||||
if (share->options & (HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD))
|
if (share->options & (HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD))
|
||||||
printf("Checksum: %23s\n",llstr(info->s->state.checksum,llbuff));
|
printf("Checksum: %23s\n",llstr(info->state->checksum,llbuff));
|
||||||
;
|
;
|
||||||
if (share->options & HA_OPTION_DELAY_KEY_WRITE)
|
if (share->options & HA_OPTION_DELAY_KEY_WRITE)
|
||||||
printf("Keys are only flushed at close\n");
|
printf("Keys are only flushed at close\n");
|
||||||
@ -1576,7 +1576,7 @@ static int mi_sort_records(MI_CHECK *param,
|
|||||||
old_record_count=info->state->records;
|
old_record_count=info->state->records;
|
||||||
info->state->records=0;
|
info->state->records=0;
|
||||||
if (sort_info.new_data_file_type != COMPRESSED_RECORD)
|
if (sort_info.new_data_file_type != COMPRESSED_RECORD)
|
||||||
share->state.checksum=0;
|
info->state->checksum=0;
|
||||||
|
|
||||||
if (sort_record_index(&sort_param,info,keyinfo,share->state.key_root[sort_key],
|
if (sort_record_index(&sort_param,info,keyinfo,share->state.key_root[sort_key],
|
||||||
temp_buff, sort_key,new_file,update_index) ||
|
temp_buff, sort_key,new_file,update_index) ||
|
||||||
|
@ -38,6 +38,7 @@ typedef struct st_mi_status_info
|
|||||||
my_off_t key_empty; /* lost space in indexfile */
|
my_off_t key_empty; /* lost space in indexfile */
|
||||||
my_off_t key_file_length;
|
my_off_t key_file_length;
|
||||||
my_off_t data_file_length;
|
my_off_t data_file_length;
|
||||||
|
ha_checksum checksum;
|
||||||
} MI_STATUS_INFO;
|
} MI_STATUS_INFO;
|
||||||
|
|
||||||
typedef struct st_mi_state_info
|
typedef struct st_mi_state_info
|
||||||
@ -75,7 +76,6 @@ typedef struct st_mi_state_info
|
|||||||
ulong sec_index_changed; /* Updated when new sec_index */
|
ulong sec_index_changed; /* Updated when new sec_index */
|
||||||
ulong sec_index_used; /* which extra index are in use */
|
ulong sec_index_used; /* which extra index are in use */
|
||||||
ulonglong key_map; /* Which keys are in use */
|
ulonglong key_map; /* Which keys are in use */
|
||||||
ha_checksum checksum;
|
|
||||||
ulong version; /* timestamp of create */
|
ulong version; /* timestamp of create */
|
||||||
time_t create_time; /* Time when created database */
|
time_t create_time; /* Time when created database */
|
||||||
time_t recover_time; /* Time for last recover */
|
time_t recover_time; /* Time for last recover */
|
||||||
|
@ -2965,7 +2965,7 @@ static int save_state(MI_INFO *isam_file,PACK_MRG_INFO *mrg,my_off_t new_length,
|
|||||||
share->state.key_root[key]= HA_OFFSET_ERROR;
|
share->state.key_root[key]= HA_OFFSET_ERROR;
|
||||||
for (key=0 ; key < share->state.header.max_block_size ; key++)
|
for (key=0 ; key < share->state.header.max_block_size ; key++)
|
||||||
share->state.key_del[key]= HA_OFFSET_ERROR;
|
share->state.key_del[key]= HA_OFFSET_ERROR;
|
||||||
share->state.checksum=crc; /* Save crc here */
|
isam_file->state->checksum=crc; /* Save crc here */
|
||||||
share->changed=1; /* Force write of header */
|
share->changed=1; /* Force write of header */
|
||||||
share->state.open_count=0;
|
share->state.open_count=0;
|
||||||
share->global_changed=0;
|
share->global_changed=0;
|
||||||
@ -3001,7 +3001,7 @@ static int save_state_mrg(File file,PACK_MRG_INFO *mrg,my_off_t new_length,
|
|||||||
state.dellink= HA_OFFSET_ERROR;
|
state.dellink= HA_OFFSET_ERROR;
|
||||||
state.version=(ulong) time((time_t*) 0);
|
state.version=(ulong) time((time_t*) 0);
|
||||||
mi_clear_all_keys_active(state.key_map);
|
mi_clear_all_keys_active(state.key_map);
|
||||||
state.checksum=crc;
|
state.state.checksum=crc;
|
||||||
if (isam_file->s->base.keys)
|
if (isam_file->s->base.keys)
|
||||||
isamchk_neaded=1;
|
isamchk_neaded=1;
|
||||||
state.changed=STATE_CHANGED | STATE_NOT_ANALYZED; /* Force check of table */
|
state.changed=STATE_CHANGED | STATE_NOT_ANALYZED; /* Force check of table */
|
||||||
|
@ -1735,22 +1735,65 @@ create view v1 as
|
|||||||
select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);
|
select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);
|
||||||
create view v2 as
|
create view v2 as
|
||||||
select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
|
select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
|
||||||
drop view v1, v2, v3;
|
|
||||||
drop table t1;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
show full tables;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
Tables_in_test Table_type
|
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||||
t1 BASE TABLE
|
/*!40101 SET NAMES utf8 */;
|
||||||
v1 VIEW
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
v2 VIEW
|
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
|
||||||
v3 VIEW
|
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
|
||||||
show create view v1;
|
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
|
||||||
View Create View
|
DROP TABLE IF EXISTS `t1`;
|
||||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `v3`.`a` AS `a`,`v3`.`b` AS `b`,`v3`.`c` AS `c` from `v3` where (`v3`.`b` in (1,2,3,4,5,6,7))
|
CREATE TABLE `t1` (
|
||||||
select * from v1;
|
`a` int(11) default NULL,
|
||||||
a b c
|
`b` int(11) default NULL,
|
||||||
1 2 one
|
`c` varchar(30) default NULL
|
||||||
2 4 two
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||||
3 6 three
|
|
||||||
|
|
||||||
|
/*!40000 ALTER TABLE `t1` DISABLE KEYS */;
|
||||||
|
LOCK TABLES `t1` WRITE;
|
||||||
|
INSERT INTO `t1` VALUES (1,2,'one'),(2,4,'two'),(3,6,'three');
|
||||||
|
UNLOCK TABLES;
|
||||||
|
/*!40000 ALTER TABLE `t1` ENABLE KEYS */;
|
||||||
|
DROP TABLE IF EXISTS `v1`;
|
||||||
|
/*!50001 DROP VIEW IF EXISTS `v1`*/;
|
||||||
|
/*!50001 CREATE TABLE `v1` (
|
||||||
|
`a` int(11) default NULL,
|
||||||
|
`b` int(11) default NULL,
|
||||||
|
`c` varchar(30) default NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1*/;
|
||||||
|
DROP TABLE IF EXISTS `v2`;
|
||||||
|
/*!50001 DROP VIEW IF EXISTS `v2`*/;
|
||||||
|
/*!50001 CREATE TABLE `v2` (
|
||||||
|
`a` int(11) default NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1*/;
|
||||||
|
DROP TABLE IF EXISTS `v3`;
|
||||||
|
/*!50001 DROP VIEW IF EXISTS `v3`*/;
|
||||||
|
/*!50001 CREATE TABLE `v3` (
|
||||||
|
`a` int(11) default NULL,
|
||||||
|
`b` int(11) default NULL,
|
||||||
|
`c` varchar(30) default NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1*/;
|
||||||
|
/*!50001 DROP TABLE IF EXISTS `v1`*/;
|
||||||
|
/*!50001 DROP VIEW IF EXISTS `v1`*/;
|
||||||
|
/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `v3`.`a` AS `a`,`v3`.`b` AS `b`,`v3`.`c` AS `c` from `v3` where (`v3`.`b` in (1,2,3,4,5,6,7))*/;
|
||||||
|
/*!50001 DROP TABLE IF EXISTS `v2`*/;
|
||||||
|
/*!50001 DROP VIEW IF EXISTS `v2`*/;
|
||||||
|
/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v2` AS select `v3`.`a` AS `a` from (`v3` join `v1`) where ((`v1`.`a` = `v3`.`a`) and (`v3`.`b` = 3)) limit 1*/;
|
||||||
|
/*!50001 DROP TABLE IF EXISTS `v3`*/;
|
||||||
|
/*!50001 DROP VIEW IF EXISTS `v3`*/;
|
||||||
|
/*!50001 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`a` AS `a`,`t1`.`b` AS `b`,`t1`.`c` AS `c` from `t1`*/;
|
||||||
|
|
||||||
|
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
|
||||||
|
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
|
||||||
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
|
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||||
|
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||||
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
drop view v1, v2, v3;
|
drop view v1, v2, v3;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
CREATE TABLE t1 (a int, b bigint default NULL);
|
CREATE TABLE t1 (a int, b bigint default NULL);
|
||||||
|
@ -73,7 +73,7 @@ Table Create Table
|
|||||||
user CREATE TABLE `user` (
|
user CREATE TABLE `user` (
|
||||||
`Host` char(60) collate utf8_bin NOT NULL default '',
|
`Host` char(60) collate utf8_bin NOT NULL default '',
|
||||||
`User` char(16) collate utf8_bin NOT NULL default '',
|
`User` char(16) collate utf8_bin NOT NULL default '',
|
||||||
`Password` char(41) collate utf8_bin NOT NULL default '',
|
`Password` binary(41) NOT NULL default '',
|
||||||
`Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
`Select_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
||||||
`Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
`Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
||||||
`Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
`Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
|
||||||
|
@ -758,17 +758,7 @@ select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);
|
|||||||
create view v2 as
|
create view v2 as
|
||||||
select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
|
select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
|
||||||
|
|
||||||
--exec $MYSQL_DUMP test > var/tmp/bug10927.sql
|
--exec $MYSQL_DUMP --skip-comments test
|
||||||
drop view v1, v2, v3;
|
|
||||||
drop table t1;
|
|
||||||
--exec $MYSQL test < var/tmp/bug10927.sql
|
|
||||||
|
|
||||||
# Without dropping the original tables in between
|
|
||||||
--exec $MYSQL_DUMP test > var/tmp/bug10927.sql
|
|
||||||
--exec $MYSQL test < var/tmp/bug10927.sql
|
|
||||||
show full tables;
|
|
||||||
show create view v1;
|
|
||||||
select * from v1;
|
|
||||||
|
|
||||||
drop view v1, v2, v3;
|
drop view v1, v2, v3;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -123,7 +123,7 @@ then
|
|||||||
c_u="$c_u CREATE TABLE user ("
|
c_u="$c_u CREATE TABLE user ("
|
||||||
c_u="$c_u Host char(60) binary DEFAULT '' NOT NULL,"
|
c_u="$c_u Host char(60) binary DEFAULT '' NOT NULL,"
|
||||||
c_u="$c_u User char(16) binary DEFAULT '' NOT NULL,"
|
c_u="$c_u User char(16) binary DEFAULT '' NOT NULL,"
|
||||||
c_u="$c_u Password char(41) binary DEFAULT '' NOT NULL,"
|
c_u="$c_u Password binary(41) DEFAULT '' NOT NULL,"
|
||||||
c_u="$c_u Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
|
c_u="$c_u Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
|
||||||
c_u="$c_u Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
|
c_u="$c_u Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
|
||||||
c_u="$c_u Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
|
c_u="$c_u Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,"
|
||||||
|
@ -156,9 +156,9 @@ alter table columns_priv comment='Column privileges';
|
|||||||
ALTER TABLE user
|
ALTER TABLE user
|
||||||
MODIFY Host char(60) NOT NULL default '',
|
MODIFY Host char(60) NOT NULL default '',
|
||||||
MODIFY User char(16) NOT NULL default '',
|
MODIFY User char(16) NOT NULL default '',
|
||||||
MODIFY Password char(41) NOT NULL default '',
|
|
||||||
ENGINE=MyISAM, CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
|
ENGINE=MyISAM, CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
ALTER TABLE user
|
ALTER TABLE user
|
||||||
|
MODIFY Password binary(41) NOT NULL default '',
|
||||||
MODIFY Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
MODIFY Select_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||||
MODIFY Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
MODIFY Insert_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||||
MODIFY Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
MODIFY Update_priv enum('N','Y') COLLATE utf8_general_ci DEFAULT 'N' NOT NULL,
|
||||||
|
@ -1703,6 +1703,6 @@ int ha_myisam::ft_read(byte * buf)
|
|||||||
|
|
||||||
uint ha_myisam::checksum() const
|
uint ha_myisam::checksum() const
|
||||||
{
|
{
|
||||||
return (uint)file->s->state.checksum;
|
return (uint)file->state->checksum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4074,7 +4074,7 @@ bool mysql_checksum_table(THD *thd, TABLE_LIST *tables, HA_CHECK_OPT *check_opt)
|
|||||||
|
|
||||||
strxmov(table_name, table->db ,".", table->table_name, NullS);
|
strxmov(table_name, table->db ,".", table->table_name, NullS);
|
||||||
|
|
||||||
t= table->table= open_ltable(thd, table, TL_READ_NO_INSERT);
|
t= table->table= open_ltable(thd, table, TL_READ);
|
||||||
thd->clear_error(); // these errors shouldn't get client
|
thd->clear_error(); // these errors shouldn't get client
|
||||||
|
|
||||||
protocol->prepare_for_resend();
|
protocol->prepare_for_resend();
|
||||||
|
Reference in New Issue
Block a user