Commit graph

34 commits

Author SHA1 Message Date
marko
2e5da50885 Clean up r590:
dict_scan_table_name(): Remove fallback to differently encoded name when
the table is not found.  The encoding is handled at a higher level.

innodb.result: Adjust the results for changes in the foreign key error
messages.
2006-05-26 09:14:54 +00:00
osku
775b1c06a6 Add max_row_size to dict_table_t. 2006-05-26 05:52:59 +00:00
marko
85ccc78fe3 Adapt InnoDB to the new tablename to filename encoding in MySQL 5.1.
ut_print_name(), ut_print_namel(): Add parameter table_id for distinguishing
names of tables from other identifiers (names of indexes, columns and
constraints).

innobase_convert_from_table_id(), innobase_convert_from_id(),
innobase_convert_from_filename(), innobase_get_charset(): New functions.

dict_accept(), dict_scan_id(), dict_scan_col(), dict_scan_table_name(),
dict_skip_word(), dict_create_foreign_constraints_low():
Add parameter "cs", so that isspace() can be replaced with my_isspace(),
whose operation depends on the connection character set.

dict_scan_id(): Convert the identifier to UTF-8.

dict_str_starts_with_keyword(): New extern function, to replace dict_accept()
in row_search_for_mysql().

mysql_get_identifier_quote_char(): Replaced with innobase_print_identifier().

ha_innobase::create(): Remove the thd->convert_string() call.
Pass the statement to InnoDB in the connection character set
and let InnoDB convert the identifiers to UTF-8.
2006-05-24 10:27:17 +00:00
osku
5d3bf05722 Add parens to return statements where they are missing (except in
ha_innodb.cc).
2006-04-28 11:57:13 +00:00
osku
5737acba07 Add 'level' parameter to rw_lock_create(), remove rw_lock_set_level(). 2006-04-28 05:49:59 +00:00
osku
f970488ae0 Add 'level' parameter to mutex_create(), remove mutex_set_level().
Rename SYNC_LEVEL_NONE to SYNC_LEVEL_VARYING, add comment clarifying what it
is used for.
2006-04-28 05:43:08 +00:00
osku
032df406cb Remove remnants of the obsolete concept of memoryfixing tables and indexes.
Remove unused dict_table_LRU_trim().

Remove unused 'trx' parameter from the functions dict_table_get_on_id_low,
dict_table_get and dict_table_get_and_increment_handle_count.
2006-04-24 09:39:13 +00:00
marko
589f96fb42 Merge r487 from branches/5.0:
dict_load_indexes(): pass comp=0 to rec_get_deleted_flag(),
because SYS_INDEXES always is in ROW_FORMAT=REDUNDANT.  (Bug #19217)
2006-04-21 08:00:26 +00:00
osku
573617ce05 dict_remove_db_name: Remove useless 'if'. 2006-04-18 07:16:14 +00:00
osku
49b0a37b32 Use que_eval_sql() in dict_create_or_check_foreign_constraint_tables. 2006-04-13 11:02:52 +00:00
marko
9bfa19a583 dict_table_copy_types(): Remove a bogus debug assertion.
DICT_UNIVERSAL can be set for index->type, not for table->type.
2006-04-12 12:37:48 +00:00
marko
d8b5a3aff5 dict_table_t: Remove the field "type".
dict_load_table(): Refuse to load tables with other TYPE than
DICT_TABLE_ORDINARY.
2006-04-12 12:18:54 +00:00
jan
7631ed9cde Add general function to evaluate a sql query. Add function to evaluate
dulints in host variables.
2006-04-12 10:40:22 +00:00
osku
b6e02dd207 Fix bug #18934, "InnoDB crashes when table uses column names like
DB_ROW_ID", by refusing tables that use reserved column names.

Add dict_mem_table_free(), use it instead of duplicating the code everywhere.

Use already existing dict_mem_index_free().

Fix memory leaks in row_create_table_for_mysql() in rare corner cases.
2006-04-11 14:01:17 +00:00
marko
738611672f Remove code related to clustered tables. They were never implemented, and
the implementation would be challenging with ROW_FORMAT=COMPACT.

Remove the table types DICT_TABLE_CLUSTER_MEMBER and DICT_TABLE_CLUSTER and
all related tests and functions.

dict_table_t: Remove mix_id, mix_len, mix_id_len, mix_id_buf, and
cluster_name.

plan_t: Remove mixed_index.

dict_create_sys_tables_tuple(): Set MIX_ID=0, MIX_LEN=0 and CLUSTER_NAME=NULL
when inserting into SYS_TABLES.

dict_tree_check_search_tuple(): Enclose in #ifdef UNIV_DEBUG.
2006-04-11 12:51:34 +00:00
osku
0bc37030aa dict0crea.c: Use bound literals in all SQL statements instead of elaborately
constructing correctly allocated and quoted strings to pass the data in in
ASCII form.
2006-04-06 05:22:33 +00:00
osku
a0553ca9ae Support user-function callbacks for processing results of FETCH statements
in InnoDB's SQL parser.
2006-03-29 11:20:29 +00:00
marko
8f6fdc86a8 Do not use inlined functions in ha_innodb.cc.
Add dict_table_is_comp_noninline().  Replace calls to dict_table_is_comp()
in ha_innodb.cc with dict_table_is_comp_noninline().
2006-03-13 09:27:34 +00:00
osku
282157268b Port parts of r211 from branches/fts:
Add dict_table_get_low_noninlined().
2006-03-10 10:58:58 +00:00
osku
c75fa5afb4 Print dict_index_t->n_uniq in table monitor. 2006-03-07 14:04:52 +00:00
osku
1a8f28e6dd Remove "ibool comp" from dict_table_t and replace it with "ulint flags"
which can contain the new flag DICT_TF_COMPACT. Change dict_mem_table_create
to take a flags argument. Add dict_table_is_comp(). Adapt all users.

Change some places to explicitly assume that system tables do not use the
compact page format.
2006-02-27 09:11:57 +00:00
osku
ab8517f396 Fix invalid brace positioning and spaces before tabs. 2006-02-24 09:53:01 +00:00
osku
591e526f93 Remove tabs from within printed strings and two instances of trailing
whitespace.
2006-02-24 09:41:20 +00:00
marko
e9b3cc0de9 Add dummy return statements to the #ifdef UNIV_HOTBACKUP branches of some
functions that are excluded from InnoDB Hot Backup builds.
2006-02-23 13:12:36 +00:00
osku
ac69f8c21b Style cleanups: Convert spaces to tabs, remove trailing whitespace, other
misc cleanups.
2006-02-21 12:37:54 +00:00
marko
9596f6d82d Merge r102 from hotbackup/trunk.
Corrected some comments.

os_file_create_tmpfile(): Remove the implementation from InnoDB Hot Backup.

In InnoDB Hot Backup builds, do not define dict_casedn_str(),
which is invoked in fil_load_single_table_tablespace() on
Windows.  This function depends on innobase_casedn_str() and
my_casedn_str().

Define btr_check_node_ptr() and data_error only #ifdef UNIV_DEBUG.
They are only being used in ut_ad() assertions.

Replace the occurrences of the type uint with ulint, because InnoDB
Hot Backup does not define any uint data type.

Disable lock_validate() in InnoDB Hot Backup builds.

Disable some unused static variables of srv0srv.c in InnoDB Hot Backup builds.

Disable some srv_table_...() functions in InnoDB Hot Backup builds.

Disable some unused static variables in srv0start.c in
InnoDB Hot Backup builds.

Disable io_handler_thread() in InnoDB Hot Backup builds.

Disable srv_calc_low32() and srv_calc_high32() in InnoDB Hot Backup builds
to avoid warnings about unused functions.

In fil_node_open_file(), avoid bogus assertions in InnoDB Hot Backup builds.

In fil_load_single_table_tablespace(), remove the call to dict_casedn_str(),
as it depends on MySQL code.

Copy the code of recv_reset_log_files_for_backup() from InnoDB Hot Backup.

Disable innobase_mysql_cmp(), cmp_whole_field(), cmp_data_data_slow(),
cmp_dtuple_rec_with_match() and cmp_rec_rec_with_match()
in InnoDB Hot Backup builds, as they depend on MySQL code.

Adapt dtype_set_mblen() and dtype_get_fixed_size() for InnoDB Hot Backup
builds, assuming that they will only be called on system tables, which
do not contain multi-byte characters.

Disable the static functions row_ins_set_exclusive_rec_lock() and
row_ins_dupl_error_with_rec() in InnoDB Hot Backup builds
to avoid warnings about unused functions.

In row_sel_field_store_in_mysql_format(), disable some UTF-8 related
assertions #ifndef UNIV_RELEASE_NOT_YET_STABLE.
2006-02-21 08:43:31 +00:00
osku
460042ef0d Remove the concept of "field order", as we will not support descending order
indexes.
2006-02-20 12:38:10 +00:00
marko
3dc3f2a83e Replace assertions on constant conditions with preprocessor conditions. 2006-02-15 09:00:03 +00:00
marko
93a75f3e9a Remove the unused field fixed_offs from dict_field_t. 2006-02-07 13:08:46 +00:00
marko
7c6d2796d8 Merge r167 from branches/5.0: Add a missing newline to the
LAST FOREIGN KEY ERROR section in SHOW INNODB STATUS output (Bug #16814).

dict_foreign_error_report(): Always print a newline after invoking
dict_print_info_on_foreign_key_in_create_format().
2006-02-06 10:36:04 +00:00
marko
0695353e23 Port r132 from branches/5.0: Port r15 from innodb-4.1:
Do not mistake TABLENAME_ibfk_0 for auto-generated id (Bug #16387).

dict_table_get_highest_foreign_id(): Ignore foreign constraint identifiers
starting with the pattern TABLENAME_ibfk_0.

innodb.test, innodb.result: Add test case.
2006-01-12 16:48:34 +00:00
marko
2ba82679b3 Port r125 from branches/5.0:
dict_load_columns(): Set the charset-collation code
DATA_MYSQL_BINARY_CHARSET_COLL for those binary string columns
that lack a charset-collation code, i.e., the tables were created
with an older version of MySQL/InnoDB than 4.1.2.  (Bug #16298)
2006-01-11 13:19:16 +00:00
osku
7163d59f4a Forward-port r46 from branches/5.0:
Mostly fix bug #13778, when FOREIGN_KEY_CHECKS=0 we still need to check
that datatypes between foreign key references are compatible.

Add test cases (also for bug #9802).
2005-11-16 07:26:20 +00:00
osku
2903c72469 Import 5.0 code. 2005-10-27 07:29:40 +00:00