Go to the source code of this file.
Namespaces | |
drizzled | |
TODO: Rename this file - func.h is stupid. | |
Constant Groups | |
drizzled | |
TODO: Rename this file - func.h is stupid. | |
Functions | |
UNIV_INTERN ulint | innobase_convert_string (void *to, ulint to_length, drizzled::CHARSET_INFO *to_cs, const void *from, ulint from_length, drizzled::CHARSET_INFO *from_cs, uint *errors) |
UNIV_INTERN ulint | innobase_raw_format (const char *data, ulint data_len, ulint charset_coll, char *buf, ulint buf_size) |
UNIV_INTERN void | innobase_invalidate_query_cache (trx_t *trx, const char *full_name, ulint full_name_len) |
UNIV_INTERN char * | innobase_convert_name (char *buf, ulint buflen, const char *id, ulint idlen, drizzled::Session *thd, ibool table_id) |
UNIV_INTERN ibool | thd_is_replication_slave_thread (drizzled::Session *thd) |
UNIV_INTERN ibool | thd_has_edited_nontrans_tables (drizzled::Session *thd) |
UNIV_INTERN void | innobase_mysql_print_thd (FILE *f, drizzled::Session *thd, uint max_query_len) |
UNIV_INTERN ulint | get_innobase_type_from_mysql_type (ulint *unsigned_flag, const void *field) __attribute__((nonnull)) |
UNIV_INTERN void | innobase_get_cset_width (ulint cset, ulint *mbminlen, ulint *mbmaxlen) |
UNIV_INTERN int | innobase_strcasecmp (const char *a, const char *b) |
UNIV_INTERN ibool | thd_is_select (const drizzled::Session *thd) |
UNIV_INTERN void | innobase_convert_from_table_id (const void *cs, char *to, const char *from, ulint len) |
UNIV_INTERN void | innobase_convert_from_id (const void *cs, char *to, const char *from, ulint len) |
UNIV_INTERN void | innobase_casedn_str (char *a) |
const void * | innobase_get_charset (drizzled::Session *mysql_thd) |
UNIV_INTERN const char * | innobase_get_stmt (drizzled::Session *mysql_thd, size_t *length) __attribute__((nonnull)) |
UNIV_INTERN ulint | innobase_get_at_most_n_mbchars (ulint charset_id, ulint prefix_len, ulint data_len, const char *str) |
UNIV_INTERN ibool | thd_supports_xa (drizzled::Session *thd) |
UNIV_INTERN ulong | thd_lock_wait_timeout (drizzled::Session *thd) |
UNIV_INTERN void | thd_set_lock_wait_time (drizzled::Session *thd, ulint value) |
UNIV_INTERN bool | innobase_isspace (const void *cs, char char_to_test) |
UNIV_INTERN int | innobase_fast_mutex_init (os_fast_mutex_t *fast_mutex) |
Prototypes for global functions in ha_innodb.cc that are called by InnoDB C code
Created 5/11/2006 Osku Salerma
Definition in file ha_prototypes.h.
UNIV_INTERN ulint get_innobase_type_from_mysql_type | ( | ulint * | unsigned_flag, |
const void * | f | ||
) |
Converts a MySQL type to an InnoDB type. Note that this function returns the 'mtype' of InnoDB. InnoDB differentiates between MySQL's old <= 4.1 VARCHAR and the new true VARCHAR in >= 5.0.3 by the 'prtype'.
unsigned_flag | out: DATA_UNSIGNED if an 'unsigned type'; at least ENUM and SET, and unsigned integer types are 'unsigned types' |
f | in: MySQL Field |
Definition at line 3922 of file ha_innodb.cc.
References ut_error.
Referenced by create_index(), create_table_def(), and innobase_match_index_columns().
UNIV_INTERN void innobase_casedn_str | ( | char * | a) |
Makes all characters in a NUL-terminated UTF-8 string lower case. in/out: string to put in lower case
Makes all characters in a NUL-terminated UTF-8 string lower case.
a | in/out: string to put in lower case |
Definition at line 1338 of file ha_innodb.cc.
Referenced by dict_casedn_str().
UNIV_INTERN void innobase_convert_from_id | ( | const void * | , |
char * | to, | ||
const char * | from, | ||
ulint | len | ||
) |
Converts an identifier to UTF-8. in: length of 'to', in bytes; should be at least 3 * strlen(to) + 1
Converts an identifier to UTF-8.
to | out: converted identifier |
from | in: identifier to convert |
len | in: length of 'to', in bytes |
Definition at line 1311 of file ha_innodb.cc.
UNIV_INTERN void innobase_convert_from_table_id | ( | const void * | , |
char * | to, | ||
const char * | from, | ||
ulint | len | ||
) |
Converts an identifier to a table name. in: length of 'to', in bytes; should be at least 5 * strlen(to) + 1
Converts an identifier to a table name.
to | out: converted identifier |
from | in: identifier to convert |
len | in: length of 'to', in bytes |
Definition at line 1297 of file ha_innodb.cc.
UNIV_INTERN char* innobase_convert_name | ( | char * | buf, |
ulint | buflen, | ||
const char * | id, | ||
ulint | idlen, | ||
drizzled::Session * | session, | ||
ibool | table_id | ||
) |
Convert a table or index name to the MySQL system_charset_info (UTF-8) and quote it if needed.
Convert a table or index name to the MySQL system_charset_info (UTF-8) and quote it if needed.
buf | out: buffer for converted identifier |
buflen | in: length of buf, in bytes |
id | in: identifier to convert |
idlen | in: length of id, in bytes |
session | in: MySQL connection thread, or NULL |
table_id | in: TRUE=id is a table or database name; FALSE=id is an index name |
Definition at line 1788 of file ha_innodb.cc.
References innobase_convert_identifier(), and TEMP_INDEX_PREFIX.
Referenced by ut_print_namel().
UNIV_INTERN ulint innobase_convert_string | ( | void * | to, |
ulint | to_length, | ||
drizzled::CHARSET_INFO * | to_cs, | ||
const void * | from, | ||
ulint | from_length, | ||
drizzled::CHARSET_INFO * | from_cs, | ||
uint * | errors | ||
) |
Wrapper around MySQL's copy_and_convert function.
to | out: converted string |
to_length | in: number of bytes reserved for the converted string |
to_cs | in: character set to convert to |
from | in: string to convert |
from_length | in: number of bytes to convert |
from_cs | in: character set to convert from |
UNIV_INTERN ulint innobase_get_at_most_n_mbchars | ( | ulint | charset_id, |
ulint | prefix_len, | ||
ulint | data_len, | ||
const char * | str | ||
) |
This function is used to find the storage length in bytes of the first n characters for prefix indexes using a multibyte character set. The function finds charset information and returns length of prefix_len characters in the index field in bytes.
< character length in bytes
< number of characters in prefix
< charset used in the field
charset_id | in: character set id |
prefix_len | in: prefix length in bytes of the index (this has to be divided by mbmaxlen to get the number of CHARACTERS n in the prefix) |
data_len | in: length of the string in bytes |
str | in: character string |
Definition at line 8955 of file ha_innodb.cc.
References ut_ad.
Referenced by dtype_get_at_most_n_mbchars().
const void* innobase_get_charset | ( | drizzled::Session * | mysql_thd) |
Determines the connection character set.
UNIV_INTERN void innobase_get_cset_width | ( | ulint | cset, |
ulint * | mbminlen, | ||
ulint * | mbmaxlen | ||
) |
Get the variable length bounds of the given character set. out: maximum length of a char (in bytes)
Get the variable length bounds of the given character set.
cset | in: MySQL charset-collation code |
mbminlen | out: minimum length of a char (in bytes) |
mbmaxlen | out: maximum length of a char (in bytes) |
Definition at line 1270 of file ha_innodb.cc.
UNIV_INTERN const char* innobase_get_stmt | ( | drizzled::Session * | mysql_thd, |
size_t * | length | ||
) |
Determines the current SQL statement.
mysql_thd | in: MySQL thread handle |
length | out: length of the SQL statement |
Definition at line 738 of file xtrabackup.cc.
References innobase_get_stmt().
Referenced by innobase_get_stmt().
UNIV_INTERN void innobase_invalidate_query_cache | ( | trx_t * | trx, |
const char * | full_name, | ||
ulint | full_name_len | ||
) |
Invalidates the MySQL query cache for the table. in: full name length where also the null chars count
trx | in: transaction which modifies the table |
full_name | in: concatenation of database name, null char NUL, table name, null char NUL; NOTE that in Windows this is always in LOWER CASE! |
Definition at line 784 of file xtrabackup.cc.
References innobase_invalidate_query_cache().
Referenced by innobase_invalidate_query_cache().
UNIV_INTERN void innobase_mysql_print_thd | ( | FILE * | f, |
drizzled::Session * | in_session, | ||
uint | |||
) |
Prints info of a THD object (== user session thread) to the given file. in: max query length to print, or 0 to use the default max length
Prints info of a Session object (== user session thread) to the given file.
f | in: output stream |
in_session | in: pointer to a Drizzle Session object |
Definition at line 1245 of file ha_innodb.cc.
References drizzled::Session::getQueryId(), and drizzled::Session::getSessionId().
Referenced by trx_print().
UNIV_INTERN ulint innobase_raw_format | ( | const char * | data, |
ulint | data_len, | ||
ulint | , | ||
char * | buf, | ||
ulint | buf_size | ||
) |
Formats the raw data in "data" (in InnoDB on-disk format) that is of type DATA_(CHAR|VARCHAR|MYSQL|VARMYSQL) using "charset_coll" and writes the result to "buf". The result is converted to "system_charset_info". Not more than "buf_size" bytes are written to "buf". The result is always NUL-terminated (provided buf_size > 0) and the number of bytes that were written to "buf" is returned (including the terminating NUL).
Formats the raw data in "data" (in InnoDB on-disk format) that is of type DATA_(CHAR|VARCHAR|DRIZZLE|VARDRIZZLE) using "charset_coll" and writes the result to "buf". The result is converted to "system_charset_info". Not more than "buf_size" bytes are written to "buf". The result is always NUL-terminated (provided buf_size > 0) and the number of bytes that were written to "buf" is returned (including the terminating NUL).
data | in: raw data |
data_len | in: raw data length in bytes |
buf | out: output buffer |
buf_size | in: output buffer size in bytes |
Definition at line 1486 of file ha_innodb.cc.
References ut_str_sql_format().
UNIV_INTERN int innobase_strcasecmp | ( | const char * | a, |
const char * | b | ||
) |
Compares NUL-terminated UTF-8 strings case insensitively.
Compares NUL-terminated UTF-8 strings case insensitively.
a | in: first string to compare |
b | in: second string to compare |
Definition at line 1326 of file ha_innodb.cc.
Referenced by create_index(), dict_col_name_is_reserved(), dict_table_get_index_by_max_id(), innobase_file_format_name_lookup(), innobase_init(), and innodb_change_buffering_validate().
UNIV_INTERN ibool thd_has_edited_nontrans_tables | ( | drizzled::Session * | session) |
Returns true if the transaction this thread is processing has edited non-transactional tables. Used by the deadlock detector when deciding which transaction to rollback in case of a deadlock - we try to avoid rolling back transactions that have edited non-transactional tables.
Returns true if the transaction this thread is processing has edited non-transactional tables. Used by the deadlock detector when deciding which transaction to rollback in case of a deadlock - we try to avoid rolling back transactions that have edited non-transactional tables.
DRIZZLE: Note, we didn't change this name to avoid more ifdef forking in non-Cursor code.
session | in: thread handle (Session*) |
Definition at line 942 of file ha_innodb.cc.
References drizzled::session::Transactions::all, and drizzled::TransactionContext::hasModifiedNonTransData().
Referenced by trx_weight_ge().
UNIV_INTERN ibool thd_is_replication_slave_thread | ( | drizzled::Session * | ) |
Returns true if the thread is the replication thread on the slave server. Used in srv_conc_enter_innodb() to determine if the thread should be allowed to enter InnoDB - the replication thread is treated differently than other threads. Also used in srv_conc_force_exit_innodb().
Returns true if the thread is the replication thread on the slave server. Used in srv_conc_enter_innodb() to determine if the thread should be allowed to enter InnoDB - the replication thread is treated differently than other threads. Also used in srv_conc_force_exit_innodb().
DRIZZLE: Note, we didn't change this name to avoid more ifdef forking in non-Cursor code.
Definition at line 868 of file ha_innodb.cc.
Referenced by srv_conc_enter_innodb(), and srv_conc_force_exit_innodb().
UNIV_INTERN ibool thd_is_select | ( | const drizzled::Session * | session) |
Returns true if the thread is executing a SELECT statement.
Returns true if the thread is executing a SELECT statement.
session | in: thread handle (Session*) |
Definition at line 954 of file ha_innodb.cc.
Referenced by row_search_for_mysql().
UNIV_INTERN ulong thd_lock_wait_timeout | ( | drizzled::Session * | ) |
Returns the lock wait timeout for the current connection.
Returns the lock wait timeout for the current connection.
Definition at line 981 of file ha_innodb.cc.
Referenced by srv_lock_timeout_thread(), and srv_suspend_mysql_thread().
UNIV_INTERN void thd_set_lock_wait_time | ( | drizzled::Session * | in_session, |
ulint | value | ||
) |
Add up the time waited for the lock for the current query. in: time waited for the lock
Set the time waited for the lock for the current query.
in_session | in: thread handle (THD*) |
value | in: time waited for the lock |
Definition at line 996 of file ha_innodb.cc.
Referenced by srv_suspend_mysql_thread().
UNIV_INTERN ibool thd_supports_xa | ( | drizzled::Session * | ) |
Returns true if the thread supports XA, global value of innodb_supports_xa if thd is NULL.
Returns true if the thread supports XA, global value of innodb_supports_xa if session is NULL.
Definition at line 967 of file ha_innodb.cc.
Referenced by trx_start().