Below is the list of changes that have just been committed into a local
5.0 repository of serg. When serg does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1996 05/09/27 20:11:09 serg@stripped +12 -0
CHECKSUM TABLE now allows concurrent inserts
sql/sql_table.cc
1.274 05/09/27 20:10:56 serg@stripped +1 -1
CHECKSUM TABLE now allows concurrent inserts
sql/ha_myisam.cc
1.160 05/09/27 20:10:55 serg@stripped +1 -1
info->s->state.checksum moved to info->state->checksum
mysql-test/r/system_mysql_db.result
1.28 05/09/27 20:10:55 serg@stripped +1 -1
result fixed
myisam/myisampack.c
1.48 05/09/27 20:10:55 serg@stripped +2 -2
info->s->state.checksum moved to info->state->checksum
myisam/myisamdef.h
1.80 05/09/27 20:10:55 serg@stripped +1 -1
info->s->state.checksum moved to info->state->checksum
myisam/myisamchk.c
1.119 05/09/27 20:10:55 serg@stripped +2 -2
info->s->state.checksum moved to info->state->checksum
myisam/mi_write.c
1.54 05/09/27 20:10:55 serg@stripped +1 -1
info->s->state.checksum moved to info->state->checksum
myisam/mi_update.c
1.19 05/09/27 20:10:55 serg@stripped +1 -1
info->s->state.checksum moved to info->state->checksum
myisam/mi_open.c
1.94 05/09/27 20:10:55 serg@stripped +2 -2
info->s->state.checksum moved to info->state->checksum
myisam/mi_delete_all.c
1.16 05/09/27 20:10:55 serg@stripped +1 -1
info->s->state.checksum moved to info->state->checksum
myisam/mi_delete.c
1.35 05/09/27 20:10:55 serg@stripped +1 -1
info->s->state.checksum moved to info->state->checksum
myisam/mi_check.c
1.138 05/09/27 20:10:54 serg@stripped +5 -5
info->s->state.checksum moved to info->state->checksum
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: serg
# Host: serg.mylan
# Root: /usr/home/serg/Abk/mysql-5.0
--- 1.137/myisam/mi_check.c Sat Sep 24 00:35:26 2005
+++ 1.138/myisam/mi_check.c Tue Sep 27 20:10:54 2005
@@ -1092,7 +1092,7 @@ int chk_data_link(MI_CHECK *param, MI_IN
"Keypointers and record positions doesn't match");
error=1;
}
- else if (param->glob_crc != info->s->state.checksum &&
+ else if (param->glob_crc != info->state->checksum &&
(info->s->options &
(HA_OPTION_CHECKSUM | HA_OPTION_COMPRESS_RECORD)))
{
@@ -1388,7 +1388,7 @@ int mi_repair(MI_CHECK *param, register
info->state->data_file_length=sort_param.max_pos;
}
if (param->testflag & T_CALC_CHECKSUM)
- share->state.checksum=param->glob_crc;
+ info->state->checksum=param->glob_crc;
if (!(param->testflag & T_SILENT))
{
@@ -2156,7 +2156,7 @@ int mi_repair_by_sort(MI_CHECK *param, r
my_errno);
}
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)))
mi_check_print_warning(param,
@@ -2577,7 +2577,7 @@ int mi_repair_parallel(MI_CHECK *param,
my_errno);
}
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)))
mi_check_print_warning(param,
@@ -3808,7 +3808,7 @@ int recreate_table(MI_CHECK *param, MI_I
(*org_info)->s->state.create_time=share.state.create_time;
(*org_info)->s->state.unique=(*org_info)->this_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)->s->state.dellink=share.state.dellink;
(*org_info)->state->empty=info.state->empty;
--- 1.34/myisam/mi_delete.c Tue Jul 19 14:13:37 2005
+++ 1.35/myisam/mi_delete.c Tue Sep 27 20:10:55 2005
@@ -93,7 +93,7 @@ int mi_delete(MI_INFO *info,const byte *
if ((*share->delete_record)(info))
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->state->records--;
--- 1.15/myisam/mi_delete_all.c Thu Nov 20 21:06:18 2003
+++ 1.16/myisam/mi_delete_all.c Tue Sep 27 20:10:55 2005
@@ -41,7 +41,7 @@ int mi_delete_all_rows(MI_INFO *info)
info->state->key_file_length=share->base.keystart;
info->state->data_file_length=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-- ; )
state->key_del[i]= HA_OFFSET_ERROR;
--- 1.93/myisam/mi_open.c Tue Jul 19 14:13:37 2005
+++ 1.94/myisam/mi_open.c Tue Sep 27 20:10:55 2005
@@ -822,7 +822,7 @@ uint mi_state_info_write(File file, MI_S
mi_sizestore(ptr,state->state.empty); ptr +=8;
mi_sizestore(ptr,state->state.key_empty); 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->unique); ptr +=4;
mi_int4store(ptr,state->status); ptr +=4;
@@ -884,7 +884,7 @@ char *mi_state_info_read(uchar *ptr, MI_
state->state.empty = mi_sizekorr(ptr); ptr +=8;
state->state.key_empty= mi_sizekorr(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->unique = mi_uint4korr(ptr); ptr +=4;
state->status = mi_uint4korr(ptr); ptr +=4;
--- 1.18/myisam/mi_update.c Tue Jul 19 14:13:37 2005
+++ 1.19/myisam/mi_update.c Tue Sep 27 20:10:55 2005
@@ -162,7 +162,7 @@ int mi_update(register MI_INFO *info, co
if (auto_key_changed)
update_auto_increment(info,newrec);
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 |
key_changed);
--- 1.53/myisam/mi_write.c Tue Jul 19 14:13:37 2005
+++ 1.54/myisam/mi_write.c Tue Sep 27 20:10:55 2005
@@ -142,7 +142,7 @@ int mi_write(MI_INFO *info, byte *record
{
if ((*share->write_record)(info,record))
goto err;
- share->state.checksum+=info->checksum;
+ info->state->checksum+=info->checksum;
}
if (share->base.auto_key)
update_auto_increment(info,record);
--- 1.118/myisam/myisamchk.c Sat Sep 24 00:35:27 2005
+++ 1.119/myisam/myisamchk.c Tue Sep 27 20:10:55 2005
@@ -1261,7 +1261,7 @@ static void descript(MI_CHECK *param, re
share->base.raid_chunksize);
}
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)
printf("Keys are only flushed at close\n");
@@ -1576,7 +1576,7 @@ static int mi_sort_records(MI_CHECK *par
old_record_count=info->state->records;
info->state->records=0;
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],
temp_buff, sort_key,new_file,update_index) ||
--- 1.79/myisam/myisamdef.h Fri Sep 23 17:27:00 2005
+++ 1.80/myisam/myisamdef.h Tue Sep 27 20:10:55 2005
@@ -38,6 +38,7 @@ typedef struct st_mi_status_info
my_off_t key_empty; /* lost space in indexfile */
my_off_t key_file_length;
my_off_t data_file_length;
+ ha_checksum checksum;
} MI_STATUS_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_used; /* which extra index are in use */
ulonglong key_map; /* Which keys are in use */
- ha_checksum checksum;
ulong version; /* timestamp of create */
time_t create_time; /* Time when created database */
time_t recover_time; /* Time for last recover */
--- 1.47/myisam/myisampack.c Mon Sep 5 15:28:50 2005
+++ 1.48/myisam/myisampack.c Tue Sep 27 20:10:55 2005
@@ -2965,7 +2965,7 @@ static int save_state(MI_INFO *isam_file
share->state.key_root[key]= HA_OFFSET_ERROR;
for (key=0 ; key < share->state.header.max_block_size ; key++)
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->state.open_count=0;
share->global_changed=0;
@@ -3001,7 +3001,7 @@ static int save_state_mrg(File file,PACK
state.dellink= HA_OFFSET_ERROR;
state.version=(ulong) time((time_t*) 0);
mi_clear_all_keys_active(state.key_map);
- state.checksum=crc;
+ state.state.checksum=crc;
if (isam_file->s->base.keys)
isamchk_neaded=1;
state.changed=STATE_CHANGED | STATE_NOT_ANALYZED; /* Force check of table */
--- 1.159/sql/ha_myisam.cc Sat Sep 24 00:35:27 2005
+++ 1.160/sql/ha_myisam.cc Tue Sep 27 20:10:55 2005
@@ -1703,6 +1703,6 @@ int ha_myisam::ft_read(byte * buf)
uint ha_myisam::checksum() const
{
- return (uint)file->s->state.checksum;
+ return (uint)file->state->checksum;
}
--- 1.273/sql/sql_table.cc Thu Sep 15 01:57:52 2005
+++ 1.274/sql/sql_table.cc Tue Sep 27 20:10:56 2005
@@ -4074,7 +4074,7 @@ bool mysql_checksum_table(THD *thd, TABL
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
protocol->prepare_for_resend();
--- 1.27/mysql-test/r/system_mysql_db.result Wed Jul 27 03:08:44 2005
+++ 1.28/mysql-test/r/system_mysql_db.result Tue Sep 27 20:10:55 2005
@@ -73,7 +73,7 @@ Table Create Table
user CREATE TABLE `user` (
`Host` char(60) 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',
`Insert_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
`Update_priv` enum('N','Y') character set utf8 NOT NULL default 'N',
| Thread |
|---|
| • bk commit into 5.0 tree (serg:1.1996) | Sergei Golubchik | 27 Sep |