summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* fixed environment restoring in case of error during SP function execution ↵unknown2005-06-235-17/+76
| | | | | | | | | | | | | | | | | | (BUG#9503) #define macro improvement mysql-test/r/sp-security.result: BUG#9503: reseting correct parameters of thread after error in SP function mysql-test/t/sp-security.test: BUG#9503: reseting correct parameters of thread after error in SP function sql/item_func.cc: fixed environment restoring in case of error during SP function execution sql/protocol.cc: added debug print sql/sql_class.h: fixed #defines to force them to be alvaise in piar, and variable name made more complex for accident repeating in other code
* test made independentunknown2005-06-221-1/+1
|
* mergeunknown2005-06-223-1/+15
|\
| * fixed time_format printing (BUG#7521)unknown2005-06-203-1/+14
| | | | | | | | | | | | | | | | | | mysql-test/r/view.result: using time_format in view (BUG#7521) mysql-test/t/view.test: using time_format in view (BUG#7521) sql/item_timefunc.h: fixed func_name reportion
* | make test result repeatableunknown2005-06-221-1/+1
| |
* | Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0unknown2005-06-224-2/+50
|\ \ | | | | | | | | | | | | | | | | | | into sanja.is.com.ua:/home/bell/mysql/bk/work-bug4-5.0
| * \ Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0unknown2005-06-224-2/+50
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into moonbone.local:/work/mysql-5.0-bug-11298 sql/item.cc: Auto merged sql/item.h: Auto merged mysql-test/r/view.result: SCCS merged mysql-test/t/view.test: SCCS merged
| | * | Fix bug#11298 insert into select from VIEW produces incorrect result unknown2005-06-224-2/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | when using ORDER BY Insert were inserting data from last record fetched instead of inserting from temporary table. Make Item_ref to save data from result_field if it's available rather then from *ref on save_in_field() call. sql/item.h: Fix bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY sql/item.cc: Fix bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY mysql-test/r/view.result: Test case for bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY mysql-test/t/view.test: Test case for bug#11298 insert into select from VIEW produces incorrect result when using ORDER BY
* | | | fixed items cleunup for SP (BUG#10136)unknown2005-06-223-5/+94
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/sp.result: test commented until bug#11394 fix test for bug#10136 mysql-test/t/sp.test: test commented until bug#11394 fix bug10136 sql/sp_head.cc: fixed items cleunup for SP
* | | Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0unknown2005-06-217-11/+196
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into sanja.is.com.ua:/home/bell/mysql/bk/work-bug4-5.0 mysql-test/r/view.result: Auto merged mysql-test/t/view.test: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged
| * | | fixed view fields names check and generation (changed after Trudy review: ↵unknown2005-06-217-11/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | underlying field names treat as user set ones) (BUG#7448) mysql-test/r/view.result: test of view field names generation mysql-test/t/view.test: test of view field names generation sql/item.cc: add a flag that indicates that the name of the item was an auto-generated one and so can be changed in a view sql/item.h: add a flag that indicates that the name of the item was an auto-generated one and so can be changed in a view layout fixed sql/item_func.cc: line made less then 80 columns sql/sql_view.cc: fixed checking of duplicates of view fields: 1) case-insensitive system charset/collation is used now to compare view filds 2) in case if the duplicate field name was of an auto-generated one, we create another unique name for it sql/sql_yacc.yy: add a flag that indicates that the name of the item was an auto-generated one and so can be changed in a view
* | | | Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0unknown2005-06-213-47/+27
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/mysql-5.0
| * | | group_by.result, group_by.test:unknown2005-06-212-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Correction for the test case of bug #11295 to remove warning. mysql-test/t/group_by.test: Correction for the test case of bug #11295 to remove warning. mysql-test/r/group_by.result: Correction for the test case of bug #11295 to remove warning.
| * | | Manual mergeunknown2005-06-213-47/+27
| |\ \ \ | | | | | | | | | | | | | | | | | | | | sql/item_buff.cc: Auto merged
| | * \ \ Merge rurik.mysql.com:/home/igor/mysql-4.1unknown2005-06-213-2/+27
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into rurik.mysql.com:/home/igor/dev/mysql-4.1-1
| | | * | | group_by.result, group_by.test:unknown2005-06-213-2/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a test case for bug #11295. item_buff.cc: Fixed bug #11295. This a correction for the patch of bug #11088 that takes into account a possible NULL values of the BLOB column. sql/item_buff.cc: Fixed bug #11295. This a correction for the patch of bug #11088 that takes into account a possible NULL values of the BLOB column. mysql-test/t/group_by.test: Added a test case for bug #11295. mysql-test/r/group_by.result: Added a test case for bug #11295.
* | | | | | A preparatory patch to help adding JOIN::transform() and move one-time unknown2005-06-217-31/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | query transformations to the PREPARE stage (prepared statements). sql/item.h: Remove an unused friend declaration. sql/mysql_priv.h: Change signature of insert_fields() sql/sp_head.cc: Make is_stmt_prepare_or_first_sp_execute really work: reset SP state to EXECUTED after execution. sql/sql_base.cc: allocate_view_names flag of insert_fields is removed. The purpose of this variable was to amend the case when a view is replaced with a base table between subsequent executions of a prepared statement: in that case the new table theoretically can be used instead of the view. If allocate_view_names was set, all the references to the view expressions were replaced with Item_field's which in turn could have been resolved by their names. But this approach doesn't work for other reasons, so let's not try to help what must be solved by TDC. sql/sql_class.h: Add is_first_sp_execute() helper method. sql/sql_handler.cc: insert_fields signature changed. sql/sql_lex.h: Add a comment for variable 'first_execution'.
* | | | | | Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0unknown2005-06-213-5/+31
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into moonbone.local:/work/mysql-5.0-bug-7422 mysql-test/r/view.result: SCCS merged mysql-test/t/view.test: SCCS merged
| * | | | | | Fix bug #7422 "order by" doesn't workunknown2005-06-213-5/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Field with wrong buffer was used to make sort key, which results in producing same sort key for all records. sql/filesort.cc: Fix bug#7422 "order by" doesn't work mysql-test/t/view.test: Test case for bug#7422 "order by" doesn't work mysql-test/r/view.result: Test case for bug#7422 "order by" doesn't work
* | | | | | | log0log.c:unknown2005-06-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | log_checkpoint_margin(): Correct a typo that was introduced when fixing gcc 4.0 warnings. innobase/log/log0log.c: log_checkpoint_margin(): Correct a typo that was introduced when fixing gcc 4.0 warnings.
* | | | | | | InnoDB: Remove some warnings reported by GCC 4.0.0.unknown2005-06-214-17/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/log/log0recv.c: Remove GCC 4.0.0 warnings about possibly uninitialized variables. innobase/row/row0umod.c: row_undo_mod_undo_also_prev_vers(): Remove unused parameter thr, always initialize *undo_no to remove GCC 4.0.0 warning innobase/trx/trx0undo.c: trx_undo_write_xid(): Remove warning about signedness mismatch, add const qualifier to parameter xid. sql/ha_innodb.cc: Add proper casts from ulonglong to ulong in fprintf statements.
* | | | | | | Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0unknown2005-06-2194-1871/+2068
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
| * | | | | | InnoDB: adjust test resultunknown2005-06-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/innodb.result: Current default is innodb_thread_concurrency=20
| * | | | | | Merge hundin.mysql.fi:/home/marko/mysql-5.0unknown2005-06-2179-1691/+1843
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/mysql-5.0-current innobase/dict/dict0dict.c: Auto merged innobase/fil/fil0fil.c: Auto merged innobase/include/lock0lock.h: Auto merged innobase/lock/lock0lock.c: Auto merged innobase/os/os0file.c: Auto merged innobase/row/row0ins.c: Auto merged innobase/row/row0mysql.c: Auto merged innobase/srv/srv0start.c: Auto merged innobase/trx/trx0trx.c: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_innodb.h: Auto merged sql/mysqld.cc: Auto merged
| | * | | | | | InnoDB: Remove warnings detected by GCC 4.0.0unknown2005-06-208-47/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/fsp/fsp0fsp.c: Declare "first" in the scope where it is used, and add dummy return statement after ut_error to silence compiler warning. innobase/include/dyn0dyn.h: Add const qualifier to dyn_push_string(). innobase/include/dyn0dyn.ic: dyn_push_string(): Add const qualifier to str; remove intermediate assignment. innobase/include/mtr0log.h: mlog_write_string(), mlog_catenate_string(): Add const to str innobase/log/log0log.c: Eliminate variables new_oldest and do_preflush in order to avoid warnings about possibly uninitialized variables. (new_oldest will now be declared in the scope of usage, and do_preflush == (advance != 0).) innobase/log/log0recv.c: Remove warnings about uninitialized variables. Add UNIV_UNLIKELY() hints. innobase/mtr/mtr0log.c: mlog_write_string(), mlog_catenate_string(): Add const to str mlog_write_string(): Add UNIV_UNLIKELY hints to assertion-like tests innobase/row/row0sel.c: Remove warning about possibly uninitialized variable. (Always initialize *out_rec.)
| | * | | | | | InnoDB: remove flag lock_print_waits from non-debug builds.unknown2005-06-173-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/include/lock0lock.h: Remove flag lock_print_waits from non-debug builds. innobase/lock/lock0lock.c: Remove flag lock_print_waits from non-debug builds. Add InnoDB lock compatibility matrix for easy reference. innobase/trx/trx0roll.c: Remove flag lock_print_waits from non-debug builds.
| | * | | | | | InnoDB: After review fixesunknown2005-06-162-12/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/include/page0page.ic: page_rec_set_next(): s/ut_a()/ut_ad()/ page_rec_get_prev(): Eliminate a buf_frame_align() call innobase/lock/lock0lock.c: lock_rec_get_first(): Determine heap_no before the loop
| | * | | | | | InnoDB: Fix ut0dbg compilation errors on NetWareunknown2005-06-163-16/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/dict/dict0boot.c: Remove dummy code to work around bug in the pgcc compiler. innobase/include/ut0dbg.h: UT_DBG_PANIC: Avoid exit(), as lexyy.c re-#defines exit(). Move the code to the function ut_dbg_panic() instead. innobase/ut/ut0dbg.c: [__NETWARE__] Add function ut_dbg_panic()
| | * | | | | | InnoDB: Remove unreachable debug code from non-debug builds.unknown2005-06-1511-15/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/buf/buf0buf.c: Remove buf_dbg_counter unless #ifdef UNIV_DEBUG Remove buf_debug_prints unless #ifdef UNIV_DEBUG innobase/buf/buf0flu.c: Remove buf_debug_prints unless #ifdef UNIV_DEBUG innobase/buf/buf0lru.c: Remove buf_debug_prints unless #ifdef UNIV_DEBUG innobase/buf/buf0rea.c: Remove buf_debug_prints unless #ifdef UNIV_DEBUG innobase/include/buf0buf.h: Remove buf_debug_prints unless #ifdef UNIV_DEBUG innobase/include/buf0buf.ic: Remove buf_dbg_counter unless #ifdef UNIV_DEBUG innobase/include/log0log.h: Remove log_do_write and log_debug_writes unless #ifdef UNIV_DEBUG innobase/log/log0log.c: Remove log_do_write and log_debug_writes unless #ifdef UNIV_DEBUG innobase/log/log0recv.c: Remove log_debug_writes unless #ifdef UNIV_DEBUG innobase/srv/srv0start.c: Remove log_do_write and buf_debug_prints unless #ifdef UNIV_DEBUG innobase/sync/sync0sync.c: Remove buf_debug_prints unless #ifdef UNIV_DEBUG
| | * | | | | | InnoDB: Cleanup and after review fixes.unknown2005-06-144-30/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/btr/btr0btr.c: Code formatting: add blank line before "goto", do not indent labels innobase/btr/btr0cur.c: Code formatting: add blank line before "goto" innobase/btr/btr0pcur.c: btr_pcur_restore_position(): Replace assertion on cursor->pos_state with if condition, to provide better diagnostics. Restore ut_a() assertions on cursor->old_rec and cursor->old_n_fields. innobase/btr/btr0sea.c: btr_search_check_guess(): Declare prev_rec and next_rec closer to usage. Add blank lines before goto statements.
| | * | | | | | InnoDB: Remove unreferenced debug functions from non-debug builds.unknown2005-06-135-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/buf/buf0buf.c: Remove buf_print() and buf_validate() unless #ifdef UNIV_DEBUG innobase/buf/buf0lru.c: Remove buf_LRU_print() and buf_LRU_validate() unless #ifdef UNIV_DEBUG innobase/include/buf0buf.h: Remove buf_print() and buf_validate() unless #ifdef UNIV_DEBUG innobase/include/buf0lru.h: Remove buf_LRU_print() and buf_LRU_validate() unless #ifdef UNIV_DEBUG innobase/include/rem0rec.h: rec_offs_comp(): Correct the comment about return value.
| | * | | | | | InnoDB: Remove compiler warningunknown2005-06-103-12/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/fil/fil0fil.c: Move the declaration of fil_node_t to os0file.h. Remove type casting from address-of operation (which would break strict aliasing rules) innobase/include/os0file.h: Declare fil_node_t as an opaque structure. Replace void* message1 with fil_node_t* message1. innobase/os/os0file.c: Replace void* message1 with fil_node_t* message1.
| | * | | | | | InnoDB: minor clean-up in os0fileunknown2005-06-102-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/include/os0file.h: Remove unused function os_aio_all_slots_free() from non-debug builds. innobase/os/os0file.c: Remove unused function os_aio_all_slots_free() from non-debug builds. Add static qualifiers to module-global variables.
| | * | | | | | innobase/include/univ.i: Added some comments.unknown2005-06-101-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/include/univ.i: Replace PRULINT with ULINTPF in a comment. Document the macros based on __builtin_expect() and __builtin_prefetch().
| | * | | | | | InnoDB: Improved the handling of assertions.unknown2005-06-102-66/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/include/ut0dbg.h: Write help macros to use in ut_a() and ut_error. Moved some ut_a() and ut_error code to non-inlined functions. Fixed ut_error on NetWare. Reintroduced ut_dbg_zero on non-GCC platforms. innobase/ut/ut0dbg.c: Reintroduced ut_dbg_zero on non-GCC platforms. Removed ut_dbg_null_ptr on NetWare. Add helpers ut_dbg_assertion_failed() and ut_dbg_stop_thread().
| | * | | | | | btr0cur.c:unknown2005-06-101-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move the flag btr_cur_print_record_ops behind #ifdef UNIV_DEBUG. Remove unused variable btr_cur_rnd. innobase/btr/btr0cur.c: Move the flag btr_cur_print_record_ops behind #ifdef UNIV_DEBUG. Remove unused variable btr_cur_rnd.
| | * | | | | | InnoDB: Do not distinguish explicitly requested table locks.unknown2005-06-087-191/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since UNLOCK TABLES will commit the transaction (and thus release all InnoDB locks held by it), it is unnecessary to release the user-requested table locks separately. innobase/include/lock0lock.h: Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL. Remove lock_release_tables_off_kernel(). innobase/include/row0mysql.h: Remove row_unlock_tables_for_mysql(). innobase/include/trx0trx.h: Remove n_lock_table_exp and n_lock_table_transactional. innobase/lock/lock0lock.c: Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL. Remove lock_release_tables_off_kernel(). Remove references to trx->n_lock_table_exp and trx->n_lock_table_transactional. innobase/row/row0mysql.c: Remove row_unlock_tables_for_mysql(). Remove references to LOCK_TABLE_TRANSACTIONAL and LOCK_TABLE_EXP. innobase/trx/trx0trx.c: Remove n_lock_table_exp and n_lock_table_transactional. sql/ha_innodb.cc: Remove references to LOCK_TABLE_EXP and LOCK_TABLE_TRANSACTIONAL and row_unlock_tables_for_mysql().
| | * | | | | | InnoDB ON UPDATE CASCADE fixes:unknown2005-05-132-20/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enforce maximum char_length of UTF-8 data (Bug #10409). Pad UTF-8 variable-length CHAR columns with 0x20. Pad UCS2 CHAR columns with 0x0020 (Bug #10511). innobase/data/data0type.c: dtype_get_at_most_n_mbchars(): Avoid division by zero in assertion when this function is called with dtype->mbmaxlen==0 innobase/row/row0ins.c: row_ins_cascade_calc_update_vec(): Enforce maximum char_length of UTF-8 data (Bug #10409). Pad UTF-8 CHAR columns with 0x20. Pad UCS2 CHAR columns with 0x0020 (Bug #10511).
| | * | | | | | InnoDB: Disable throttling against thread thrashing by default.unknown2005-05-033-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sql/ha_innodb.cc: Remove unused variable innobase_thread_concurrency. Add UNIV_LIKELY hints to srv_thread_concurrency tests and lower the limit from 500 to 20. sql/ha_innodb.h: Remove unused variable innobase_thread_concurrency. sql/mysqld.cc: Make innodb_thread_concurrency=20 by default (it was 8).
| | * | | | | | Remove unused function rec_offs_nth_null().unknown2005-04-273-38/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE. innobase/row/row0upd.c: Normalize the return value of rec_offs_nth_extern() to FALSE/TRUE. Avoid a repeated call to upd_ext_vec_contains().
| | * | | | | | Fix bugs found in previous optimizations.unknown2005-04-278-36/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make rec_get_deleted_flag() return zero/nonzero instead of FALSE/TRUE. innobase/btr/btr0btr.c: btr_page_get_sure_split_rec(): Fix bug caused by optimization (dereferencing null pointer in page_rec_is_supremum()) btr_page_insert_fits(): Correct a debug assertion. innobase/btr/btr0cur.c: Add debug assertions about page_rec_is_comp(). Add UNIV_LIKELY and UNIV_UNLIKELY hints. Note that rec_get_deleted_flag() returns zero/nonzero ulint instead of FALSE/TRUE ibool. innobase/include/page0page.ic: Move debug assertion to proper place. innobase/include/rem0rec.h: rec_get_deleted_flag(), rec_set_deleted_flag(): Make the flag zero/nonzero in order to avoid FALSE/TRUE normalization in every rec_get_deleted_flag() call. innobase/include/rem0rec.ic: rec_get_deleted_flag(), rec_set_deleted_flag(): Make the flag zero/nonzero in order to avoid FALSE/TRUE normalization in every rec_get_deleted_flag() call. innobase/rem/rem0rec.c: rec_init_offsets(): Fix bugs introduced in optimization. innobase/row/row0sel.c: Make debug assertion stricter. innobase/row/row0vers.c: Note that rec_get_deleted_flag() returns zero/nonzero ulint instead of FALSE/TRUE ibool.
| | * | | | | | InnoDB: Performance optimizations based on OProfile analysisunknown2005-04-2528-856/+929
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/btr/btr0btr.c: Eliminate some buf_frame_align() calls. Make use of the page_rec_is_infimum(), page_rec_is_supremum() and page_rec_is_user_rec() functions. Replace some index->table->comp with page_is_comp(). Eliminate some variables to reduce register spilling on x86. Note that page_is_comp() may return nonzero instead of TRUE. Note that rec_offs_comp() may return nonzero instead of TRUE. innobase/btr/btr0cur.c: Eliminate some buf_frame_align() calls. Replace some index->table->comp with page_is_comp() or rec_offs_comp(). Eliminate some variables to reduce register spilling on x86. Note that page_is_comp() may return nonzero instead of TRUE. Note that rec_offs_comp() may return nonzero instead of TRUE. Remove an extra mem_heap_create() call from btr_cur_update_in_place(). Add "page" parameter to lock_rec_store_on_page_infimum(). Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints. btr_estimate_number_of_different_key_vals(): Rename the offsets_* variables to be more descriptive and eliminate one rec_get_offsets() and one page_rec_get_next() call in the loop. innobase/btr/btr0pcur.c: Eliminate some buf_frame_align() calls. Make use of the page_rec_is_infimum(), page_rec_is_supremum() and page_rec_is_user_rec() functions. Replace some index->table->comp with page_is_comp(). Eliminate some variables to reduce register spilling on x86. Note that page_is_comp() may return nonzero instead of TRUE. Make some ut_a() assertions ut_ad() ones to improve performance. Add some UNIV_LIKELY() and UNIV_UNLIKELY() hints. innobase/btr/btr0sea.c: Make use of page_rec_is_infimum() and page_rec_is_supremum(). Eliminate some buf_frame_align() calls. Add some UNIV_UNLIKELY and UNIV_LIKELY hints. Turn some assertions into debug assertions. innobase/dict/dict0crea.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp innobase/ibuf/ibuf0ibuf.c: Make use of page_rec_is_infimum() and page_rec_is_supremum(). Add some UNIV_UNLIKELY and UNIV_LIKELY hints. ibuf_get_merge_page_nos(): Rename parameter "first_rec" to "rec" and eliminate local variable "rec". innobase/include/btr0btr.h: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp innobase/include/buf0buf.h: Rename buf_frame_get_modify_clock() to buf_block_get_modify_clock(). innobase/include/buf0buf.ic: Rename buf_frame_get_modify_clock() to buf_block_get_modify_clock() and remove the buf_block_align() call. innobase/include/lock0lock.h: lock_rec_store_on_page_infimum(): Add parameter "page" innobase/include/mach0data.h: Add mach_encode_2() and mach_decode_2(). innobase/include/mach0data.ic: Add mach_encode_2() and mach_decode_2(). innobase/include/page0cur.h: Add const qualifier to page_cur_is_before_first() and page_cur_is_after_last(). innobase/include/page0cur.ic: Make use of page_rec_is_infimum() and page_rec_is_supremum(). innobase/include/page0page.h: Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec(). Add page_rec_is_infimum() and page_rec_is_supremum(). Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/include/page0page.ic: Remove page_rec_is_first_user_rec() and page_rec_is_last_user_rec(). Add page_rec_is_infimum() and page_rec_is_supremum(). Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Add UNIV_UNLIKELY, UNIV_LIKELY and UNIV_EXPECT hints. Reduce the number of buf_frame_align() calls. innobase/include/rem0rec.ic: rec_offs_comp(): Return zero or nonzero instead of FALSE or TRUE. innobase/include/row0mysql.h: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/lock/lock0lock.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Remove parameter "comp" from lock_rec_get_next(), lock_rec_has_expl() and lock_rec_other_has_expl_req(). Add parameter "page" to lock_rec_store_on_page_infimum(). Add UNIV_UNLIKELY hints. Reduce the number of buf_frame_align() calls. Make use of page_rec_is_infimum(), page_rec_is_supremum() and page_rec_is_user_rec(). Move the "comp" flag outside some loops. innobase/mtr/mtr0log.c: Replace index->table->comp with page_rec_is_comp(). innobase/page/page0cur.c: Replace index->table->comp with page_is_comp() or page_rec_is_comp(). Eliminate some buf_frame_align() calls. Add some debug assertions. innobase/page/page0page.c: Optimize page_dir_find_owner_slot(). Compare the record offset 16 bits at a time, because that seems to be the only way to avoid register spilling on x86. Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Remove parameter "page" of page_delete_rec_list_write_log(). Make use of page_rec_is_infimum(). innobase/rem/rem0cmp.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/row/row0ins.c: Make use of page_rec_is_infimum() and page_rec_is_supremum(). Reduce the amount of buf_frame_align() calls. row_ins_index_entry_low(): Disable assertion about column count unless #ifdef UNIV_DEBUG. innobase/row/row0mysql.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. innobase/row/row0row.c: Eliminate some buf_frame_align() calls. Make use of page_rec_is_infimum(). innobase/row/row0sel.c: Make use of page_rec_is_supremum() and page_rec_is_infimum(). Turn some assertions into debug assertions. Add UNIV_LIKELY and UNIV_UNLIKELY hints. row_search_for_mysql(): Eliminate local variables "moved", "cons_read_requires_clust_rec", "was_lock_wait", "shortcut", "success" and "comp". Replace some of them with goto's. Disable variable "cnt" unless #ifdef UNIV_SEARCH_DEBUG. innobase/row/row0vers.c: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Replace index->table->comp with page_rec_is_comp(). Eliminate some buf_frame_align() calls.
| | * | | | | | rem0cmp.c:unknown2005-04-223-74/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add UNIV_LIKELY and UNIV_UNLIKELY hints. cmp_dtuple_rec_with_match(): Move condition outside loop. Reduce the number of comparisons per iteration. mtr0mtr.c: mtr_memo_slot_release(): Add a UNIV_LIKELY hint. Simplify the preprocessor magic. buf0buf.c: buf_page_optimistic_get_func(): Add UNIV_UNLIKELY hints. Introduce an exit_func label to remove duplicated error exits. innobase/buf/buf0buf.c: buf_page_optimistic_get_func(): Add UNIV_UNLIKELY hints. Introduce an exit_func label to remove duplicated error exits. innobase/mtr/mtr0mtr.c: mtr_memo_slot_release(): Add a UNIV_LIKELY hint. Simplify the preprocessor magic. innobase/rem/rem0cmp.c: Add UNIV_LIKELY and UNIV_UNLIKELY hints. cmp_dtuple_rec_with_match(): Move condition outside loop. Reduce the number of comparisons per iteration.
| | * | | | | | InnoDB: Optimize rec_get_offsets(), rec_copy_prefix_to_buf() andunknown2005-04-223-124/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | other rec_ functions based on OProfile measurements on GNU/Linux x86. innobase/include/rem0rec.h: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Remove rec_set_node_ptr_flag(). innobase/include/rem0rec.ic: Replace FALSE/TRUE ibool comp with zero/nonzero ulint comp. Remove rec_set_node_ptr_flag(). Add UNIV_LIKELY and UNIV_UNLIKELY hints. Correct a spelling error in comment. Simplify rec_get_deleted_flag(). innobase/rem/rem0rec.c: Add UNIV_LIKELY and UNIV_UNLIKELY hints. rec_init_offsets(), rec_get_offsets_func(): Optimize for x86. rec_set_field_extern_bits(): Move "comp" flag outside the loop. rec_copy_prefix_to_buf(): Add UNIV_PREFETCH hints.
| | * | | | | | row0upd.c:unknown2005-04-224-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add UNIV_UNLIKELY hint. lock0lock.c: Correct the prototypes of lock_deadlock_recursive() and lock_deadlock_occurs(). data0data.c: dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint. ha_innodb.cc: ha_innobase::write_row(): Correct the type of 'mode'. sql/ha_innodb.cc: ha_innobase::write_row(): Correct the type of 'mode'. innobase/data/data0data.c: dtuple_convert_big_rec(): Add UNIV_UNLIKELY hint. innobase/lock/lock0lock.c: Correct the prototypes of lock_deadlock_recursive() and lock_deadlock_occurs(). innobase/row/row0upd.c: Add UNIV_UNLIKELY hint.
| | * | | | | | InnoDB: Some low-level optimizations made based on OProfile results.unknown2005-04-2212-48/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/dict/dict0mem.c: dict_mem_table_create(): Add a debug assertion. innobase/include/btr0btr.ic: btr_node_ptr_get_child_page_no(): Add a UNIV_UNLIKELY hint. Remove a buf_frame_align() call. innobase/include/btr0cur.ic: btr_cur_get_page(): Add a debug assertion. innobase/include/buf0buf.ic: buf_block_peek_if_too_old(): Replace if() with return(). buf_block_align(), buf_frame_align(): Add UNIV_UNLIKELY hints. innobase/include/data0type.ic: dtype_get_fixed_size(): Add UNIV_UNLIKELY hints. innobase/include/mem0mem.ic: Remove signedness warning in debug assertion. innobase/include/read0read.ic: read_view_sees_trx_id(): Eliminate a comparison inside loop. innobase/include/row0sel.ic: open_step(): Add UNIV_EXPECT hint. innobase/include/row0upd.ic: upd_field_set_field_no(): Add a UNIV_UNLIKELY hint. innobase/include/sync0rw.ic: Add UNIV_LIKELY and UNIV_UNLIKELY hints. rw_lock_x_lock_func_nowait(): Eliminate a function call. Replace ut_a() assertions with ut_ad(). innobase/include/trx0rseg.ic: Add UNIV_UNLIKELY hints. innobase/include/ut0rnd.ic: ut_fold_binary(): Eliminate a loop variable to avoid register spilling on x86.
| | * | | | | | dict0dict.c:unknown2005-04-221-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some UNIV_LIKELY and UNIV_UNLIKELY hints. dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec. innobase/dict/dict0dict.c: Add some UNIV_LIKELY and UNIV_UNLIKELY hints. dict_tree_copy_rec_order_prefix(): Add a UNIV_PREFETCH_R hint on rec.
| | * | | | | | InnoDB: Make branch prediction assume that assertions do not fail.unknown2005-04-212-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | innobase/include/ut0dbg.h: Remove ut_dbg_zero. Use the UNIV_UNLIKELY() macro in assertions in order to assist branch prediction. innobase/ut/ut0dbg.c: Remove ut_dbg_zero.
| | * | | | | | ha_innodb.cc:unknown2005-04-211-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | trx_is_interrupted(): Remove debug output. sql/ha_innodb.cc: trx_is_interrupted(): Remove debug output.
| | * | | | | | InnoDB: Speed up comparison functions by makingunknown2005-04-214-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL a constant. innobase/data/data0type.c: Remove data_mysql_latin1_swedish_charset_coll. innobase/include/data0type.h: Replace variable data_mysql_latin1_swedish_charset_coll with constant DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL. innobase/rem/rem0cmp.c: Replace variable data_mysql_latin1_swedish_charset_coll with constant DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL. sql/ha_innodb.cc: Eliminate variable data_mysql_latin1_swedish_charset_coll. Add an assertion about DATA_MYSQL_LATIN1_SWEDISH_CHARSET_COLL.