2010-03-31 16:05:33 +02:00
|
|
|
#ifndef LOCK_INCLUDED
|
|
|
|
#define LOCK_INCLUDED
|
|
|
|
|
|
|
|
#include "thr_lock.h" /* thr_lock_type */
|
|
|
|
|
|
|
|
// Forward declarations
|
2010-04-12 17:17:37 +04:00
|
|
|
struct TABLE;
|
|
|
|
struct TABLE_LIST;
|
2010-03-31 16:05:33 +02:00
|
|
|
class THD;
|
|
|
|
typedef struct st_mysql_lock MYSQL_LOCK;
|
|
|
|
|
|
|
|
|
|
|
|
MYSQL_LOCK *mysql_lock_tables(THD *thd, TABLE **table, uint count, uint flags);
|
|
|
|
void mysql_unlock_tables(THD *thd, MYSQL_LOCK *sql_lock);
|
|
|
|
void mysql_unlock_read_tables(THD *thd, MYSQL_LOCK *sql_lock);
|
|
|
|
void mysql_unlock_some_tables(THD *thd, TABLE **table,uint count);
|
|
|
|
void mysql_lock_remove(THD *thd, MYSQL_LOCK *locked,TABLE *table);
|
|
|
|
void mysql_lock_abort(THD *thd, TABLE *table, bool upgrade_lock);
|
|
|
|
bool mysql_lock_abort_for_thread(THD *thd, TABLE *table);
|
|
|
|
MYSQL_LOCK *mysql_lock_merge(MYSQL_LOCK *a,MYSQL_LOCK *b);
|
|
|
|
void broadcast_refresh(void);
|
|
|
|
/* Lock based on name */
|
2010-07-01 15:53:46 +02:00
|
|
|
bool lock_schema_name(THD *thd, const char *db);
|
2010-05-28 19:13:31 -03:00
|
|
|
/* Lock based on stored routine name */
|
|
|
|
bool lock_routine_name(THD *thd, bool is_function, const char *db,
|
|
|
|
const char *name);
|
2010-03-31 16:05:33 +02:00
|
|
|
|
|
|
|
#endif /* LOCK_INCLUDED */
|