Commit graph

259 commits

Author SHA1 Message Date
marko
b758497312 Correct all URLs pointing to the MySQL manual. (Bug #21467) 2006-08-08 10:54:57 +00:00
heikki
df475ab785 Add update_thd() to several places in ha_innodb.cc to make sure prebuilt->trx points to the right trx object; in other functions add assertions that prebuilt->trx is for this thd; when 5.1 stabilizes, we can change these assertions to ut_ad() debug version assertions 2006-08-07 15:39:40 +00:00
heikki
5d37f4bad7 Fix Bug #20493 : we must prepare prebuilt->trx to point to the trx of this thd before using it 2006-08-07 15:23:32 +00:00
heikki
f185d66669 Fix Bug#20213 and its duplicates: stress test crashes of InnoDB-5.1 2006-08-07 15:18:22 +00:00
marko
58676efe16 Remove non-varying variable ibuf->meter and related constant IBUF_THRESHOLD. 2006-08-02 08:01:41 +00:00
marko
e79ebe8315 After ut_print_timestamp(), always display " InnoDB:" (note two spaces). 2006-08-02 06:52:44 +00:00
osku
fa832adc86 ut_dbg_assertion_failed(): Print space between timestamp and start of error
message.
2006-08-01 10:20:14 +00:00
marko
49606878fc innodb.result: Set the default value of innodb_thread_concurrency to 8.
This has already been changed in the MySQL source code tree.
2006-07-31 11:17:32 +00:00
marko
52c09c8c9c row_rename_table_for_mysql(): Restore the row_mysql_unlock_data_dictionary()
call that was accidentally removed in r674.
2006-07-31 11:05:14 +00:00
marko
01ce2292ff ha_innobase::start_stmt(): patch from Heikki:
Do not call read_view_close_for_mysql().  (Bug #19834)
2006-07-28 10:17:55 +00:00
marko
cef9a0265f Remove the special treatment of tables
rsql_IDENTIFIER_recover_innodb_tmp_table, which is redundant and
was broken with the introduction of the "safe" file name encoding of
identifiers.  (Bug #21313)
2006-07-27 18:41:37 +00:00
osku
59ec36ce5f Make the tablespace cache hash size 100 or 1000 times bigger. Fixes bug
#21112.
2006-07-21 05:15:49 +00:00
osku
829429cfe8 ibuf_print(): Don't print redundant information. Fixes bug #21113. 2006-07-21 05:14:14 +00:00
osku
04413d93d8 Makefile.am: Add some missing files to EXTRA_DIST. 2006-06-15 04:43:58 +00:00
osku
d9b9c4ccaa mem_heap_cat(): Remove void* arithmetic. 2006-06-15 04:41:52 +00:00
osku
8c91463079 Add -Wpointer-arith to CFLAGS when using GCC. 2006-06-15 04:41:15 +00:00
marko
3412bdf03e Merge changes from MySQL AB:
innodb_mysql.test, innodb_mysql.result:
  Bug #16798: Uninitialized row buffer reads in ref-or-null optimizer
  Bug #12882: min/max inconsistent on empty table
  Test of behaviour with CREATE ... SELECT
 Moved from group_min_max.test:
  Bug #12672: primary key implicitly included in every innodb index
  Bug #6142: a problem with empty innodb table 
  Bug #9798: group by with rollup

ChangeSet@2006/06/01 21:47:15+03:00 bell@sanja.is.com.ua 
#   interface for transaction log management added to handlerton
#   iterators creation interface added to handlerton
ha_innodb.cc: Add get_log_status = create_iterator = NULL

ChangeSet@2006/06/04 18:52:22+03:00 monty@mysql.com 
#   This changeset is largely a handler cleanup changeset (WL#3281),
#   but includes fixes and cleanups that was found necessary while
#   testing the handler changes
# sql/ha_innodb.h
#   2006/06/04 18:52:09+03:00 monty@mysql.com +6 -13
#   Update to 'newer' table handler interface
#   - table_flags are now ulonglong
#   - Added reset() method
#   - Removed not needed ha_retrieve_all_cols() and ha_retrieve_all_pk()
#     columns.
#   - Made build_template() a class function to be able to easier access
#     class variables
# sql/ha_innodb.cc
#   2006/06/04 18:52:09+03:00 monty@mysql.com +37 -44
#   Update to 'newer' table handler interface
#   - Update innobase_create_handler() to new interface
#   - Removed HA_NOT_EXACT_COUNT (not needed)
#   - Renamed HA_PRIMARY_KEY_ALLOW_RANDOM_ACCESS
#     to HA_PRIMARY_KEY_REQUIRED_FOR_POSITION.
#   - Prefixed base status variables with 'stats'
#   - Use table column bitmaps instead of ha_get_bit_in_read_set()
#   - Added ::reset(), with code from ::extra(HA_EXTRA_RESET)
#   - Removed HA_EXTRA_RETRIVE_ALL_COLS and HA_EXTRA_RETRIEVE_PRIMARY_KEY as
#     the table->read_set and table->write_set bitmaps now are accurate

ChangeSet@2006/06/02 22:21:32+02:00 guilhem@mysql.com 
#   First push for WL#3146 "less locking in auto_increment". It is a
#   0-real-change patch.
#   New prototype for get_auto_increment() (but new arguments not yet used),
#   to be able to reserve a finite interval of auto_increment values from
#   cooperating engines.
#   A hint on how many values to reserve is found in
#   handler::estimation_rows_to_insert,
#   filled by ha_start_bulk_insert(), new wrapper around start_bulk_insert().
#   NOTE: this patch changes nothing, for all engines.
#   But it makes the API ready for those
#   engines which will want to do reservation.
#   More csets will come to complete WL#3146.
ha_innodb.h, ha_innodb.cc: update to new prototype of get_auto_increment

ChangeSet@2006/05/28 14:51:01+02:00 serg@sergbook.mysql.com 
#   handlerton cleanup:
#   duplicate fields removed, st_mysql_storage_engine added to support
#   run-time handlerton initialization (no compiler warnings), handler API
#   is now tied to MySQL version, handlerton->plugin mapping added
#   (slot-based), dummy default_hton removed, plugin-type-specific
#   initialization generalized, built-in plugins are now initialized too,
#   --default-storage-engine no longer needs a list of storage engines
#   in handle_options().
#   
# sql/ha_innodb.h
#   2006/05/28 14:50:53+02:00 serg@sergbook.mysql.com +1 -1
#   handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
#   initialize handlerton run-time to avoid compiler warnings
# 
# sql/ha_innodb.cc
#   2006/05/28 14:50:53+02:00 serg@sergbook.mysql.com +37 -52
#   handlerton cleanup: remove duplicate fields, add st_mysql_storage_engine,
#   initialize handlerton run-time to avoid compiler warnings

ChangeSet@2006/06/01 23:59:34+02:00 serg@serg.mylan 
#   second patch for make distcheck
ha_innodb.cc: enclose in #ifdef WITH_INNOBASE_STORAGE_ENGINE / #endif
2006-06-13 12:50:11 +00:00
marko
b93fa6788e dtype_get_max_size(): Remove UNIV_INLINE qualifier, as the function is
defined inside a .c file rather than an .ic file.
2006-06-09 19:57:03 +00:00
marko
a3daffde6a btr_cur_search_to_nth_level(): Reacquire btr_search_latch after inserting
to the insert buffer.  This was noticed while analyzing Bug #19081, but
this should not fix Bug #19081, since according to Heikki, btr_search_latch
is not reserved during an insert.
2006-06-09 19:54:58 +00:00
marko
f944979170 rw_lock_s_unlock_func(): Change a debug assertion to a production assertion
in order to track down Bug #19081.
2006-06-09 10:14:20 +00:00
osku
fb6d2015dc Revert r622 (innodb_sql table) as it was decided it's not appropriate for
the GPL InnoDB version.
2006-06-09 06:37:41 +00:00
osku
7f836357b5 Don't take unnecessary locks on supremum records when the
srv_locks_unsafe_for_binlog option is enabled. Fixes an assertion failure in
the innodb_unsafe_binlog testcase when compiled with UNIV_DEBUG.
2006-06-08 06:14:09 +00:00
osku
0049d987bc 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
487da7028a Add support for lock waits in the SQL parser. 2006-06-08 06:08:23 +00:00
marko
efd7af585a 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
55d9aa7f6c From MySQL:
Rename cmakelists.txt to CMakeLists.txt.
2006-06-02 07:22:40 +00:00
osku
bb37525b77 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
2586a0ec19 Make dict_remove_db_name non-static. 2006-06-01 09:25:31 +00:00
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