Commit graph

98 commits

Author SHA1 Message Date
osku
2586a0ec19 Make dict_remove_db_name non-static. 2006-06-01 09:25:31 +00:00
marko
e4276e2bff Document better the "bool table_id" flags introduced in r590. 2006-05-31 07:35:02 +00:00
osku
ced7158cf7 trx_sig_send() always succeeds or asserts, so remove return value and adjust
callers.
2006-05-31 06:00:56 +00:00
osku
124d970fcb Changes to InnoDB's SQL parser:
-Change default mode of SELECT from "lock in share mode" to "consistent
 read".

 -Remove support from SELECT for specifying "consistent read".

 -Add support in SELECT for specifying "lock in share mode".

 -Change all uses of SQL parser to specify "lock in share mode".
2006-05-31 05:34:18 +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
marko
749f72dad6 Implement InnoDB assertions (ut_a and ut_error) with abort() when
the code is compiled with GCC 3 or later on other platforms than
Windows or Netware.  Also disable the variable ut_dbg_stop_threads
and the function ut_dbg_stop_thread() in this case, unless
UNIV_SYNC_DEBUG is defined.  This should allow the compiler to
generate more compact code for assertions.
2006-05-22 08:11:38 +00:00
osku
4b9c631072 Add ib_list_create_heap(). 2006-05-18 10:02:01 +00:00
marko
5ba4fc828a Define UNIV_BTR_DEBUG for enabling consistency checks of
FIL_PAGE_NEXT and FIL_PAGE_PREV when accessing sibling pages
of B-tree indexes.

btr_validate_level(): Check the validity of the doubly linked list
formed by FIL_PAGE_NEXT and FIL_PAGE_PREV.
2006-05-11 16:59:18 +00:00
marko
0c532d7567 Improve the documentation of FIL_PAGE_PREV, FIL_PAGE_NEXT,
and REC_INFO_MIN_REC_FLAG.
2006-05-11 12:44:01 +00:00
osku
c3908a7fc6 Add mem_heap_printf() and mem_heap_cat(). 2006-05-11 04:55:18 +00:00
osku
896e890f39 Add innobase_convert_string wrapper function to ha_innodb.cc, and a new file
ha_prototypes.h.
2006-05-11 04:51:52 +00:00
osku
e8b80a5afe Add support for bound ids in InnoDB's SQL parser. 2006-05-08 05:13:09 +00:00
marko
4299f60dc8 ibuf_count_get(), ibuf_counts[], ibuf_counts_inited: Define these only
#ifdef UNIV_IBUF_DEBUG.  Previously, when compiled without UNIV_IBUF_DEBUG,
invoking ibuf_count_get() would crash InnoDB.  The function is only being
called #ifdef UNIV_IBUF_DEBUG.
2006-05-05 11:39:44 +00:00
marko
399cba57bc Improve the comments of the space low address map. 2006-05-05 11:28:25 +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
37d636f20a univ.i: Make debug checks easily togglable. 2006-04-28 05:35:56 +00:00
osku
0fb81c1dc9 Add mem_heap_dup(). 2006-04-26 12:17:36 +00:00
osku
66946183b2 Add a work queue implementation. 2006-04-26 12:14:50 +00:00
osku
c89455c16c Add a normal linked-list implementation. 2006-04-26 11:58:07 +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
osku
ca150507fc Add platform-specific os_thread_ret_t and OS_THREAD_DUMMY_RETURN, and
convert thread start functions to use them.
2006-04-21 12:09:12 +00:00
osku
160cd2b29e Make 'thread_id' parameter in os_thread_create() optional. 2006-04-21 12:06:23 +00:00
osku
99585c9bae Remove srv_sys->operational since it is unused. 2006-04-21 07:04:02 +00:00
osku
5f00145409 Remove obsolete and unused global variables from srv0srv.c. 2006-04-20 11:06:41 +00:00
osku
05963b4917 Add mem_heap_strcat(). 2006-04-17 08:13:07 +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
3c8c28dfc2 Remove too strict assertions from some dict_table_t accessor functions. 2006-04-10 14:54:05 +00:00
osku
ef56c53e9a Add row_fetch_store_uint4(). 2006-04-07 07:15:03 +00:00
osku
68bb0484af Add ib_uint32_t typedef. 2006-04-07 07:12:42 +00:00
osku
c9049c8280 From MySQL:
Add Windows makefile 'cmakelists.txt' (Note that I had to add ut0vec.c to
it.)

Modify univ.i to not include ib_config.h on Windows.
2006-04-07 05:27:02 +00:00
osku
bd8baf66e7 univ.i: Remove unused 'utfloat' typedef. 2006-04-06 15:13:17 +00:00
osku
024530e8c1 Rename ib_vector typedef to ib_vector_t. 2006-04-06 10:02:44 +00:00
osku
ed93b381e5 Since the function definitions in pars_info_t are accessed after pars_sql()
returns in the query graph execution stage, we can't free pars_info_t in
pars_sql(). Instead, make pars_sql() transfer ownership of pars_info_t to
the created query graph, and make que_graph_free() free it if needed.
2006-04-06 07:52:14 +00:00
osku
6461de977a Rewrite pars_info datatypes and APIs, add a few helper functions. 2006-04-06 05:20:59 +00:00
osku
fb452643be Add ib_vector datatype. 2006-04-06 05:20:06 +00:00
marko
09ba6e648b Disable the statistics variables btr_search_n_hash_fail and
n_hash_succ, n_hash_fail, n_patt_succ, and n_searches of btr_search_t
in builds without #ifdef UNIV_SEARCH_PERF_STAT.
2006-04-03 11:28:43 +00:00
osku
25ec27f3e7 Support DATA_VARCHAR for bound literals.
pars_bound_lit_t: Change 'address' from 'void*' to 'const void*'.
2006-04-01 09:41:58 +00:00
osku
727354aeea Add support for bound literals in the SQL parser. 2006-04-01 06:06:59 +00:00
osku
90969c9402 Add comment clarifying the difference between 'alias' and 'indirection'
fields in sym_node_t.
2006-03-31 04:58:45 +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
jan
1d479c1dc0 Print approximate number or record locks (bits set in the bitmap) for
this transaction to innodb_lock_monitor and show innodb status. Since 
delete-marked records maybe removed, the record count will not be precise.
2006-03-29 07:18:44 +00:00
osku
57341d4425 Port r371 and r372 from branches/fts:
Add support for the EXIT keyword in InnoDB's SQL parser.

Add short introduction to query graphs.
2006-03-28 06:41:31 +00:00
jan
1bd22ab327 Setting a isolation level of the transaction to read committed
weakens the locks for this session similarly like the option
innodb_locks_unsafe_for_binlog. This patch removes almost all
gap locking (used in next-key locking) and makes MySQL to release
the row locks on the rows which does not belong to result set.
Additionally, nonlocking selects on INSERT INTO SELECT,
UPDATE ... (SELECT ...), and CREATE ... SELECT ... use a
nonlocking consistent read. If a binlog is used, then binlog
format should be set to row based binloging to make the execution
of the complex SQL statements.
2006-03-27 05:33:30 +00:00
osku
f015b825fe Add support for UNSIGNED types in InnoDB's SQL parser.
Remove trailing whitespace from flex/bison input files.
2006-03-17 12:44:34 +00:00
marko
43a21f6ed4 Merge r328:340 from branches/5.0:
r340: Fix http://bugs.mysql.com/bug.php?id=18283 in ha_innodb.cc and
http://bugs.mysql.com/bug.php?id=18238 in InnoDB

r339: Remove disk space leak on update of BLOB columns (Bug #18252).

btr_cur_pessimistic_update(): Invoke rec_get_offsets() after
rec_set_field_extern_bits().

btr_store_big_rec_extern_fields(): Note that offsets will no longer be
valid after calling this function.

r338: Fix bug 18238 : check in pessimistic insert and update if the buffer
pool is exhausted by locks
2006-03-17 08:20:14 +00:00