Commit 4c2b6807 authored by marko's avatar marko

Remove the declarations of some global functions in ha_innodb.h and declare

them static in ha_innodb.cc.  These functions are invoked via function
pointers in handlerton.
parent 4dcbc856
...@@ -221,6 +221,139 @@ static handler *innobase_create_handler(handlerton *hton, ...@@ -221,6 +221,139 @@ static handler *innobase_create_handler(handlerton *hton,
return new (mem_root) ha_innobase(hton, table); return new (mem_root) ha_innobase(hton, table);
} }
/***********************************************************************
This function is used to prepare X/Open XA distributed transaction */
static
int
innobase_xa_prepare(
/*================*/
/* out: 0 or error number */
handlerton* hton,
THD* thd, /* in: handle to the MySQL thread of the user
whose XA transaction should be prepared */
bool all); /* in: TRUE - commit transaction
FALSE - the current SQL statement ended */
/***********************************************************************
This function is used to recover X/Open XA distributed transactions */
static
int
innobase_xa_recover(
/*================*/
/* out: number of prepared transactions
stored in xid_list */
handlerton* hton,
XID* xid_list, /* in/out: prepared transactions */
uint len); /* in: number of slots in xid_list */
/***********************************************************************
This function is used to commit one X/Open XA distributed transaction
which is in the prepared state */
static
int
innobase_commit_by_xid(
/*===================*/
/* out: 0 or error number */
handlerton* hton,
XID* xid); /* in: X/Open XA transaction identification */
/***********************************************************************
This function is used to rollback one X/Open XA distributed transaction
which is in the prepared state */
static
int
innobase_rollback_by_xid(
/*=====================*/
/* out: 0 or error number */
handlerton* hton,
XID *xid); /* in: X/Open XA transaction identification */
/***********************************************************************
Create a consistent view for a cursor based on current transaction
which is created if the corresponding MySQL thread still lacks one.
This consistent view is then used inside of MySQL when accessing records
using a cursor. */
static
void*
innobase_create_cursor_view(
/*========================*/
/* out: pointer to cursor view or NULL */
handlerton* hton, /* in: innobase hton */
THD* thd); /* in: user thread handle */
/***********************************************************************
Set the given consistent cursor view to a transaction which is created
if the corresponding MySQL thread still lacks one. If the given
consistent cursor view is NULL global read view of a transaction is
restored to a transaction read view. */
static
void
innobase_set_cursor_view(
/*=====================*/
handlerton* hton,
THD* thd, /* in: user thread handle */
void* curview);/* in: Consistent cursor view to be set */
/***********************************************************************
Close the given consistent cursor view of a transaction and restore
global read view to a transaction read view. Transaction is created if the
corresponding MySQL thread still lacks one. */
static
void
innobase_close_cursor_view(
/*=======================*/
handlerton* hton,
THD* thd, /* in: user thread handle */
void* curview);/* in: Consistent read view to be closed */
/*********************************************************************
Removes all tables in the named database inside InnoDB. */
static
void
innobase_drop_database(
/*===================*/
/* out: error number */
handlerton* hton, /* in: handlerton of Innodb */
char* path); /* in: database path; inside InnoDB the name
of the last directory in the path is used as
the database name: for example, in 'mysql/data/test'
the database name is 'test' */
/***********************************************************************
Closes an InnoDB database. */
static
int
innobase_end(handlerton *hton, ha_panic_function type);
/*********************************************************************
Creates an InnoDB transaction struct for the thd if it does not yet have one.
Starts a new InnoDB transaction if a transaction is not yet started. And
assigns a new snapshot for a consistent read if the transaction does not yet
have one. */
static
int
innobase_start_trx_and_assign_read_view(
/*====================================*/
/* out: 0 */
handlerton* hton, /* in: Innodb handlerton */
THD* thd); /* in: MySQL thread handle of the user for whom
the transaction should be committed */
/********************************************************************
Flushes InnoDB logs to disk and makes a checkpoint. Really, a commit flushes
the logs, and the name of this function should be innobase_checkpoint. */
static
bool
innobase_flush_logs(
/*================*/
/* out: TRUE if error */
handlerton* hton); /* in: InnoDB handlerton */
/****************************************************************************
Implements the SHOW INNODB STATUS command. Sends the output of the InnoDB
Monitor to the client. */
static
bool
innodb_show_status(
/*===============*/
handlerton* hton, /* in: the innodb handlerton */
THD* thd, /* in: the MySQL query thread of the caller */
stat_print_fn *stat_print);
static
bool innobase_show_status(handlerton *hton, THD* thd,
stat_print_fn* stat_print,
enum ha_stat_type stat_type);
/********************************************************************* /*********************************************************************
Commits a transaction in an InnoDB database. */ Commits a transaction in an InnoDB database. */
...@@ -382,7 +515,7 @@ innobase_release_stat_resources( ...@@ -382,7 +515,7 @@ innobase_release_stat_resources(
Call this function when mysqld passes control to the client. That is to Call this function when mysqld passes control to the client. That is to
avoid deadlocks on the adaptive hash S-latch possibly held by thd. For more avoid deadlocks on the adaptive hash S-latch possibly held by thd. For more
documentation, see handler.cc. */ documentation, see handler.cc. */
static
int int
innobase_release_temporary_latches( innobase_release_temporary_latches(
/*===============================*/ /*===============================*/
...@@ -1324,7 +1457,7 @@ ha_innobase::init_table_handle_for_HANDLER(void) ...@@ -1324,7 +1457,7 @@ ha_innobase::init_table_handle_for_HANDLER(void)
/************************************************************************* /*************************************************************************
Opens an InnoDB database. */ Opens an InnoDB database. */
static
int int
innobase_init(void *p) innobase_init(void *p)
/*===============*/ /*===============*/
...@@ -1611,7 +1744,7 @@ error: ...@@ -1611,7 +1744,7 @@ error:
/*********************************************************************** /***********************************************************************
Closes an InnoDB database. */ Closes an InnoDB database. */
static
int int
innobase_end(handlerton *hton, ha_panic_function type) innobase_end(handlerton *hton, ha_panic_function type)
/*==============*/ /*==============*/
...@@ -1649,7 +1782,7 @@ innobase_end(handlerton *hton, ha_panic_function type) ...@@ -1649,7 +1782,7 @@ innobase_end(handlerton *hton, ha_panic_function type)
/******************************************************************** /********************************************************************
Flushes InnoDB logs to disk and makes a checkpoint. Really, a commit flushes Flushes InnoDB logs to disk and makes a checkpoint. Really, a commit flushes
the logs, and the name of this function should be innobase_checkpoint. */ the logs, and the name of this function should be innobase_checkpoint. */
static
bool bool
innobase_flush_logs(handlerton *hton) innobase_flush_logs(handlerton *hton)
/*=====================*/ /*=====================*/
...@@ -1685,7 +1818,7 @@ Creates an InnoDB transaction struct for the thd if it does not yet have one. ...@@ -1685,7 +1818,7 @@ Creates an InnoDB transaction struct for the thd if it does not yet have one.
Starts a new InnoDB transaction if a transaction is not yet started. And Starts a new InnoDB transaction if a transaction is not yet started. And
assigns a new snapshot for a consistent read if the transaction does not yet assigns a new snapshot for a consistent read if the transaction does not yet
have one. */ have one. */
static
int int
innobase_start_trx_and_assign_read_view( innobase_start_trx_and_assign_read_view(
/*====================================*/ /*====================================*/
...@@ -1899,7 +2032,7 @@ innobase_report_binlog_offset_and_commit( ...@@ -1899,7 +2032,7 @@ innobase_report_binlog_offset_and_commit(
#if 0 #if 0
/*********************************************************************** /***********************************************************************
This function stores the binlog offset and flushes logs. */ This function stores the binlog offset and flushes logs. */
static
void void
innobase_store_binlog_offset_and_flush_log( innobase_store_binlog_offset_and_flush_log(
/*=======================================*/ /*=======================================*/
...@@ -5087,7 +5220,7 @@ ha_innobase::delete_table( ...@@ -5087,7 +5220,7 @@ ha_innobase::delete_table(
/********************************************************************* /*********************************************************************
Removes all tables in the named database inside InnoDB. */ Removes all tables in the named database inside InnoDB. */
static
void void
innobase_drop_database( innobase_drop_database(
/*===================*/ /*===================*/
...@@ -6455,7 +6588,7 @@ innodb_export_status() ...@@ -6455,7 +6588,7 @@ innodb_export_status()
/**************************************************************************** /****************************************************************************
Implements the SHOW INNODB STATUS command. Sends the output of the InnoDB Implements the SHOW INNODB STATUS command. Sends the output of the InnoDB
Monitor to the client. */ Monitor to the client. */
static
bool bool
innodb_show_status( innodb_show_status(
/*===============*/ /*===============*/
...@@ -6645,6 +6778,7 @@ innodb_mutex_show_status( ...@@ -6645,6 +6778,7 @@ innodb_mutex_show_status(
DBUG_RETURN(FALSE); DBUG_RETURN(FALSE);
} }
static
bool innobase_show_status(handlerton *hton, THD* thd, bool innobase_show_status(handlerton *hton, THD* thd,
stat_print_fn* stat_print, stat_print_fn* stat_print,
enum ha_stat_type stat_type) enum ha_stat_type stat_type)
...@@ -7350,7 +7484,7 @@ innobase_query_is_update(void) ...@@ -7350,7 +7484,7 @@ innobase_query_is_update(void)
/*********************************************************************** /***********************************************************************
This function is used to prepare X/Open XA distributed transaction */ This function is used to prepare X/Open XA distributed transaction */
static
int int
innobase_xa_prepare( innobase_xa_prepare(
/*================*/ /*================*/
...@@ -7446,7 +7580,7 @@ innobase_xa_prepare( ...@@ -7446,7 +7580,7 @@ innobase_xa_prepare(
/*********************************************************************** /***********************************************************************
This function is used to recover X/Open XA distributed transactions */ This function is used to recover X/Open XA distributed transactions */
static
int int
innobase_xa_recover( innobase_xa_recover(
/*================*/ /*================*/
...@@ -7467,7 +7601,7 @@ innobase_xa_recover( ...@@ -7467,7 +7601,7 @@ innobase_xa_recover(
/*********************************************************************** /***********************************************************************
This function is used to commit one X/Open XA distributed transaction This function is used to commit one X/Open XA distributed transaction
which is in the prepared state */ which is in the prepared state */
static
int int
innobase_commit_by_xid( innobase_commit_by_xid(
/*===================*/ /*===================*/
...@@ -7491,7 +7625,7 @@ innobase_commit_by_xid( ...@@ -7491,7 +7625,7 @@ innobase_commit_by_xid(
/*********************************************************************** /***********************************************************************
This function is used to rollback one X/Open XA distributed transaction This function is used to rollback one X/Open XA distributed transaction
which is in the prepared state */ which is in the prepared state */
static
int int
innobase_rollback_by_xid( innobase_rollback_by_xid(
/*=====================*/ /*=====================*/
...@@ -7515,9 +7649,10 @@ Create a consistent view for a cursor based on current transaction ...@@ -7515,9 +7649,10 @@ Create a consistent view for a cursor based on current transaction
which is created if the corresponding MySQL thread still lacks one. which is created if the corresponding MySQL thread still lacks one.
This consistent view is then used inside of MySQL when accessing records This consistent view is then used inside of MySQL when accessing records
using a cursor. */ using a cursor. */
static
void* void*
innobase_create_cursor_view( innobase_create_cursor_view(
/*========================*/
/* out: pointer to cursor view or NULL */ /* out: pointer to cursor view or NULL */
handlerton *hton, /* in: innobase hton */ handlerton *hton, /* in: innobase hton */
THD* thd) /* in: user thread handle */ THD* thd) /* in: user thread handle */
...@@ -7530,9 +7665,10 @@ innobase_create_cursor_view( ...@@ -7530,9 +7665,10 @@ innobase_create_cursor_view(
Close the given consistent cursor view of a transaction and restore Close the given consistent cursor view of a transaction and restore
global read view to a transaction read view. Transaction is created if the global read view to a transaction read view. Transaction is created if the
corresponding MySQL thread still lacks one. */ corresponding MySQL thread still lacks one. */
static
void void
innobase_close_cursor_view( innobase_close_cursor_view(
/*=======================*/
handlerton *hton, handlerton *hton,
THD* thd, /* in: user thread handle */ THD* thd, /* in: user thread handle */
void* curview)/* in: Consistent read view to be closed */ void* curview)/* in: Consistent read view to be closed */
...@@ -7546,7 +7682,7 @@ Set the given consistent cursor view to a transaction which is created ...@@ -7546,7 +7682,7 @@ Set the given consistent cursor view to a transaction which is created
if the corresponding MySQL thread still lacks one. If the given if the corresponding MySQL thread still lacks one. If the given
consistent cursor view is NULL global read view of a transaction is consistent cursor view is NULL global read view of a transaction is
restored to a transaction read view. */ restored to a transaction read view. */
static
void void
innobase_set_cursor_view( innobase_set_cursor_view(
/*=====================*/ /*=====================*/
......
...@@ -237,11 +237,6 @@ extern ulong srv_commit_concurrency; ...@@ -237,11 +237,6 @@ extern ulong srv_commit_concurrency;
extern ulong srv_flush_log_at_trx_commit; extern ulong srv_flush_log_at_trx_commit;
} }
int innobase_init(void);
int innobase_end(handlerton *hton, ha_panic_function type);
bool innobase_flush_logs(handlerton *hton);
uint innobase_get_free_space(void);
/* /*
don't delete it - it may be re-enabled later don't delete it - it may be re-enabled later
as an optimization for the most common case InnoDB+binlog as an optimization for the most common case InnoDB+binlog
...@@ -255,93 +250,3 @@ int innobase_report_binlog_offset_and_commit( ...@@ -255,93 +250,3 @@ int innobase_report_binlog_offset_and_commit(
int innobase_commit_complete(void* trx_handle); int innobase_commit_complete(void* trx_handle);
void innobase_store_binlog_offset_and_flush_log(char *binlog_name,longlong offset); void innobase_store_binlog_offset_and_flush_log(char *binlog_name,longlong offset);
#endif #endif
void innobase_drop_database(handlerton *hton, char *path);
bool innobase_show_status(handlerton *hton, THD* thd, stat_print_fn*, enum ha_stat_type);
int innobase_release_temporary_latches(handlerton *hton, THD *thd);
void innobase_store_binlog_offset_and_flush_log(handlerton *hton, char *binlog_name,longlong offset);
int innobase_start_trx_and_assign_read_view(handlerton *hton, THD* thd);
/***********************************************************************
This function is used to prepare X/Open XA distributed transaction */
int innobase_xa_prepare(
/*====================*/
/* out: 0 or error number */
handlerton *hton, /* in: innobase hton */
THD* thd, /* in: handle to the MySQL thread of the user
whose XA transaction should be prepared */
bool all); /* in: TRUE - commit transaction
FALSE - the current SQL statement ended */
/***********************************************************************
This function is used to recover X/Open XA distributed transactions */
int innobase_xa_recover(
/*====================*/
/* out: number of prepared transactions
stored in xid_list */
handlerton *hton, /* in: innobase hton */
XID* xid_list, /* in/out: prepared transactions */
uint len); /* in: number of slots in xid_list */
/***********************************************************************
This function is used to commit one X/Open XA distributed transaction
which is in the prepared state */
int innobase_commit_by_xid(
/*=======================*/
/* out: 0 or error number */
handlerton *hton, /* in: innobase hton */
XID* xid); /* in : X/Open XA Transaction Identification */
/***********************************************************************
This function is used to rollback one X/Open XA distributed transaction
which is in the prepared state */
int innobase_rollback_by_xid(
/* out: 0 or error number */
handlerton *hton, /* in: innobase hton */
XID *xid); /* in : X/Open XA Transaction Identification */
/***********************************************************************
Create a consistent view for a cursor based on current transaction
which is created if the corresponding MySQL thread still lacks one.
This consistent view is then used inside of MySQL when accessing records
using a cursor. */
void*
innobase_create_cursor_view(
/* out: Pointer to cursor view or NULL */
handlerton *hton, /* in: innobase hton */
THD* thd); /* in: user thread handle */
/***********************************************************************
Close the given consistent cursor view of a transaction and restore
global read view to a transaction read view. Transaction is created if the
corresponding MySQL thread still lacks one. */
void
innobase_close_cursor_view(
/*=======================*/
handlerton *hton, /* in: innobase hton */
THD* thd, /* in: user thread handle */
void* curview); /* in: Consistent read view to be closed */
/***********************************************************************
Set the given consistent cursor view to a transaction which is created
if the corresponding MySQL thread still lacks one. If the given
consistent cursor view is NULL global read view of a transaction is
restored to a transaction read view. */
void
innobase_set_cursor_view(
/*=====================*/
handlerton *hton, /* in: innobase hton */
THD* thd, /* in: user thread handle */
void* curview); /* in: Consistent read view to be set */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment