mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
dded volatile to replication variable
This commit is contained in:
@ -46423,7 +46423,9 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
|
|||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
Don't anymore support the client protocol prior to 3.21.
|
Multi-table @code{DELETE}.
|
||||||
|
@item
|
||||||
|
Don't anymore support old client protocols prior to @strong{MySQL} 3.21.
|
||||||
@item
|
@item
|
||||||
Don't include the old C API functions @code{mysql_drop_db},
|
Don't include the old C API functions @code{mysql_drop_db},
|
||||||
@code{mysql_create_db} and @code{mysql_connect}, if not compiled with
|
@code{mysql_create_db} and @code{mysql_connect}, if not compiled with
|
||||||
@ -51898,9 +51900,6 @@ master.
|
|||||||
@code{DELETE FROM table_name} will return the number of deleted rows. For
|
@code{DELETE FROM table_name} will return the number of deleted rows. For
|
||||||
fast execution one should use @code{TRUNCATE table_name}.
|
fast execution one should use @code{TRUNCATE table_name}.
|
||||||
@item
|
@item
|
||||||
Multi-table @code{DELETE} (cascading @code{DELETE} and multi-table
|
|
||||||
@code{DELETE}.
|
|
||||||
@item
|
|
||||||
Allow @code{DELETE} on @code{MyISAM} tables to use the record cache.
|
Allow @code{DELETE} on @code{MyISAM} tables to use the record cache.
|
||||||
To do this, we need to update the threads record cache when we update
|
To do this, we need to update the threads record cache when we update
|
||||||
the @code{.MYD} file.
|
the @code{.MYD} file.
|
||||||
@ -51974,7 +51973,19 @@ structure.
|
|||||||
Don't allow more than a defined number of threads to run MyISAM recover
|
Don't allow more than a defined number of threads to run MyISAM recover
|
||||||
at the same time.
|
at the same time.
|
||||||
@item
|
@item
|
||||||
Change @code{INSERT ... SELECT} to use concurrent inserts.
|
Change @code{INSERT ... SELECT} to optionally use concurrent inserts.
|
||||||
|
@item
|
||||||
|
Implement @code{RENAME DATABASE}. To make this safe for all table handlers,
|
||||||
|
it should work as follows:
|
||||||
|
@itemize @bullet
|
||||||
|
@item
|
||||||
|
Create the new database.
|
||||||
|
@item
|
||||||
|
For every table do a rename of the table to another database, as
|
||||||
|
we do with the @code{RENAME} command.
|
||||||
|
@item
|
||||||
|
Drop the old database.
|
||||||
|
@end itemize
|
||||||
@item
|
@item
|
||||||
Return the original field types() when doing @code{SELECT MIN(column)
|
Return the original field types() when doing @code{SELECT MIN(column)
|
||||||
... GROUP BY}.
|
... GROUP BY}.
|
||||||
@ -51989,9 +52000,11 @@ in microseconds.
|
|||||||
@item
|
@item
|
||||||
Add range checking to @code{MERGE} tables.
|
Add range checking to @code{MERGE} tables.
|
||||||
@item
|
@item
|
||||||
|
Link the @code{myisampack} code into the server.
|
||||||
|
@item
|
||||||
Port of @strong{MySQL} to BeOS.
|
Port of @strong{MySQL} to BeOS.
|
||||||
@item
|
@item
|
||||||
Link the @code{myisampack} code into the server.
|
Port of the @strong{MySQL} clients to LynxOS.
|
||||||
@item
|
@item
|
||||||
Add a temporary key buffer cache during @code{INSERT/DELETE/UPDATE} so that we
|
Add a temporary key buffer cache during @code{INSERT/DELETE/UPDATE} so that we
|
||||||
can gracefully recover if the index file gets full.
|
can gracefully recover if the index file gets full.
|
||||||
@ -52019,6 +52032,8 @@ a concurrent insert at the end of the file if the file is read-locked.
|
|||||||
@item
|
@item
|
||||||
Remember @code{FOREIGN} key definitions in the @file{.frm} file.
|
Remember @code{FOREIGN} key definitions in the @file{.frm} file.
|
||||||
@item
|
@item
|
||||||
|
Cascading @code{DELETE}
|
||||||
|
@item
|
||||||
Server side cursors.
|
Server side cursors.
|
||||||
@item
|
@item
|
||||||
Check if @code{lockd} works with modern Linux kernels; If not, we have
|
Check if @code{lockd} works with modern Linux kernels; If not, we have
|
||||||
@ -52028,6 +52043,13 @@ give any errors if @code{lockd} works.
|
|||||||
@item
|
@item
|
||||||
Allow SQL variables in @code{LIMIT}, like in @code{LIMIT @@a,@@b}.
|
Allow SQL variables in @code{LIMIT}, like in @code{LIMIT @@a,@@b}.
|
||||||
@item
|
@item
|
||||||
|
Allow update of variables in @code{UPDATE} statements. For example:
|
||||||
|
@code{UPDATE TABLE foo SET @@a=a+b,a=@@a, b=@@a+c}
|
||||||
|
@item
|
||||||
|
Change when user variables are updated so that one can use them with
|
||||||
|
@code{GROUP BY}, as in the following example:
|
||||||
|
@code{SELECT id, @@a:=count(*), sum(sum_col)/@@a FROM table_name GROUP BY id}.
|
||||||
|
@item
|
||||||
Don't add automatic @code{DEFAULT} values to columns. Give an error when using
|
Don't add automatic @code{DEFAULT} values to columns. Give an error when using
|
||||||
an @code{INSERT} that doesn't contain a column that doesn't have a
|
an @code{INSERT} that doesn't contain a column that doesn't have a
|
||||||
@code{DEFAULT}.
|
@code{DEFAULT}.
|
||||||
@ -52166,9 +52188,6 @@ Change that @code{ALTER TABLE} doesn't abort clients that executes
|
|||||||
Fix that when columns referenced in an @code{UPDATE} clause contains the old
|
Fix that when columns referenced in an @code{UPDATE} clause contains the old
|
||||||
values before the update started.
|
values before the update started.
|
||||||
@item
|
@item
|
||||||
Allow update of variables in @code{UPDATE} statements. For example:
|
|
||||||
@code{UPDATE TABLE foo SET @@a=a+b,a=@@a, b=@@a+c}
|
|
||||||
@item
|
|
||||||
@code{myisamchk}, @code{REPAIR} and @code{OPTIMIZE TABLE} should be able
|
@code{myisamchk}, @code{REPAIR} and @code{OPTIMIZE TABLE} should be able
|
||||||
to handle cases where the data and/or index files are symbolic links.
|
to handle cases where the data and/or index files are symbolic links.
|
||||||
@item
|
@item
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
#define RPL_LOG_NAME (glob_mi.log_file_name[0] ? glob_mi.log_file_name :\
|
#define RPL_LOG_NAME (glob_mi.log_file_name[0] ? glob_mi.log_file_name :\
|
||||||
"FIRST")
|
"FIRST")
|
||||||
|
|
||||||
bool slave_running = 0;
|
volatile bool slave_running = 0;
|
||||||
pthread_t slave_real_id;
|
pthread_t slave_real_id;
|
||||||
MASTER_INFO glob_mi;
|
MASTER_INFO glob_mi;
|
||||||
HASH replicate_do_table, replicate_ignore_table;
|
HASH replicate_do_table, replicate_ignore_table;
|
||||||
|
@ -91,8 +91,7 @@ int init_master_info(MASTER_INFO* mi);
|
|||||||
void end_master_info(MASTER_INFO* mi);
|
void end_master_info(MASTER_INFO* mi);
|
||||||
extern bool opt_log_slave_updates ;
|
extern bool opt_log_slave_updates ;
|
||||||
pthread_handler_decl(handle_slave,arg);
|
pthread_handler_decl(handle_slave,arg);
|
||||||
extern bool volatile abort_loop, abort_slave;
|
extern bool volatile abort_loop, abort_slave, slave_running;
|
||||||
extern bool slave_running;
|
|
||||||
extern uint32 slave_skip_counter;
|
extern uint32 slave_skip_counter;
|
||||||
// needed for problems when slave stops and
|
// needed for problems when slave stops and
|
||||||
// we want to restart it skipping one or more events in the master log that
|
// we want to restart it skipping one or more events in the master log that
|
||||||
|
@ -121,7 +121,7 @@ int list_open_tables(THD *thd,List<char> *tables, const char *db,
|
|||||||
VOID(pthread_mutex_lock(&LOCK_open));
|
VOID(pthread_mutex_lock(&LOCK_open));
|
||||||
bzero((char*) &table_list,sizeof(table_list));
|
bzero((char*) &table_list,sizeof(table_list));
|
||||||
|
|
||||||
for (uint idx=0 ; result == 0 && idx < open_cache.records; idx++)
|
for (uint idx=0 ; idx < open_cache.records; idx++)
|
||||||
{
|
{
|
||||||
TABLE *entry=(TABLE*) hash_element(&open_cache,idx);
|
TABLE *entry=(TABLE*) hash_element(&open_cache,idx);
|
||||||
if ((!entry->real_name) || strcmp(entry->table_cache_key,db))
|
if ((!entry->real_name) || strcmp(entry->table_cache_key,db))
|
||||||
@ -152,6 +152,7 @@ int list_open_tables(THD *thd,List<char> *tables, const char *db,
|
|||||||
if (tables->push_back(thd->strdup(entry->real_name)))
|
if (tables->push_back(thd->strdup(entry->real_name)))
|
||||||
{
|
{
|
||||||
result = -1;
|
result = -1;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,7 +127,6 @@ int mysqld_show_open_tables(THD *thd,const char *db,const char *wild)
|
|||||||
DBUG_RETURN(-1);
|
DBUG_RETURN(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
send_eof(&thd->net);
|
send_eof(&thd->net);
|
||||||
DBUG_RETURN(0);
|
DBUG_RETURN(0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user