Commit graph

41 commits

Author SHA1 Message Date
marko
49f19b2df5 Remove dict_col_t::aux, which was only used when copying an index definition
to the data dictionary cache.
2006-08-29 12:11:56 +00:00
marko
cb19ec225e Split lines before binary operators, not after them. 2006-08-29 08:27:56 +00:00
marko
bf2ed0613e Split lines before an opening parenthesis, not after one.
Replace some printf(...) in debug builds with fprintf(stderr, ...).
2006-08-29 07:33:51 +00:00
marko
e8435b3e45 Reindent the code base (except for ha_innodb.{cc,h} and generated parser
and lexer files).  From now on, the following Emacs cc-mode settings apply
when indenting C function bodies in InnoDB:

(setq c-basic-offset 8)
(setq c-label-minimum-indentation 0)
(add-to-list 'c-offsets-alist '(c . 0))
(add-to-list 'c-offsets-alist '(label . [0]))

The indentation rules for function declarations still have not been
formalized, and they must be formatted manually.

Try to limit all lines to at most 79 characters (assuming TAB stops every
8 characters) by splitting lines before opening parenthesis, or at
string constants.

Fix some grammar mistakes in diagnostic output:
 match to, match with -> match
 found from -> found in
 trying rename -> trying to rename

Fix an error in page_check_dir(): it said "supremum not pointed to"
when the infimum was not pointed to.

Enclose commented-out code snippets in #if 0 ... #endif instead of /* ... */.
Add (void*) casts to some %p parameters in fprintf() calls.  Try to
split lines before a binary operator, not after one.  (These three fixes
were not made everywhere.)
2006-08-28 17:42:45 +00:00
marko
2e10694fd1 Correct all URLs pointing to the MySQL manual. (Bug #21467) 2006-08-08 10:54:57 +00:00
osku
0bd58bb3d9 Add support for lock waits in the SQL parser. 2006-06-08 06:08:23 +00:00
osku
0be459fdb0 Make dict_remove_db_name non-static. 2006-06-01 09:25:31 +00:00
marko
08209c5d30 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
f41cfe9945 Add max_row_size to dict_table_t. 2006-05-26 05:52:59 +00:00
marko
83edf1fce1 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
048d32559b Add parens to return statements where they are missing (except in
ha_innodb.cc).
2006-04-28 11:57:13 +00:00
osku
f8d46a00bf Add 'level' parameter to rw_lock_create(), remove rw_lock_set_level(). 2006-04-28 05:49:59 +00:00
osku
3762ef7d66 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
1542ec0aa7 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
bb86948f0e 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
76d8e7dcfa dict_remove_db_name: Remove useless 'if'. 2006-04-18 07:16:14 +00:00
osku
26f5adf3f4 Use que_eval_sql() in dict_create_or_check_foreign_constraint_tables. 2006-04-13 11:02:52 +00:00
marko
7ed2ecebb0 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
17f5482b24 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
5e1e279bb2 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
6e6c0a4257 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
e437014d3e 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
bef4a6cc18 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
148369f5b1 Support user-function callbacks for processing results of FETCH statements
in InnoDB's SQL parser.
2006-03-29 11:20:29 +00:00
marko
7c145068d1 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
d92521c793 Port parts of r211 from branches/fts:
Add dict_table_get_low_noninlined().
2006-03-10 10:58:58 +00:00
osku
69ba62bb5b Print dict_index_t->n_uniq in table monitor. 2006-03-07 14:04:52 +00:00
osku
78971825b2 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
8505ff17c8 Fix invalid brace positioning and spaces before tabs. 2006-02-24 09:53:01 +00:00
osku
f6796c0129 Remove tabs from within printed strings and two instances of trailing
whitespace.
2006-02-24 09:41:20 +00:00
marko
7836696ad5 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
6be49d6766 Style cleanups: Convert spaces to tabs, remove trailing whitespace, other
misc cleanups.
2006-02-21 12:37:54 +00:00
marko
dbec6d85e4 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
73d3dd79dd Remove the concept of "field order", as we will not support descending order
indexes.
2006-02-20 12:38:10 +00:00
marko
e426d93290 Replace assertions on constant conditions with preprocessor conditions. 2006-02-15 09:00:03 +00:00
marko
549dfbc60a Remove the unused field fixed_offs from dict_field_t. 2006-02-07 13:08:46 +00:00
marko
057e72e176 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
ab3a8768b7 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
e5d47f6d70 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
50241299e2 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
c307820962 Import 5.0 code. 2005-10-27 07:29:40 +00:00