Commit graph

231 commits

Author SHA1 Message Date
osku
be6eaf9a6a 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
e41eec23b0 pars_sql(): Remove redundant call to strlen. 2006-05-31 10:20:38 +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
cfcf61e651 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
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
252db62e42 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
90d0009b25 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
5adcddab31 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
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
ff38fefde8 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
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
5fbd019220 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
135e5219e0 Fetch externally stored fields when using InnoDB's internal SQL parser. 2006-05-23 05:49: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
83ed919c45 btr_copy_externally_stored_field(): Only set the 'offset' variable when
needed.
2006-05-22 07:50:05 +00:00
osku
f2651a69ba 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
4b9c631072 Add ib_list_create_heap(). 2006-05-18 10:02:01 +00:00
marko
448636a7cb recv_parse_or_apply_log_rec_body(): Remove bogus debug assertion. 2006-05-16 06:47:06 +00:00
marko
fc77030d39 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
a6ce71b013 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
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
03e2996446 Add support for DATA_CHAR type in bound literals in the SQL parser. 2006-05-10 06:37:13 +00:00
marko
b74d61df4a 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
082d3b0c12 Increment statistic counter in ha_innobase::index_prev(). Fixes bug #19542. 2006-05-09 06:37:11 +00:00
marko
df7176156f 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
22f908db65 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
e8b80a5afe Add support for bound ids in InnoDB's SQL parser. 2006-05-08 05:13:09 +00:00
marko
d35c4375c3 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
0677a1ec8e 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
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
32fa3568a3 row_fetch_print: Handle SQL NULL values without crashing. 2006-05-05 07:24:03 +00:00
marko
f1329684db Fix a typo in a comment. 2006-05-04 11:25:58 +00:00
osku
47f0a5aa7a srv_master_thread(): Remove unreachable code. 2006-04-29 04:43:37 +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
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
33c7b6a27e From MySQL:
Add innodb_mysql.[test|result].
2006-04-26 07:08:21 +00:00
osku
1b2d46c83c From MySQL:
Updates to innodb.[test|result].
2006-04-24 11:58:30 +00:00
osku
af84ccc340 From MySQL:
Added new function to handlerton.
2006-04-24 11:34:49 +00:00
osku
55c1115212 From MySQL:
Refactored some code to remove ifdef and removed dead code related to
un-useable sync code.
2006-04-24 11:33:51 +00:00