Commit graph

972 commits

Author SHA1 Message Date
unknown
13f8420a1c InnoDB: Add configuration option innodb_autoextend_increment
innobase/include/srv0srv.h:
  Add srv_auto_extend_increment and make SRV_AUTO_EXTEND_INCREMENT
  configureable by it
innobase/srv/srv0srv.c:
  Add srv_auto_extend_increment
sql/ha_innodb.cc:
  Add innobase_auto_extend_increment and srv_auto_extend_increment
sql/ha_innodb.h:
  Add innobase_auto_extend_increment
sql/mysqld.cc:
  Add "innodb_autoextend_increment" configuration option
2004-09-07 16:26:38 +03:00
unknown
bdf4d6940d srv0start.c:
Fix bug #5414 in 4.1: srv_max_n_threads was always set to only 1000, regardless of the buffer pool size; undelr very high concurrent loads this could cause an assertion failure in sync0arr.c line 384 when we ran out of wait slots for threads; also innodb_thread_concurrency did not work, because the wait queue also there overflowed at 1000 concurrent threads; also remove redundant code
trx0undo.c:
  Add a missing newline to fprints


innobase/trx/trx0undo.c:
  Add a missing newline to fprints
innobase/srv/srv0start.c:
  Fix bug in 4.1: srv_max_n_threads was always set to only 1000, regardless of the buffer pool size; undelr very high concurrent loads this could cause an assertion failure in sync0arr.c line 384 when we ran out of wait slots for threads; also innodb_thread_concurrency did not work, because the wait queue also there overflowed at 1000 concurrent threads; also remove redundant code
2004-09-06 13:01:29 +03:00
unknown
bfe3df38b7 Fixed copy-paste bug introduced on patch (jan:1.1960). 2004-09-03 16:50:13 +03:00
unknown
bbd402dc4f Fixed unique prefix key bug for multibyte character sets (BUG #4521) for
InnoDB. This fixes also a second part of the same problem with prefix keys
on a multibyte string column for InnoDB.


innobase/btr/btr0btr.c:
  Multibyte character set prefix indexes are not any more fixed size. Therefore,
  we have to chect that length of the index field in not greater than
  prefix length.
innobase/rem/rem0cmp.c:
  Remove unnecessary changes.
innobase/row/row0ins.c:
  Fixed unique prefix key or prefix key using multibyte character set bugs for
  InnoDB (BUG #4521). For prefix keys we have to get the storage length
  for the prefix length of characters in the key.
innobase/row/row0row.c:
  Fixed unique prefix key or prefix key using multibyte character set bugs for
  InnoDB (BUG #4521). For prefix keys we have to get the storage length
  for the prefix length of characters in the key.
innobase/row/row0sel.c:
  Fixed unique prefix key or prefix key using multibyte character set bugs for
  InnoDB (BUG #4521). For prefix keys we have to get the storage length
  for the prefix length of characters in the key.
innobase/row/row0upd.c:
  Fixed unique prefix key or prefix key using multibyte character set bugs for
  InnoDB (BUG #4521). For prefix keys we have to get the storage length
  for the prefix length of characters in the key.
mysql-test/r/ctype_utf8.result:
  Added utf8 character test cases for InnoDB.
mysql-test/t/ctype_utf8.test:
  Added utf8 character expected test results for InnoDB.
sql/ha_innodb.cc:
  Added function innobase_get_at_most_n_mbchars to return position of
  the nth character in the multibyte character string.
sql/ha_innodb.h:
  Remove unnecessary changes.
2004-09-03 15:26:29 +03:00
unknown
3e3981b558 Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-09-03 08:23:16 +03:00
unknown
4ad76aedcc srv0start.c:
Change a reference to ibman.php to a reference in the MySQL manual; someone should change the 20 other places in the source code where we still refer to ibman.php


innobase/srv/srv0start.c:
  Change a reference to ibman.php to a reference in the MySQL manual; someone should change the 20 other places in the source code where we still refer to ibman.php
2004-09-02 20:06:25 +03:00
unknown
e0820e7545 row0mysql.c:
row_drop_table_for_mysql(): Removed duplicated block of code.


innobase/row/row0mysql.c:
  row_drop_table_for_mysql(): Removed duplicated block of code.
2004-09-01 14:04:17 +03:00
unknown
b50d44768d Fixed unique prefix key bug for multibyte character sets (BUG #4521) for
InnoDB. This fixes also a second part of the same problem with prefix keys
on a multibyte string column for InnoDB.


innobase/rem/rem0cmp.c:
  Fixed unique prefix key or prefix key using multibyte character set bugs for
  InnoDB (BUG #4521).
  
  The unique key with a prefix of N appears index 3*N bytes of the column not N
  characters. If you had two records which have the same first N characters 
  but differ in the first 3*N bytes, then you couldn't select the records using 
  an equality test.
2004-08-31 10:37:03 +03:00
unknown
d70aaac900 Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-08-30 08:30:21 +03:00
unknown
e8d41a5b1b merged
BitKeeper/etc/logging_ok:
  auto-union
VC++Files/sql/mysqld.dsp:
  Auto merged
client/mysql.cc:
  Auto merged
client/mysqladmin.c:
  Auto merged
BitKeeper/deleted/.del-mysql_install.c~8c089740d79a92:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqlcheck.c:
  Auto merged
client/mysqldump.c:
  Auto merged
client/mysqlimport.c:
  Auto merged
client/mysqlmanager-pwgen.c:
  Auto merged
client/mysqlshow.c:
  Auto merged
client/mysqltest.c:
  Auto merged
extra/my_print_defaults.c:
  Auto merged
extra/perror.c:
  Auto merged
extra/resolve_stack_dump.c:
  Auto merged
extra/resolveip.c:
  Auto merged
include/my_getopt.h:
  Auto merged
innobase/buf/buf0rea.c:
  Auto merged
isam/isamchk.c:
  Auto merged
isam/pack_isam.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
myisam/mi_test1.c:
  Auto merged
myisam/myisamchk.c:
  Auto merged
myisam/myisampack.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
sql/gen_lex_hash.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
tools/mysqlmanager.c:
  Auto merged
2004-08-26 15:19:46 +02:00
unknown
73fe243d43 buf0rea.c:
Fix bug: if there was little file I/O in InnoDB, but the insert buffer was used, it could happen that 'Pending normal aio reads' was bigger than 0, but the I/O handler thread did not get waken up in 600 seconds. This resulted in a hang, and crashing of InnoDB.


innobase/buf/buf0rea.c:
  Fix bug: if there was little file I/O in InnoDB, but the insert buffer was used, it could happen that 'Pending normal aio reads' was bigger than 0, but the I/O handler thread did not get waken up in 600 seconds. This resulted in a hang, and crashing of InnoDB.
2004-08-24 20:17:23 +03:00
unknown
97699411aa Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1


innobase/lock/lock0lock.c:
  Auto merged
2004-08-19 11:37:46 +03:00
unknown
945625ebaa manually merged
BitKeeper/etc/logging_ok:
  auto-union
BitKeeper/deleted/.del-mytest-old.c~5237697b30cf59e4:
  Auto merged
Build-tools/Bootstrap:
  Auto merged
Build-tools/mysql-copyright:
  Auto merged
configure.in:
  Auto merged
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
  Auto merged
VC++Files/innobase/innobase.dsp:
  Auto merged
client/mysql.cc:
  Auto merged
include/my_global.h:
  Auto merged
innobase/dict/dict0crea.c:
  Auto merged
innobase/dict/dict0dict.c:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0log.ic:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/ut0dbg.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/os/os0file.c:
  Auto merged
innobase/row/row0mysql.c:
  Auto merged
innobase/row/row0sel.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/ut/ut0dbg.c:
  Auto merged
innobase/ut/ut0mem.c:
  Auto merged
libmysql/Makefile.am:
  Auto merged
libmysql/Makefile.shared:
  Auto merged
libmysql/conf_to_src.c:
  Auto merged
libmysql/dll.c:
  Auto merged
libmysql/errmsg.c:
  Auto merged
libmysql/manager.c:
  Auto merged
libmysql_r/Makefile.am:
  Auto merged
myisam/mi_key.c:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/having.result:
  Auto merged
mysql-test/r/heap.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/r/type_float.result:
  Auto merged
mysql-test/t/having.test:
  Auto merged
mysql-test/t/heap.test:
  Auto merged
mysql-test/t/type_date.test:
  Auto merged
mysql-test/t/type_float.test:
  Auto merged
mysql-test/t/type_uint.test:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/Makefile.am:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.h:
  Auto merged
sql/lock.cc:
  Auto merged
sql/log.cc:
  Auto merged
sql/protocol.cc:
  Auto merged
sql/repl_failsafe.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_analyse.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/share/czech/errmsg.txt:
  Auto merged
sql/share/danish/errmsg.txt:
  Auto merged
sql/share/dutch/errmsg.txt:
  Auto merged
sql/share/english/errmsg.txt:
  Auto merged
sql/share/estonian/errmsg.txt:
  Auto merged
sql/share/french/errmsg.txt:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/share/greek/errmsg.txt:
  Auto merged
sql/share/hungarian/errmsg.txt:
  Auto merged
sql/share/japanese/errmsg.txt:
  Auto merged
sql/share/korean/errmsg.txt:
  Auto merged
sql/share/norwegian-ny/errmsg.txt:
  Auto merged
sql/share/norwegian/errmsg.txt:
  Auto merged
sql/share/polish/errmsg.txt:
  Auto merged
sql/share/portuguese/errmsg.txt:
  Auto merged
sql/share/romanian/errmsg.txt:
  Auto merged
sql/share/russian/errmsg.txt:
  Auto merged
sql/share/slovak/errmsg.txt:
  Auto merged
sql/share/spanish/errmsg.txt:
  Auto merged
sql/share/swedish/errmsg.txt:
  Auto merged
sql/share/ukrainian/errmsg.txt:
  Auto merged
2004-08-18 19:57:55 +02:00
unknown
0c062ae60f srv0start.c, ut0mem.c, ut0dbg.c, ut0dbg.h, srv0start.h:
Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
mysqld.cc, ha_innodb.cc:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri) 


sql/ha_innodb.cc:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
sql/mysqld.cc:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/include/srv0start.h:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/include/ut0dbg.h:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/ut/ut0dbg.c:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/ut/ut0mem.c:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
innobase/srv/srv0start.c:
  Changes for NetWare to exit the InnoDB gracefully instead of crashing the server (patch by PRam@novell.com, polished a little by Heikki Tuuri)
2004-08-18 01:48:01 +03:00
unknown
4648b523d0 Relaxed lock wait rules so that record lock does not need to wait for a
gap type lock.


innobase/lock/lock0lock.c:
  Record lock (LOCK_ORDINARY or LOCK_REC_NOT_GAP) does not need to wait for a
  gap type lock.
innobase/row/row0ins.c:
  Polishing.
2004-08-17 09:45:54 +03:00
unknown
6ca6579587 row0mysql.c:
Fix bug: if we RENAME a table, InnoDB forgot to load the foreign key constraints that reference the new table name, and forgot to check that they are compatible with the table


innobase/row/row0mysql.c:
  Fix bug: if we RENAME a table, InnoDB forgot to load the foreign key constraints that reference the new table name, and forgot to check that they are compatible with the table
2004-08-13 17:27:58 +03:00
unknown
86371fa220 Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1
2004-08-13 08:32:57 +03:00
unknown
a7bd2db618 This change includes optimization for a lock wait rules and a new behaviour for
a REPLACE command. 


innobase/lock/lock0lock.c:
  Gap type locks without LOCK_INSERT_INTENSION flag do not need to wait for
  anything. This is because different users can have conflicting lock types
  on gaps.
innobase/row/row0ins.c:
  The manual defines the REPLACE semantics that it is either an INSERT or 
  DELETE(s) for duplicate key + INSERT. Therefore, we take X-lock for 
  duplicates.
2004-08-12 13:38:10 +03:00
unknown
4b390e98c7 InnoDB: Make UNIV_LOG_DEBUG work
innobase/buf/buf0flu.c:
  buf_flush_write_block_low(): Warn about UNIV_LOG_DEBUG only once
innobase/log/log0recv.c:
  log_block_checksum_is_ok_or_old_format(): Disable the check
  if UNIV_LOG_DEBUG is defined
2004-08-11 16:04:37 +03:00
unknown
11b2557968 Take X-lock for duplicate keys in REPLACE command.
innobase/lock/lock0lock.c:
  Made change where lock on the supremum record is really a 'gap' type lock and
  gap type lock do not need to wait if it is not LOCK_INSERT_INTENSION type.
innobase/row/row0ins.c:
  Added fuction row_ins_set_exclusive_rec_lock to set exclusive lock on a record. 
  This function is used for locking possible duplicate key records when
  user has issued REPLACE-command.
  
  Because manual defines the REPLACE semantics that it is either an INSERT or 
  DELETE(s) for duplicate key + INSERT, we take X-lock directly for duplicate
  records to avoid unnecessary lock upgrades and deadlocks caused by lock 
  upgrades.
2004-08-11 13:01:30 +03:00
unknown
54552e8f65 os0file.c:
os_file_create_tmpfile(): display errno in case of failure


innobase/os/os0file.c:
  os_file_create_tmpfile(): display errno in case of failure
2004-08-10 16:11:34 +03:00
unknown
2c900be0ef InnoDB: Use create_temp_file() when available
innobase/include/os0file.h:
  Improve the comment of os_file_create_tmpfile()
innobase/os/os0file.c:
  os_file_create_tmpfile(): Use create_temp_file()
  via innobase_mysql_tmpfile() unless UNIV_HOTBACKUP is defined
sql/ha_innodb.cc:
  Added innobase_mysql_tmpfile(), a wrapper around create_temp_file()
2004-08-10 14:17:32 +03:00
unknown
dbf02c07ce row0mysql.c:
row_drop_table_for_mysql(): Removed a ut_ad() assertion that failed
  when a DROP TABLE is executed in the background.


innobase/row/row0mysql.c:
  row_drop_table_for_mysql(): Removed a ut_ad() assertion that failed
  when a DROP TABLE is executed in the background.
2004-08-09 15:38:40 +03:00
unknown
fc4364e350 InnoDB: Add option for disabling innodb_status.<pid> files.
InnoDB: Implement tmpfile() differently on Windows (Bug #3998)


innobase/dict/dict0dict.c:
  Check the return value of os_file_create_tmpfile(),
  as it can now return NULL
innobase/include/os0file.h:
  Note that os_file_create_tmpfile() can now return NULL
innobase/include/srv0srv.h:
  Add a new server flag (srv_innodb_status) to disable
  the creation of innodb_status.<pid> files
innobase/lock/lock0lock.c:
  Check the return value of os_file_create_tmpfile(),
  as it can now return NULL
innobase/os/os0file.c:
  os_file_create_tmpfile(): separate implementation for Win32;
  errors will be reported but will not cause assertion failure
innobase/srv/srv0srv.c:
  Add a new server flag (srv_innodb_status) to disable
  the creation of innodb_status.<pid> files
innobase/srv/srv0start.c:
  innobase_start_or_create_for_mysql(): create srv_monitor_file
  with tmpfile() or with a visible name "innodb_status.<pid>",
  depending on the setting of the flag srv_innodb_status.
sql/ha_innodb.cc:
  innobase_init(): initialize srv_innodb_status
  update_table_comment(), get_foreign_key_create_info(): replace
  tmpfile() with os_file_create_tmpfile()
sql/ha_innodb.h:
  Add new Boolean flag, innobase_create_status_file.
sql/mysqld.cc:
  Add new Boolean flag, innodb_status_file
2004-08-06 15:55:50 +03:00
unknown
b525356ad7 dyn0dyn.h:
dyn_array_open(): mention the size limit
mtr0log.ic, mtr0log.h:
  mlog_open(): mention the size limit


innobase/include/mtr0log.h:
  mlog_open(): mention the size limit
innobase/include/mtr0log.ic:
  mlog_open(): mention the size limit
innobase/include/dyn0dyn.h:
  dyn_array_open(): mention the size limit
2004-08-02 13:02:34 +03:00
unknown
aa755c8696 Merge marko@build.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.0
2004-07-30 17:37:43 +03:00
unknown
c4149d25ef fil0fil.c:
Restore accidentally deleted comment of fil_create_directory_for_tablename()


innobase/fil/fil0fil.c:
  Restore accidentally deleted comment of fil_create_directory_for_tablename()
2004-07-30 17:04:56 +03:00
unknown
5055d66bdf row0sel.c, page0page.ic:
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer


innobase/include/page0page.ic:
  Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
innobase/row/row0sel.c:
  Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
2004-07-30 17:02:26 +03:00
unknown
4c939a799c dict0crea.c:
Restore accidentally deleted comment to dict_create_sys_tables_tuple()


innobase/dict/dict0crea.c:
  Restore accidentally deleted comment to dict_create_sys_tables_tuple()
2004-07-30 16:58:25 +03:00
unknown
5e33eb8e73 buf0flu.c, os0file.c:
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer


innobase/os/os0file.c:
  Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
innobase/buf/buf0flu.c:
  Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
2004-07-27 19:14:50 +03:00
unknown
660bf87662 row0sel.c, page0page.ic:
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page


innobase/include/page0page.ic:
  Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
innobase/row/row0sel.c:
  Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
2004-07-27 09:00:17 +03:00
unknown
9891d05355 Merge jlindstrom@build.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/jan/mysql-4.1


innobase/include/srv0srv.h:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
2004-07-21 08:52:12 +03:00
unknown
238b226f26 Added innodb_locks_unsafe_for_binlog option. This option turns off Innodb
next-key locking. Using this option the locks InnoDB sets on index 
  records do not affect the ``gap'' before that index record. Thus, this option
  allows phantom problem.


innobase/include/srv0srv.h:
  Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
innobase/row/row0sel.c:
  If innodb_locks_unsafe_for_binlog option is used, we lock only the record, i.e. 
  next-key locking is not used. Therefore, setting lock to the index record
  do not affect the ``gap'' before that index record. Thus, this option
  allows phantom problem, because concurrent insert operations are allowed inside 
  the select range.
innobase/srv/srv0srv.c:
  Added srv_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.cc:
  Added innobase_locks_unsafe_for_binlog and srv_locks_unsafe_for_binlog for 
  innodb_locks_unsafe_for_binlog option.
sql/ha_innodb.h:
  Added innobase_locks_unsafe_for_binlog for innodb_locks_unsafe_for_binlog option.
sql/mysqld.cc:
  Added OPT_INNODB_LOCKS_UNSAFE_FOR_BINLOG, innobase_locks_unsafe_for_binlog for
  innodb_locks_unsafe_for_binlog option.
sql/set_var.cc:
  Added innodb_locks_unsafe_for_binlog and innobase_locks_unsafe_for_binlog for
  innodb_locks_unsafe_for_binlog option.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-07-20 14:15:38 +03:00
unknown
eee5f15b92 manual merged (blame me!)
Build-tools/Do-compile:
  Auto merged
Docs/Makefile.am:
  Auto merged
innobase/btr/btr0cur.c:
  Auto merged
innobase/include/lock0lock.h:
  Auto merged
innobase/include/row0mysql.h:
  Auto merged
innobase/include/srv0srv.h:
  Auto merged
innobase/include/sync0arr.h:
  Auto merged
innobase/include/trx0trx.h:
  Auto merged
innobase/lock/lock0lock.c:
  Auto merged
innobase/srv/srv0srv.c:
  Auto merged
innobase/srv/srv0start.c:
  Auto merged
innobase/sync/sync0arr.c:
  Auto merged
innobase/trx/trx0trx.c:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
mysql-test/r/innodb.result:
  to be fixed after the merge
2004-07-20 00:53:24 +02:00
unknown
139855210b InnoDB: limit the recursion depth for ON (UPDATE|DELETE) CASCADE
(Bug #4446)


innobase/row/row0ins.c:
  row_ins_foreign_check_on_constraint(): limit recursion for UPDATE too
mysql-test/r/innodb.result:
  Add test for recursion depth limit
mysql-test/t/innodb.test:
  Add test for recursion depth limit
2004-07-15 15:46:22 +03:00
unknown
9e6f619834 btr0cur.c:
Do not add + 1 to the InnoDB index cardinality estimate if the B-tree just contains one page; the fix made in March 2004 caused InnoDB systematically to overestimate the cardinality of empty or small tables by 1


innobase/btr/btr0cur.c:
  Do not add + 1 to the InnoDB index cardinality estimate if the B-tree just contains one page; the fix made in March 2004 caused InnoDB systematically to overestimate the cardinality of empty or small tables by 1
2004-07-15 09:08:51 +03:00
unknown
7ee050590f lock0lock.c:
Decrement n_lock_table_exp in lock_table_remove_low()
  instead of lock_table_dequeue().
  Do not empty lock_heap in lock_release_tables_off_kernel().


innobase/lock/lock0lock.c:
  Decrement n_lock_table_exp in lock_table_remove_low()
  instead of lock_table_dequeue().
  Do not empty lock_heap in lock_release_tables_off_kernel().
2004-07-13 12:30:34 +03:00
unknown
63c915c7b9 InnoDB: LOCK TABLES clean-up, part 2
innobase/lock/lock0lock.c:
  Decrement n_lock_table_exp in lock_table_dequeue(), not elsewhere
2004-07-12 17:14:13 +03:00
unknown
fbc420ba0e InnoDB: LOCK TABLE clean-up
innobase/include/lock0lock.h:
  Improve comments regarding LOCK_TABLE_EXP
innobase/include/row0mysql.h:
  Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
  and improve its comment
innobase/include/trx0trx.h:
  Rename n_tables_locked to n_lock_table_exp
innobase/lock/lock0lock.c:
  Rename n_tables_locked to n_lock_table_exp
  Increment n_lock_table_exp already in lock_table_create()
  Replace some ut_ad() assertions with ut_a()
innobase/row/row0mysql.c:
  Rename n_tables_locked to n_lock_table_exp
  Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
  and improve its comment
innobase/trx/trx0trx.c:
  Rename n_tables_locked to n_lock_table_exp
sql/ha_innodb.cc:
  Rename n_tables_locked to n_lock_table_exp
  Rename row_unlock_table_for_mysql() to row_unlock_tables_for_mysql()
2004-07-12 16:47:22 +03:00
unknown
7b6fc58fff InnoDB: Increment the lock wait watchdog timeout during CHECK TABLE
(Bug #2694)


innobase/include/srv0srv.h:
  Add srv_fatal_semaphore_wait_threshold
innobase/include/sync0arr.h:
  Improve comment of sync_array_print_long_waits()
innobase/row/row0mysql.c:
  Lengthen the srv_fatal_semaphore_wait_threshold by 2 hours during
  CHECK TABLE
innobase/srv/srv0srv.c:
  Add srv_fatal_semaphore_wait_threshold
innobase/sync/sync0arr.c:
  Improve comment of sync_array_print_long_waits().
  Replace the fixed timeout of 600 seconds with
  srv_fatal_semaphore_wait_threshold.
2004-07-12 15:13:18 +03:00
unknown
45485da702 srv0start.c:
innobase_start_or_create_for_mysql(): Rename innodb.status.<pid>
  to innodb_status.<pid> to avoid problems on VMS


innobase/srv/srv0start.c:
  innobase_start_or_create_for_mysql(): Rename innodb.status.<pid>
  to innodb_status.<pid> to avoid problems on VMS
2004-07-12 14:12:53 +03:00
unknown
c6e23c8549 Merge with 4.0 to get the latest bug patches to 4.1
BitKeeper/etc/ignore:
  added sql/mysql_tzinfo_to_sql
BitKeeper/etc/logging_ok:
  auto-union
acinclude.m4:
  Auto merged
extra/perror.c:
  Auto merged
include/mysql.h:
  Auto merged
innobase/include/mach0data.ic:
  Auto merged
innobase/include/mtr0log.h:
  Auto merged
innobase/include/mtr0log.ic:
  Auto merged
innobase/mem/mem0dbg.c:
  Auto merged
innobase/pars/lexyy.c:
  Auto merged
BitKeeper/deleted/.del-4.0.XX-gpl.ipr~f5909a9e9bd8094:
  Auto merged
BitKeeper/deleted/.del-Clients and Tools.fgl~bf0f776883577f02:
  Auto merged
BitKeeper/deleted/.del-Development.fgl~6392ce285e73f5fc:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/innodb_cache.result:
  Auto merged
mysql-test/r/lowercase_table2.result:
  Auto merged
mysql-test/t/innodb_cache.test:
  Auto merged
mysql-test/t/lowercase_table2.test:
  Auto merged
sql/ha_berkeley.cc:
  Auto merged
sql/handler.cc:
  Auto merged
scripts/make_win_src_distribution.sh:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
libmysql/libmysql.c:
  Merge with 4.0
mysql-test/r/bdb.result:
  Merge with 4.0
mysql-test/r/range.result:
  Merge with 4.0
mysql-test/t/bdb.test:
  Merge with 4.0
mysys/hash.c:
  Merge with 4.0
scripts/mysql_install_db.sh:
  Merge with 4.0
sql/field.cc:
  Merge with 4.0
sql/field.h:
  Merge with 4.0
sql/mysql_priv.h:
  Merge with 4.0
sql/sql_handler.cc:
  Merge with 4.0
sql/sql_select.cc:
  Merge with 4.0
sql/sql_table.cc:
  Merge with 4.0
2004-06-25 20:13:05 +03:00
unknown
86e4a750e0 Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-1717


client/mysqltest.c:
  Auto merged
innobase/trx/trx0sys.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
2004-06-23 23:52:49 +02:00
unknown
a331664dab lexyy.c, pars0lex.l:
Document the handling of quoted strings


innobase/pars/pars0lex.l:
  Document the handling of quoted strings
innobase/pars/lexyy.c:
  Document the handling of quoted strings
2004-06-22 16:15:58 +03:00
unknown
a6204676ee Merge marko@build.mysql.com:/home/bk/mysql-4.0
into hundin.mysql.fi:/home/marko/k/mysql-4.0
2004-06-21 11:06:45 +03:00
unknown
028dfdb3f7 merge
BitKeeper/etc/ignore:
  auto-union
BitKeeper/etc/logging_ok:
  auto-union
Build-tools/Do-compile:
  Auto merged
include/my_global.h:
  Auto merged
innobase/row/row0ins.c:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/subselect.result:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
innobase/fil/fil0fil.c:
  merge (Use heikki's code)
2004-06-21 10:24:40 +03:00
unknown
b5dfd05662 After merge fixes
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)


client/mysqltest.c:
  Added MAX_VAR_NAME which was lost in merge
  Added more debugging
  Fixed bug in 'eval'
innobase/data/data0type.c:
  After merge fix
innobase/fil/fil0fil.c:
  After merge fix
innobase/log/log0recv.c:
  After merge fix
myisam/mi_unique.c:
  Better checksum handling
mysql-test/r/func_time.result:
  Return NULL if a time argument is given to date_add()
mysql-test/r/rpl_free_items.result:
  After merge fix
mysql-test/r/rpl_get_lock.result:
  Test was depending on when server was restarted.
mysql-test/r/type_date.result:
  After merge fix
mysql-test/r/type_decimal.result:
  After merge fix
mysql-test/t/func_time.test:
  Removed comment that is not needed anymore
  (After Dimitri's timezone patch is pushed, we should get a warning for the date_add(time...) entry)
mysql-test/t/rpl_get_lock.test:
  Test was depending on when server was restarted.
mysql-test/t/type_date.test:
  Addded missing explanation for bug
netware/mysqld_safe.c:
  Removed end \r
  Run program through indent-ex to get MySQL indentation
sql-common/client.c:
  After merge fix
sql/field.cc:
  Fixed that get_date(time) gives a warning
sql/field.h:
  After merge fix
sql/net_serv.cc:
  More debugging (if DEBUG_DATA_PACKETS is set)
sql/sql_class.cc:
  Removed compiler warning
sql/table.cc:
  Better comment
2004-06-21 10:21:20 +03:00
unknown
3220a94519 Robustness feature.
Won't be pushed as is - separate email sent for internal review.
WL#1717 "binlog-innodb consistency".
Now when mysqld starts, if InnoDB does a crash recovery, we use the binlog name
and position retrieved from InnoDB (corresponding to the last transaction
successfully committed by InnoDB) to cut any rolled back transaction from
the binary log. This is triggered by the --innodb-safe-binlog option.
Provided you configure mysqld to fsync() InnoDB at every commit (using
flush_log_at_trx_commit) and to fsync() the binlog at every write
(using --sync-binlog=1), this behaviour guarantees that a master always has
consistency between binlog and InnoDB, whenever the crash happens.
6 tests to verify that it works.


client/mysqltest.c:
  New command require_os (only "unix" accepted for now).
innobase/include/trx0sys.h:
  when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
innobase/trx/trx0sys.c:
  when InnoDB does crash recovery, we now save the binlog coords it prints, into variables for later use.
mysql-test/mysql-test-run.sh:
  The tests which check that the binlog is cut at restart, need to not delete those binlogs, of course.
  And not delete replication info, so that we can test that the slave does not receive anything
  wrong from the cut binlog.
sql/ha_innodb.cc:
  methods to read from InnoDB the binlog coords stored into it
sql/ha_innodb.h:
  ethods to read from InnoDB the binlog coords stored into it
sql/log.cc:
  Added my_sync() when we create a binlog (my_sync of the binlog and of the index file);
  this is always done, whether --sync-binlog or not (binlog creation is rare, so no speed
  problem, and I like to have the existence of the binlog always reliably recorded, even if
  later content is not).
  If --crash-binlog-innodb, crash between the binlog write and the InnoDB commit.
  New methods:
  - report_pos_in_innodb() to store the binlog name and position into InnoDB (used only when
  we create a new binlog: at startup and at FLUSH LOGS)
  - cut_spurious_tail() to possibly cut the tail of a binlog based on the info we read
  from InnoDB (does something only if InnoDB has just done a crash recovery).
sql/mysql_priv.h:
  new option, to crash (use for testing only)
sql/mysqld.cc:
  New option --innodb-safe-binlog and --crash-binlog-innodb (the latter is for testing, it makes mysqld crash).
  Just after opening the logs and opening the storage engines, cut any wrong statement from the binlog, based
  on info read from InnoDB.
sql/sql_class.h:
  new methods for MYSQL_LOG.
2004-06-20 19:11:02 +02:00
unknown
94df4f36dd mem0dbg.c:
InnoDB with UNIV_MEM_DEBUG did not compile because a global variable was forgotten when we put back mem_print_info() functions 2 days ago; add that variable


innobase/mem/mem0dbg.c:
  InnoDB with UNIV_MEM_DEBUG did not compile because a global variable was forgotten when we put back mem_print_info() functions 2 days ago; add that variable
2004-06-19 12:12:00 +03:00
unknown
eac5455aa4 mach0data.ic, mach0data.h:
Improve documentation of mach_*write_*compressed()
mtr0log.ic, mtr0log.h:
  Improve documentation of mlog_write_initial_log_record_fast()


innobase/include/mtr0log.h:
  Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mtr0log.ic:
  Improve documentation of mlog_write_initial_log_record_fast()
innobase/include/mach0data.h:
  Improve documentation of mach_*write_*compressed()
innobase/include/mach0data.ic:
  Improve documentation of mach_*write_*compressed()
2004-06-18 15:54:19 +03:00