Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0

into zim.(none):/home/brian/mysql/mysql-5.0
This commit is contained in:
brian@zim.(none) 2005-06-01 22:50:00 -07:00
commit d11ba2ca04
13 changed files with 29 additions and 49 deletions

View File

@ -271,7 +271,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
option_wait=1; option_wait=1;
} }
else else
option_wait= ~0; option_wait= ~(uint)0;
break; break;
case '?': case '?':
case 'I': /* Info */ case 'I': /* Info */

View File

@ -602,7 +602,7 @@ int ha_archive::write_row(byte * buf)
if (!delayed_insert || !bulk_insert) if (!delayed_insert || !bulk_insert)
share->dirty= TRUE; share->dirty= TRUE;
if (written != table->s->reclength) if (written != (z_off_t)table->s->reclength)
goto error; goto error;
/* /*
We should probably mark the table as damagaged if the record is written We should probably mark the table as damagaged if the record is written
@ -619,7 +619,7 @@ int ha_archive::write_row(byte * buf)
{ {
((Field_blob*) table->field[*ptr])->get_ptr(&data_ptr); ((Field_blob*) table->field[*ptr])->get_ptr(&data_ptr);
written= gzwrite(share->archive_write, data_ptr, (unsigned)size); written= gzwrite(share->archive_write, data_ptr, (unsigned)size);
if (written != size) if (written != (z_off_t)size)
goto error; goto error;
} }
} }
@ -790,7 +790,7 @@ int ha_archive::rnd_pos(byte * buf, byte *pos)
statistic_increment(table->in_use->status_var.ha_read_rnd_next_count, statistic_increment(table->in_use->status_var.ha_read_rnd_next_count,
&LOCK_status); &LOCK_status);
current_position= my_get_ptr(pos, ref_length); current_position= my_get_ptr(pos, ref_length);
z_off_t seek= gzseek(archive, current_position, SEEK_SET); (void)gzseek(archive, current_position, SEEK_SET);
DBUG_RETURN(get_row(archive, buf)); DBUG_RETURN(get_row(archive, buf));
} }

View File

@ -152,10 +152,8 @@ static EXAMPLE_SHARE *get_share(const char *table_name, TABLE *table)
return share; return share;
error2:
thr_lock_delete(&share->lock);
pthread_mutex_destroy(&share->mutex);
error: error:
pthread_mutex_destroy(&share->mutex);
pthread_mutex_unlock(&example_mutex); pthread_mutex_unlock(&example_mutex);
my_free((gptr) share, MYF(0)); my_free((gptr) share, MYF(0));

View File

@ -20,10 +20,10 @@
First off, this is a play thing for me, there are a number of things wrong with it: First off, this is a play thing for me, there are a number of things wrong with it:
*) It was designed for csv and therefor its performance is highly questionable. *) It was designed for csv and therefor its performance is highly questionable.
*) Indexes have not been implemented. This is because the files can be traded in *) Indexes have not been implemented. This is because the files can be traded in
and out of the table directory without having to worry about rebuilding anything. and out of the table directory without having to worry about rebuilding anything.
*) NULLs and "" are treated equally (like a spreadsheet). *) NULLs and "" are treated equally (like a spreadsheet).
*) There was in the beginning no point to anyone seeing this other then me, so there *) There was in the beginning no point to anyone seeing this other then me, so there
is a good chance that I haven't quite documented it well. is a good chance that I haven't quite documented it well.
*) Less design, more "make it work" *) Less design, more "make it work"
Now there are a few cool things with it: Now there are a few cool things with it:
@ -91,12 +91,12 @@ int get_mmap(TINA_SHARE *share, int write)
{ {
if (write) if (write)
share->mapped_file= (byte *)mmap(NULL, share->file_stat.st_size, share->mapped_file= (byte *)mmap(NULL, share->file_stat.st_size,
PROT_READ|PROT_WRITE, MAP_SHARED, PROT_READ|PROT_WRITE, MAP_SHARED,
share->data_file, 0); share->data_file, 0);
else else
share->mapped_file= (byte *)mmap(NULL, share->file_stat.st_size, share->mapped_file= (byte *)mmap(NULL, share->file_stat.st_size,
PROT_READ, MAP_PRIVATE, PROT_READ, MAP_PRIVATE,
share->data_file, 0); share->data_file, 0);
if ((share->mapped_file ==(caddr_t)-1)) if ((share->mapped_file ==(caddr_t)-1))
{ {
/* /*
@ -146,9 +146,9 @@ static TINA_SHARE *get_share(const char *table_name, TABLE *table)
{ {
char data_file_name[FN_REFLEN]; char data_file_name[FN_REFLEN];
if (!my_multi_malloc(MYF(MY_WME | MY_ZEROFILL), if (!my_multi_malloc(MYF(MY_WME | MY_ZEROFILL),
&share, sizeof(*share), &share, sizeof(*share),
&tmp_name, length+1, &tmp_name, length+1,
NullS)) NullS))
{ {
pthread_mutex_unlock(&tina_mutex); pthread_mutex_unlock(&tina_mutex);
return NULL; return NULL;
@ -343,7 +343,6 @@ int ha_tina::find_current_row(byte *buf)
for (Field **field=table->field ; *field ; field++) for (Field **field=table->field ; *field ; field++)
{ {
int x;
buffer.length(0); buffer.length(0);
mapped_ptr++; // Increment past the first quote mapped_ptr++; // Increment past the first quote
for(;mapped_ptr != end_ptr; mapped_ptr++) for(;mapped_ptr != end_ptr; mapped_ptr++)
@ -747,29 +746,17 @@ int ha_tina::rnd_end()
beginning so that we move the smallest amount of data possible. beginning so that we move the smallest amount of data possible.
*/ */
qsort(chain, (size_t)(chain_ptr - chain), sizeof(tina_set), (qsort_cmp)sort_set); qsort(chain, (size_t)(chain_ptr - chain), sizeof(tina_set), (qsort_cmp)sort_set);
for (ptr= chain; ptr < chain_ptr; ptr++)
printf("Chain %d, %d\n", (int)ptr->begin, (int)ptr->end);
for (ptr= chain; ptr < chain_ptr; ptr++) for (ptr= chain; ptr < chain_ptr; ptr++)
{ {
//memmove(share->mapped_file + ptr->begin, share->mapped_file
//+ ptr->end, length - (size_t)ptr->end);
/* We peek a head to see if this is the last chain */ /* We peek a head to see if this is the last chain */
printf("Delete %d, %d, %d\n", (int)ptr->begin, (int)ptr->end, (int)length);
if (ptr+1 == chain_ptr) if (ptr+1 == chain_ptr)
{
printf("Shiftina(end) %d(%d) to %d\n", (int)ptr->end, (int)(length - (size_t)ptr->end), (int)ptr->begin);
memmove(share->mapped_file + ptr->begin, share->mapped_file + ptr->end, memmove(share->mapped_file + ptr->begin, share->mapped_file + ptr->end,
length - (size_t)ptr->end); length - (size_t)ptr->end);
}
else else
{ memmove((caddr_t)share->mapped_file + ptr->begin, (caddr_t)share->mapped_file + ptr->end,
printf("Shifting %d(%d) to %d\n", (int)ptr->end, (int)((ptr++)->begin - (size_t)ptr->end), (int)ptr->begin); (size_t)((ptr++)->begin - ptr->end));
memmove(share->mapped_file + ptr->begin, share->mapped_file + ptr->end,
(size_t)(ptr++)->begin - (size_t)ptr->end);
}
length= length - (size_t)(ptr->end - ptr->begin); length= length - (size_t)(ptr->end - ptr->begin);
} }
printf("Buffer %s\n",share->mapped_file);
/* Truncate the file to the new size */ /* Truncate the file to the new size */
if (my_chsize(share->data_file, length, 0, MYF(MY_WME))) if (my_chsize(share->data_file, length, 0, MYF(MY_WME)))
@ -852,7 +839,7 @@ int ha_tina::create(const char *name, TABLE *table_arg, HA_CREATE_INFO *create_i
DBUG_ENTER("ha_tina::create"); DBUG_ENTER("ha_tina::create");
if ((create_file= my_create(fn_format(name_buff,name,"",".CSV",MY_REPLACE_EXT|MY_UNPACK_FILENAME),0, if ((create_file= my_create(fn_format(name_buff,name,"",".CSV",MY_REPLACE_EXT|MY_UNPACK_FILENAME),0,
O_RDWR | O_TRUNC,MYF(MY_WME))) < 0) O_RDWR | O_TRUNC,MYF(MY_WME))) < 0)
DBUG_RETURN(-1); DBUG_RETURN(-1);
my_close(create_file,MYF(0)); my_close(create_file,MYF(0));

View File

@ -386,9 +386,6 @@ Item_singlerow_subselect::select_transformer(JOIN *join)
return RES_REDUCE; return RES_REDUCE;
} }
return RES_OK; return RES_OK;
err:
return RES_ERROR;
} }

View File

@ -3478,7 +3478,7 @@ static void bootstrap(FILE *file)
thd->client_capabilities=0; thd->client_capabilities=0;
my_net_init(&thd->net,(st_vio*) 0); my_net_init(&thd->net,(st_vio*) 0);
thd->max_client_packet_length= thd->net.max_packet; thd->max_client_packet_length= thd->net.max_packet;
thd->master_access= ~0; thd->master_access= ~(ulong)0;
thd->thread_id=thread_id++; thd->thread_id=thread_id++;
thread_count++; thread_count++;
@ -5830,7 +5830,6 @@ static void print_version(void)
server_version,SYSTEM_TYPE,MACHINE_TYPE, MYSQL_COMPILATION_COMMENT); server_version,SYSTEM_TYPE,MACHINE_TYPE, MYSQL_COMPILATION_COMMENT);
} }
static void usage(void) static void usage(void)
{ {
if (!(default_charset_info= get_charset_by_csname(default_character_set_name, if (!(default_charset_info= get_charset_by_csname(default_character_set_name,

View File

@ -691,7 +691,7 @@ class SQL_SELECT :public Sql_alloc {
~SQL_SELECT(); ~SQL_SELECT();
void cleanup(); void cleanup();
bool check_quick(THD *thd, bool force_quick_range, ha_rows limit) bool check_quick(THD *thd, bool force_quick_range, ha_rows limit)
{ return test_quick_select(thd, key_map(~0), 0, limit, force_quick_range) < 0; } { return test_quick_select(thd, key_map(~(uint)0), 0, limit, force_quick_range) < 0; }
inline bool skip_record() { return cond ? cond->val_int() == 0 : 0; } inline bool skip_record() { return cond ? cond->val_int() == 0 : 0; }
int test_quick_select(THD *thd, key_map keys, table_map prev_tables, int test_quick_select(THD *thd, key_map keys, table_map prev_tables,
ha_rows limit, bool force_quick_range=0); ha_rows limit, bool force_quick_range=0);

View File

@ -71,7 +71,7 @@ static int init_failsafe_rpl_thread(THD* thd)
my_net_init(&thd->net, 0); my_net_init(&thd->net, 0);
thd->net.read_timeout = slave_net_timeout; thd->net.read_timeout = slave_net_timeout;
thd->max_client_packet_length=thd->net.max_packet; thd->max_client_packet_length=thd->net.max_packet;
thd->master_access= ~0; thd->master_access= ~(ulong)0;
thd->priv_user = 0; thd->priv_user = 0;
pthread_mutex_lock(&LOCK_thread_count); pthread_mutex_lock(&LOCK_thread_count);
thd->thread_id = thread_id++; thd->thread_id = thread_id++;

View File

@ -2818,7 +2818,7 @@ static int init_slave_thread(THD* thd, SLAVE_THD_TYPE thd_type)
thd->client_capabilities = 0; thd->client_capabilities = 0;
my_net_init(&thd->net, 0); my_net_init(&thd->net, 0);
thd->net.read_timeout = slave_net_timeout; thd->net.read_timeout = slave_net_timeout;
thd->master_access= ~0; thd->master_access= ~(ulong)0;
thd->slave_thread = 1; thd->slave_thread = 1;
set_slave_thread_options(thd); set_slave_thread_options(thd);
/* /*

View File

@ -1104,7 +1104,7 @@ static void acl_insert_db(const char *user, const char *host, const char *db,
ulong acl_get(const char *host, const char *ip, ulong acl_get(const char *host, const char *ip,
const char *user, const char *db, my_bool db_is_pattern) const char *user, const char *db, my_bool db_is_pattern)
{ {
ulong host_access= ~0, db_access= 0; ulong host_access= ~(ulong)0, db_access= 0;
uint i,key_length; uint i,key_length;
char key[ACL_KEY_LENGTH],*tmp_db,*end; char key[ACL_KEY_LENGTH],*tmp_db,*end;
acl_entry *entry; acl_entry *entry;
@ -5064,7 +5064,7 @@ bool mysql_revoke_all(THD *thd, List <LEX_USER> &list)
} }
if (replace_user_table(thd, tables[0].table, if (replace_user_table(thd, tables[0].table,
*lex_user, ~0, 1, 0, 0)) *lex_user, ~(ulong)0, 1, 0, 0))
{ {
result= -1; result= -1;
continue; continue;
@ -5091,7 +5091,7 @@ bool mysql_revoke_all(THD *thd, List <LEX_USER> &list)
if (!strcmp(lex_user->user.str,user) && if (!strcmp(lex_user->user.str,user) &&
!my_strcasecmp(system_charset_info, lex_user->host.str, host)) !my_strcasecmp(system_charset_info, lex_user->host.str, host))
{ {
if (!replace_db_table(tables[1].table, acl_db->db, *lex_user, ~0, 1)) if (!replace_db_table(tables[1].table, acl_db->db, *lex_user, ~(ulong)0, 1))
{ {
/* /*
Don't increment counter as replace_db_table deleted the Don't increment counter as replace_db_table deleted the
@ -5125,7 +5125,7 @@ bool mysql_revoke_all(THD *thd, List <LEX_USER> &list)
if (replace_table_table(thd,grant_table,tables[2].table,*lex_user, if (replace_table_table(thd,grant_table,tables[2].table,*lex_user,
grant_table->db, grant_table->db,
grant_table->tname, grant_table->tname,
~0, 0, 1)) ~(ulong)0, 0, 1))
{ {
result= -1; result= -1;
} }
@ -5141,7 +5141,7 @@ bool mysql_revoke_all(THD *thd, List <LEX_USER> &list)
columns, columns,
grant_table->db, grant_table->db,
grant_table->tname, grant_table->tname,
~0, 1)) ~(ulong)0, 1))
{ {
revoked= 1; revoked= 1;
continue; continue;

View File

@ -1776,7 +1776,7 @@ bool delayed_insert::handle_inserts(void)
if (thd.killed || table->s->version != refresh_version) if (thd.killed || table->s->version != refresh_version)
{ {
thd.killed= THD::KILL_CONNECTION; thd.killed= THD::KILL_CONNECTION;
max_rows= ~0; // Do as much as possible max_rows= ~(uint)0; // Do as much as possible
} }
/* /*

View File

@ -651,7 +651,6 @@ static bool check_mqh(THD *thd, uint check_command)
{ {
#ifndef NO_EMBEDDED_ACCESS_CHECKS #ifndef NO_EMBEDDED_ACCESS_CHECKS
bool error= 0; bool error= 0;
time_t check_time = thd->start_time ? thd->start_time : time(NULL);
USER_CONN *uc=thd->user_connect; USER_CONN *uc=thd->user_connect;
DBUG_ENTER("check_mqh"); DBUG_ENTER("check_mqh");
DBUG_ASSERT(uc != 0); DBUG_ASSERT(uc != 0);

View File

@ -37,7 +37,7 @@ const char *join_type_str[]={ "UNKNOWN","system","const","eq_ref","ref",
}; };
const key_map key_map_empty(0); const key_map key_map_empty(0);
const key_map key_map_full(~0); const key_map key_map_full(~(uint)0);
static void optimize_keyuse(JOIN *join, DYNAMIC_ARRAY *keyuse_array); static void optimize_keyuse(JOIN *join, DYNAMIC_ARRAY *keyuse_array);
static bool make_join_statistics(JOIN *join, TABLE_LIST *leaves, COND *conds, static bool make_join_statistics(JOIN *join, TABLE_LIST *leaves, COND *conds,
@ -5088,7 +5088,7 @@ make_simple_join(JOIN *join,TABLE *tmp_table)
join_tab->select_cond=0; join_tab->select_cond=0;
join_tab->quick=0; join_tab->quick=0;
join_tab->type= JT_ALL; /* Map through all records */ join_tab->type= JT_ALL; /* Map through all records */
join_tab->keys.init(~0); /* test everything in quick */ join_tab->keys.init(~(uint)0); /* test everything in quick */
join_tab->info=0; join_tab->info=0;
join_tab->on_expr_ref=0; join_tab->on_expr_ref=0;
join_tab->last_inner= 0; join_tab->last_inner= 0;