Commit graph

10543 commits

Author SHA1 Message Date
unknown
2e2a4e4f3e InnoDB: Do not distinguish explicitly requested table locks.
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().
2005-06-08 15:45:56 +03:00
unknown
807a543b8b InnoDB: Disable throttling against thread thrashing by default.
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).
2005-05-03 15:55:53 +03:00
unknown
33d5b13bbe row0upd.c:
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.
2005-04-22 15:15:18 +03:00
unknown
87c4f37a50 ha_innodb.cc:
trx_is_interrupted(): Remove debug output.


sql/ha_innodb.cc:
  trx_is_interrupted(): Remove debug output.
2005-04-21 15:16:16 +03:00
unknown
fea290807c InnoDB: Speed up comparison functions by making
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.
2005-04-21 15:09:10 +03:00
unknown
7b07e3329a InnoDB: Reduce memcpy() load in row_sel_pop_cached_row_for_mysql()
by copying only a prefix of the row that covers the requested
columns.


innobase/include/row0mysql.h:
  row_prebuilt_struct: Add field mysql_prefix_len
  in order to reduce memcpy() time in
  row_sel_pop_cached_row_for_mysql().
innobase/row/row0sel.c:
  row_sel_pop_cached_row_for_mysql(): memcpy() only
  mysql_prefix_len bytes instead of mysql_row_len.
sql/ha_innodb.cc:
  build_template(): Initialize prebuilt->mysql_prefix_len.
2005-04-21 15:02:54 +03:00
unknown
ea5c2a148a InnoDB: Make CHECK TABLE killable. (Bug #9730)
innobase/btr/btr0btr.c:
  Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
  Add trx_t* parameter to btr_validate_tree() and btr_validate_level().
  btr_validate_level(): Call trx_is_interrupted() on each page.
innobase/ibuf/ibuf0ibuf.c:
  Add trx_t* parameter to btr_validate_tree().
innobase/include/btr0btr.h:
  Enclose btr_print_size() and btr_print_tree() in #ifdef UNIV_BTR_PRINT
  Add trx_t* parameter to btr_validate_tree().
innobase/include/trx0trx.h:
  Declare trx_is_interrupted().
innobase/row/row0mysql.c:
  row_scan_and_check_index(): Check trx_is_interrupted() every 1,000
  scanned rows.
  row_check_table_for_mysql(): Check trx_is_interrupted()
  for each index after btr_validate_tree().
sql/ha_innodb.cc:
  Define trx_is_interrupted().
2005-04-20 17:39:05 +03:00
unknown
44bab0ead1 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0


sql/sql_yacc.yy:
  Auto merged
2005-04-18 11:27:02 +02:00
unknown
be9b52bd69 Post-merge fixes
sql/opt_range.cc:
  Auto merged
2005-04-17 02:10:43 +04:00
unknown
3c112262b5 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-look-range
2005-04-17 02:06:17 +04:00
unknown
6b00231421 Fix for BUG#9348: when computing union of two intervals set lower bound to
minimum of lower bounds of two joined intervals.


mysql-test/r/range.result:
  Testcase for BUG#9348
mysql-test/t/range.test:
  Testcase for BUG#9348
2005-04-17 02:05:09 +04:00
unknown
cef7e66e98 Merge
myisam/mi_search.c:
  Auto merged
myisam/mi_write.c:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/myisam.result:
  SCCS merged
mysql-test/t/myisam.test:
  SCCS merged
2005-04-16 17:58:11 +02:00
unknown
550fff6b72 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mishka.local:/home/my/mysql-5.0
2005-04-16 11:43:03 +03:00
unknown
4528fd1527 Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-04-16 10:14:43 +02:00
unknown
e77860b7be Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0


sql/item.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
2005-04-15 22:35:29 -07:00
unknown
d85fdc1b84 subselect.result, subselect.test:
Added a test case for bug #9516.
item_subselect.h:
  Fixed bug #9516.
  The bug was due to that fact that the class Item_subselect
  inherited the generic implementation of the function
  not_null_tables that was not valid for the objects
  of this class. As a result evaluation of the
  not_null_tables attribute was not correct for subqueries.
  This caused invalid transformations of outer joins into
  inner joins.


sql/item_subselect.h:
  Fixed bug #9516.
  The bug was due to that fact that the class Item_subselect
  inherited the generic implementation of the function
  not_null_tables that was not valid for the objects
  of this class. As a result evaluation of the
  not_null_tables attribute was not correct for subqueries.
  This caused invalid transformations of outer joins into
  inner joins.
mysql-test/t/subselect.test:
  Added a test case for bug #9516.
mysql-test/r/subselect.result:
  Added a test case for bug #9516.
2005-04-15 22:08:34 -07:00
unknown
2b92a78eb8 subselect.result, subselect.test:
Added a test case for bug #9338.
sql_select.cc:
  Fixed bug #9338.
  When an occurence of a field reference has to be replaced
  by another field reference the whole Item_field must be
  replaced.
item.cc:
  Fixed bug #9338.
  The method Item_field::replace_equal_field_processor was
  replaced by Item_field::replace_equal_field. The new method
  is used to replace the occurences of Item_field objects.
item.h:
  Fixed bug #9338.
  The virtual function replace_equal_field_processor was replaced
  by replace_equal_field. The latter is supposed to be used as a
  callback function in calls of the method transform.


sql/item.h:
  Fixed bug #9338.
  The virtual function replace_equal_field_processor was replaced
  by replace_equal_field. The latter is supposed to be used as a
  callback function in calls of the method transform.
sql/item.cc:
  The method Item_field::replace_equal_field_processor was
  replaced by Item_field::replace_equal_field The new method
  is used to replace the occurences of Item_field objects.
sql/sql_select.cc:
  Fixed bug #9338.
  When an occurence of a field reference has to be replaced
  by another field reference the whole Item_field must be
  replaced.
mysql-test/t/subselect.test:
  Added a test case for bug #9338.
mysql-test/r/subselect.result:
  Added a test case for bug #9338.
2005-04-15 20:43:45 -07:00
unknown
2be63528bc Merge with 4.1
scripts/mysql_create_system_tables.sh:
  Auto merged
scripts/mysql_fix_privilege_tables.sql:
  Auto merged
sql/set_var.cc:
  Auto merged
support-files/mysql.server.sh:
  Auto merged
sql/ha_ndbcluster.cc:
  Merge
sql/handler.cc:
  Merge
sql/handler.h:
  Merge
sql/mysqld.cc:
  Merge
2005-04-16 04:35:54 +03:00
unknown
0327d05c69 Fixed core dump with long timezone names
Don't abort on bootstrap if a wrong --default-storage-engine is specified


sql/handler.cc:
  Combined code
sql/mysqld.cc:
  Fixed core dump with long timezone names
  Don't abort on bootstrap if a wrong --default-storage-engine is specified
  Don't print strange messages if one sends 'kill' to a mysqld --bootstrap
sql/set_var.cc:
  Indentaion change
2005-04-16 03:40:33 +03:00
unknown
0a1b13c99c Merge serg@bk-internal.mysql.com:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2005-04-16 00:34:05 +02:00
unknown
f75a518853 merged
sql/sql_lex.cc:
  ul
2005-04-16 00:10:35 +02:00
unknown
bd4c929ba6 Merge mysql.com:/home/jimw/my/mysql-4.1-9833
into mysql.com:/home/jimw/my/mysql-4.1-clean


sql/mysqld.cc:
  Auto merged
2005-04-15 11:52:58 -07:00
unknown
484943a2af Merge mysql.com:/home/jimw/my/mysql-4.1-9815
into mysql.com:/home/jimw/my/mysql-4.1-clean
2005-04-15 11:52:35 -07:00
unknown
e2d9929d2c BUG#9922 - INSERT SELECT with UNIONs allows concurrent INSERTs
don't set lex->lock_option=TL_READ in the parser for SELECT
2005-04-15 19:20:15 +02:00
unknown
88538066ba Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-5.0
into quadita2.mysql.com:/nfstmp1/guilhem/mysql-5.0-4ita
2005-04-15 18:02:22 +02:00
unknown
43b1125cb9 Adding --innodb_fast_shutdown=2 which shuts down InnoDB faster than the default "1":
most InnoDB threads are not terminated properly and the buffer pool is not flushed
to disk. Still no committed transaction is lost as we flush the logs to disk.
InnoDB does crash recovery at startup after this shutdown.
Using this shutdown in testsuite (mysql-test-run --mysqld=--innodb_fast_shutdown=2) saved 3 minutes (13% of total time).


innobase/include/srv0srv.h:
  srv_fast_shutdown now int to allow 3 values, replacing the srv_fast_shutdown/srv_very_fast_shutdown combo
innobase/log/log0log.c:
  srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
innobase/srv/srv0srv.c:
  srv_very_fast_shutdown -> (srv_fast_shutdown == 2)
innobase/srv/srv0start.c:
  moving message to the InnoDB internal code (like "InnoDB: Starting shutdown" is)
  instead of ha_innodb.cc. That's to have ut_print_timestamp().
sql/ha_innodb.cc:
  As innodb_fast_shutdown is now settable, srv_fast_shutdown must be
  set at shutdown, not at startup.
sql/ha_innodb.h:
  innobase_fast_shutdown now ulong to accept 3 values
sql/mysqld.cc:
  Making the "very fast" InnoDB shutdown accessible to users, by passing
  --innodb-fast-shutdown=2 (disabled on Netware)
sql/set_var.cc:
  innodb_fast_shutdown now settable on the fly (global variable).
  So that user can decide to do a normal/fast/fastest shutdown
  just before doing it.
2005-04-15 18:00:38 +02:00
unknown
6b75a704e8 Bug #9839 Column with AUTOINC contains -1 Value on node stop, post review fix 2005-04-15 16:14:08 +02:00
unknown
b112ccb583 Bug #9839 Column with AUTOINC contains -1 Value on node stop 2005-04-15 15:52:07 +02:00
unknown
53c095f083 Fixed BUG#9902: Crash with simple stored function using user defined variables
... actually, it was a query cache problem. (It shouldn't cache such queries)


mysql-test/r/sp.result:
  Added testcase for BUG#9902.
mysql-test/t/sp.test:
  Added testcase for BUG#9902.
sql/sql_yacc.yy:
  Don't cache queries which are calling stored functions.
2005-04-15 11:06:25 +02:00
unknown
75ff0f246e Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/bug9454
2005-04-15 10:16:20 +02:00
unknown
d96fcc8462 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into neptunus.(none):/home/msvensson/mysql/bug9391
2005-04-15 10:13:42 +02:00
unknown
e35244d626 Add a comment to update_ref_and_keys 2005-04-14 17:47:48 -07:00
unknown
2a8f6bb188 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0
2005-04-14 22:09:38 +02:00
unknown
c8723e7f95 merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
2005-04-14 21:31:22 +02:00
unknown
1403fb000b TRUNCATE is always a transaction on itself. pretent we're in auto-commit mode
bug#8151
2005-04-14 18:14:54 +02:00
unknown
3c56b9a542 Merge 2005-04-14 16:10:18 +02:00
unknown
e0fdbeba7e Fixed BUG#9598: stored procedure call within stored procedure
overwrites IN variable
  and added error checking of variables for [IN]OUT parameters while
  rewriting the out parameter handling.


mysql-test/r/sp-error.result:
  New test case for non-variable argument for [IN]OUT parameters.
  (And changed to qualified names in some other error messages.)
mysql-test/r/sp.result:
  New test case for BUG#9598.
mysql-test/t/sp-error.test:
  New test case for non-variable argument for [IN]OUT parameters.
mysql-test/t/sp.test:
  New test case for BUG#9598.
sql/item.h:
  Need to distinguish between SP local variable items and other items,
  for error checking and [IN]OUT parameter handling.
sql/share/errmsg.txt:
  New error message for non-variable arguments for [IN]OUT parameters in stored procedures.
sql/sp_head.cc:
  Rewrote the [IN]OUT parameter handling in procedure invokation, to make
  it work properly when using user variables in sub-calls.
  Also added error checking for non-variable arguments for such parameters
  (and changed to qualified names for wrong number of arg. errors).
sql/sp_rcontext.cc:
  No need to keep track on the out index for an [IN]OUT parameter any more.
sql/sp_rcontext.h:
  No need to keep track on the out index for an [IN]OUT parameter any more.
2005-04-14 14:52:35 +02:00
unknown
7b8f4c6da0 BUG#9455 mysqladmin status crash the server
- Send error to client when mysql_change_db fails.


sql/sql_db.cc:
  Added a note to comment for mysql_change_db that it will not send any error to the client.
sql/sql_parse.cc:
  Call net_send_error(thd) if mysql_change_db fails.
  Remove comments claiming that mysql_change_db sends error the the client.
2005-04-14 11:56:13 +02:00
unknown
0a72f99e86 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/home/ram/work/5.0.bit_class
2005-04-14 14:33:28 +05:00
unknown
27b2b1fad3 Bit type: fix for create_field::create_field().
sql/field.cc:
  Bit type: fix for create_field::create_field().
  We should return saved length in case of Field_bit_as_char.
2005-04-14 14:32:25 +05:00
unknown
de8b49912c ha_innodb.cc:
Add a big fat warning for future programmers that MySQL may call ::store_lock() also with lock 'type' TL_IGNORE; my ignorance of this caused bug 9670


sql/ha_innodb.cc:
  Add a big fat warning for future programmers that MySQL may call ::store_lock() also with lock 'type' TL_IGNORE; my ignorance of this caused bug 9670
2005-04-14 11:12:12 +03:00
unknown
1c2c6bba1c Merge rurik.mysql.com:/home/igor/mysql-5.0
into rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2005-04-13 23:11:56 -07:00
unknown
cfefd88d37 information_schema.result, information_schema.test:
Added a test in connection with the fix for
  bug #6106.
view.result, view.test:
  Added test cases for bugs #6106/6107.
sql_show.cc:
  The addition of the case for items of the type REF_ITEM in the
  function uses_only_table_name_fields became necessary after
  the fix for bug #6106.
sql_base.cc:
  The problem was due to the fact that two different column
  references were glued together though one of them belonged to
  a subquery while another to an outer query. This caused
  eventually a wrong calculation of values for the used_tables
  attribute.


sql/sql_base.cc:
  The problem was due to the fact that two different column
  references were glued together though one of them belonged to
  a subquery while another to an outer query. This caused
  eventually a wrong calculation of values for the used_tables
  attribute.
sql/sql_show.cc:
  The addition of the case for items of the type REF_ITEM in the
  function uses_only_table_name_fields became necessary after
  the fix for bug #6106.
mysql-test/t/view.test:
  Added test cases for bugs #6106/6107.
mysql-test/r/view.result:
  Added test cases for bugs #6106/6107.
mysql-test/t/information_schema.test:
  Added a test in connection with the fix for
  bug #6106.
mysql-test/r/information_schema.result:
  Added a test in connection with the fix for
  bug #6106.
2005-04-13 23:06:37 -07:00
unknown
e687d6beae Check that the default storage engine is really available, and
refuse to start up if it is not. (Bug #9815)


sql/handler.cc:
  Add ha_storage_engine_is_enabled function.
sql/handler.h:
  Declare ha_storage_engine_is_enabled()
sql/mysqld.cc:
  Abort startup if the specified default storage engine is
  not available.
2005-04-13 18:25:31 -07:00
unknown
0914b0125b Don't allow the server to start up when an invalid user is
specified via --user or in configuration. (Bug #9833)


sql/mysqld.cc:
  Actually die if we an invalid user is specified.
2005-04-13 15:43:29 -07:00
unknown
8487a67bf3 Merge mysql.com:/home/cps/mysql/trees/mysql-4.1
into mysql.com:/home/cps/mysql/trees/mysql-5.0


mysys/default.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
2005-04-14 01:57:52 +04:00
unknown
c23c4c7cfa Allow SQLCOM_CALL in prepared mode.
mysql-test/r/ps.result:
  Test results: adding tests for CALL statement in prepared mode.
mysql-test/t/ps.test:
  Adding tests for CALL statement in prepared mode.
2005-04-13 12:36:15 -07:00
unknown
a40ecb4818 ha_innodb.cc:
Fix part of bug #9670: if MySQL calls ::store_lock with TL_IGNORE, do not change prebuilt->select_lock_type; this fix may heal the assertion failures reported in UPDATE and multi-table UPDATE; it is not clear if this fixes the problems in OPTIMIZE TABLE


sql/ha_innodb.cc:
  Fix part of bug #9670: if MySQL calls ::store_lock with TL_IGNORE, do not change prebuilt->select_lock_type; this fix may heal the assertion failures reported in UPDATE and multi-table UPDATE; it is not clear if this fixes the problems in OPTIMIZE TABLE
2005-04-13 20:21:28 +03:00
unknown
26d7574462 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2005-04-13 18:28:34 +02:00
unknown
e2089cdd23 Fixed BUG#9674: Stored Procs: Using declared vars in algebric operation
causes system crash.


mysql-test/r/sp.result:
  Added test case for BUG#9674.
mysql-test/t/sp.test:
  Added test case for BUG#9674.
sql/item.cc:
  Returning a pointer to a local variable is not a good idea.
  Better to use parameter which is there for exactly this purpose.
2005-04-13 17:43:53 +02:00