mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
InnoDB cleanup: Add const qualifiers to many char* arguments
innobase/dict/dict0dict.c: Replace char* arguments with const char* innobase/dict/dict0load.c: Replace char* arguments with const char* innobase/dict/dict0mem.c: Replace char* arguments with const char* innobase/fil/fil0fil.c: Replace char* arguments with const char* innobase/include/data0data.h: dfield_set_data(): add const qualifier innobase/include/data0data.ic: dfield_set_data(): add const qualifier (temporarily shut up compiler warnings) innobase/include/dict0dict.h: Replace char* arguments with const char* innobase/include/dict0dict.ic: Replace char* arguments with const char* innobase/include/dict0load.h: Replace char* arguments with const char* innobase/include/dict0mem.h: Replace char* arguments with const char* innobase/include/fil0fil.h: Replace char* arguments with const char* innobase/include/os0file.h: Replace char* arguments with const char* innobase/include/os0sync.h: Replace char* arguments with const char* innobase/include/pars0pars.h: Replace char* arguments with const char* innobase/include/pars0sym.h: Replace char* arguments with const char* innobase/include/row0mysql.h: Replace char* arguments with const char* innobase/include/row0sel.h: Replace char* arguments with const char* innobase/include/trx0roll.h: Replace char* arguments with const char* innobase/include/trx0sys.h: Replace char* arguments with const char* innobase/include/trx0trx.h: Replace char* arguments with const char* innobase/include/ut0rnd.h: Replace char* arguments with const char* innobase/include/ut0rnd.ic: Replace char* arguments with const char* innobase/include/ut0ut.h: Remove unused function ut_printf() innobase/os/os0file.c: Replace char* arguments with const char* innobase/os/os0sync.c: Replace char* arguments with const char* innobase/pars/pars0pars.c: Replace char* arguments with const char* innobase/pars/pars0sym.c: Use mem_heap_strdupl() instead of mem_heap_alloc() and memcpy() innobase/row/row0mysql.c: Replace char* arguments with const char* innobase/row/row0sel.c: Replace char* arguments with const char* innobase/trx/trx0roll.c: Replace char* arguments with const char* innobase/trx/trx0sys.c: Replace char* arguments with const char*
This commit is contained in:
parent
1915bfebcb
commit
6b237533f1
31 changed files with 553 additions and 519 deletions
|
@ -70,7 +70,7 @@ dict_col_reposition_in_cache(
|
|||
/*=========================*/
|
||||
dict_table_t* table, /* in: table */
|
||||
dict_col_t* col, /* in: column */
|
||||
char* new_name); /* in: new table name */
|
||||
const char* new_name); /* in: new table name */
|
||||
/**************************************************************************
|
||||
Removes a column from the data dictionary hash table. */
|
||||
static
|
||||
|
@ -309,7 +309,7 @@ dict_table_get_index_noninline(
|
|||
/*===========================*/
|
||||
/* out: index, NULL if does not exist */
|
||||
dict_table_t* table, /* in: table */
|
||||
char* name) /* in: index name */
|
||||
const char* name) /* in: index name */
|
||||
{
|
||||
return(dict_table_get_index(table, name));
|
||||
}
|
||||
|
@ -693,8 +693,9 @@ directory dict_table_get_low is usually the appropriate function. */
|
|||
dict_table_t*
|
||||
dict_table_get(
|
||||
/*===========*/
|
||||
/* out: table, NULL if does not exist */
|
||||
char* table_name, /* in: table name */
|
||||
/* out: table, NULL if
|
||||
does not exist */
|
||||
const char* table_name, /* in: table name */
|
||||
trx_t* trx) /* in: transaction handle or NULL */
|
||||
{
|
||||
dict_table_t* table;
|
||||
|
@ -722,8 +723,9 @@ Returns a table object and increments MySQL open handle count on the table. */
|
|||
dict_table_t*
|
||||
dict_table_get_and_increment_handle_count(
|
||||
/*======================================*/
|
||||
/* out: table, NULL if does not exist */
|
||||
char* table_name, /* in: table name */
|
||||
/* out: table, NULL if
|
||||
does not exist */
|
||||
const char* table_name, /* in: table name */
|
||||
trx_t* trx) /* in: transaction handle or NULL */
|
||||
{
|
||||
dict_table_t* table;
|
||||
|
@ -886,7 +888,7 @@ dict_table_rename_in_cache(
|
|||
/*=======================*/
|
||||
/* out: TRUE if success */
|
||||
dict_table_t* table, /* in: table */
|
||||
char* new_name, /* in: new name */
|
||||
const char* new_name, /* in: new name */
|
||||
ibool rename_also_foreigns)/* in: in ALTER TABLE we want
|
||||
to preserve the original table name
|
||||
in constraints which reference it */
|
||||
|
@ -1294,7 +1296,7 @@ dict_col_reposition_in_cache(
|
|||
/*=========================*/
|
||||
dict_table_t* table, /* in: table */
|
||||
dict_col_t* col, /* in: column */
|
||||
char* new_name) /* in: new table name */
|
||||
const char* new_name) /* in: new table name */
|
||||
{
|
||||
ulint fold;
|
||||
|
||||
|
@ -2019,7 +2021,7 @@ dict_foreign_find_index(
|
|||
column types must match */
|
||||
{
|
||||
dict_index_t* index;
|
||||
char* col_name;
|
||||
const char* col_name;
|
||||
ulint i;
|
||||
|
||||
index = dict_table_get_first_index(table);
|
||||
|
@ -2567,10 +2569,10 @@ dict_strip_comments(
|
|||
/* out, own: SQL string stripped from
|
||||
comments; the caller must free this
|
||||
with mem_free()! */
|
||||
char* sql_string) /* in: SQL string */
|
||||
const char* sql_string) /* in: SQL string */
|
||||
{
|
||||
char* str;
|
||||
char* sptr;
|
||||
const char* sptr;
|
||||
char* ptr;
|
||||
|
||||
str = mem_alloc(strlen(sql_string) + 1);
|
||||
|
@ -2970,7 +2972,8 @@ col_loop1:
|
|||
}
|
||||
|
||||
foreign->foreign_table = table;
|
||||
foreign->foreign_table_name = table->name;
|
||||
foreign->foreign_table_name = mem_heap_strdup(foreign->heap,
|
||||
table->name);
|
||||
foreign->foreign_index = index;
|
||||
foreign->n_fields = i;
|
||||
foreign->foreign_col_names = mem_heap_alloc(foreign->heap,
|
||||
|
@ -3246,13 +3249,16 @@ dict_create_foreign_constraints(
|
|||
/*============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction */
|
||||
char* sql_string, /* in: table create or ALTER TABLE
|
||||
statement where foreign keys are declared like:
|
||||
FOREIGN KEY (a, b) REFERENCES table2(c, d),
|
||||
table2 can be written also with the database
|
||||
name before it: test.table2; the default
|
||||
database is the database of parameter name */
|
||||
char* name) /* in: table full name in the normalized form
|
||||
const char* sql_string, /* in: table create statement where
|
||||
foreign keys are declared like:
|
||||
FOREIGN KEY (a, b) REFERENCES
|
||||
table2(c, d), table2 can be written
|
||||
also with the database
|
||||
name before it: test.table2; the
|
||||
default database id the database of
|
||||
parameter name */
|
||||
const char* name) /* in: table full name in the
|
||||
normalized form
|
||||
database_name/table_name */
|
||||
{
|
||||
char* str;
|
||||
|
|
|
@ -27,9 +27,10 @@ Finds the first table name in the given database. */
|
|||
char*
|
||||
dict_get_first_table_name_in_db(
|
||||
/*============================*/
|
||||
/* out, own: table name, NULL if does not exist;
|
||||
the caller must free the memory in the string! */
|
||||
char* name) /* in: database name which ends to '/' */
|
||||
/* out, own: table name, NULL if
|
||||
does not exist; the caller must
|
||||
free the memory in the string! */
|
||||
const char* name) /* in: database name which ends to '/' */
|
||||
{
|
||||
dict_table_t* sys_tables;
|
||||
btr_pcur_t pcur;
|
||||
|
@ -389,7 +390,7 @@ Report that an index field or index for a table has been delete marked. */
|
|||
static
|
||||
void
|
||||
dict_load_report_deleted_index(
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
ulint field) /* in: index field, or ULINT_UNDEFINED */
|
||||
{
|
||||
fputs("InnoDB: Error: data dictionary entry"
|
||||
|
@ -688,12 +689,13 @@ dictionary cache. */
|
|||
dict_table_t*
|
||||
dict_load_table(
|
||||
/*============*/
|
||||
/* out: table, NULL if does not exist; if the table is
|
||||
stored in an .ibd file, but the file does not exist,
|
||||
then we set the ibd_file_missing flag TRUE in the table
|
||||
object we return */
|
||||
char* name) /* in: table name in the databasename/tablename
|
||||
format */
|
||||
/* out: table, NULL if does not exist;
|
||||
if the table is stored in an .ibd file,
|
||||
but the file does not exist,
|
||||
then we set the ibd_file_missing flag TRUE
|
||||
in the table object we return */
|
||||
const char* name) /* in: table name in the
|
||||
databasename/tablename format */
|
||||
{
|
||||
ibool ibd_file_missing = FALSE;
|
||||
dict_table_t* table;
|
||||
|
@ -1186,7 +1188,7 @@ ulint
|
|||
dict_load_foreigns(
|
||||
/*===============*/
|
||||
/* out: DB_SUCCESS or error code */
|
||||
char* table_name) /* in: table name */
|
||||
const char* table_name) /* in: table name */
|
||||
{
|
||||
btr_pcur_t pcur;
|
||||
mem_heap_t* heap;
|
||||
|
|
|
@ -30,7 +30,7 @@ dict_table_t*
|
|||
dict_mem_table_create(
|
||||
/*==================*/
|
||||
/* out, own: table object */
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
ulint space, /* in: space where the clustered index of
|
||||
the table is placed; this parameter is
|
||||
ignored if the table is made a member of
|
||||
|
@ -38,7 +38,6 @@ dict_mem_table_create(
|
|||
ulint n_cols) /* in: number of columns */
|
||||
{
|
||||
dict_table_t* table;
|
||||
char* str;
|
||||
mem_heap_t* heap;
|
||||
|
||||
ut_ad(name);
|
||||
|
@ -49,10 +48,8 @@ dict_mem_table_create(
|
|||
|
||||
table->heap = heap;
|
||||
|
||||
str = mem_heap_strdup(heap, name);
|
||||
|
||||
table->type = DICT_TABLE_ORDINARY;
|
||||
table->name = str;
|
||||
table->name = mem_heap_strdup(heap, name);
|
||||
table->space = space;
|
||||
table->ibd_file_missing = FALSE;
|
||||
table->tablespace_discarded = FALSE;
|
||||
|
@ -103,7 +100,7 @@ dict_table_t*
|
|||
dict_mem_cluster_create(
|
||||
/*====================*/
|
||||
/* out, own: cluster object */
|
||||
char* name, /* in: cluster name */
|
||||
const char* name, /* in: cluster name */
|
||||
ulint space, /* in: space where the clustered indexes
|
||||
of the member tables are placed */
|
||||
ulint n_cols, /* in: number of columns */
|
||||
|
@ -127,7 +124,7 @@ void
|
|||
dict_mem_table_make_cluster_member(
|
||||
/*===============================*/
|
||||
dict_table_t* table, /* in: non-published table */
|
||||
char* cluster_name) /* in: cluster name */
|
||||
const char* cluster_name) /* in: cluster name */
|
||||
{
|
||||
table->type = DICT_TABLE_CLUSTER_MEMBER;
|
||||
table->cluster_name = cluster_name;
|
||||
|
@ -140,7 +137,7 @@ void
|
|||
dict_mem_table_add_col(
|
||||
/*===================*/
|
||||
dict_table_t* table, /* in: table */
|
||||
char* name, /* in: column name */
|
||||
const char* name, /* in: column name */
|
||||
ulint mtype, /* in: main datatype */
|
||||
ulint prtype, /* in: precise type */
|
||||
ulint len, /* in: length */
|
||||
|
@ -175,12 +172,13 @@ dict_index_t*
|
|||
dict_mem_index_create(
|
||||
/*==================*/
|
||||
/* out, own: index object */
|
||||
char* table_name, /* in: table name */
|
||||
char* index_name, /* in: index name */
|
||||
ulint space, /* in: space where the index tree is placed,
|
||||
ignored if the index is of the clustered
|
||||
type */
|
||||
ulint type, /* in: DICT_UNIQUE, DICT_CLUSTERED, ... ORed */
|
||||
const char* table_name, /* in: table name */
|
||||
const char* index_name, /* in: index name */
|
||||
ulint space, /* in: space where the index tree is
|
||||
placed, ignored if the index is of
|
||||
the clustered type */
|
||||
ulint type, /* in: DICT_UNIQUE,
|
||||
DICT_CLUSTERED, ... ORed */
|
||||
ulint n_fields) /* in: number of fields */
|
||||
{
|
||||
dict_index_t* index;
|
||||
|
@ -259,7 +257,7 @@ void
|
|||
dict_mem_index_add_field(
|
||||
/*=====================*/
|
||||
dict_index_t* index, /* in: index */
|
||||
char* name, /* in: column name */
|
||||
const char* name, /* in: column name */
|
||||
ulint order, /* in: order criterion; 0 means an
|
||||
ascending order */
|
||||
ulint prefix_len) /* in: 0 or the column prefix length
|
||||
|
|
|
@ -390,11 +390,12 @@ Appends a new file to the chain of files of a space. File must be closed. */
|
|||
void
|
||||
fil_node_create(
|
||||
/*============*/
|
||||
char* name, /* in: file name (file must be closed) */
|
||||
ulint size, /* in: file size in database blocks, rounded downwards
|
||||
to an integer */
|
||||
const char* name, /* in: file name (file must be closed) */
|
||||
ulint size, /* in: file size in database blocks, rounded
|
||||
downwards to an integer */
|
||||
ulint id, /* in: space id where to append */
|
||||
ibool is_raw) /* in: TRUE if a raw device or a raw disk partition */
|
||||
ibool is_raw) /* in: TRUE if a raw device or
|
||||
a raw disk partition */
|
||||
{
|
||||
fil_system_t* system = fil_system;
|
||||
fil_node_t* node;
|
||||
|
@ -805,7 +806,7 @@ ibool
|
|||
fil_space_create(
|
||||
/*=============*/
|
||||
/* out: TRUE if success */
|
||||
char* name, /* in: space name */
|
||||
const char* name, /* in: space name */
|
||||
ulint id, /* in: space id */
|
||||
ulint purpose)/* in: FIL_TABLESPACE, or FIL_LOG if log */
|
||||
{
|
||||
|
@ -1542,15 +1543,17 @@ static
|
|||
void
|
||||
fil_op_write_log(
|
||||
/*=============*/
|
||||
ulint type, /* in: MLOG_FILE_CREATE, MLOG_FILE_DELETE, or
|
||||
ulint type, /* in: MLOG_FILE_CREATE,
|
||||
MLOG_FILE_DELETE, or
|
||||
MLOG_FILE_RENAME */
|
||||
ulint space_id, /* in: space id */
|
||||
char* name, /* in: table name in the familiar
|
||||
'databasename/tablename' format, or the file
|
||||
path in the case of MLOG_FILE_DELETE */
|
||||
char* new_name, /* in: if type is MLOG_FILE_RENAME, the new
|
||||
table name in the 'databasename/tablename'
|
||||
format */
|
||||
const char* name, /* in: table name in the familiar
|
||||
'databasename/tablename' format, or
|
||||
the file path in the case of
|
||||
MLOG_FILE_DELETE */
|
||||
const char* new_name, /* in: if type is MLOG_FILE_RENAME,
|
||||
the new table name in the
|
||||
'databasename/tablename' format */
|
||||
mtr_t* mtr) /* in: mini-transaction handle */
|
||||
{
|
||||
byte* log_ptr;
|
||||
|
@ -1961,13 +1964,14 @@ ibool
|
|||
fil_rename_tablespace(
|
||||
/*==================*/
|
||||
/* out: TRUE if success */
|
||||
char* old_name, /* in: old table name in the standard
|
||||
databasename/tablename format of InnoDB, or
|
||||
NULL if we do the rename based on the space
|
||||
id only */
|
||||
const char* old_name, /* in: old table name in the standard
|
||||
databasename/tablename format of
|
||||
InnoDB, or NULL if we do the rename
|
||||
based on the space id only */
|
||||
ulint id, /* in: space id */
|
||||
char* new_name) /* in: new table name in the standard
|
||||
databasename/tablename format of InnoDB */
|
||||
const char* new_name) /* in: new table name in the standard
|
||||
databasename/tablename format
|
||||
of InnoDB */
|
||||
{
|
||||
fil_system_t* system = fil_system;
|
||||
ibool success;
|
||||
|
@ -2125,14 +2129,15 @@ ulint
|
|||
fil_create_new_single_table_tablespace(
|
||||
/*===================================*/
|
||||
/* out: DB_SUCCESS or error code */
|
||||
ulint* space_id, /* in/out: space id; if this is != 0, then
|
||||
this is an input parameter, otherwise
|
||||
output */
|
||||
char* tablename, /* in: the table name in the usual
|
||||
databasename/tablename format of InnoDB */
|
||||
ulint size) /* in: the initial size of the tablespace file
|
||||
in pages, must be >= FIL_IBD_FILE_INITIAL_SIZE
|
||||
*/
|
||||
ulint* space_id, /* in/out: space id; if this is != 0,
|
||||
then this is an input parameter,
|
||||
otherwise output */
|
||||
const char* tablename, /* in: the table name in the usual
|
||||
databasename/tablename format
|
||||
of InnoDB */
|
||||
ulint size) /* in: the initial size of the
|
||||
tablespace file in pages,
|
||||
must be >= FIL_IBD_FILE_INITIAL_SIZE */
|
||||
{
|
||||
os_file_t file;
|
||||
ibool ret;
|
||||
|
@ -2294,11 +2299,11 @@ ibool
|
|||
fil_reset_too_high_lsns(
|
||||
/*====================*/
|
||||
/* out: TRUE if success */
|
||||
char* name, /* in: table name in the databasename/tablename
|
||||
format */
|
||||
dulint current_lsn) /* in: reset lsn's if the lsn stamped to
|
||||
FIL_PAGE_FILE_FLUSH_LSN in the first page is
|
||||
too high */
|
||||
const char* name, /* in: table name in the
|
||||
databasename/tablename format */
|
||||
dulint current_lsn) /* in: reset lsn's if the lsn stamped
|
||||
to FIL_PAGE_FILE_FLUSH_LSN in the
|
||||
first page is too high */
|
||||
{
|
||||
os_file_t file;
|
||||
char* filepath;
|
||||
|
@ -2435,8 +2440,8 @@ fil_open_single_table_tablespace(
|
|||
/*=============================*/
|
||||
/* out: TRUE if success */
|
||||
ulint id, /* in: space id */
|
||||
char* name) /* in: table name in the databasename/tablename
|
||||
format */
|
||||
const char* name) /* in: table name in the
|
||||
databasename/tablename format */
|
||||
{
|
||||
os_file_t file;
|
||||
char* filepath;
|
||||
|
@ -2937,20 +2942,22 @@ there may be many tablespaces which are not yet in the memory cache. */
|
|||
ibool
|
||||
fil_space_for_table_exists_in_mem(
|
||||
/*==============================*/
|
||||
/* out: TRUE if a matching tablespace exists
|
||||
in the memory cache */
|
||||
/* out: TRUE if a matching tablespace
|
||||
exists in the memory cache */
|
||||
ulint id, /* in: space id */
|
||||
char* name, /* in: table name in the standard
|
||||
const char* name, /* in: table name in the standard
|
||||
'databasename/tablename' format */
|
||||
ibool mark_space, /* in: in crash recovery, at database startup
|
||||
we mark all spaces which have an associated
|
||||
table in the InnoDB data dictionary, so that
|
||||
ibool mark_space, /* in: in crash recovery, at database
|
||||
startup we mark all spaces which have
|
||||
an associated table in the InnoDB
|
||||
data dictionary, so that
|
||||
we can print a warning about orphaned
|
||||
tablespaces */
|
||||
ibool print_error_if_does_not_exist)
|
||||
/* in: print detailed error information to
|
||||
the .err log if a matching tablespace is
|
||||
not found from memory */
|
||||
/* in: print detailed error
|
||||
information to the .err log if a
|
||||
matching tablespace is not found from
|
||||
memory */
|
||||
{
|
||||
fil_system_t* system = fil_system;
|
||||
fil_space_t* namespace;
|
||||
|
|
|
@ -86,7 +86,7 @@ void
|
|||
dfield_set_data(
|
||||
/*============*/
|
||||
dfield_t* field, /* in: field */
|
||||
void* data, /* in: data */
|
||||
const void* data, /* in: data */
|
||||
ulint len); /* in: length or UNIV_SQL_NULL */
|
||||
/**************************************************************************
|
||||
Writes an SQL null field full of zeros. */
|
||||
|
|
|
@ -93,7 +93,7 @@ void
|
|||
dfield_set_data(
|
||||
/*============*/
|
||||
dfield_t* field, /* in: field */
|
||||
void* data, /* in: data */
|
||||
const void* data, /* in: data */
|
||||
ulint len) /* in: length or UNIV_SQL_NULL */
|
||||
{
|
||||
ut_ad(field);
|
||||
|
|
|
@ -166,7 +166,7 @@ dict_table_rename_in_cache(
|
|||
/*=======================*/
|
||||
/* out: TRUE if success */
|
||||
dict_table_t* table, /* in: table */
|
||||
char* new_name, /* in: new name */
|
||||
const char* new_name, /* in: new name */
|
||||
ibool rename_also_foreigns);/* in: in ALTER TABLE we want
|
||||
to preserve the original table name
|
||||
in constraints which reference it */
|
||||
|
@ -212,13 +212,16 @@ dict_create_foreign_constraints(
|
|||
/*============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction */
|
||||
char* sql_string, /* in: table create statement where
|
||||
const char* sql_string, /* in: table create statement where
|
||||
foreign keys are declared like:
|
||||
FOREIGN KEY (a, b) REFERENCES table2(c, d),
|
||||
table2 can be written also with the database
|
||||
name before it: test.table2; the default
|
||||
database id the database of parameter name */
|
||||
char* name); /* in: table full name in the normalized form
|
||||
FOREIGN KEY (a, b) REFERENCES
|
||||
table2(c, d), table2 can be written
|
||||
also with the database
|
||||
name before it: test.table2; the
|
||||
default database id the database of
|
||||
parameter name */
|
||||
const char* name); /* in: table full name in the
|
||||
normalized form
|
||||
database_name/table_name */
|
||||
/**************************************************************************
|
||||
Parses the CONSTRAINT id's to be dropped in an ALTER TABLE statement. */
|
||||
|
@ -246,8 +249,9 @@ directory dict_table_get_low is usually the appropriate function. */
|
|||
dict_table_t*
|
||||
dict_table_get(
|
||||
/*===========*/
|
||||
/* out: table, NULL if does not exist */
|
||||
char* table_name, /* in: table name */
|
||||
/* out: table, NULL if
|
||||
does not exist */
|
||||
const char* table_name, /* in: table name */
|
||||
trx_t* trx); /* in: transaction handle */
|
||||
/**************************************************************************
|
||||
Returns a table object and increments MySQL open handle count on the table.
|
||||
|
@ -256,8 +260,9 @@ Returns a table object and increments MySQL open handle count on the table.
|
|||
dict_table_t*
|
||||
dict_table_get_and_increment_handle_count(
|
||||
/*======================================*/
|
||||
/* out: table, NULL if does not exist */
|
||||
char* table_name, /* in: table name */
|
||||
/* out: table, NULL if
|
||||
does not exist */
|
||||
const char* table_name, /* in: table name */
|
||||
trx_t* trx); /* in: transaction handle or NULL */
|
||||
/**************************************************************************
|
||||
Returns a table object, based on table id, and memoryfixes it. */
|
||||
|
@ -291,7 +296,7 @@ dict_table_t*
|
|||
dict_table_check_if_in_cache_low(
|
||||
/*==============================*/
|
||||
/* out: table, NULL if not found */
|
||||
char* table_name); /* in: table name */
|
||||
const char* table_name); /* in: table name */
|
||||
/**************************************************************************
|
||||
Gets a table; loads it to the dictionary cache if necessary. A low-level
|
||||
function. */
|
||||
|
@ -300,7 +305,7 @@ dict_table_t*
|
|||
dict_table_get_low(
|
||||
/*===============*/
|
||||
/* out: table, NULL if not found */
|
||||
char* table_name); /* in: table name */
|
||||
const char* table_name); /* in: table name */
|
||||
/**************************************************************************
|
||||
Returns an index object. */
|
||||
UNIV_INLINE
|
||||
|
@ -309,7 +314,7 @@ dict_table_get_index(
|
|||
/*=================*/
|
||||
/* out: index, NULL if does not exist */
|
||||
dict_table_t* table, /* in: table */
|
||||
char* name); /* in: index name */
|
||||
const char* name); /* in: index name */
|
||||
/**************************************************************************
|
||||
Returns an index object. */
|
||||
|
||||
|
@ -318,7 +323,7 @@ dict_table_get_index_noninline(
|
|||
/*===========================*/
|
||||
/* out: index, NULL if does not exist */
|
||||
dict_table_t* table, /* in: table */
|
||||
char* name); /* in: index name */
|
||||
const char* name); /* in: index name */
|
||||
/**************************************************************************
|
||||
Prints a table data. */
|
||||
|
||||
|
@ -340,7 +345,7 @@ Prints a table data when we know the table name. */
|
|||
void
|
||||
dict_table_print_by_name(
|
||||
/*=====================*/
|
||||
char* name);
|
||||
const char* name);
|
||||
#endif /* UNIV_DEBUG */
|
||||
/**************************************************************************
|
||||
Outputs info on foreign keys of a table. */
|
||||
|
|
|
@ -537,7 +537,7 @@ dict_table_t*
|
|||
dict_table_check_if_in_cache_low(
|
||||
/*==============================*/
|
||||
/* out: table, NULL if not found */
|
||||
char* table_name) /* in: table name */
|
||||
const char* table_name) /* in: table name */
|
||||
{
|
||||
dict_table_t* table;
|
||||
ulint table_fold;
|
||||
|
@ -563,7 +563,7 @@ dict_table_t*
|
|||
dict_table_get_low(
|
||||
/*===============*/
|
||||
/* out: table, NULL if not found */
|
||||
char* table_name) /* in: table name */
|
||||
const char* table_name) /* in: table name */
|
||||
{
|
||||
dict_table_t* table;
|
||||
|
||||
|
@ -642,7 +642,7 @@ dict_table_get_index(
|
|||
/*=================*/
|
||||
/* out: index, NULL if does not exist */
|
||||
dict_table_t* table, /* in: table */
|
||||
char* name) /* in: index name */
|
||||
const char* name) /* in: index name */
|
||||
{
|
||||
dict_index_t* index = NULL;
|
||||
|
||||
|
|
|
@ -31,9 +31,10 @@ Finds the first table name in the given database. */
|
|||
char*
|
||||
dict_get_first_table_name_in_db(
|
||||
/*============================*/
|
||||
/* out, own: table name, NULL if does not exist;
|
||||
the caller must free the memory in the string! */
|
||||
char* name); /* in: database name which ends to '/' */
|
||||
/* out, own: table name, NULL if
|
||||
does not exist; the caller must free
|
||||
the memory in the string! */
|
||||
const char* name); /* in: database name which ends to '/' */
|
||||
/************************************************************************
|
||||
Loads a table definition and also all its index definitions, and also
|
||||
the cluster definition if the table is a member in a cluster. Also loads
|
||||
|
@ -43,11 +44,13 @@ a foreign key references columns in this table. */
|
|||
dict_table_t*
|
||||
dict_load_table(
|
||||
/*============*/
|
||||
/* out: table, NULL if does not exist; if the table is
|
||||
stored in an .ibd file, but the file does not exist,
|
||||
then we set the ibd_file_missing flag TRUE in the table
|
||||
object we return */
|
||||
char* name); /* in: table name */
|
||||
/* out: table, NULL if does not exist;
|
||||
if the table is stored in an .ibd file,
|
||||
but the file does not exist,
|
||||
then we set the ibd_file_missing flag TRUE
|
||||
in the table object we return */
|
||||
const char* name); /* in: table name in the
|
||||
databasename/tablename format */
|
||||
/***************************************************************************
|
||||
Loads a table object based on the table id. */
|
||||
|
||||
|
@ -76,7 +79,7 @@ ulint
|
|||
dict_load_foreigns(
|
||||
/*===============*/
|
||||
/* out: DB_SUCCESS or error code */
|
||||
char* table_name); /* in: table name */
|
||||
const char* table_name); /* in: table name */
|
||||
/************************************************************************
|
||||
Prints to the standard output information on all tables found in the data
|
||||
dictionary system table. */
|
||||
|
|
|
@ -49,11 +49,11 @@ dict_table_t*
|
|||
dict_mem_table_create(
|
||||
/*==================*/
|
||||
/* out, own: table object */
|
||||
char* name, /* in: table name */
|
||||
ulint space, /* in: space where the clustered index of
|
||||
the table is placed; this parameter is
|
||||
ignored if the table is made a member of
|
||||
a cluster */
|
||||
const char* name, /* in: table name */
|
||||
ulint space, /* in: space where the clustered index
|
||||
of the table is placed; this parameter
|
||||
is ignored if the table is made
|
||||
a member of a cluster */
|
||||
ulint n_cols); /* in: number of columns */
|
||||
/**************************************************************************
|
||||
Creates a cluster memory object. */
|
||||
|
@ -61,14 +61,15 @@ Creates a cluster memory object. */
|
|||
dict_cluster_t*
|
||||
dict_mem_cluster_create(
|
||||
/*====================*/
|
||||
/* out, own: cluster object (where the type
|
||||
dict_cluster_t == dict_table_t) */
|
||||
char* name, /* in: cluster name */
|
||||
ulint space, /* in: space where the clustered indexes
|
||||
of the member tables are placed */
|
||||
/* out, own: cluster object (where the
|
||||
type dict_cluster_t == dict_table_t) */
|
||||
const char* name, /* in: cluster name */
|
||||
ulint space, /* in: space where the clustered
|
||||
indexes of the member tables are
|
||||
placed */
|
||||
ulint n_cols, /* in: number of columns */
|
||||
ulint mix_len); /* in: length of the common key prefix in the
|
||||
cluster */
|
||||
ulint mix_len); /* in: length of the common key prefix
|
||||
in the cluster */
|
||||
/**************************************************************************
|
||||
Declares a non-published table as a member in a cluster. */
|
||||
|
||||
|
@ -76,7 +77,7 @@ void
|
|||
dict_mem_table_make_cluster_member(
|
||||
/*===============================*/
|
||||
dict_table_t* table, /* in: non-published table */
|
||||
char* cluster_name); /* in: cluster name */
|
||||
const char* cluster_name); /* in: cluster name */
|
||||
/**************************************************************************
|
||||
Adds a column definition to a table. */
|
||||
|
||||
|
@ -84,7 +85,7 @@ void
|
|||
dict_mem_table_add_col(
|
||||
/*===================*/
|
||||
dict_table_t* table, /* in: table */
|
||||
char* name, /* in: column name */
|
||||
const char* name, /* in: column name */
|
||||
ulint mtype, /* in: main datatype */
|
||||
ulint prtype, /* in: precise type */
|
||||
ulint len, /* in: length */
|
||||
|
@ -96,12 +97,13 @@ dict_index_t*
|
|||
dict_mem_index_create(
|
||||
/*==================*/
|
||||
/* out, own: index object */
|
||||
char* table_name, /* in: table name */
|
||||
char* index_name, /* in: index name */
|
||||
ulint space, /* in: space where the index tree is placed,
|
||||
ignored if the index is of the clustered
|
||||
type */
|
||||
ulint type, /* in: DICT_UNIQUE, DICT_CLUSTERED, ... ORed */
|
||||
const char* table_name, /* in: table name */
|
||||
const char* index_name, /* in: index name */
|
||||
ulint space, /* in: space where the index tree is
|
||||
placed, ignored if the index is of
|
||||
the clustered type */
|
||||
ulint type, /* in: DICT_UNIQUE,
|
||||
DICT_CLUSTERED, ... ORed */
|
||||
ulint n_fields); /* in: number of fields */
|
||||
/**************************************************************************
|
||||
Adds a field definition to an index. NOTE: does not take a copy
|
||||
|
@ -112,7 +114,7 @@ void
|
|||
dict_mem_index_add_field(
|
||||
/*=====================*/
|
||||
dict_index_t* index, /* in: index */
|
||||
char* name, /* in: column name */
|
||||
const char* name, /* in: column name */
|
||||
ulint order, /* in: order criterion; 0 means an
|
||||
ascending order */
|
||||
ulint prefix_len); /* in: 0 or the column prefix length
|
||||
|
@ -142,7 +144,7 @@ struct dict_col_struct{
|
|||
clustered index */
|
||||
ulint ord_part;/* count of how many times this column
|
||||
appears in ordering fields of an index */
|
||||
char* name; /* name */
|
||||
const char* name; /* name */
|
||||
dtype_t type; /* data type */
|
||||
dict_table_t* table; /* back pointer to table of this column */
|
||||
ulint aux; /* this is used as an auxiliary variable
|
||||
|
@ -154,7 +156,7 @@ struct dict_col_struct{
|
|||
/* Data structure for a field in an index */
|
||||
struct dict_field_struct{
|
||||
dict_col_t* col; /* pointer to the table column */
|
||||
char* name; /* name of the column */
|
||||
const char* name; /* name of the column */
|
||||
ulint order; /* flags for ordering this field:
|
||||
DICT_DESCEND, ... */
|
||||
ulint prefix_len; /* 0 or the length of the column
|
||||
|
@ -197,8 +199,8 @@ struct dict_index_struct{
|
|||
dulint id; /* id of the index */
|
||||
mem_heap_t* heap; /* memory heap */
|
||||
ulint type; /* index type */
|
||||
char* name; /* index name */
|
||||
char* table_name; /* table name */
|
||||
const char* name; /* index name */
|
||||
const char* table_name; /* table name */
|
||||
dict_table_t* table; /* back pointer to table */
|
||||
ulint space; /* space where the index tree is placed */
|
||||
ulint page_no;/* page number of the index tree root */
|
||||
|
@ -254,12 +256,12 @@ struct dict_foreign_struct{
|
|||
or DICT_FOREIGN_ON_DELETE_SET_NULL */
|
||||
char* foreign_table_name;/* foreign table name */
|
||||
dict_table_t* foreign_table; /* table where the foreign key is */
|
||||
char** foreign_col_names;/* names of the columns in the
|
||||
const char** foreign_col_names;/* names of the columns in the
|
||||
foreign key */
|
||||
char* referenced_table_name;/* referenced table name */
|
||||
dict_table_t* referenced_table;/* table where the referenced key
|
||||
is */
|
||||
char** referenced_col_names;/* names of the referenced
|
||||
const char** referenced_col_names;/* names of the referenced
|
||||
columns in the referenced table */
|
||||
ulint n_fields; /* number of indexes' first fields
|
||||
for which the the foreign key
|
||||
|
@ -295,7 +297,7 @@ struct dict_table_struct{
|
|||
dulint id; /* id of the table or cluster */
|
||||
ulint type; /* DICT_TABLE_ORDINARY, ... */
|
||||
mem_heap_t* heap; /* memory heap */
|
||||
char* name; /* table name */
|
||||
const char* name; /* table name */
|
||||
ulint space; /* space where the clustered index of the
|
||||
table is placed */
|
||||
ibool ibd_file_missing;/* TRUE if this is in a single-table
|
||||
|
@ -363,7 +365,7 @@ struct dict_table_struct{
|
|||
byte mix_id_buf[12];
|
||||
/* mix id of a mixed table written in
|
||||
a compressed form */
|
||||
char* cluster_name; /* if the table is a member in a
|
||||
const char* cluster_name; /* if the table is a member in a
|
||||
cluster, this is the name of the cluster */
|
||||
/*----------------------*/
|
||||
ibool does_not_fit_in_memory;
|
||||
|
|
|
@ -132,11 +132,12 @@ Appends a new file to the chain of files of a space. File must be closed. */
|
|||
void
|
||||
fil_node_create(
|
||||
/*============*/
|
||||
char* name, /* in: file name (file must be closed) */
|
||||
ulint size, /* in: file size in database blocks, rounded downwards
|
||||
to an integer */
|
||||
const char* name, /* in: file name (file must be closed) */
|
||||
ulint size, /* in: file size in database blocks, rounded
|
||||
downwards to an integer */
|
||||
ulint id, /* in: space id where to append */
|
||||
ibool is_raw);/* in: TRUE if a raw device or a raw disk partition */
|
||||
ibool is_raw);/* in: TRUE if a raw device or
|
||||
a raw disk partition */
|
||||
/********************************************************************
|
||||
Drops files from the start of a file space, so that its size is cut by
|
||||
the amount given. */
|
||||
|
@ -156,7 +157,7 @@ ibool
|
|||
fil_space_create(
|
||||
/*=============*/
|
||||
/* out: TRUE if success */
|
||||
char* name, /* in: space name */
|
||||
const char* name, /* in: space name */
|
||||
ulint id, /* in: space id */
|
||||
ulint purpose);/* in: FIL_TABLESPACE, or FIL_LOG if log */
|
||||
/***********************************************************************
|
||||
|
@ -328,13 +329,14 @@ ibool
|
|||
fil_rename_tablespace(
|
||||
/*==================*/
|
||||
/* out: TRUE if success */
|
||||
char* old_name, /* in: old table name in the standard
|
||||
databasename/tablename format of InnoDB, or
|
||||
NULL if we do the rename based on the space
|
||||
id only */
|
||||
const char* old_name, /* in: old table name in the standard
|
||||
databasename/tablename format of
|
||||
InnoDB, or NULL if we do the rename
|
||||
based on the space id only */
|
||||
ulint id, /* in: space id */
|
||||
char* new_name); /* in: new table name in the standard
|
||||
databasename/tablename format of InnoDB */
|
||||
const char* new_name); /* in: new table name in the standard
|
||||
databasename/tablename format
|
||||
of InnoDB */
|
||||
/***********************************************************************
|
||||
Creates a new single-table tablespace to a database directory of MySQL.
|
||||
Database directories are under the 'datadir' of MySQL. The datadir is the
|
||||
|
@ -345,13 +347,15 @@ ulint
|
|||
fil_create_new_single_table_tablespace(
|
||||
/*===================================*/
|
||||
/* out: DB_SUCCESS or error code */
|
||||
ulint* space_id, /* in/out: space id; if this is != 0, then
|
||||
this is an input parameter, otherwise
|
||||
output */
|
||||
char* tablename, /* in: the table name in the usual
|
||||
databasename/tablename format of InnoDB */
|
||||
ulint size); /* in: the initial size of the tablespace file
|
||||
in pages, must be > 0 */
|
||||
ulint* space_id, /* in/out: space id; if this is != 0,
|
||||
then this is an input parameter,
|
||||
otherwise output */
|
||||
const char* tablename, /* in: the table name in the usual
|
||||
databasename/tablename format
|
||||
of InnoDB */
|
||||
ulint size); /* in: the initial size of the
|
||||
tablespace file in pages,
|
||||
must be >= FIL_IBD_FILE_INITIAL_SIZE */
|
||||
/************************************************************************
|
||||
Tries to open a single-table tablespace and checks the space id is right in
|
||||
it. If does not succeed, prints an error message to the .err log. This
|
||||
|
@ -364,8 +368,8 @@ fil_open_single_table_tablespace(
|
|||
/*=============================*/
|
||||
/* out: TRUE if success */
|
||||
ulint id, /* in: space id */
|
||||
char* name); /* in: table name in the databasename/tablename
|
||||
format */
|
||||
const char* name); /* in: table name in the
|
||||
databasename/tablename format */
|
||||
/************************************************************************
|
||||
It is possible, though very improbable, that the lsn's in the tablespace to be
|
||||
imported have risen above the current system lsn, if a lengthy purge, ibuf
|
||||
|
@ -380,11 +384,11 @@ ibool
|
|||
fil_reset_too_high_lsns(
|
||||
/*====================*/
|
||||
/* out: TRUE if success */
|
||||
char* name, /* in: table name in the databasename/tablename
|
||||
format */
|
||||
dulint current_lsn); /* in: reset lsn's if the lsn stamped to
|
||||
FIL_PAGE_FILE_FLUSH_LSN in the first page is
|
||||
too high */
|
||||
const char* name, /* in: table name in the
|
||||
databasename/tablename format */
|
||||
dulint current_lsn); /* in: reset lsn's if the lsn stamped
|
||||
to FIL_PAGE_FILE_FLUSH_LSN in the
|
||||
first page is too high */
|
||||
/************************************************************************
|
||||
At the server startup, if we need crash recovery, scans the database
|
||||
directories under the MySQL datadir, looking for .ibd files. Those files are
|
||||
|
@ -439,17 +443,19 @@ fil_space_for_table_exists_in_mem(
|
|||
/* out: TRUE if a matching tablespace
|
||||
exists in the memory cache */
|
||||
ulint id, /* in: space id */
|
||||
char* name, /* in: table name in the standard
|
||||
const char* name, /* in: table name in the standard
|
||||
'databasename/tablename' format */
|
||||
ibool mark_space, /* in: in crash recovery, at database startup
|
||||
we mark all spaces which have an associated
|
||||
table in the InnoDB data dictionary, so that
|
||||
ibool mark_space, /* in: in crash recovery, at database
|
||||
startup we mark all spaces which have
|
||||
an associated table in the InnoDB
|
||||
data dictionary, so that
|
||||
we can print a warning about orphaned
|
||||
tablespaces */
|
||||
ibool print_error_if_does_not_exist);
|
||||
/* in: print detailed error information to
|
||||
the .err log if a matching tablespace is
|
||||
not found from memory */
|
||||
/* in: print detailed error
|
||||
information to the .err log if a
|
||||
matching tablespace is not found from
|
||||
memory */
|
||||
/**************************************************************************
|
||||
Tries to extend a data file so that it would accommodate the number of pages
|
||||
given. The tablespace must be cached in the memory cache. If the space is big
|
||||
|
|
|
@ -177,13 +177,15 @@ and '..' items at the start of the directory listing. */
|
|||
os_file_dir_t
|
||||
os_file_opendir(
|
||||
/*============*/
|
||||
/* out: directory stream, NULL if error */
|
||||
char* dirname, /* in: directory name; it must not contain
|
||||
a trailing '\' or '/' */
|
||||
ibool error_is_fatal);/* in: TRUE if we should treat an error as a
|
||||
fatal error; if we try to open symlinks then
|
||||
we do not wish a fatal error if it happens
|
||||
not to be a directory */
|
||||
/* out: directory stream, NULL if
|
||||
error */
|
||||
const char* dirname, /* in: directory name; it must not
|
||||
contain a trailing '\' or '/' */
|
||||
ibool error_is_fatal);/* in: TRUE if we should treat an
|
||||
error as a fatal error; if we try to
|
||||
open symlinks then we do not wish a
|
||||
fatal error if it happens not to be
|
||||
a directory */
|
||||
/***************************************************************************
|
||||
Closes a directory stream. */
|
||||
|
||||
|
@ -201,7 +203,7 @@ os_file_readdir_next_file(
|
|||
/*======================*/
|
||||
/* out: 0 if ok, -1 if error, 1 if at the end
|
||||
of the directory */
|
||||
char* dirname,/* in: directory name or path */
|
||||
const char* dirname,/* in: directory name or path */
|
||||
os_file_dir_t dir, /* in: directory stream */
|
||||
os_file_stat_t* info); /* in/out: buffer where the info is returned */
|
||||
/*********************************************************************
|
||||
|
@ -213,29 +215,32 @@ fail_if_exists arguments is true. */
|
|||
ibool
|
||||
os_file_create_directory(
|
||||
/*=====================*/
|
||||
/* out: TRUE if call succeeds, FALSE on
|
||||
error */
|
||||
char* pathname, /* in: directory name as null-terminated
|
||||
string */
|
||||
ibool fail_if_exists);/* in: if TRUE, pre-existing directory is
|
||||
treated as an error. */
|
||||
/* out: TRUE if call succeeds,
|
||||
FALSE on error */
|
||||
const char* pathname, /* in: directory name as
|
||||
null-terminated string */
|
||||
ibool fail_if_exists);/* in: if TRUE, pre-existing directory
|
||||
is treated as an error. */
|
||||
/********************************************************************
|
||||
A simple function to open or create a file. */
|
||||
|
||||
os_file_t
|
||||
os_file_create_simple(
|
||||
/*==================*/
|
||||
/* out, own: handle to the file, not defined if error,
|
||||
error number can be retrieved with
|
||||
/* out, own: handle to the file, not defined
|
||||
if error, error number can be retrieved with
|
||||
os_file_get_last_error */
|
||||
char* name, /* in: name of the file or path as a null-terminated
|
||||
string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file is opened
|
||||
(if does not exist, error), or OS_FILE_CREATE if a new
|
||||
file is created (if exists, error), or
|
||||
OS_FILE_CREATE_PATH if new file (if exists, error) and
|
||||
subdirectories along its path are created (if needed)*/
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY or OS_FILE_READ_WRITE */
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file is
|
||||
opened (if does not exist, error), or
|
||||
OS_FILE_CREATE if a new file is created
|
||||
(if exists, error), or
|
||||
OS_FILE_CREATE_PATH if new file
|
||||
(if exists, error) and subdirectories along
|
||||
its path are created (if needed)*/
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY or
|
||||
OS_FILE_READ_WRITE */
|
||||
ibool* success);/* out: TRUE if succeed, FALSE if error */
|
||||
/********************************************************************
|
||||
A simple function to open or create a file. */
|
||||
|
@ -243,17 +248,19 @@ A simple function to open or create a file. */
|
|||
os_file_t
|
||||
os_file_create_simple_no_error_handling(
|
||||
/*====================================*/
|
||||
/* out, own: handle to the file, not defined if error,
|
||||
error number can be retrieved with
|
||||
/* out, own: handle to the file, not defined
|
||||
if error, error number can be retrieved with
|
||||
os_file_get_last_error */
|
||||
char* name, /* in: name of the file or path as a null-terminated
|
||||
string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file is opened
|
||||
(if does not exist, error), or OS_FILE_CREATE if a new
|
||||
file is created (if exists, error) */
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY, OS_FILE_READ_WRITE, or
|
||||
OS_FILE_READ_ALLOW_DELETE; the last option is used by
|
||||
a backup program reading the file */
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file
|
||||
is opened (if does not exist, error), or
|
||||
OS_FILE_CREATE if a new file is created
|
||||
(if exists, error) */
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY,
|
||||
OS_FILE_READ_WRITE, or
|
||||
OS_FILE_READ_ALLOW_DELETE; the last option is
|
||||
used by a backup program reading the file */
|
||||
ibool* success);/* out: TRUE if succeed, FALSE if error */
|
||||
/********************************************************************
|
||||
Opens an existing file or creates a new. */
|
||||
|
@ -261,23 +268,26 @@ Opens an existing file or creates a new. */
|
|||
os_file_t
|
||||
os_file_create(
|
||||
/*===========*/
|
||||
/* out, own: handle to the file, not defined if error,
|
||||
error number can be retrieved with
|
||||
/* out, own: handle to the file, not defined
|
||||
if error, error number can be retrieved with
|
||||
os_file_get_last_error */
|
||||
char* name, /* in: name of the file or path as a null-terminated
|
||||
string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file is opened
|
||||
(if does not exist, error), or OS_FILE_CREATE if a new
|
||||
file is created (if exists, error), OS_FILE_OVERWRITE
|
||||
if a new file is created or an old overwritten;
|
||||
OS_FILE_OPEN_RAW, if a raw device or disk partition
|
||||
should be opened */
|
||||
ulint purpose,/* in: OS_FILE_AIO, if asynchronous, non-buffered i/o
|
||||
is desired, OS_FILE_NORMAL, if any normal file;
|
||||
NOTE that it also depends on type, os_aio_.. and srv_..
|
||||
variables whether we really use async i/o or
|
||||
unbuffered i/o: look in the function source code for
|
||||
the exact rules */
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file
|
||||
is opened (if does not exist, error), or
|
||||
OS_FILE_CREATE if a new file is created
|
||||
(if exists, error),
|
||||
OS_FILE_OVERWRITE if a new file is created
|
||||
or an old overwritten;
|
||||
OS_FILE_OPEN_RAW, if a raw device or disk
|
||||
partition should be opened */
|
||||
ulint purpose,/* in: OS_FILE_AIO, if asynchronous,
|
||||
non-buffered i/o is desired,
|
||||
OS_FILE_NORMAL, if any normal file;
|
||||
NOTE that it also depends on type, os_aio_..
|
||||
and srv_.. variables whether we really use
|
||||
async i/o or unbuffered i/o: look in the
|
||||
function source code for the exact rules */
|
||||
ulint type, /* in: OS_DATA_FILE or OS_LOG_FILE */
|
||||
ibool* success);/* out: TRUE if succeed, FALSE if error */
|
||||
/***************************************************************************
|
||||
|
@ -287,7 +297,7 @@ ibool
|
|||
os_file_delete(
|
||||
/*===========*/
|
||||
/* out: TRUE if success */
|
||||
char* name); /* in: file path as a null-terminated string */
|
||||
const char* name); /* in: file path as a null-terminated string */
|
||||
|
||||
/***************************************************************************
|
||||
Deletes a file if it exists. The file has to be closed before calling this. */
|
||||
|
@ -296,7 +306,7 @@ ibool
|
|||
os_file_delete_if_exists(
|
||||
/*=====================*/
|
||||
/* out: TRUE if success */
|
||||
char* name); /* in: file path as a null-terminated string */
|
||||
const char* name); /* in: file path as a null-terminated string */
|
||||
/***************************************************************************
|
||||
Renames a file (can also move it to another directory). It is safest that the
|
||||
file is closed before calling this function. */
|
||||
|
@ -305,9 +315,9 @@ ibool
|
|||
os_file_rename(
|
||||
/*===========*/
|
||||
/* out: TRUE if success */
|
||||
char* oldpath, /* in: old file path as a null-terminated
|
||||
string */
|
||||
char* newpath); /* in: new file path */
|
||||
const char* oldpath, /* in: old file path as a
|
||||
null-terminated string */
|
||||
const char* newpath); /* in: new file path */
|
||||
/***************************************************************************
|
||||
Closes a file handle. In case of error, error number can be retrieved with
|
||||
os_file_get_last_error. */
|
||||
|
@ -351,7 +361,7 @@ ibool
|
|||
os_file_set_size(
|
||||
/*=============*/
|
||||
/* out: TRUE if success */
|
||||
char* name, /* in: name of the file or path as a
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
os_file_t file, /* in: handle to a file */
|
||||
ulint size, /* in: least significant 32 bits of file
|
||||
|
@ -426,10 +436,10 @@ os_file_write(
|
|||
/*==========*/
|
||||
/* out: TRUE if request was
|
||||
successful, FALSE if fail */
|
||||
char* name, /* in: name of the file or path as a
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
os_file_t file, /* in: handle to a file */
|
||||
void* buf, /* in: buffer from which to write */
|
||||
const void* buf, /* in: buffer from which to write */
|
||||
ulint offset, /* in: least significant 32 bits of file
|
||||
offset where to write */
|
||||
ulint offset_high,/* in: most significant 32 bits of
|
||||
|
@ -442,7 +452,7 @@ ibool
|
|||
os_file_status(
|
||||
/*===========*/
|
||||
/* out: TRUE if call succeeded */
|
||||
char * path, /* in: pathname of the file */
|
||||
const char* path, /* in: pathname of the file */
|
||||
ibool* exists, /* out: TRUE if file exists */
|
||||
os_file_type_t* type); /* out: type of the file (if it exists) */
|
||||
/********************************************************************
|
||||
|
@ -478,7 +488,7 @@ os_file_dirname(
|
|||
/*============*/
|
||||
/* out, own: directory component of the
|
||||
pathname */
|
||||
char* path); /* in: pathname */
|
||||
const char* path); /* in: pathname */
|
||||
/********************************************************************
|
||||
Creates all missing subdirectories along the given path. */
|
||||
|
||||
|
@ -487,7 +497,7 @@ os_file_create_subdirs_if_needed(
|
|||
/*=============================*/
|
||||
/* out: TRUE if call succeeded
|
||||
FALSE otherwise */
|
||||
char* path); /* in: path name */
|
||||
const char* path); /* in: path name */
|
||||
/****************************************************************************
|
||||
Initializes the asynchronous io system. Creates separate aio array for
|
||||
non-ibuf read and write, a third aio array for the ibuf i/o, with just one
|
||||
|
@ -527,7 +537,7 @@ os_aio(
|
|||
because i/os are not actually handled until
|
||||
all have been posted: use with great
|
||||
caution! */
|
||||
char* name, /* in: name of the file or path as a
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
os_file_t file, /* in: handle to a file */
|
||||
void* buf, /* in: buffer where to read or from which
|
||||
|
|
|
@ -88,7 +88,7 @@ os_event_t
|
|||
os_event_create(
|
||||
/*============*/
|
||||
/* out: the event handle */
|
||||
char* name); /* in: the name of the event, if NULL
|
||||
const char* name); /* in: the name of the event, if NULL
|
||||
the event is created without a name */
|
||||
#ifdef __WIN__
|
||||
/*************************************************************
|
||||
|
@ -99,7 +99,7 @@ os_event_t
|
|||
os_event_create_auto(
|
||||
/*=================*/
|
||||
/* out: the event handle */
|
||||
char* name); /* in: the name of the event, if NULL
|
||||
const char* name); /* in: the name of the event, if NULL
|
||||
the event is created without a name */
|
||||
#endif
|
||||
/**************************************************************
|
||||
|
@ -172,7 +172,7 @@ os_mutex_t
|
|||
os_mutex_create(
|
||||
/*============*/
|
||||
/* out: the mutex handle */
|
||||
char* name); /* in: the name of the mutex, if NULL
|
||||
const char* name); /* in: the name of the mutex, if NULL
|
||||
the mutex is created without a name */
|
||||
/**************************************************************
|
||||
Acquires ownership of a mutex semaphore. */
|
||||
|
|
|
@ -75,7 +75,7 @@ que_t*
|
|||
pars_sql(
|
||||
/*=====*/
|
||||
/* out, own: the query graph */
|
||||
char* str); /* in: SQL string */
|
||||
const char* str); /* in: SQL string */
|
||||
/*****************************************************************
|
||||
Retrieves characters to the lexical analyzer. */
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ struct sym_node_struct{
|
|||
SYM_IMPLICIT_VAR,
|
||||
SYM_LIT, SYM_TABLE,
|
||||
SYM_CURSOR, ... */
|
||||
char* name; /* name of an id */
|
||||
const char* name; /* name of an id */
|
||||
ulint name_len; /* id name length */
|
||||
dict_table_t* table; /* table definition
|
||||
if a table id or a
|
||||
|
@ -150,7 +150,7 @@ struct sym_tab_struct{
|
|||
que_t* query_graph;
|
||||
/* query graph generated by the
|
||||
parser */
|
||||
char* sql_string;
|
||||
const char* sql_string;
|
||||
/* SQL string to parse */
|
||||
int string_len;
|
||||
/* SQL string length */
|
||||
|
|
|
@ -318,12 +318,13 @@ row_table_add_foreign_constraints(
|
|||
/*==============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction */
|
||||
char* sql_string, /* in: table create statement where
|
||||
const char* sql_string, /* in: table create statement where
|
||||
foreign keys are declared like:
|
||||
FOREIGN KEY (a, b) REFERENCES table2(c, d),
|
||||
table2 can be written also with the database
|
||||
name before it: test.table2 */
|
||||
char* name); /* in: table full name in the normalized form
|
||||
table2 can be written also with the
|
||||
database name before it: test.table2 */
|
||||
const char* name); /* in: table full name in the
|
||||
normalized form
|
||||
database_name/table_name */
|
||||
/*************************************************************************
|
||||
The master thread in srv0srv.c calls this regularly to drop tables which
|
||||
|
@ -352,7 +353,7 @@ int
|
|||
row_drop_table_for_mysql(
|
||||
/*=====================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
trx_t* trx, /* in: transaction handle */
|
||||
ibool drop_db);/* in: TRUE=dropping whole database */
|
||||
|
||||
|
@ -383,7 +384,7 @@ int
|
|||
row_discard_tablespace_for_mysql(
|
||||
/*=============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
trx_t* trx); /* in: transaction handle */
|
||||
/*********************************************************************
|
||||
Imports a tablespace. The space id in the .ibd file must match the space id
|
||||
|
@ -393,7 +394,7 @@ int
|
|||
row_import_tablespace_for_mysql(
|
||||
/*============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
trx_t* trx); /* in: transaction handle */
|
||||
/*************************************************************************
|
||||
Drops a database for MySQL. */
|
||||
|
@ -402,7 +403,7 @@ int
|
|||
row_drop_database_for_mysql(
|
||||
/*========================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: database name which ends to '/' */
|
||||
const char* name, /* in: database name which ends to '/' */
|
||||
trx_t* trx); /* in: transaction handle */
|
||||
/*************************************************************************
|
||||
Renames a table for MySQL. */
|
||||
|
@ -411,8 +412,8 @@ int
|
|||
row_rename_table_for_mysql(
|
||||
/*=======================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* old_name, /* in: old table name */
|
||||
char* new_name, /* in: new table name */
|
||||
const char* old_name, /* in: old table name */
|
||||
const char* new_name, /* in: new table name */
|
||||
trx_t* trx); /* in: transaction handle */
|
||||
/*************************************************************************
|
||||
Checks a table for corruption. */
|
||||
|
|
|
@ -144,11 +144,11 @@ consistent read result, or store it to the query cache. */
|
|||
ibool
|
||||
row_search_check_if_query_cache_permitted(
|
||||
/*======================================*/
|
||||
/* out: TRUE if storing or retrieving from
|
||||
the query cache is permitted */
|
||||
/* out: TRUE if storing or retrieving
|
||||
from the query cache is permitted */
|
||||
trx_t* trx, /* in: transaction object */
|
||||
char* norm_name); /* in: concatenation of database name, '/'
|
||||
char, table name */
|
||||
const char* norm_name); /* in: concatenation of database name,
|
||||
'/' char, table name */
|
||||
|
||||
|
||||
/* A structure for caching column values for prefetched rows */
|
||||
|
|
|
@ -193,7 +193,7 @@ trx_rollback_to_savepoint_for_mysql(
|
|||
DB_NO_SAVEPOINT,
|
||||
otherwise DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction handle */
|
||||
char* savepoint_name, /* in: savepoint name */
|
||||
const char* savepoint_name, /* in: savepoint name */
|
||||
ib_longlong* mysql_binlog_cache_pos);/* out: the MySQL binlog cache
|
||||
position corresponding to this
|
||||
savepoint; MySQL needs this
|
||||
|
@ -211,7 +211,7 @@ trx_savepoint_for_mysql(
|
|||
/*====================*/
|
||||
/* out: always DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction handle */
|
||||
char* savepoint_name, /* in: savepoint name */
|
||||
const char* savepoint_name, /* in: savepoint name */
|
||||
ib_longlong binlog_cache_pos); /* in: MySQL binlog cache
|
||||
position corresponding to this
|
||||
connection at the time of the
|
||||
|
|
|
@ -258,7 +258,7 @@ replication has proceeded. */
|
|||
void
|
||||
trx_sys_update_mysql_binlog_offset(
|
||||
/*===============================*/
|
||||
char* file_name,/* in: MySQL log file name */
|
||||
const char* file_name,/* in: MySQL log file name */
|
||||
ib_longlong offset, /* in: position in that log file */
|
||||
ulint field, /* in: offset of the MySQL log info field in
|
||||
the trx sys header */
|
||||
|
|
|
@ -315,7 +315,7 @@ struct trx_struct{
|
|||
ulint magic_n;
|
||||
/* All the next fields are protected by the kernel mutex, except the
|
||||
undo logs which are protected by undo_mutex */
|
||||
char* op_info; /* English text describing the
|
||||
const char* op_info; /* English text describing the
|
||||
current operation, or an empty
|
||||
string */
|
||||
ulint type; /* TRX_USER, TRX_PURGE */
|
||||
|
@ -358,7 +358,7 @@ struct trx_struct{
|
|||
char** mysql_query_str;/* pointer to the field in mysqld_thd
|
||||
which contains the pointer to the
|
||||
current SQL query string */
|
||||
char* mysql_log_file_name;
|
||||
const char* mysql_log_file_name;
|
||||
/* if MySQL binlog is used, this field
|
||||
contains a pointer to the latest file
|
||||
name; this is NULL if binlog is not
|
||||
|
@ -366,7 +366,7 @@ struct trx_struct{
|
|||
ib_longlong mysql_log_offset;/* if MySQL binlog is used, this field
|
||||
contains the end offset of the binlog
|
||||
entry */
|
||||
char* mysql_master_log_file_name;
|
||||
const char* mysql_master_log_file_name;
|
||||
/* if the database server is a MySQL
|
||||
replication slave, we have here the
|
||||
master binlog name up to which
|
||||
|
|
|
@ -93,7 +93,7 @@ ulint
|
|||
ut_fold_string(
|
||||
/*===========*/
|
||||
/* out: folded value */
|
||||
char* str); /* in: null-terminated string */
|
||||
const char* str); /* in: null-terminated string */
|
||||
/*****************************************************************
|
||||
Folds a binary string. */
|
||||
UNIV_INLINE
|
||||
|
@ -101,7 +101,7 @@ ulint
|
|||
ut_fold_binary(
|
||||
/*===========*/
|
||||
/* out: folded value */
|
||||
byte* str, /* in: string of bytes */
|
||||
const byte* str, /* in: string of bytes */
|
||||
ulint len); /* in: length */
|
||||
/***************************************************************
|
||||
Looks for a prime number slightly greater than the given argument.
|
||||
|
|
|
@ -174,7 +174,7 @@ ulint
|
|||
ut_fold_string(
|
||||
/*===========*/
|
||||
/* out: folded value */
|
||||
char* str) /* in: null-terminated string */
|
||||
const char* str) /* in: null-terminated string */
|
||||
{
|
||||
#ifdef UNIV_DEBUG
|
||||
ulint i = 0;
|
||||
|
@ -204,7 +204,7 @@ ulint
|
|||
ut_fold_binary(
|
||||
/*===========*/
|
||||
/* out: folded value */
|
||||
byte* str, /* in: string of bytes */
|
||||
const byte* str, /* in: string of bytes */
|
||||
ulint len) /* in: length */
|
||||
{
|
||||
ulint i;
|
||||
|
|
|
@ -17,21 +17,6 @@ Created 1/20/1994 Heikki Tuuri
|
|||
|
||||
typedef time_t ib_time_t;
|
||||
|
||||
|
||||
/************************************************************
|
||||
On the 64-bit Windows we substitute the format string
|
||||
%l -> %I64
|
||||
because we define ulint as unsigned __int64 and lint as __int64 on Windows,
|
||||
and both the Microsoft and Intel C compilers require the format string
|
||||
%I64 in that case instead of %l. */
|
||||
|
||||
int
|
||||
ut_printf(
|
||||
/*======*/
|
||||
/* out: the number of characters written, or
|
||||
negative in case of an error */
|
||||
const char* format, /* in: format of prints */
|
||||
...); /* in: arguments to be printed */
|
||||
/************************************************************
|
||||
On the 64-bit Windows we substitute the format string
|
||||
%l -> %I64
|
||||
|
|
|
@ -70,7 +70,7 @@ struct os_aio_slot_struct{
|
|||
bytes */
|
||||
ulint offset_high; /* 32 high bits of file offset */
|
||||
os_file_t file; /* file where to read or write */
|
||||
char* name; /* file name or path */
|
||||
const char* name; /* file name or path */
|
||||
ibool io_already_done;/* used only in simulated aio:
|
||||
TRUE if the physical i/o already
|
||||
made and only the slot message
|
||||
|
@ -415,7 +415,7 @@ os_file_handle_error_no_exit(
|
|||
/* out: TRUE if we should retry the
|
||||
operation */
|
||||
os_file_t file, /* in: file pointer */
|
||||
char* name, /* in: name of a file or NULL */
|
||||
const char* name, /* in: name of a file or NULL */
|
||||
const char* operation)/* in: operation */
|
||||
{
|
||||
ulint err;
|
||||
|
@ -493,13 +493,15 @@ and '..' items at the start of the directory listing. */
|
|||
os_file_dir_t
|
||||
os_file_opendir(
|
||||
/*============*/
|
||||
/* out: directory stream, NULL if error */
|
||||
char* dirname, /* in: directory name; it must not contain
|
||||
a trailing '\' or '/' */
|
||||
ibool error_is_fatal) /* in: TRUE if we should treat an error as a
|
||||
fatal error; if we try to open symlinks then
|
||||
we do not wish a fatal error if it happens
|
||||
not to be a directory */
|
||||
/* out: directory stream, NULL if
|
||||
error */
|
||||
const char* dirname, /* in: directory name; it must not
|
||||
contain a trailing '\' or '/' */
|
||||
ibool error_is_fatal) /* in: TRUE if we should treat an
|
||||
error as a fatal error; if we try to
|
||||
open symlinks then we do not wish a
|
||||
fatal error if it happens not to be
|
||||
a directory */
|
||||
{
|
||||
os_file_dir_t dir;
|
||||
#ifdef __WIN__
|
||||
|
@ -585,7 +587,7 @@ os_file_readdir_next_file(
|
|||
/*======================*/
|
||||
/* out: 0 if ok, -1 if error, 1 if at the end
|
||||
of the directory */
|
||||
char* dirname,/* in: directory name or path */
|
||||
const char* dirname,/* in: directory name or path */
|
||||
os_file_dir_t dir, /* in: directory stream */
|
||||
os_file_stat_t* info) /* in/out: buffer where the info is returned */
|
||||
{
|
||||
|
@ -704,12 +706,12 @@ fail_if_exists arguments is true. */
|
|||
ibool
|
||||
os_file_create_directory(
|
||||
/*=====================*/
|
||||
/* out: TRUE if call succeeds, FALSE on
|
||||
error */
|
||||
char* pathname, /* in: directory name as null-terminated
|
||||
string */
|
||||
ibool fail_if_exists) /* in: if TRUE, pre-existing directory is
|
||||
treated as an error. */
|
||||
/* out: TRUE if call succeeds,
|
||||
FALSE on error */
|
||||
const char* pathname, /* in: directory name as
|
||||
null-terminated string */
|
||||
ibool fail_if_exists) /* in: if TRUE, pre-existing directory
|
||||
is treated as an error. */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
BOOL rcode;
|
||||
|
@ -746,17 +748,20 @@ A simple function to open or create a file. */
|
|||
os_file_t
|
||||
os_file_create_simple(
|
||||
/*==================*/
|
||||
/* out, own: handle to the file, not defined if error,
|
||||
error number can be retrieved with
|
||||
/* out, own: handle to the file, not defined
|
||||
if error, error number can be retrieved with
|
||||
os_file_get_last_error */
|
||||
char* name, /* in: name of the file or path as a null-terminated
|
||||
string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file is opened
|
||||
(if does not exist, error), or OS_FILE_CREATE if a new
|
||||
file is created (if exists, error), or
|
||||
OS_FILE_CREATE_PATH if new file (if exists, error) and
|
||||
subdirectories along its path are created (if needed)*/
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY or OS_FILE_READ_WRITE */
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file is
|
||||
opened (if does not exist, error), or
|
||||
OS_FILE_CREATE if a new file is created
|
||||
(if exists, error), or
|
||||
OS_FILE_CREATE_PATH if new file
|
||||
(if exists, error) and subdirectories along
|
||||
its path are created (if needed)*/
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY or
|
||||
OS_FILE_READ_WRITE */
|
||||
ibool* success)/* out: TRUE if succeed, FALSE if error */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
|
@ -882,17 +887,19 @@ A simple function to open or create a file. */
|
|||
os_file_t
|
||||
os_file_create_simple_no_error_handling(
|
||||
/*====================================*/
|
||||
/* out, own: handle to the file, not defined if error,
|
||||
error number can be retrieved with
|
||||
/* out, own: handle to the file, not defined
|
||||
if error, error number can be retrieved with
|
||||
os_file_get_last_error */
|
||||
char* name, /* in: name of the file or path as a null-terminated
|
||||
string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file is opened
|
||||
(if does not exist, error), or OS_FILE_CREATE if a new
|
||||
file is created (if exists, error) */
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY, OS_FILE_READ_WRITE, or
|
||||
OS_FILE_READ_ALLOW_DELETE; the last option is used by
|
||||
a backup program reading the file */
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file
|
||||
is opened (if does not exist, error), or
|
||||
OS_FILE_CREATE if a new file is created
|
||||
(if exists, error) */
|
||||
ulint access_type,/* in: OS_FILE_READ_ONLY,
|
||||
OS_FILE_READ_WRITE, or
|
||||
OS_FILE_READ_ALLOW_DELETE; the last option is
|
||||
used by a backup program reading the file */
|
||||
ibool* success)/* out: TRUE if succeed, FALSE if error */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
|
@ -991,23 +998,26 @@ Opens an existing file or creates a new. */
|
|||
os_file_t
|
||||
os_file_create(
|
||||
/*===========*/
|
||||
/* out, own: handle to the file, not defined if error,
|
||||
error number can be retrieved with
|
||||
/* out, own: handle to the file, not defined
|
||||
if error, error number can be retrieved with
|
||||
os_file_get_last_error */
|
||||
char* name, /* in: name of the file or path as a null-terminated
|
||||
string */
|
||||
ulint create_mode, /* in: OS_FILE_OPEN if an existing file is opened
|
||||
(if does not exist, error), or OS_FILE_CREATE if a new
|
||||
file is created (if exists, error), OS_FILE_OVERWRITE
|
||||
if a new is created or an old overwritten,
|
||||
OS_FILE_OPEN_RAW, if a raw device or disk partition
|
||||
should be opened */
|
||||
ulint purpose,/* in: OS_FILE_AIO, if asynchronous, non-buffered i/o
|
||||
is desired, OS_FILE_NORMAL, if any normal file;
|
||||
NOTE that it also depends on type, os_aio_.. and srv_..
|
||||
variables whether we really use async i/o or
|
||||
unbuffered i/o: look in the function source code for
|
||||
the exact rules */
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
ulint create_mode,/* in: OS_FILE_OPEN if an existing file
|
||||
is opened (if does not exist, error), or
|
||||
OS_FILE_CREATE if a new file is created
|
||||
(if exists, error),
|
||||
OS_FILE_OVERWRITE if a new file is created
|
||||
or an old overwritten;
|
||||
OS_FILE_OPEN_RAW, if a raw device or disk
|
||||
partition should be opened */
|
||||
ulint purpose,/* in: OS_FILE_AIO, if asynchronous,
|
||||
non-buffered i/o is desired,
|
||||
OS_FILE_NORMAL, if any normal file;
|
||||
NOTE that it also depends on type, os_aio_..
|
||||
and srv_.. variables whether we really use
|
||||
async i/o or unbuffered i/o: look in the
|
||||
function source code for the exact rules */
|
||||
ulint type, /* in: OS_DATA_FILE or OS_LOG_FILE */
|
||||
ibool* success)/* out: TRUE if succeed, FALSE if error */
|
||||
{
|
||||
|
@ -1203,7 +1213,7 @@ ibool
|
|||
os_file_delete_if_exists(
|
||||
/*=====================*/
|
||||
/* out: TRUE if success */
|
||||
char* name) /* in: file path as a null-terminated string */
|
||||
const char* name) /* in: file path as a null-terminated string */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
BOOL ret;
|
||||
|
@ -1264,7 +1274,7 @@ ibool
|
|||
os_file_delete(
|
||||
/*===========*/
|
||||
/* out: TRUE if success */
|
||||
char* name) /* in: file path as a null-terminated string */
|
||||
const char* name) /* in: file path as a null-terminated string */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
BOOL ret;
|
||||
|
@ -1327,9 +1337,9 @@ ibool
|
|||
os_file_rename(
|
||||
/*===========*/
|
||||
/* out: TRUE if success */
|
||||
char* oldpath, /* in: old file path as a null-terminated
|
||||
const char* oldpath,/* in: old file path as a null-terminated
|
||||
string */
|
||||
char* newpath) /* in: new file path */
|
||||
const char* newpath)/* in: new file path */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
BOOL ret;
|
||||
|
@ -1340,7 +1350,7 @@ os_file_rename(
|
|||
return(TRUE);
|
||||
}
|
||||
|
||||
os_file_handle_error(NULL, oldpath, "delete");
|
||||
os_file_handle_error(NULL, oldpath, "rename");
|
||||
|
||||
return(FALSE);
|
||||
#else
|
||||
|
@ -1516,7 +1526,7 @@ ibool
|
|||
os_file_set_size(
|
||||
/*=============*/
|
||||
/* out: TRUE if success */
|
||||
char* name, /* in: name of the file or path as a
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
os_file_t file, /* in: handle to a file */
|
||||
ulint size, /* in: least significant 32 bits of file
|
||||
|
@ -1777,7 +1787,7 @@ os_file_pwrite(
|
|||
/*===========*/
|
||||
/* out: number of bytes written, -1 if error */
|
||||
os_file_t file, /* in: handle to a file */
|
||||
void* buf, /* in: buffer from where to write */
|
||||
const void* buf, /* in: buffer from where to write */
|
||||
ulint n, /* in: number of bytes to write */
|
||||
ulint offset, /* in: least significant 32 bits of file
|
||||
offset where to write */
|
||||
|
@ -2057,10 +2067,10 @@ os_file_write(
|
|||
/*==========*/
|
||||
/* out: TRUE if request was
|
||||
successful, FALSE if fail */
|
||||
char* name, /* in: name of the file or path as a
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
os_file_t file, /* in: handle to a file */
|
||||
void* buf, /* in: buffer from which to write */
|
||||
const void* buf, /* in: buffer from which to write */
|
||||
ulint offset, /* in: least significant 32 bits of file
|
||||
offset where to write */
|
||||
ulint offset_high, /* in: most significant 32 bits of
|
||||
|
@ -2214,7 +2224,7 @@ ibool
|
|||
os_file_status(
|
||||
/*===========*/
|
||||
/* out: TRUE if call succeeded */
|
||||
char* path, /* in: pathname of the file */
|
||||
const char* path, /* in: pathname of the file */
|
||||
ibool* exists, /* out: TRUE if file exists */
|
||||
os_file_type_t* type) /* out: type of the file (if it exists) */
|
||||
{
|
||||
|
@ -2319,7 +2329,7 @@ os_file_dirname(
|
|||
/*============*/
|
||||
/* out, own: directory component of the
|
||||
pathname */
|
||||
char* path) /* in: pathname */
|
||||
const char* path) /* in: pathname */
|
||||
{
|
||||
char* dir;
|
||||
int i, length, last_slash;
|
||||
|
@ -2356,7 +2366,7 @@ os_file_create_subdirs_if_needed(
|
|||
/*=============================*/
|
||||
/* out: TRUE if call succeeded
|
||||
FALSE otherwise */
|
||||
char* path) /* in: path name */
|
||||
const char* path) /* in: path name */
|
||||
{
|
||||
char* subdir;
|
||||
static char rootdir[2] = { OS_FILE_PATH_SEPARATOR, 0 };
|
||||
|
@ -2753,7 +2763,7 @@ os_aio_array_reserve_slot(
|
|||
void* message2,/* in: message to be passed along with
|
||||
the aio operation */
|
||||
os_file_t file, /* in: file handle */
|
||||
char* name, /* in: name of the file or path as a
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
void* buf, /* in: buffer where to read or from which
|
||||
to write */
|
||||
|
@ -3000,7 +3010,7 @@ os_aio(
|
|||
because i/os are not actually handled until
|
||||
all have been posted: use with great
|
||||
caution! */
|
||||
char* name, /* in: name of the file or path as a
|
||||
const char* name, /* in: name of the file or path as a
|
||||
null-terminated string */
|
||||
os_file_t file, /* in: handle to a file */
|
||||
void* buf, /* in: buffer where to read or from which
|
||||
|
@ -3543,6 +3553,7 @@ consecutive_loop:
|
|||
if (n_consecutive == 1) {
|
||||
/* We can use the buffer of the i/o request */
|
||||
combined_buf = slot->buf;
|
||||
combined_buf2 = NULL;
|
||||
} else {
|
||||
combined_buf2 = ut_malloc(total_len + UNIV_PAGE_SIZE);
|
||||
|
||||
|
@ -3638,7 +3649,7 @@ consecutive_loop:
|
|||
}
|
||||
}
|
||||
|
||||
if (n_consecutive > 1) {
|
||||
if (combined_buf2) {
|
||||
ut_free(combined_buf2);
|
||||
}
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@ os_event_t
|
|||
os_event_create(
|
||||
/*============*/
|
||||
/* out: the event handle */
|
||||
char* name) /* in: the name of the event, if NULL
|
||||
const char* name) /* in: the name of the event, if NULL
|
||||
the event is created without a name */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
|
@ -167,7 +167,7 @@ os_event_t
|
|||
os_event_create_auto(
|
||||
/*=================*/
|
||||
/* out: the event handle */
|
||||
char* name) /* in: the name of the event, if NULL
|
||||
const char* name) /* in: the name of the event, if NULL
|
||||
the event is created without a name */
|
||||
{
|
||||
os_event_t event;
|
||||
|
@ -431,7 +431,7 @@ os_mutex_t
|
|||
os_mutex_create(
|
||||
/*============*/
|
||||
/* out: the mutex handle */
|
||||
char* name) /* in: the name of the mutex, if NULL
|
||||
const char* name) /* in: the name of the mutex, if NULL
|
||||
the mutex is created without a name */
|
||||
{
|
||||
#ifdef __WIN__
|
||||
|
|
|
@ -1730,7 +1730,7 @@ que_t*
|
|||
pars_sql(
|
||||
/*=====*/
|
||||
/* out, own: the query graph */
|
||||
char* str) /* in: SQL string */
|
||||
const char* str) /* in: SQL string */
|
||||
{
|
||||
sym_node_t* sym_node;
|
||||
mem_heap_t* heap;
|
||||
|
|
|
@ -217,13 +217,10 @@ sym_tab_add_id(
|
|||
|
||||
node->common.type = QUE_NODE_SYMBOL;
|
||||
|
||||
node->name = mem_heap_alloc(sym_tab->heap, len + 1);
|
||||
node->resolved = FALSE;
|
||||
node->indirection = NULL;
|
||||
|
||||
ut_memcpy(node->name, name, len);
|
||||
node->name[len] = '\0';
|
||||
|
||||
node->name = mem_heap_strdupl(sym_tab->heap, name, len + 1);
|
||||
node->name_len = len;
|
||||
|
||||
UT_LIST_ADD_LAST(sym_list, sym_tab->sym_list, node);
|
||||
|
|
|
@ -1688,12 +1688,13 @@ row_table_add_foreign_constraints(
|
|||
/*==============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction */
|
||||
char* sql_string, /* in: table create statement where
|
||||
const char* sql_string, /* in: table create statement where
|
||||
foreign keys are declared like:
|
||||
FOREIGN KEY (a, b) REFERENCES table2(c, d),
|
||||
table2 can be written also with the database
|
||||
name before it: test.table2 */
|
||||
char* name) /* in: table full name in the normalized form
|
||||
table2 can be written also with the
|
||||
database name before it: test.table2 */
|
||||
const char* name) /* in: table full name in the
|
||||
normalized form
|
||||
database_name/table_name */
|
||||
{
|
||||
ulint err;
|
||||
|
@ -1941,7 +1942,7 @@ int
|
|||
row_discard_tablespace_for_mysql(
|
||||
/*=============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
trx_t* trx) /* in: transaction handle */
|
||||
{
|
||||
dulint new_id;
|
||||
|
@ -2072,7 +2073,7 @@ int
|
|||
row_import_tablespace_for_mysql(
|
||||
/*============================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
trx_t* trx) /* in: transaction handle */
|
||||
{
|
||||
dict_table_t* table;
|
||||
|
@ -2178,7 +2179,7 @@ int
|
|||
row_drop_table_for_mysql(
|
||||
/*=====================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: table name */
|
||||
const char* name, /* in: table name */
|
||||
trx_t* trx, /* in: transaction handle */
|
||||
ibool drop_db)/* in: TRUE=dropping whole database */
|
||||
{
|
||||
|
@ -2520,7 +2521,7 @@ int
|
|||
row_drop_database_for_mysql(
|
||||
/*========================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* name, /* in: database name which ends to '/' */
|
||||
const char* name, /* in: database name which ends to '/' */
|
||||
trx_t* trx) /* in: transaction handle */
|
||||
{
|
||||
dict_table_t* table;
|
||||
|
@ -2612,8 +2613,8 @@ int
|
|||
row_rename_table_for_mysql(
|
||||
/*=======================*/
|
||||
/* out: error code or DB_SUCCESS */
|
||||
char* old_name, /* in: old table name */
|
||||
char* new_name, /* in: new table name */
|
||||
const char* old_name, /* in: old table name */
|
||||
const char* new_name, /* in: new table name */
|
||||
trx_t* trx) /* in: transaction handle */
|
||||
{
|
||||
dict_table_t* table;
|
||||
|
|
|
@ -3585,11 +3585,11 @@ consistent read result, or store it to the query cache. */
|
|||
ibool
|
||||
row_search_check_if_query_cache_permitted(
|
||||
/*======================================*/
|
||||
/* out: TRUE if storing or retrieving from
|
||||
the query cache is permitted */
|
||||
/* out: TRUE if storing or retrieving
|
||||
from the query cache is permitted */
|
||||
trx_t* trx, /* in: transaction object */
|
||||
char* norm_name) /* in: concatenation of database name, '/'
|
||||
char, table name */
|
||||
const char* norm_name) /* in: concatenation of database name,
|
||||
'/' char, table name */
|
||||
{
|
||||
dict_table_t* table;
|
||||
ibool ret = FALSE;
|
||||
|
|
|
@ -200,7 +200,7 @@ trx_rollback_to_savepoint_for_mysql(
|
|||
DB_NO_SAVEPOINT,
|
||||
otherwise DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction handle */
|
||||
char* savepoint_name, /* in: savepoint name */
|
||||
const char* savepoint_name, /* in: savepoint name */
|
||||
ib_longlong* mysql_binlog_cache_pos) /* out: the MySQL binlog cache
|
||||
position corresponding to this
|
||||
savepoint; MySQL needs this
|
||||
|
@ -265,7 +265,7 @@ trx_savepoint_for_mysql(
|
|||
/*====================*/
|
||||
/* out: always DB_SUCCESS */
|
||||
trx_t* trx, /* in: transaction handle */
|
||||
char* savepoint_name, /* in: savepoint name */
|
||||
const char* savepoint_name, /* in: savepoint name */
|
||||
ib_longlong binlog_cache_pos) /* in: MySQL binlog cache
|
||||
position corresponding to this
|
||||
connection at the time of the
|
||||
|
|
|
@ -569,7 +569,7 @@ replication has proceeded. */
|
|||
void
|
||||
trx_sys_update_mysql_binlog_offset(
|
||||
/*===============================*/
|
||||
char* file_name,/* in: MySQL log file name */
|
||||
const char* file_name,/* in: MySQL log file name */
|
||||
ib_longlong offset, /* in: position in that log file */
|
||||
ulint field, /* in: offset of the MySQL log info field in
|
||||
the trx sys header */
|
||||
|
|
Loading…
Reference in a new issue