Commit graph

1292 commits

Author SHA1 Message Date
unknown
c55912b09e Applied innodb-5.0-ss547 snapshot.
Fix BUG#19542 "InnoDB doesn't increase the Handler_read_prev counter".


innobase/os/os0file.c:
  Applied innodb-5.0-ss547 snapshot.
   Check the page trailers also after writing to disk.
   This improves the chances of diagnosing Bug 18886.
   os_file_check_page_trailers(): New function for checking
   that two copies of the LSN stamped on the pages match.
   os_aio_simulated_handle(): Call os_file_check_page_trailers()
   before and after os_file_write().
sql/ha_innodb.cc:
  Applied innodb-5.0-ss547 snapshot.
   Increment statistic counter in ha_innobase::index_prev().
2006-05-15 18:02:21 +04:00
unknown
861b68def4 Applied innodb-5.0-ss521 snapshot.
Fixed BUG#19366: "consistent_snapshot.test fails".


innobase/include/dict0dict.ic:
  Applied innodb-5.0-ss521 snapshot.
   Remove too strict assertions from some dict_table_t
   accessor functions (bug #19366).
2006-05-04 00:32:34 +04:00
unknown
0b64b88257 Applied innodb-5.0-ss492 snapshot.
Fixed BUG#19217 "dict_load_indexes() may read the delete-mark incorrectly".


innobase/dict/dict0load.c:
  Applied innodb-5.0-ss492 snapshot.
   dict_load_indexes(): pass comp=0 to rec_get_deleted_flag(), because
   SYS_INDEXES always is in ROW_FORMAT=REDUNDANT (Bug #19217).
2006-04-26 07:50:29 +04:00
unknown
7ee05d7c71 Applied innodb-5.0-ss476 snapshot.
Fix BUG#18934: "InnoDB crashes when table uses column like DB_ROW_ID".
 Also, fix memory leaks in row_create_table_for_mysql() in rare
 corner cases.


innobase/dict/dict0dict.c:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
innobase/dict/dict0load.c:
  Applied innodb-5.0-ss476 snapshot.
   dict_load_table(): Refuse to load tables with other TYPE
   than DICT_TABLE_ORDINARY.
innobase/dict/dict0mem.c:
  Applied innodb-5.0-ss476 snapshot.
   Add dict_mem_table_free(), use it instead of duplicating
   the code everywhere.
innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-5.0-ss476 snapshot.
innobase/include/dict0dict.h:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column name (Bug#18934).
innobase/include/dict0mem.h:
  Applied innodb-5.0-ss476 snapshot.
   Add dict_mem_table_free(), use it instead of duplicating
   the code everywhere.
innobase/include/univ.i:
  Applied innodb-5.0-ss476 snapshot.
innobase/log/log0recv.c:
  Applied innodb-5.0-ss476 snapshot.
innobase/row/row0mysql.c:
  Applied innodb-5.0-ss476 snapshot.
   Refuse tables that use reserved column names (Bug#18934).
mysql-test/r/innodb.result:
  Applied innodb-5.0-ss476 snapshot.
   Fix result for test case for Bug#18934.
   (Other changes are to be restored by the next cset).
mysql-test/t/innodb.test:
  Applied innodb-5.0-ss476 snapshot.
   Fix result for test case for Bug#18934.
   (Removed test case for Bug#14360 is to be restored by the next cset).
2006-04-21 01:07:37 +04:00
unknown
f6ffb77cb4 Applied innodb-5.0-ss398 snapshot.
Fixed BUG#15650: DELETE with LEFT JOIN crashes server
 with innodb_locks_unsafe_for_binlog.
 Fixed compilation problem with non-C99 compilers
 in btr0sea.c


innobase/btr/btr0sea.c:
  Applied innodb-5.0-ss398 snapshot.
   Fix compilation problem with non-C99 compilers.
sql/ha_innodb.cc:
  Applied innodb-5.0-ss398 snapshot.
   Remove assertion ut_error which crashes the mysqld
   server if it prints a warning about the adaptive latch.
2006-04-01 01:54:15 +04:00
unknown
e40b76c970 btr0sea.c:
Added BTR_CHUNK_SIZE, removed 'chunk_size' declared after declaration block


innobase/btr/btr0sea.c:
  Added BTR_CHUNK_SIZE, removed 'chunk_size' declared after declaration block
2006-03-30 08:10:03 +02:00
unknown
fd6db50c0b Applied innodb-5.0-ss368 snapshot
Fixed bugs:
  #16814: SHOW INNODB STATUS format error in LATEST FOREIGN KEY ERROR section
    dict_foreign_key_error_report(): Always print a newline after invoking
    dict_print_info_on_foreign_key_in_create_format().
  #16827: Better InnoDB error message if ibdata files omitted from my.cnf.
  #17126: CHECK TABLE on InnoDB causes a short hang during check of adaptive hash.
    CHECK TABLE blocking other queries, by releasing the btr_search_latch
    periodically during the adaptive hash table validation.
  #17405: Valgrind: conditional jump or move depends on uninitialised valuesw.
    buf_block_init(): Reset magic_n, buf_fix_count, and io_fix to avoid testing
    uninitialised variables.
  #18077: InnoDB uses full explicit table locks in stored FUNCTION.
  #18238: When locks exhaust the buffer pool, InnoDB does not roll back the trx.
    Check in pessimistic insert and update if the buffer pool is exhausted by locks.
  #18252: Disk space leaks in updates of InnoDB BLOB rows.
    btr_cur_pessimistic_update(): Invoke rec_get_offset() after rec_set_field_extern_bits().
    btr_store_big_rec_extern_fields(): Note that offsets will no longer be valid
    after calling this function.
  #18283: When InnoDB returns error 'lock table full', MySQL can write to binlog too much.
  #18384: InnoDB memory leak on duplicate key errors if row has many columns.
    row_ins_duplicate_error_in_clust(): Call mem_heap_free(heap) at func_exit if needed.
  #18350: Use consistent read in CREATE ... SELECT .. if innodb_locks_unsafe_for_binlog is used.


innobase/btr/btr0cur.c:
  Applied innodb-5.0-ss368 snapshot
innobase/btr/btr0sea.c:
  Applied innodb-5.0-ss368 snapshot
innobase/buf/buf0buf.c:
  Applied innodb-5.0-ss368 snapshot
innobase/buf/buf0lru.c:
  Applied innodb-5.0-ss368 snapshot
innobase/data/data0type.c:
  Applied innodb-5.0-ss368 snapshot
    dtype_print(): Fix printing of prtype.
innobase/dict/dict0dict.c:
  Applied innodb-5.0-ss368 snapshot
innobase/fil/fil0fil.c:
  Applied innodb-5.0-ss368 snapshot
    fil_extend_space_to_desired_size(): in UNIV_HOTBACKUP builds,
    do not touch srv_data_file_sizes[] or srv_n_data_files.
innobase/ha/ha0ha.c:
  Applied innodb-5.0-ss368 snapshot
innobase/include/btr0cur.h:
  Applied innodb-5.0-ss368 snapshot
innobase/include/buf0lru.h:
  Applied innodb-5.0-ss368 snapshot
innobase/include/ha0ha.h:
  Applied innodb-5.0-ss368 snapshot
innobase/include/page0page.ic:
  Applied innodb-5.0-ss368 snapshot
    Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
innobase/include/univ.i:
  Applied innodb-5.0-ss368 snapshot
    Remove UNIV_RELEASES_NOT_YET_STABLE and related checks.
innobase/row/row0ins.c:
  Applied innodb-5.0-ss368 snapshot
innobase/row/row0sel.c:
  Applied innodb-5.0-ss368 snapshot
    Remove UNIV_RELEASE_NOT_YET_STABLE and related checks.
    page_rec_is_comp(): Remove the bounds check.
    row_sel_field_store_in_mysql_format(): Turn the assertions
    on mbminlen, mbmaxlen, and templ->type into debug assertions.
innobase/row/row0upd.c:
  Applied innodb-5.0-ss368 snapshot
mysql-test/t/innodb.test:
  Applied innodb-5.0-ss368 snapshot
sql/ha_innodb.cc:
  Applied innodb-5.0-ss368 snapshot
    Fix memory allocation bug (by changing MY_WME to MY_FAE) in get_share.
    Also partially fix coding style of the function.
2006-03-29 23:04:32 +04:00
unknown
6a9a96dc61 Fixed: BUG#15653, BUG#16157, BUG#16229, BUG#16298, BUG#16387, BUG#16582.
Applied innodb-5.0-ss149/162 snapshots.


innobase/btr/btr0sea.c:
  Applied innodb-5.0-149/162 snapshots.
    Account for a race condition when dropping the adaptive hash
    index for a B-tree page (Bug #16582).
    btr_search_drop_page_hash_index(): Retry the operation if a
      hash index with different parameters was built meanwhile.
      Add diagnostics for the case that hash node pointers to
      the page remain. This fix is from Heikki.
    btr_search_info-update_hash(), btr_search_info_update_slow():
      Document the parameter "info" as in/out.
innobase/dict/dict0dict.c:
  Applied innodb-5.0-149/162 snapshots.
    Do not mistake TABLENAME_ibfk_0 for auto generated id (Bug #16387).
    dict_table_get_highest_foreign_id(): Ignore foreign constraint
      identifiers starting with the pattern TABLENAME_ibfk_0.
innobase/dict/dict0load.c:
  Applied innodb-5.0-149/162 snapshots.
    dict_load_columns(): Set the charset-collation code
    DATA_MYSQL_BINARY_CHARSET_COLL for those binary string columns
    that lack a charset-collation code, i.e., the tables were created
    with an older version of MySQL/InnoDB than 4.1.2 (Bug #16298).
innobase/fil/fil0fil.c:
  Applied innodb-5.0-149/162 snapshots.
    Keep track on unflushed modifications to file spaces. When there
    are tens of thousands of file spaces, flushing all files in
    fil_flush_file_spaces() would be very slow (Bug #15653).
    fil_flush_file_spaces(): Only flush unflushed file spaces.
    fil_space_t, fil_system_t: Add a list of unflushed spaces.
innobase/include/univ.i:
  Applied innodb-5.0-149/162 snapshots.
    Avoid breaking --with-debug builds on QNS and other systems
    whose compiler pretends to be GCC 2.
    Outside __WIN__ define UNIV_INLINE as static inline.
innobase/os/os0sync.c:
  Applied innodb-5.0-149/162 snapshots.
    Replace goto in os_event_wait with a normal loop.
innobase/srv/srv0start.c:
  Applied innodb-5.0-149/162 snapshots.
    Fix bug #16157, a crash when innodb_log_group_home_dir is set
    to an empty string. This patch is from Heikki.
mysql-test/r/innodb.result:
  Applied innodb-5.0-149/162 snapshots.
    Fixed results for added test cases.
mysql-test/t/innodb.test:
  Applied innodb-5.0-149/162 snapshots.
    Added test cases.
sql/ha_innodb.cc:
  Applied innodb-5.0-149/162 snapshots.
    Remove some declarations of unused global variables and member
      variables of class ha_innobase.
    Added diagnostic code trx_print() to
      innobase_query_caching_of_table_permitted() to find reason
      why we are holding adaptive search latch.
    Fixed bug #16229 MySQL/InnoDB uses full explicit table locks
      in trigger processing. Take a InnoDB table lock only if user
      has explicitly requested a table lock. Added some additional
      comments to store_lock() and external_lock(). Fixed some
      code style errors.
    Remember to use noninlined versions of the functions on
      ha_innodb.cc !
sql/ha_innodb.h:
  Applied innodb-5.0-149/162 snapshots.
    Remove some declarations of unused global variables and member
    variables of class ha_innobase.
2006-01-31 21:41:48 +03:00
unknown
8482d14742 Merge mysql.com:/home/alexi/innodb/mysql-4.1-ss20
into  mysql.com:/home/alexi/innodb/mysql-5.0-ss20


innobase/btr/btr0sea.c:
  Null merged
innobase/fil/fil0fil.c:
  Null merged
2006-01-30 22:52:15 +03:00
unknown
8eaf6f1177 Fixed BUG#15653, BUG#16582.
Applied innodb-4.1-ss20 snapshot.


innobase/btr/btr0sea.c:
  Applied innodb-4.1-ss20 snapshot.
    Account for a race condition when dropping the adaptive
    hash index for a B-tree page (Bug #16582).
    btr_search_drop_page_hash_index(): Retry the operation if a hash
    index with different parameters was built meanwhile. Add
    diagnostics for the case that hash node pointers to the page
    remain. This fix is from Heikki.
    btr_search_info_update_hash(), btr_search_info_update_slow():
    Document the parameter "info" as in/out.
innobase/fil/fil0fil.c:
  Applied innodb-4.1-ss20 snapshot.
    Keep track on unflushed modifications to file spaces. When
    there are tens of thousnads of file spaces, flushing all files
    in fil_flush_file_spaces() would be very slow (Bug #16582).
    fil_flush_file_spaces(): Only flush unflushed file spaces.
    fil_space_t, fil_system_t: Add a list of unflushed spaces.
innobase/include/btr0sea.ic:
  Applied innodb-4.1-ss20 snapshot.
    btr_search_info_update_hash(), btr_search_info_update_slow():
    Document the parameter "info" as in/out.
2006-01-30 22:33:02 +03:00
unknown
cc47eb7791 Fixed BUG#16387.
Applied innodb-4.1-ss17 snapshot.
  Do not mistake TABLENAME_ibfk_0 for auto-generated id.


innobase/dict/dict0dict.c:
  Applied innodb-4.1-ss17 snapshot.
    dict_table_get_highest_foreign_id(): Ignore foreign
    constraint identifiers starting with the pattern
    TABLENAME_ibfk_0 (BUG#16387).
mysql-test/r/innodb.result:
  Applied innodb-4.1-ss17 snapshot.
    Fixed results for added test case.
mysql-test/t/innodb.test:
  Applied innodb-4.1-ss17 snapshot.
    Added test case.
2006-01-30 15:17:33 +03:00
unknown
e3f0690d9b Applied patch recieved from Marko:
Make innodb_thread_concurrency 0 by default, and extend the usable
 range from 0 to 1000 (0 disables the thread throttling).


innobase/include/srv0srv.h:
  Remove SRV_CONCURRENCY_THRESHOLD. The magic value is 0 from now on.
innobase/srv/srv0srv.c:
  Remove SRV_CONCURRENCY_THRESHOLD. The magic value is 0 from now on.
mysql-test/r/innodb.result:
  innodb_thread_concurrency is 0..1000 now, and the default is 0.
mysql-test/t/innodb.test:
  innodb_thread_concurrency is 0..1000 now.
sql/ha_innodb.cc:
  Remove SRV_CONCURRENCY_THRESHOLD. The magic value is 0 from now on.
sql/mysqld.cc:
  innodb_thread_concurrency is 0..1000 now, and 0 (the default)
   disables the thread throttling.
2006-01-18 15:20:56 +03:00
unknown
74f499fade Applied patch recieved from Marko:
Make innodb_flush_log_at_trx_commit a settable global variable.


innobase/include/srv0srv.h:
  Change the type of srv_flush_log_at_trx_commit.
innobase/srv/srv0srv.c:
  Change the type of srv_flush_log_at_trx_commit.
sql/ha_innodb.cc:
  Remove innobase_flush_log_at_trx_commit.
   (Set srv_flush_log_at_trx_commit directly).
sql/ha_innodb.h:
  Remove innobase_flush_log_at_trx_commit.
   (Set srv_flush_log_at_trx_commit directly).
sql/mysqld.cc:
  Bypass the variable innobase innobase_flush_log_at_trx_commit.
sql/set_var.cc:
  Make innodb_flush_log_at_trx_commit a settable global variable.
2006-01-18 15:02:03 +03:00
unknown
7bafd119a3 Changes from the innodb-5.0-ss115 snapshot.
Fixed bugs:
 BUG#15991: "innodb-file-per-table + symlink database + rename = crash"
 BUG#15650: "DELETE with LEFT JOIN crashes server"
 BUG#15308: "Problem of Order with Enum Column in Primary Key"
 BUG#14189: "VARBINARY and BINARY variables: trailing space ignored"


innobase/include/data0type.h:
  Changes from the innodb-5.0-ss115 snapshot.
innobase/include/data0type.ic:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #14189. dtype_get_pad_char(): Do not pad VARBINARY
   or BINARY cloumns.
innobase/include/lock0lock.h:
  Changes from the innodb-5.0-ss115 snapshot.
innobase/include/os0file.h:
  Changes from the innodb-5.0-ss115 snapshot.
   os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and
   EISDIR to the new code OS_FILE_PATH_ERROR. Treat this code as
   OS_FILE_PATH_ERROR. This fixes the crash on RENAME TABLE when
   the .ibd file is a symbolic link to a different file system
   (bug#15991).
innobase/include/row0mysql.h:
  Changes from the innodb-5.0-ss115 snapshot.
innobase/lock/lock0lock.c:
  Changes from the innodb-5.0-ss115 snapshot.
   lock_rec_unlock(): Initialize local variable release_lock,
   in order to avoid dereferencing an uninitialized pointer
   when no lock exists on rec.
innobase/os/os0file.c:
  Changes from the innodb-5.0-ss115 snapshot.
   os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and
     EISDIR to the new code OS_FILE_PATH_ERROR. Treat this code as
     OS_FILE_PATH_ERROR. This fixes the crash on RENAME TABLE when
     the .ibd file is a symbolic link to a different file system
     (bug#15991).
   Protect the increment and decrement operations on the statistic
     variables os_n_pending_writes/reads with os_file_count_mutes.
innobase/row/row0ins.c:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #14189. row_ins_cascade_calc_update_vec(): Refuse
   ON UPDATE_CASCADE when trying to change the length of of a
   VARBINARY column that refers to or is referenced by a BINARY
   column. BINARY columns are no longer padded on comparison,
   and thus they cannot be padded on storage either.
innobase/row/row0mysql.c:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug on unlock_row. In a unlock_row we may unlock
   only the latest lock granted to this transaction to the row.
innobase/row/row0sel.c:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #15308.
   Fixed bug #14189: innobase_init(): Assert that
     DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
   After review fixes for unlock bug where unlock released all
     locks transaction requested for a row. Only a latest requested
     lock to a row should be released. Update function comments to
     reflect current state. Persistent cursor should be stored
     whenever select lock type != LOCK_NONE.
innobase/trx/trx0trx.c:
  Changes from the innodb-5.0-ss115 snapshot.
   trx_commit_off_kernel(): Do not write empty trx->mysql_log_file_name.
mysql-test/r/innodb.result:
  Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb.test:
  Changes from the innodb-5.0-ss115 snapshot.
sql/ha_innodb.cc:
  Changes from the innodb-5.0-ss115 snapshot.
   Fixed bug #15308.
   Fixed bug #14189: innobase_init(): Assert that
     DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
   After review fixes for unlock bug where unlock released all
     locks transaction requested for a row. Only a latest requested
     lock to a row should be released. Update function comments to
     reflect current state. Persistent cursor should be stored
     whenever select lock type != LOCK_NONE.
mysql-test/r/innodb_unsafe_binlog.result:
  Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb_unsafe_binlog-master.opt:
  Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb_unsafe_binlog.test:
  Changes from the innodb-5.0-ss115 snapshot.
   Added testcases for bug #15650.
2006-01-16 14:32:43 +03:00
unknown
5497a05a98 Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
 causes "Can't find record.."
 Also fixed bug 15991.


innobase/include/os0file.h:
  Changes from innodb-4.1-ss14 snapshot
   os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
   to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
   This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
   link to a different file system. (Bug 15991)
innobase/os/os0file.c:
  Changes from innodb-4.1-ss14 snapshot
   os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
   to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
   This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
   link to a different file system. (Bug 15991)
mysql-test/r/innodb.result:
  Changes from innodb-4.1-ss14 snapshot
   Fixed BUG#14056: Column prefix index on UTF-8 primary key
   causes "Can't find record.."
mysql-test/t/innodb.test:
  Changes from innodb-4.1-ss14 snapshot
   Fixed BUG#14056: Column prefix index on UTF-8 primary key
   causes "Can't find record.."
sql/ha_innodb.cc:
  Changes from innodb-4.1-ss14 snapshot
   Fixed BUG#14056: Column prefix index on UTF-8 primary key
   causes "Can't find record.."
2006-01-15 14:50:47 +03:00
unknown
a48380cd9a Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0


client/mysqlimport.c:
  Auto merged
include/config-netware.h:
  Auto merged
innobase/os/os0thread.c:
  Auto merged
netware/mysqld_safe.c:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/mysqld.cc:
  Merged from 4.1.
sql/sql_base.cc:
  Merged from 4.1.
sql/sql_handler.cc:
  Merged from 4.1.
sql/sql_select.cc:
  Merged from 4.1.
2006-01-12 20:28:23 +02:00
unknown
1665d23707 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.0
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1


include/config-netware.h:
  Auto merged
innobase/os/os0thread.c:
  Auto merged
netware/mysqld_safe.c:
  Merge from 4.0 to 4.1
sql/mysqld.cc:
  Merge from 4.0 to 4.1
2006-01-12 17:47:58 +02:00
unknown
2946f9a64f NetWare specific change to increase thread stack size.
Changes to Netware specific mysqld_safe.c


include/config-netware.h:
  NetWare specific change to increase thread stack size.
innobase/os/os0thread.c:
  NetWare specific change to increase thread stack size.
netware/mysqld_safe.c:
  NetWare specific change to make multiple mysqld_safe instances
  work when called through a NCF file.
sql/mysqld.cc:
  NetWare specific change to increase thread stack size.
2006-01-12 15:10:12 +02:00
unknown
778d212b8c Fix BUG#12071: "Windows hang:'Opening tables' or 'Waiting for
table' lockup".
 Changes from the innodb-5.0-ss92 snapshot.
 Do not call os_file_create_tmpfile() at runtime. Instead, create
 all tempfiles at startup and guard access to them with mutexes.


innobase/btr/btr0sea.c:
  Changes from the innodb-5.0ss92 snapshot.
innobase/include/buf0buf.h:
  Changes from the innodb-5.0ss92 snapshot.
innobase/include/os0file.h:
  Changes from the innodb-5.0ss92 snapshot.
innobase/include/srv0srv.h:
  Changes from the innodb-5.0ss92 snapshot.
innobase/row/row0ins.c:
  Changes from the innodb-5.0ss92 snapshot.
innobase/srv/srv0srv.c:
  Changes from the innodb-5.0ss92 snapshot.
innobase/srv/srv0start.c:
  Changes from the innodb-5.0ss92 snapshot.
mysql-test/r/innodb.result:
  Changes from the innodb-5.0ss92 snapshot.
mysql-test/t/innodb.test:
  Changes from the innodb-5.0ss92 snapshot.
sql/ha_innodb.cc:
  Changes from the innodb-5.0ss92 snapshot.
2005-12-13 21:35:24 +03:00
unknown
8e3f95b555 Fix BUG#12071: "Windows hang: 'Opening tables' or 'Waiting for
table' lockup".
 Changes from the innodb-4.1-ss11 snapshot.
 Do not call os_file-create_tmpfile() at runtime. Instead, create
 a tempfile at startup and guard access to it with a mutex.
 Also, fix bugs:
 10511: "Wrong padding of UCS2 CHAR columns in ON UPDATE CASCADE";
 13778: "If FOREIGN_KEY_CHECKS=0, one can create inconsistent FOREIGN
 KEYs". When FOREIGN_KEY_CHECKS=0 we still need to check that
 datatypes between foreign key references are compatible.
 Also, added test cases (also for bug 9802).


innobase/dict/dict0dict.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/dict/dict0load.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/dict0dict.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/dict0load.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/os0file.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/rem0cmp.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/srv0srv.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/rem/rem0cmp.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/row/row0ins.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/row/row0mysql.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/srv/srv0srv.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/srv/srv0start.c:
  Changes from the innodb-4.1-ss11 snapshot
libmysqld/ha_blackhole.cc:
  Changes from the innodb-4.1-ss11 snapshot
mysql-test/r/innodb.result:
  Changes from the innodb-4.1-ss11 snapshot
mysql-test/t/innodb.test:
  Changes from the innodb-4.1-ss11 snapshot
sql/ha_innodb.cc:
  Changes from the innodb-4.1-ss11 snapshot
2005-12-12 21:06:59 +03:00
unknown
b83c29766c Fix BUG#14747: "Race condition can cause btr_search_drop_page_hash_index()
to crash".
 Changes from snapshot innodb-5.0-ss52.
 Note that buf_block_t::index should be protected by btr_search_latch
 or an s-latch or x-latch on the index page.
 btr_search_drop_page_hash_index(): Read block->index while holding
 btr_search_latch and use the cached value in the loop. Remove some
 redundant assertions.
 Also fix 13778. When FOREIGN_KEY_CHECKS=0 we still need to check that
 datatypes between foreign key references are compatible.
 Also added test cases to 9802.


innobase/btr/btr0sea.c:
  Changes from innodb-5.0-ss52
innobase/dict/dict0dict.c:
  Changes from innodb-5.0-ss52
innobase/dict/dict0load.c:
  Changes from innodb-5.0-ss52
innobase/include/buf0buf.h:
  Changes from innodb-5.0-ss52
innobase/include/dict0dict.h:
  Changes from innodb-5.0-ss52
innobase/include/dict0load.h:
  Changes from innodb-5.0-ss52
innobase/include/rem0cmp.h:
  Changes from innodb-5.0-ss52
innobase/rem/rem0cmp.c:
  Changes from innodb-5.0-ss52
innobase/row/row0mysql.c:
  Changes from innodb-5.0-ss52
mysql-test/r/innodb.result:
  Changes from innodb-5.0-ss52
mysql-test/t/innodb.test:
  Changes from innodb-5.0-ss52
sql/ha_innodb.cc:
  Changes from innodb-5.0-ss52
sql/ha_innodb.h:
  Changes from innodb-5.0-ss52
2005-12-06 22:02:40 +03:00
unknown
00a275e53c Fix BUG#10511: Wrong padding of UCS2 CHAR columns in
ON UPDATE CASCADE


innobase/row/row0ins.c:
  Patch from Marko is applied
2005-10-28 17:16:22 +04:00
unknown
7911c50718 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-tmp


heap/_check.c:
  Auto merged
heap/hp_create.c:
  Auto merged
include/config-netware.h:
  Auto merged
include/my_base.h:
  Auto merged
include/my_handler.h:
  Auto merged
include/myisam.h:
  Auto merged
innobase/include/Makefile.am:
  Auto merged
myisam/mi_check.c:
  Auto merged
myisam/mi_delete.c:
  Auto merged
myisam/mi_rnext_same.c:
  Auto merged
myisam/mi_search.c:
  Auto merged
myisam/mi_write.c:
  Auto merged
myisam/myisamdef.h:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/date_formats.result:
  Auto merged
mysql-test/r/update.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/update.test:
  Auto merged
mysys/my_getopt.c:
  Auto merged
mysys/my_handler.c:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/records.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/structs.h:
  Auto merged
strings/conf_to_src.c:
  Auto merged
strings/ctype-win1250ch.c:
  Auto merged
Makefile.am:
  Merged from 4.1
myisam/myisamchk.c:
  Merged from 4.1
mysql-test/mysql-test-run.pl:
  Merged from 4.1
mysql-test/r/insert_select.result:
  Merged from 4.1
mysql-test/r/myisam.result:
  Merged from 4.1
mysql-test/r/select.result:
  Merged from 4.1
mysql-test/t/insert_select.test:
  Merged from 4.1
mysql-test/t/myisam.test:
  Merged from 4.1
netware/mysql_test_run.c:
  Merged from 4.1
sql/item.cc:
  Merged from 4.1
sql/mysqld.cc:
  Merged from 4.1
sql/sql_update.cc:
  Merged from 4.1
tests/mysql_client_test.c:
  Merged from 4.1
2005-10-27 23:43:20 +03:00
unknown
d1d49ce14c Removed innobase/my_cnf, innobase/include/makefilewin.i,
and innobase/*/makefilewin (which are unused now).


BitKeeper/deleted/.del-makefilewin.i~5c8479dcb8a455b2:
  Delete: innobase/include/makefilewin.i
BitKeeper/deleted/.del-makefilewin~78000390c783b1c5:
  Delete: innobase/btr/makefilewin
BitKeeper/deleted/.del-makefilewin~2fc379bd4065c995:
  Delete: innobase/buf/makefilewin
BitKeeper/deleted/.del-makefilewin~d37b6b303348c871:
  Delete: innobase/data/makefilewin
BitKeeper/deleted/.del-makefilewin~5104767c73775697:
  Delete: innobase/dict/makefilewin
BitKeeper/deleted/.del-makefilewin~d90f35fdc3f2ee5f:
  Delete: innobase/dyn/makefilewin
BitKeeper/deleted/.del-makefilewin~c7b621c745e5de95:
  Delete: innobase/eval/makefilewin
BitKeeper/deleted/.del-makefilewin~4d139e182457e553:
  Delete: innobase/fil/makefilewin
BitKeeper/deleted/.del-makefilewin~d1a9d1f7d33fcb73:
  Delete: innobase/fsp/makefilewin
BitKeeper/deleted/.del-makefilewin~ef3a208fa0e9b0db:
  Delete: innobase/fut/makefilewin
BitKeeper/deleted/.del-makefilewin~f1e3b890aa1c9ea3:
  Delete: innobase/ha/makefilewin
BitKeeper/deleted/.del-makefilewin~1c53f31b88dd36e:
  Delete: innobase/ibuf/makefilewin
BitKeeper/deleted/.del-makefilewin~7a9d7d5a42bbfaf5:
  Delete: innobase/lock/makefilewin
BitKeeper/deleted/.del-makefilewin~b643e38d8da389ac:
  Delete: innobase/log/makefilewin
BitKeeper/deleted/.del-makefilewin~a40ea12eebdd6ef0:
  Delete: innobase/mach/makefilewin
BitKeeper/deleted/.del-makefilewin~1dbc058d76ebf1db:
  Delete: innobase/mem/makefilewin
BitKeeper/deleted/.del-makefilewin~6ba64863bce3d0b8:
  Delete: innobase/mtr/makefilewin
BitKeeper/deleted/.del-makefilewin~15e9e5c9e8fa870b:
  Delete: innobase/os/makefilewin
BitKeeper/deleted/.del-makefilewin~aeea7c82f21f7cf5:
  Delete: innobase/page/makefilewin
BitKeeper/deleted/.del-makefilewin~dea10ec1c94f7be:
  Delete: innobase/pars/makefilewin
BitKeeper/deleted/.del-makefilewin~608ed49dcd88e0f7:
  Delete: innobase/que/makefilewin
BitKeeper/deleted/.del-makefilewin~2e0407fe123f8365:
  Delete: innobase/read/makefilewin
BitKeeper/deleted/.del-makefilewin~fdda94ad32fa9e34:
  Delete: innobase/rem/makefilewin
BitKeeper/deleted/.del-makefilewin~dc4b8ad5ea53bd:
  Delete: innobase/row/makefilewin
BitKeeper/deleted/.del-makefilewin~63acd666293282a:
  Delete: innobase/srv/makefilewin
BitKeeper/deleted/.del-makefilewin~13888739357b3025:
  Delete: innobase/sync/makefilewin
BitKeeper/deleted/.del-makefilewin~c8273a47b90f52bb:
  Delete: innobase/thr/makefilewin
BitKeeper/deleted/.del-makefilewin~f4b7b99a887b7de:
  Delete: innobase/trx/makefilewin
BitKeeper/deleted/.del-makefilewin~72a64128bacce71b:
  Delete: innobase/usr/makefilewin
BitKeeper/deleted/.del-makefilewin~389ee2dcf79afb79:
  Delete: innobase/ut/makefilewin
BitKeeper/deleted/.del-makefilewin~14f24a4a173e2fcd:
  Delete: innobase/makefilewin
BitKeeper/deleted/.del-my_cnf~977f69858affc57b:
  Delete: innobase/my_cnf
innobase/include/Makefile.am:
  Removed ref to Makefilewin.i (it is unused now).
2005-10-26 20:06:08 +04:00
unknown
955798d26a BUG#13900 DATETIME data changes after inserting a new row in a InnoDB table
Applying patch from Marko.
All tests pass in pentium-debug-max build on Linux.


innobase/include/rem0rec.h:
  BUG#13900 DATETIME data changes after inserting a new row in a InnoDB table
  Applying patch from Marko.
innobase/include/rem0rec.ic:
  BUG#13900 DATETIME data changes after inserting a new row in a InnoDB table
  Applying patch from Marko.
innobase/row/row0upd.c:
  BUG#13900 DATETIME data changes after inserting a new row in a InnoDB table
  Applying patch from Marko.
2005-10-17 14:11:37 -04:00
unknown
df76450716 Merge msdesk.(none):/home/msvensson/mysql-4.1
into  msdesk.(none):/home/msvensson/mysql-5.0


BUILD/SETUP.sh:
  Auto merged
BitKeeper/deleted/.del-ctype-cp932.c:
  Auto merged
BitKeeper/deleted/.del-ctype_cp932.result:
  Auto merged
BitKeeper/deleted/.del-ctype_cp932.test:
  Auto merged
BitKeeper/deleted/.del-ndb_range_bounds.pl~ff7e47a35fb44c74:
  Auto merged
innobase/os/os0sync.c:
  Auto merged
mysql-test/r/ctype_tis620.result:
  Auto merged
mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_uca.test:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/ctype_ujis.test:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
strings/ctype-big5.c:
  Auto merged
strings/ctype-gbk.c:
  Auto merged
strings/ctype-simple.c:
  Auto merged
strings/ctype-sjis.c:
  Auto merged
strings/ctype-ucs2.c:
  Auto merged
client/mysql.cc:
  Sam change in both 4.1 and 5.0
mysql-test/r/ctype_uca.result:
  Merge
mysql-test/r/ctype_ujis.result:
  Merge
strings/ctype-mb.c:
  Merge
strings/ctype-tis620.c:
  Merge
2005-10-06 14:40:18 +02:00
unknown
8d31718c5b os0sync.c:
Add diagnostic code to track an assertion failure of 0 == pthread_mutex_destroy(); this was reported on the MySQL mailing list Sept 23, 2005


innobase/os/os0sync.c:
  Add diagnostic code to track an assertion failure of 0 == pthread_mutex_destroy(); this was reported on the MySQL mailing list Sept 23, 2005
2005-10-03 00:05:50 +03:00
unknown
bf7fe05f9c Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/revcpy
2005-09-29 13:39:27 +03:00
unknown
b2d8eb02a7 InnoDB: Fix potential buffer underflow.
innobase/include/ut0mem.h:
  Add ut_strlcpy_rev.
innobase/mem/mem0mem.c:
  Use ut_strlcpy_rev instead of buggy own implementation.
innobase/ut/ut0mem.c:
  Add ut_strlcpy_rev.
2005-09-29 13:02:18 +03:00
unknown
612b9cebb2 Minor corrections to InnoDB function comments
innobase/include/mem0mem.h:
  Correct the comment of mem_heap_create_func().
innobase/include/mem0mem.ic:
  Correct the comment of mem_heap_create_func().
sql/ha_innodb.cc:
  Correct comments regarding return value
2005-09-29 12:37:27 +03:00
unknown
871a1c223d Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/13497
2005-09-28 14:40:02 +03:00
unknown
a11fc7341c InnoDB: Remove compiler warnings.
innobase/os/os0proc.c:
  Add UT_NOT_USED for parameters in dummy implementations of AWE functions.
sql/ha_innodb.cc:
  Tweak casts to eliminate compiler warnings.
2005-09-28 14:26:33 +03:00
unknown
1a49a7a1d0 InnoDB: Print better error message when log files are missing/corrupt
(bug #13497).


innobase/buf/buf0buf.c:
  Print better error message when log files are missing/corrupt.
2005-09-28 11:14:25 +03:00
unknown
fe3e77d88a Merge osalerma@bk-internal.mysql.com:/home/bk/mysql-5.0
into  127.(none):/home/osku/mysql/5.0/clean
2005-09-27 16:04:26 +03:00
unknown
6fa0ed403d Merge akopytov@bk-internal.mysql.com:/home/bk/mysql-5.0
into polly.local:/home/kaa/src/mysql-5.0
2005-09-27 14:28:47 +04:00
unknown
912317f3e7 Fix for bug #13367, post-review changes 2005-09-27 13:37:20 +04:00
unknown
bb292ca139 InnoDB: Fix compile warning.
innobase/include/trx0trx.h:
  Change trx_set_detailed_error's second argument to const char*.
innobase/trx/trx0trx.c:
  Change trx_set_detailed_error's second argument to const char*.
2005-09-27 09:42:41 +03:00
unknown
aeca681be4 Fix for bug #13367 2005-09-26 19:24:31 +04:00
unknown
3d23a2344f InnoDB: Handle temporary file creation failure more gracefully.
innobase/row/row0ins.c:
  Don't assert on temp file creation failure.
2005-09-26 13:24:01 +03:00
unknown
611dc88c16 row0ins.c:
Fix a compilation error: Visual C++ does not seem to allow variable declaration in the middle of a program block


innobase/row/row0ins.c:
  Fix a compilation error: Visual C++ does not seem to allow variable declaration in the middle of a program block
2005-09-23 21:36:07 +03:00
unknown
ce8af21694 Merge 127.(none):/home/osku/mysql/5.0/clean
into  127.(none):/home/osku/mysql/5.0/3443


innobase/dict/dict0dict.c:
  Auto merged
innobase/include/trx0trx.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
mysql-test/r/innodb.result:
  Merge fixes.
mysql-test/t/innodb.test:
  Merge fixes.
2005-09-23 16:44:25 +03:00
unknown
e4b0b0d00c Fix bug #3443, better foreign key error messsages.
innobase/dict/dict0dict.c:
  Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format.
innobase/include/dict0dict.h:
  Add 'add_newline' parameter to dict_print_info_on_foreign_key_in_create_format.
innobase/include/os0file.h:
  Add os_file_read_string.
innobase/include/trx0trx.h:
  Add trx_set_detailed_error and trx_set_detailed_error_from_file functions
  and a detailed_error field to trx_struct.
innobase/include/ut0mem.h:
  Add ut_strlcpy.
innobase/os/os0file.c:
  Add os_file_read_string.
innobase/row/row0ins.c:
  Add row_ins_set_detailed function and call it when needed.
  
  Adapt to changes in dict_print_info_on_foreign_key_in_create_format.
innobase/trx/trx0trx.c:
  Add trx_set_detailed_error and trx_set_detailed_error_from_file.
  
  Clear trx->detailed_error in trx_create.
innobase/ut/ut0mem.c:
  Add ut_strlcpy.
mysql-test/r/innodb.result:
  Add new tests, adapt existing ones whose output was changed.
mysql-test/t/innodb.test:
  Add new tests, adapt existing ones whose output was changed.
sql/ha_innodb.cc:
  Add get_error_message.
  
  Clear trx->detailed_error in start_stmt and external_lock.
sql/ha_innodb.h:
  Add get_error_message.
sql/handler.cc:
  Add special case code in print_error for HA_ERR_ROW_IS_REFERENCED and
  HA_ERR_NO_REFERENCED_ROW.
  
  Change SETMSG to point to new error messages.
sql/share/errmsg.txt:
  Add ER_ROW_IS_REFERENCED_2 and ER_NO_REFERENCED_ROW_2.
2005-09-23 16:22:27 +03:00
unknown
8acd0fa422 InnoDB: Minor fixes.
innobase/include/trx0trx.h:
  Fix invalid comment.
sql/ha_innodb.cc:
  Change some memory allocations to fail-on-error.
  
  Cast argument of my_free to gptr, not char*.
2005-09-23 14:31:31 +03:00
unknown
6fbbb1d5be InnoDB: Fix bug #13315, index columns having a maximum length of 767.
innobase/data/data0data.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/dict/dict0dict.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/include/dict0mem.h:
  Rename DICT_MAX_COL_PREFIX_LEN to DICT_MAX_INDEX_COL_LEN.
innobase/include/row0mysql.h:
  Add field_lengths parameter to row_create_index_for_mysql.
innobase/rem/rem0rec.c:
  Adapt to DICT_MAX_COL_PREFIX_LEN rename.
innobase/row/row0mysql.c:
  Add field_lengths parameter to row_create_index_for_mysql and use it to
  check for too long index columns.
mysql-test/r/innodb.result:
  New tests.
mysql-test/t/innodb.test:
  New tests.
sql/ha_innodb.cc:
  Create temporary field_lengths buffer and pass it to
  row_create_index_for_mysql.
2005-09-23 11:20:34 +03:00
unknown
aab7ac880d InnoDB: correct two misleading comments
innobase/include/data0type.ic:
  Correct the comment of dtype_get_min_size()
sql/ha_innodb.h:
  Correct the comment of innobase_set_cursor_view()
2005-09-22 13:09:14 +03:00
unknown
1d169a8e25 InnoDB: Remove unused #defines BTR_PAGE_MAX_KEY_SIZE and BTR_COMPRESS_LIMIT. 2005-09-16 15:33:38 +03:00
unknown
2d1c26cc61 InnoDB: Reject foreign keys in temporary tables. Closes bug #12084.
innobase/dict/dict0dict.c:
  Add reject_fks parameter to dict_create_foreign_constraints_low and
  dict_create_foreign_constraints.
innobase/include/dict0dict.h:
  Add reject_fks parameter to dict_create_foreign_constraints.
innobase/include/row0mysql.h:
  Add reject_fks parameter to row_table_add_foreign_constraints.
innobase/row/row0mysql.c:
  Add reject_fks parameter to row_table_add_foreign_constraints.
sql/ha_innodb.cc:
  In create, pass correct reject_fks argument to
  row_table_add_foreign_constraints depending on whether we're creating a
  temporary table or not. Also move duplicated cleanup code to a single
  place.
2005-09-06 14:38:21 +03:00
unknown
c02509b17b row0mysql.c, ha_innodb.cc:
Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement


sql/ha_innodb.cc:
  Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
innobase/row/row0mysql.c:
  Fix bug #12308 : do not roll back the whhole transaction in a lock wait timeout error, just roll back the latest SQL statement; note that the locks set in the latest SQL statements remain, as InnoDB does not know what locks were set in which SQL statement
2005-09-05 01:13:44 +03:00
unknown
8b2b0e2418 univ.i, page0page.ic:
Add a sanity check to page_rec_is_comp; a new univ.i macro UNIV_RELEASE_NOT_YET_STABLE controls such sanity checks that we will remove after the release is stable enough


innobase/include/page0page.ic:
  Add a sanity check to page_rec_is_comp; a new univ.i macro UNIV_RELEASE_NOT_YET_STABLE controls such sanity checks that we will remove after the release is stable enough
innobase/include/univ.i:
  Add a sanity check to page_rec_is_comp; a new univ.i macro UNIV_RELEASE_NOT_YET_STABLE controls such sanity checks that we will remove after the release is stable enough
2005-09-03 19:15:37 +03:00
unknown
80ea9db87b row0sel.c:
Fix a wrong debug assert in the previous patch


innobase/row/row0sel.c:
  Fix a wrong debug assert in the previous patch
2005-09-03 12:48:41 +03:00