Commit graph

237 commits

Author SHA1 Message Date
osku
870edae7e4 Add special 'innodb_sql' table that can be used to pass SQL commands to
InnoDB through MySQL.
2006-06-08 06:12:29 +00:00
osku
0bd58bb3d9 Add support for lock waits in the SQL parser. 2006-06-08 06:08:23 +00:00
marko
b47a268f2d Merge r614 from branches/5.0: Merge r32 from innodb-4.1:
ibuf_fixed_addr_page(): Add parameter space.  As the insert buffer B-tree
is only located in the system tablespace (space 0), IBUF_TREE_ROOT_PAGE_NO
is only special in space 0.
2006-06-05 11:38:05 +00:00
osku
bb83ec4fb2 From MySQL:
Rename cmakelists.txt to CMakeLists.txt.
2006-06-02 07:22:40 +00:00
osku
23f6d69488 From MySQL:
Fix bug #17264. For alter table on win32 for succesful operation completion
it is used TL_WRITE(=10) lock instead of TL_WRITE_ALLOW_READ(=6), however in
InnoDB handler TL_WRITE is lifted to TL_WRITE_ALLOW_WRITE, which causes race
condition when several clients do alter table simultaneously.
2006-06-02 07:10:14 +00:00
osku
0be459fdb0 Make dict_remove_db_name non-static. 2006-06-01 09:25:31 +00:00
osku
09265e8c7e SQL parser: Modify syntax so that the only valid top-level statement is a
procedure definition, since it's the only the one that actually works.
2006-06-01 07:19:16 +00:00
osku
8c9f734413 pars_sql(): Remove redundant call to strlen. 2006-05-31 10:20:38 +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
c0abd9e432 Revert r598, it is incompatible with the upcoming support for lock waits in
InnoDB's SQL parser.
2006-05-31 05:35:50 +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
651c12c615 que_run_threads(): Check we haven't accidentally left an active transaction
in e.g. TRX_LOCK_WAIT state.
2006-05-30 06:16:32 +00:00
marko
c0dce89796 Merge r596 from branches/5.0: row_sel_try_search_shortcut(): Do not return
SEL_FOUND when the record was not found.  This bug was introduced in
MySQL/InnoDB 5.0.3, but luckily it should never manifest itself, given
that existing InnoDB SQL code never makes use of consistent reads.
2006-05-29 12:02:24 +00:00
osku
7f51be5c0f Disable prefetch and adaptive hash index for tables with rows over 1024
bytes in InnoDB's SQL parser.
2006-05-26 11:01:39 +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
b4cf335cf5 innobase_print_identifier(): Remove TODO comment before calling
get_quote_char_for_identifier().  That function apparently assumes the
identifier to be encoded in UTF-8.
2006-05-24 10:58:43 +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
d05cf4df80 Optimize BLOB selects by using prebuilt->blob_heap directly instead of first
reading BLOB data to a temporary heap and then copying it to
prebuilt->blob_heap.
2006-05-23 11:35:58 +00:00
osku
c755d06637 Fetch externally stored fields when using InnoDB's internal SQL parser. 2006-05-23 05:49: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
d575c51343 btr_copy_externally_stored_field(): Only set the 'offset' variable when
needed.
2006-05-22 07:50:05 +00:00
osku
ef6413ce9d row_sel_store_mysql_rec(): Remove useless call to rec_get_nth_field
when handling an externally stored column.
2006-05-22 07:29:00 +00:00
osku
18131c474d Add ib_list_create_heap(). 2006-05-18 10:02:01 +00:00
marko
2d17e9037e recv_parse_or_apply_log_rec_body(): Remove bogus debug assertion. 2006-05-16 06:47:06 +00:00
marko
36667b2c15 srv_parse_data_file_paths_and_sizes(): Accept lower-case 'm' and 'g'
as abbreviations of megabyte and gigabyte.  (Bug #19609)

srv_parse_megabytes(): New function.
2006-05-12 19:25:18 +00:00
osku
30632c4483 Move trx_commit_for_mysql(trx) calls in row0mysql.c before calls to
row_mysql_unlock_data_dictionary(trx), fixing bug #19727.
2006-05-12 11:13:18 +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
300ad47fbe Add support for DATA_CHAR type in bound literals in the SQL parser. 2006-05-10 06:37:13 +00:00
marko
847adf32cf Port r543 from innodb/branches/5.0: Port r29 from innodb-4.1/trunk:
export.sh: Generate the files to-mysql/patches/r$REV.patch
containing the output of "svn log" and "svn diff" for each change.
2006-05-09 08:37:14 +00:00
osku
3801001142 Increment statistic counter in ha_innobase::index_prev(). Fixes bug #19542. 2006-05-09 06:37:11 +00:00
marko
b17f2879fe Merge a change from MySQL AB to Makefile.am:
ChangeSet@2006/04/29 09:33:34-07:00 serg@sergbook.mysql.com
make distcheck and cosmetic fixes
2006-05-08 09:33:28 +00:00
marko
29221474d6 Merge changes by MySQL AB to ha_innodb.cc:
WL#2257 REFERENTIAL_CONSTRAINTS view
WL#3201 pluggable storage engines
2006-05-08 08:08:27 +00:00
osku
4690f2fc6f Add support for bound ids in InnoDB's SQL parser. 2006-05-08 05:13:09 +00:00
marko
73330226ed buf_page_io_complete(): Write to the error log if the page number or the
space id on the disk do not match those in the memory.  Also write to
the error log if a page was read from the doublewrite buffer.  The
doublewrite buffer should be only read by the lower-level function fil_io()
at database startup.
2006-05-05 15:19:32 +00:00
marko
406c6036de Port r529 of branches/5.0: Port r27 of innodb-4.1/trunk: Check the page
trailers also after writing to disk.
This improves the chances of diagnosing Bug #18886.

os_file_check_page_trailers(): New function for checking that the two
copies of the LSN stamped on the pages match.

os_aio_simulated_handle(): Call os_file_check_page_trailers() before
and after os_file_write().
2006-05-05 12:52:08 +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
4547823a17 row_fetch_print: Handle SQL NULL values without crashing. 2006-05-05 07:24:03 +00:00
marko
411b6ed004 Fix a typo in a comment. 2006-05-04 11:25:58 +00:00
osku
b94cf80734 srv_master_thread(): Remove unreachable code. 2006-04-29 04:43:37 +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
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