Fixed during review of new pulled code

extra/perror.c:
  Use strmov() instead of strcpy()
  Indentation fixes
sql/sql_table.cc:
  Revert back part of the old code as the new code didn't use mysql_data_home, which would have caused problems in the embedded server
sql/sql_update.cc:
  Ensure that used_index is always set (It has to be set because it's value is tested if order != 0)
This commit is contained in:
unknown 2005-02-02 20:28:01 +02:00
parent 613c2f68e2
commit 3d0f9d96d7
3 changed files with 18 additions and 8 deletions

View File

@ -213,12 +213,14 @@ int main(int argc,char *argv[])
string 'Unknown Error'. To avoid printing it we try to find the string 'Unknown Error'. To avoid printing it we try to find the
error string by asking for an impossible big error message. error string by asking for an impossible big error message.
*/ */
msg = strerror(10000); msg= strerror(10000);
/* allocate a buffer for unknown_error since strerror always returns the same pointer /*
on some platforms such as Windows */ Allocate a buffer for unknown_error since strerror always returns
unknown_error = malloc( strlen(msg)+1 ); the same pointer on some platforms such as Windows
strcpy( unknown_error, msg ); */
unknown_error= malloc(strlen(msg)+1);
strmov(unknown_error, msg);
for ( ; argc-- > 0 ; argv++) for ( ; argc-- > 0 ; argv++)
{ {

View File

@ -2272,7 +2272,10 @@ int mysql_create_like_table(THD* thd, TABLE_LIST* table,
strxmov(src_path, (*tmp_table)->path, reg_ext, NullS); strxmov(src_path, (*tmp_table)->path, reg_ext, NullS);
else else
{ {
fn_format( src_path, src_table, src_db, reg_ext, MYF(MY_UNPACK_FILENAME)); strxmov(src_path, mysql_data_home, "/", src_db, "/", src_table,
reg_ext, NullS);
/* Resolve symlinks (for windows) */
fn_format(src_path, src_path, "", "", MYF(MY_UNPACK_FILENAME));
if (access(src_path, F_OK)) if (access(src_path, F_OK))
{ {
my_error(ER_BAD_TABLE_ERROR, MYF(0), src_table); my_error(ER_BAD_TABLE_ERROR, MYF(0), src_table);
@ -2299,7 +2302,9 @@ int mysql_create_like_table(THD* thd, TABLE_LIST* table,
} }
else else
{ {
fn_format( dst_path, table_name, db, reg_ext, MYF(MY_UNPACK_FILENAME)); strxmov(dst_path, mysql_data_home, "/", db, "/", table_name,
reg_ext, NullS);
fn_format(dst_path, dst_path, "", "", MYF(MY_UNPACK_FILENAME));
if (!access(dst_path, F_OK)) if (!access(dst_path, F_OK))
goto table_exists; goto table_exists;
} }

View File

@ -167,7 +167,10 @@ int mysql_update(THD *thd,
else if ((used_index=table->file->key_used_on_scan) < MAX_KEY) else if ((used_index=table->file->key_used_on_scan) < MAX_KEY)
used_key_is_modified=check_if_key_used(table, used_index, fields); used_key_is_modified=check_if_key_used(table, used_index, fields);
else else
{
used_key_is_modified=0; used_key_is_modified=0;
used_index= MAX_KEY;
}
if (used_key_is_modified || order) if (used_key_is_modified || order)
{ {
/* /*