Commit graph

149 commits

Author SHA1 Message Date
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
8481036b66 Document better the "bool table_id" flags introduced in r590. 2006-05-31 07:35:02 +00:00
osku
56f50a6520 trx_sig_send() always succeeds or asserts, so remove return value and adjust
callers.
2006-05-31 06:00:56 +00:00
osku
f752e64db7 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
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
marko
06f7b09f89 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
18131c474d Add ib_list_create_heap(). 2006-05-18 10:02:01 +00:00
marko
2d04dfb153 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
30ae8a2e96 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
7a39d1d6e4 Add mem_heap_printf() and mem_heap_cat(). 2006-05-11 04:55:18 +00:00
osku
879aa87a32 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
4690f2fc6f Add support for bound ids in InnoDB's SQL parser. 2006-05-08 05:13:09 +00:00
marko
1fd289fd6d 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
090c3fac71 Improve the comments of the space low address map. 2006-05-05 11:28:25 +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
35049cac22 univ.i: Make debug checks easily togglable. 2006-04-28 05:35:56 +00:00
osku
3215330058 Add mem_heap_dup(). 2006-04-26 12:17:36 +00:00
osku
1b71285f05 Add a work queue implementation. 2006-04-26 12:14:50 +00:00
osku
3a1b90f1cc Add a normal linked-list implementation. 2006-04-26 11:58:07 +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
osku
86afa36881 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
2ceffc0d08 Make 'thread_id' parameter in os_thread_create() optional. 2006-04-21 12:06:23 +00:00
osku
6c0714b80c Remove srv_sys->operational since it is unused. 2006-04-21 07:04:02 +00:00
osku
92d7e9e5e2 Remove obsolete and unused global variables from srv0srv.c. 2006-04-20 11:06:41 +00:00
osku
e83b1a8b3e Add mem_heap_strcat(). 2006-04-17 08:13:07 +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
cd6d32fad1 Remove too strict assertions from some dict_table_t accessor functions. 2006-04-10 14:54:05 +00:00
osku
b4f9e1e90c Add row_fetch_store_uint4(). 2006-04-07 07:15:03 +00:00
osku
46010b1f50 Add ib_uint32_t typedef. 2006-04-07 07:12:42 +00:00
osku
d8671ebb7c 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
1953a7ba68 univ.i: Remove unused 'utfloat' typedef. 2006-04-06 15:13:17 +00:00
osku
c37316d9a8 Rename ib_vector typedef to ib_vector_t. 2006-04-06 10:02:44 +00:00
osku
be5145c94b 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
36d98ce832 Rewrite pars_info datatypes and APIs, add a few helper functions. 2006-04-06 05:20:59 +00:00
osku
1690e0deed Add ib_vector datatype. 2006-04-06 05:20:06 +00:00
marko
70a2e99e67 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
6cd0ecddd4 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
25de125c4a Add support for bound literals in the SQL parser. 2006-04-01 06:06:59 +00:00
osku
d595b8267f Add comment clarifying the difference between 'alias' and 'indirection'
fields in sym_node_t.
2006-03-31 04:58:45 +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
jan
68908aba17 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
b8f6fa77f1 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
cf06d8d965 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
ee99d219a8 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