mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
10.0-monty merge
includes: * remove some remnants of "Bug#14521864: MYSQL 5.1 TO 5.5 BUGS PARTITIONING" * introduce LOCK_share, now LOCK_ha_data is strictly for engines * rea_create_table() always creates .par file (even in "frm-only" mode) * fix a 5.6 bug, temp file leak on dummy ALTER TABLE
This commit is contained in:
@@ -30,18 +30,20 @@
|
||||
*/
|
||||
|
||||
#ifdef HAVE_PSI_TABLE_INTERFACE
|
||||
#define PSI_CALL_unbind_table PSI_CALL(unbind_table)
|
||||
#define PSI_CALL_rebind_table PSI_CALL(rebind_table)
|
||||
#define PSI_CALL_open_table PSI_CALL(open_table)
|
||||
#define PSI_CALL_close_table PSI_CALL(close_table)
|
||||
#define PSI_CALL_get_table_share PSI_CALL(get_table_share)
|
||||
#define PSI_CALL_drop_table_share PSI_CALL(drop_table_share)
|
||||
#define PSI_CALL_unbind_table PSI_TABLE_CALL(unbind_table)
|
||||
#define PSI_CALL_rebind_table PSI_TABLE_CALL(rebind_table)
|
||||
#define PSI_CALL_open_table PSI_TABLE_CALL(open_table)
|
||||
#define PSI_CALL_close_table PSI_TABLE_CALL(close_table)
|
||||
#define PSI_CALL_get_table_share PSI_TABLE_CALL(get_table_share)
|
||||
#define PSI_CALL_release_table_share PSI_TABLE_CALL(release_table_share)
|
||||
#define PSI_CALL_drop_table_share PSI_TABLE_CALL(drop_table_share)
|
||||
#else
|
||||
#define PSI_CALL_unbind_table(A1) /* no-op */
|
||||
#define PSI_CALL_rebind_table(A1,A2,A3) NULL
|
||||
#define PSI_CALL_close_table(A1) /* no-op */
|
||||
#define PSI_CALL_open_table(A1,A2) NULL
|
||||
#define PSI_CALL_get_table_share(A1,A2) NULL
|
||||
#define PSI_CALL_release_table_share(A1) /* no-op */
|
||||
#define PSI_CALL_drop_table_share(A1,A2,A3,A4,A5) /* no-op */
|
||||
#endif
|
||||
|
||||
@@ -76,22 +78,22 @@
|
||||
@sa MYSQL_END_TABLE_WAIT.
|
||||
*/
|
||||
#ifdef HAVE_PSI_TABLE_INTERFACE
|
||||
#define MYSQL_TABLE_IO_WAIT(PSI, OP, INDEX, FLAGS, PAYLOAD) \
|
||||
{ \
|
||||
if (PSI != NULL) \
|
||||
{ \
|
||||
PSI_table_locker *locker; \
|
||||
PSI_table_locker_state state; \
|
||||
locker= PSI_CALL(start_table_io_wait)(& state, PSI, OP, INDEX, \
|
||||
__FILE__, __LINE__); \
|
||||
PAYLOAD \
|
||||
if (locker != NULL) \
|
||||
PSI_CALL(end_table_io_wait)(locker); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
PAYLOAD \
|
||||
} \
|
||||
#define MYSQL_TABLE_IO_WAIT(PSI, OP, INDEX, FLAGS, PAYLOAD) \
|
||||
{ \
|
||||
if (PSI != NULL) \
|
||||
{ \
|
||||
PSI_table_locker *locker; \
|
||||
PSI_table_locker_state state; \
|
||||
locker= PSI_TABLE_CALL(start_table_io_wait) \
|
||||
(& state, PSI, OP, INDEX, __FILE__, __LINE__); \
|
||||
PAYLOAD \
|
||||
if (locker != NULL) \
|
||||
PSI_TABLE_CALL(end_table_io_wait)(locker); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
PAYLOAD \
|
||||
} \
|
||||
}
|
||||
#else
|
||||
#define MYSQL_TABLE_IO_WAIT(PSI, OP, INDEX, FLAGS, PAYLOAD) \
|
||||
@@ -109,22 +111,22 @@
|
||||
@sa MYSQL_END_TABLE_WAIT.
|
||||
*/
|
||||
#ifdef HAVE_PSI_TABLE_INTERFACE
|
||||
#define MYSQL_TABLE_LOCK_WAIT(PSI, OP, FLAGS, PAYLOAD) \
|
||||
{ \
|
||||
if (PSI != NULL) \
|
||||
{ \
|
||||
PSI_table_locker *locker; \
|
||||
PSI_table_locker_state state; \
|
||||
locker= PSI_CALL(start_table_lock_wait)(& state, PSI, OP, FLAGS, \
|
||||
__FILE__, __LINE__); \
|
||||
PAYLOAD \
|
||||
if (locker != NULL) \
|
||||
PSI_CALL(end_table_lock_wait)(locker); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
PAYLOAD \
|
||||
} \
|
||||
#define MYSQL_TABLE_LOCK_WAIT(PSI, OP, FLAGS, PAYLOAD) \
|
||||
{ \
|
||||
if (PSI != NULL) \
|
||||
{ \
|
||||
PSI_table_locker *locker; \
|
||||
PSI_table_locker_state state; \
|
||||
locker= PSI_TABLE_CALL(start_table_lock_wait) \
|
||||
(& state, PSI, OP, FLAGS, __FILE__, __LINE__); \
|
||||
PAYLOAD \
|
||||
if (locker != NULL) \
|
||||
PSI_TABLE_CALL(end_table_lock_wait)(locker); \
|
||||
} \
|
||||
else \
|
||||
{ \
|
||||
PAYLOAD \
|
||||
} \
|
||||
}
|
||||
#else
|
||||
#define MYSQL_TABLE_LOCK_WAIT(PSI, OP, FLAGS, PAYLOAD) \
|
||||
@@ -180,7 +182,8 @@ inline_mysql_start_table_lock_wait(PSI_table_locker_state *state,
|
||||
if (psi != NULL)
|
||||
{
|
||||
struct PSI_table_locker *locker;
|
||||
locker= PSI_CALL(start_table_lock_wait)(state, psi, op, flags, src_file, src_line);
|
||||
locker= PSI_TABLE_CALL(start_table_lock_wait)
|
||||
(state, psi, op, flags, src_file, src_line);
|
||||
return locker;
|
||||
}
|
||||
return NULL;
|
||||
@@ -194,7 +197,7 @@ static inline void
|
||||
inline_mysql_end_table_lock_wait(struct PSI_table_locker *locker)
|
||||
{
|
||||
if (locker != NULL)
|
||||
PSI_CALL(end_table_lock_wait)(locker);
|
||||
PSI_TABLE_CALL(end_table_lock_wait)(locker);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user