Commit graph

632 commits

Author SHA1 Message Date
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
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
c560a5b1d4 Merge
sql/ha_innodb.cc:
  Auto merged
2006-03-18 10:11:36 +01:00
unknown
3adad925fe configure.in:
Changed release name to 5.0.19a
ha_innodb.cc:
  InnoDB used table locks (not row locks) within stored functions. (Bug #18077)


sql/ha_innodb.cc:
  InnoDB used table locks (not row locks) within stored functions. (Bug #18077)
configure.in:
  Changed release name to 5.0.19a
2006-03-17 11:32:02 +01:00
unknown
2122a3f9bc Merge mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-4.1
into  mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
2006-03-17 10:50:01 +01:00
unknown
367442f754 BUG#18283 When InnoDB returns error 'lock table full', MySQL can write
to binlog too much.

When InnoDB has to rollback a transaction because the lock table has
filled up, it also needs to inform the upper layer that the transaction
was rolled back so that the cached transaction is not written to the
binary log.


sql/ha_innodb.cc:
  When InnoDB rolls back a transaction in HA_ERR_LOCK_TABLE_FULL, it
  needs to inform the upper layer to rollback the transaction also.
2006-03-17 10:25:29 +01: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
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
0564fc4eff Restore fix for bug #15108 (by ramil) erroneously erased
by applying innodb-5.0-ss115 snapshot.
2006-01-16 15:23:02 +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
f04a361908 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/5.0.b15108


sql/ha_innodb.cc:
  Auto merged
2005-12-26 11:18:01 +04: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
e72ec933d9 Fix for bug #15108: mysqld crashes when innodb_log_file_size is set > 4G
sql/ha_innodb.cc:
  Fix for bug #15108: mysqld crashes when innodb_log_file_size is set > 4G
  - return 1 in case of error.
2005-11-24 13:04:05 +04:00
unknown
e2de3a8fc4 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg13825


sql/ha_innodb.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2005-11-19 15:11:57 +03:00
unknown
11d4d7e6ff Fix for bug #13825 "Triggers: crash if release savepoint" and for general
handling of savepoints in stored routines.

Fixed ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint()
functions to properly handle savepoints inside of stored functions and
triggers.
Also now when we invoke stored function or trigger we create new savepoint
level. We destroy it at the end of function/trigger execution and return back
to old savepoint level.


mysql-test/r/sp_trans.result:
  Added test for bug #13825 "Triggers: crash if release savepoint" and for
  general handling of savepoints in stored routines.
mysql-test/t/sp_trans.test:
  Added test for bug #13825 "Triggers: crash if release savepoint" and for
  general handling of savepoints in stored routines.
sql/ha_innodb.cc:
  innobase_savepoint():
    Replaced check which always failed due to similar check in caller
    with assertion.
sql/handler.cc:
  ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint():
    Changed functions to properly support handling of savepoints
    inside of stored functions and triggers.
sql/sql_class.cc:
  THD::reset_sub_statement_state()/restore_sub_statement_state():
    When we invoke stored function or trigger we should create new savepoint
    level. We should destroy it at the end of function/trigger execution and
    return back to old savepoint level. To support this behavior we should
    save and reset list of current savepoints on entering function and restore
    old list when we leave it.
sql/sql_class.h:
  Sub_statement_state:
    When we invoke stored function or trigger we should create new savepoint
    level. We should destroy it at the end of function/trigger execution and
    return back to old savepoint level. To support this behavior added "savepoint"
    member which is used to save/restore list of current savepoints on
    entering/leaving function.
sql/sql_parse.cc:
  mysql_execute_command():
    Changed processing of SQLCOM_SAVEPOINT so now it is not ignored when
    we are in autocommit mode and savepoint is set inside of stored
    function or trigger.
2005-11-19 15:09:23 +03:00
unknown
30df60fa73 set_var.cc, mysqld.cc, ha_innodb.h:
BUG#12701: SHOW VARIABLES does not show correct size of buffer pool.
ha_innodb.cc:
  BUG#12701: SHOW VARIABLES does not show correct size of buffer pool


sql/ha_innodb.cc:
  BUG#12701: SHOW VARIABLES does not show correct size of buffer pool
sql/ha_innodb.h:
  BUG#12701: SHOW VARIABLES does not show correct size of buffer pool.
sql/mysqld.cc:
  BUG#12701: SHOW VARIABLES does not show correct size of buffer pool.
sql/set_var.cc:
  BUG#12701: SHOW VARIABLES does not show correct size of buffer pool.
2005-11-17 15:08:49 +01:00
unknown
67df0e19e4 Fixed number of compiler errors on win32.
VC++Files/mysqlbinlog/mysqlbinlog.vcproj:
  Fixed compiler error for Win32 build. #include "decimal.c" wrere no able to find decimal.c file.
sql/ha_innodb.cc:
  Fixed compiler error for Win32 build.
sql/spatial.cc:
  Fixed compiler error for Win32 build. float8get should be enclosed
  in {} since it is macro on win32 and might cause unmatching blocks.
2005-11-14 15:19:52 +03:00
unknown
10ed7b975a Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into  zim.(none):/home/brian/mysql/mysql-5.0


sql/ha_innodb.cc:
  Auto merged
2005-10-24 23:57:15 -07:00
unknown
84ece2e052 This patch add support for storing Geometry types to Archive, Innodb, NDB, and BDB.
sql/ha_archive.h:
  Adding support for Geometry type to archive.
sql/ha_berkeley.cc:
  Adding geometry support to berkely
sql/ha_innodb.cc:
  Adding geometry support to Innodb.
sql/ha_ndbcluster.cc:
  Adding Geometry support to NDB.
mysql-test/include/gis_generic.inc:
  New BitKeeper file ``mysql-test/include/gis_generic.inc''
mysql-test/r/archive_gis.result:
  New BitKeeper file ``mysql-test/r/archive_gis.result''
mysql-test/r/bdb_gis.result:
  New BitKeeper file ``mysql-test/r/bdb_gis.result''
mysql-test/r/ndb_gis.result:
  New BitKeeper file ``mysql-test/r/ndb_gis.result''
mysql-test/t/archive_gis.test:
  New BitKeeper file ``mysql-test/t/archive_gis.test''
mysql-test/t/bdb_gis.test:
  New BitKeeper file ``mysql-test/t/bdb_gis.test''
mysql-test/t/innodb_gis.test:
  New BitKeeper file ``mysql-test/t/innodb_gis.test''
mysql-test/t/ndb_gis.test:
  New BitKeeper file ``mysql-test/t/ndb_gis.test''
2005-10-24 23:20:39 -07:00
unknown
d91f4dead8 BUG#11704: Make InnoDB not to convert TL_WRITE_ONLY locks to TL_WRITE_ALLOW_WRITE in
OPTIMIZE TABLE.


sql/ha_innodb.cc:
  Fix for BUG#11704: "Found locks from different thread" warnings:
  The source of warnings was this scenario in OPTIMIZE:
    thr1: lock table with TL_WRITE_ONLY (InnoDB converts lock to TL_WRITE_ALLOW_WRITE)
    thr2: (UPDATE command) obtains a TL_WRITE_ALLOW_WRITE lock
    thr1: call mysql_lock_abort(). This function sets type of thr'1 lock to TL_WRITE_ONLY
    thr2: try to release thr2's lock. See two locks: TL_WRITE_ONLY, TL_WRITE_ALLOW_WRITE 
          and produce a warning.
  
  The fix: Make InnoDB not to convert TL_WRITE_ONLY locks to TL_WRITE_ALLOW_WRITE in
  OPTIMIZE TABLE.
2005-10-25 00:27:15 +04:00
unknown
33b4154cec BUG#14056 Column prefix index on UTF-8 primary key column causes 'Can't find record..'
Applying InnoDB patch from Jan Lindstrom
2005-10-19 12:06:29 -04:00
unknown
556fdfbd08 Fix compile error on Windows: remove wrong typecast 2005-10-12 16:43:55 +04:00
unknown
a9363ce9c3 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug13484


sql/ha_innodb.cc:
  Auto merged
mysql-test/r/index_merge_innodb.result:
  Auto merged
mysql-test/r/rowid_order_innodb.result:
  Auto merged
mysql-test/t/index_merge_innodb.test:
  Auto merged
2005-10-07 11:14:40 +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
5362ca276c Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into  zim.(none):/home/brian/mysql/fix-5.0


sql/ha_berkeley.cc:
  Auto merged
sql/ha_berkeley.h:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/ha_innodb.h:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/ha_ndbcluster.h:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
2005-10-03 21:09:01 -07:00
unknown
ed35cecdcc Final patch for 5.0 for simplifying storage engine code. We now have just one set of ifdefs. I may also remove the code for creating new handlers.
May changes were to simplify storage engine setup and support for legacy call to show storage engines.


mysql-test/r/ps_1general.result:
  Fixed test results for new listing order
sql/examples/ha_tina.cc:
  Removed dead code
sql/examples/ha_tina.h:
  Removed dead code
sql/ha_archive.cc:
  Capitalized sotrage engine name and moved disabled code.
sql/ha_berkeley.cc:
  Moved deisabled code
sql/ha_federated.cc:
  Removed disabled code
sql/ha_innodb.cc:
  Removed disabled message
sql/ha_ndbcluster.cc:
  Removed disabled message
sql/handler.cc:
  Added in legacy support for sotrage engine listing (ala Serg's request). Removed handlertons variables and we now have simplified ha_init code.
sql/handler.h:
  No longer need handlertons array.
2005-10-03 18:42:30 -07:00
unknown
eb00784242 Merge hundin.mysql.fi:/home/marko/mysql-4.0
into  hundin.mysql.fi:/home/marko/mysql-4.1
(Bug #13002)


sql/ha_innodb.cc:
  Merged
2005-10-03 17:54:39 +03:00
unknown
9595cc332d InnoDB: Display an error message in /* */ comments
in SHOW CREATE TABLE if a temporary file cannot be created.
(Bug #13002)


sql/ha_innodb.cc:
  ha_innobase::get_foreign_key_create_info(): Display an error
  message to the user if a temporary file cannot be created.
2005-10-03 17:46:27 +03:00
unknown
cdb5719257 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into  zim.(none):/home/brian/mysql/fix-5.0


sql/ha_blackhole.cc:
  Auto merged
sql/ha_heap.cc:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
sql/examples/ha_example.cc:
  Auto merged
sql/examples/ha_tina.cc:
  Auto merged
sql/ha_archive.cc:
  Auto merged
sql/ha_archive.h:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/ha_myisammrg.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/ha_federated.cc:
  Merge fix.
2005-10-02 20:13:18 -07:00
unknown
5655d31d5f Next big patch for loadable storage engines!
Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail. 


sql/examples/ha_archive.cc:
  Modifications for new ha_init code. The init method now checks for errors and will not start up if the errors occur.
sql/examples/ha_archive.h:
  Change for new init method.
sql/examples/ha_example.cc:
  New handlerton pieces.
sql/examples/ha_tina.cc:
  New handlerton pieces.
sql/ha_berkeley.cc:
  New handlerton pieces, plus changes for ha_init changes. I'm not happy with our current "skip" setup.
sql/ha_berkeley.h:
  Change in init return.
sql/ha_blackhole.cc:
  Changes for new handlerton pieces.
sql/ha_federated.cc:
  Changes for new handlerton and true cleanup code.
sql/ha_heap.cc:
  Changes for new handlerton returns.
sql/ha_innodb.cc:
  Changes for handlerton code.
sql/ha_innodb.h:
  Change in init.
sql/ha_myisam.cc:
  Changes for additional handlerton bits.
sql/ha_myisammrg.cc:
  Changes for  new handlerton bits.
sql/ha_ndbcluster.cc:
  Changes for new handlerton bits.
sql/ha_ndbcluster.h:
  Changes for handlerton bits.
sql/handler.cc:
  Changes for ditching show_table_type_st types, and collapsing it into a handlerton array. The ha_init now just loops through all handlers to init (much cleaner...). handlertons and sys_table_types should be merged next.
sql/handler.h:
  Additions for sys_table_types
sql/log.cc:
  Clean up of binlog for changes in handlerton
sql/mysql_priv.h:
  Removed unneeded define for binlog_init
sql/sql_show.cc:
  Changes for change in handlerton to sys_table_types
2005-10-02 19:44:28 -07:00
unknown
5bdbad3d6c BUG#13484: In ha_innobase::cmp_ref call Field::key_cmp() as this is the function
that compares key images.


mysql-test/r/index_merge_innodb.result:
  Testcase for BUG#13484
mysql-test/r/rowid_order_innodb.result:
  Updated results for BUG#13484
mysql-test/t/index_merge_innodb.test:
  Testcase for BUG#13484
2005-10-01 11:56:01 +04:00
unknown
8f842e8fc9 Bug#11238
"SELECT ... FOR UPDATE executed as consistent read inside LOCK TABLES"
Do not discard lock_type information as handler::start_stmt() may require knowledge.
(fixed by Antony)
2005-09-30 20:20:10 +02:00
unknown
afed50ae53 InnoDB: After review fix
sql/ha_innodb.cc:
  Avoid bitwise arithmetics, as it might be difficult to read.  The
  added readability costs one register and two instructions on x86.
2005-09-30 15:06:41 +03:00
unknown
a14a34be6c InnoDB: On UPDATE, trim UCS2 columns correctly. (Bug #12178)
sql/ha_innodb.cc:
  innobase_convert_and_store_changed_col(), calc_row_difference():
   Replace parameter "is_unsigned" with "prtype".
  innobase_convert_and_store_changed_col():
   When trimming spaces, note that UCS2 spaces are 0x0020, not 0x20.
2005-09-30 13:58:00 +03:00
unknown
3dc93a9c0f Merge jlindstrom@bk-internal.mysql.com:/home/bk/mysql-5.0
into  hundin.mysql.fi:/home/jan/mysql-5.0


mysql-test/r/innodb.result:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/ha_innodb.cc:
  Content merge.
2005-09-29 13:15:09 +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
2c0e2a147d Fixed a bug checksum table locks the InnoDB table and does not use a
consistent read (Bug #12669). This fixes InnoDB part of the bug.


mysql-test/r/innodb.result:
  Added results for a checksum test.
mysql-test/t/innodb.test:
  Addeed a test case for a checksum bug #12669.
sql/ha_innodb.cc:
  Use consistent read for checksum table.
2005-09-29 08:34:38 +03:00
unknown
95754006eb Merge neptunus.(none):/home/msvensson/mysql/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0


BitKeeper/deleted/.del-disabled.def:
  Delete: mysql-test/t/disabled.def
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/t/innodb.test:
  Auto merged
sql/ha_innodb.cc:
  Auto merged
mysql-test/r/innodb.result:
  Manual merge from 4.1 to 5.0
mysql-test/r/select.result:
  Manual merge from 4.1 to 5.0
mysql-test/t/select.test:
  Manual merge from 4.1 to 5.0
sql/item.cc:
  Manual merge from 4.1 to 5.0
2005-09-28 15:32:05 +02: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
2de206b4ee Fixed a bug checksum table locks the InnoDB table and does not use a
consistent read (Bug #12669).


mysql-test/r/innodb.result:
  Added test results for a checksum test.
mysql-test/t/innodb.test:
  Added test case for a checksum bug #12669.
sql/ha_innodb.cc:
  Use consistent read for checksum table and convert MySQL lock type
  to the TL_READ because at the moment MySQL uses TL_READ_NO_INSERT.
2005-09-28 14:14:49 +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
aa95f0d447 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-owner5-5.0


sql/ha_innodb.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/item_func.cc:
  merge
2005-09-20 21:27:28 +03:00
unknown
3fe752f527 WL#2787 (Add view definer/owner to the view definition (.frm) to check privileges on used tables and stored routines when using a VIEW.)
Part 2 postreview fixes.


sql/ha_innodb.cc:
  Renamed structure st_security_context to class Security_context
sql/item_func.cc:
  Renamed structure st_security_context to class Security_context
sql/item_strfunc.cc:
  fixed USER() function
sql/log.cc:
  variable used to optimize access to security context
sql/mysql_priv.h:
  Renamed structure st_security_context to class Security_context
sql/mysqld.cc:
  main security context used direcly
sql/sp_head.cc:
  Renamed structure st_security_context to class Security_context
  removed unneed variable
sql/sp_head.h:
  Comment inmroved
  Renamed structure st_security_context to class Security_context
sql/sql_acl.cc:
  Renamed structure st_security_context to class Security_context
  fixed function comment and return value
  variable used to optimize access to security context
  Renamed method of Security_ontext
sql/sql_acl.h:
  fixed return value type
sql/sql_class.cc:
  Renamed structure st_security_context to class Security_context
sql/sql_class.h:
  Renamed structure st_security_context to class Security_context
  Method renamed
sql/sql_db.cc:
  Renamed structure st_security_context to class Security_context
  fixed layout
sql/sql_parse.cc:
  registration of wanted access for underlying tables
sql/sql_show.cc:
  Renamed structure st_security_context to class Security_context
  fixed layout
sql/sql_yacc.yy:
  Renamed structure st_security_context to class Security_context
2005-09-20 21:20:38 +03:00