summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge bk-internal:/home/bk/mysql-4.0/unknown2005-01-121-0/+1
|\ | | | | | | | | | | | | | | into serg.mylan:/usr/home/serg/Abk/mysql-4.0 sql/mysqld.cc: Auto merged
| * added missing Com_update_multi status variableunknown2005-01-121-0/+1
| |
* | Fix for BUG#7658 "optimize crashes slave thread (1 in 1000)]":unknown2005-01-101-0/+2
| | | | | | | | | | | | | | | | | | mysql_admin_table() attempted to write to a vio which was 0. I could have fixed mysql_admin_table() but fixing my_net_write() looked more future-proof. sql/net_serv.cc: If no VIO, no write.
* | Bootstrap:unknown2005-01-061-1/+2
| | | | | | | | | | | | | | | | Made the default --mail address to be <build@mysql.com>. Build-tools/Bootstrap: Made the default --mail address to be <build@mysql.com>.
* | Fix for BUG#7714 "if disk full, sometimes MyISAM doesn't wait for free ↵unknown2005-01-061-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | space, corrupts table" This happened only if my_write() couldn't write even one byte. I cannot easily add a .test for this, but I tested by hand before and after the change. mysys/my_write.c: Monty and I could not find a reason why a write should not wait for free disk space (if disk is full) because it could not write at least one byte; doing so certainly corrupts tables. my_pwrite() and my_fwrite() don't test for -1, so no problem.
* | - enable "with-extra-charsets=complex" for the "compile-dist" distributionunknown2005-01-061-1/+2
| | | | | | | | | | | | | | | | | | build (to make the test suite pass) BUILD/compile-dist: - enable "with-extra-charsets=complex" for the distribution build (to make the test suite pass)
* | Allow DEFAULT_THREAD_STACK to be set via -DDEFAULT_THREAD_STACK=... so ourunknown2005-01-051-0/+2
| | | | | | | | | | | | | | | | | | | | official binary builds for Linux that are built against a static glibc with a 128k thread stack size limit can be compiled with a default that doesn't result in a harmless (but oft-misunderstood) warning message. (Bug #6226) include/my_pthread.h: Allow DEFAULT_THREAD_STACK to be set via -DDEFAULT_THREAD_STACK=...
* | Make query_cache_wlock_invalidate visible in SHOW VARIABLES (Bug #7594)unknown2005-01-041-0/+2
| | | | | | | | | | sql/set_var.cc: Make query_cache_wlock_invalidate visible in SHOW VARIABLES
* | - Updated Bootstrap to include merge ChangeSets in the source distribution'sunknown2005-01-031-1/+1
| | | | | | | | | | | | | | | | | | | | ChangeLog, too (to be more exact when tagging a release that's based on a merge ChangeSet) Build-tools/Bootstrap: - include merge ChangeSets into the ChangeLog, too (to be more exact when tagging a release that's based on a merge ChangeSet)
* | Merge bk-internal.mysql.com:/home/bk/mysql-4.0unknown2004-12-314-55/+55
|\ \ | | | | | | | | | | | | | | | | | | into sergbook.mysql.com:/usr/home/serg/Abk/mysql-4.0
| * | unsufficient privilege checks in GRANT, when a grantor has column-level ↵unknown2004-12-304-55/+55
| | | | | | | | | | | | privileges
* | | - Bootrap now uses "compile-dist" by default to create the source distributionunknown2004-12-312-21/+69
| | | | | | | | | | | | | | | | | | Build-tools/Bootstrap: - Use BUILD/compile-dist instead of compile-pentium-max - some minor cleanups
* | | Merge bk-internal.mysql.com:/home/bk/mysql-4.0unknown2004-12-3017-101/+382
|\ \ \ | |/ / | | | | | | | | | | | | | | | into mysql.com:/home/dlenev/src/mysql-4.0-bg7297
| * | row0mysql.c:unknown2004-12-271-34/+66
| | | | | | | | | | | | | | | | | | | | | | | | Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock innobase/row/row0mysql.c: Fix the previous bug fix: dropping a table with FOREIGN KEY checks running on it caused a cascade of failed drops while the foreign key check was waiting for a lock
| * | row0ins.c:unknown2004-12-272-5/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records row0mysql.c: Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint innobase/row/row0mysql.c: Fix bug: InnoDB failed to drop a table in the background drop queue if the table was referenced by a foreign key constraint innobase/row/row0ins.c: Fix bug: if we dropped a table where an INSERT was waiting for a lock to check a FOREIGN KEY constraint, then an assertion would fail in lock_reset_all_on_table(), since that operation assumes no waiting locks on the table or its records
| * | A fix (bug #5652: [patch] tcpwrapper support is broken on systems using an ↵unknown2004-12-241-12/+3
| | | | | | | | | | | | | | | | | | | | | | | | unmodified tcpwrapper). sql/mysqld.cc: A fix (bug #5652: [patch] tcpwrapper support is broken on systems using an unmodified tcpwrapper). Wrapper for fromhost, hosts_access, eval_client has been removed.
| * | Merge sinisa@bk-internal.mysql.com:/home/bk/mysql-4.0unknown2004-12-233-26/+69
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into sinisa.nasamreza.org:/mnt/work/mysql-4.0
| | * | Make GRANTs, which change SSL attributes and/or user limits,unknown2004-12-233-26/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to behave well on 5.0 tables (well now you can't use tables from 4.1 and 5.0 with 4.0 because former use utf8, but still it is nice to have similar code in acl_init() and replace_user_table()). This also will make such GRANTs working in 5.0 (they are broken now). mysql-test/r/grant.result: Added test for GRANT which manipulates user limits. mysql-test/t/grant.test: Added test for GRANT which manipulates user limits.
| * | | Fix for a bug #7495unknown2004-12-233-25/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/func_str.result: result for test case for a bug in QUOTE() (Bug #7495) mysql-test/t/func_str.test: test case for a bug in QUOTE() (Bug #7495) sql/item_strfunc.cc: a better fix for a QUOTE() bug (Bug #7495)
| * | | A fix for the bug #7495unknown2004-12-223-2/+26
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/func_str.result: A result for test case for the bug #7495 involving either LTRIM() or TRIM() within QUOTE() function. mysql-test/t/func_str.test: A test case for the bug #7495 involving either LTRIM() or TRIM() within QUOTE() function. sql/item_strfunc.cc: Changes for LTRIM() and TRIM() functions that aleviate the bug entirely.
| * | ha_innodb.cc:unknown2004-12-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily sql/ha_innodb.cc: If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
| * | os0file.c:unknown2004-12-211-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Put back accidentally removed undef and remove a debug def innobase/os/os0file.c: Put back accidentally removed undef and remove a debug def
| * | os0file.c:unknown2004-12-211-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform innobase/os/os0file.c: Fix InnoDB bug: on HP-UX, with a 32-bit binary, InnoDB was only able to read or write <= 2 GB files; the reason was that InnoDB treated the return value of lseek() as a 32-bit integer; lseek was used on HP-UX-11 as a replacement for pread() and pwrite() because HAVE_BROKEN_PREAD was defined on that platform
| * | configure.in:unknown2004-12-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Increment from 4.0.23 to 4.0.24 configure.in: Increment from 4.0.23 to 4.0.24
| * | Merge acurtis@bk-internal.mysql.com:/home/bk/mysql-4.0unknown2004-12-181-1/+0
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into ltantony.rdg.cyberkinetica.homeunix.net:/usr/home/antony/work/bug7391.4
| | * | Fix testunknown2004-12-181-1/+0
| | | |
| * | | Simplify code during reviewunknown2004-12-181-8/+2
| |/ /
| * | Remove bogus linesunknown2004-12-181-7/+0
| | |
| * | Bug#7391 - Multi-table UPDATE security regressionunknown2004-12-183-0/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add in missing privilege checks. Tests for the privileges. mysql-test/r/grant.result: Bug#7391 - Multi-table UPDATE security regression Tests column, table and db level access mysql-test/t/grant.test: Bug#7391 - Multi-table UPDATE security regression Tests column, table and db level access sql/sql_update.cc: Bug#7391 - Multi-table UPDATE security regression Add in missing privilege checks.
| * | Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.0unknown2004-12-161-3/+11
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/M40/mysql-4.0
| | * | Have 'mysql-test-run' write a list of all failed tests at the end, if run ↵unknown2004-12-161-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with '--force'. mysql-test/mysql-test-run.sh: Backport an improvement from 4.1: If the tool is run with '--force', give a list of all test cases that failed at the end. This is essential for automated analysis of the build logs file.
| * | | Moved drop table statement to the end.unknown2004-12-162-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | mysql-test/r/update.result: moved drop statement mysql-test/t/update.test: moved drop statement
| * | | Test for BUG#6054. The bug itsel is fixed by the fix for #5837.unknown2004-12-162-0/+15
| |/ / | | | | | | | | | | | | | | | | | | mysql-test/r/update.result: test results mysql-test/t/update.test: bug test
* | | Fix for bug #7515 "from_unixtime(0) now returns NULL instead ofunknown2004-12-304-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the Epoch". (With after review fixes). mysql-test/r/func_time.result: Added test for bug #7515 "from_unixtime(0) now returns NULL instead of the Epoch". mysql-test/t/func_time.test: Added test for bug #7515 "from_unixtime(0) now returns NULL instead of the Epoch". sql/item_timefunc.cc: Item_func_from_unixtime: from_unixtime(0) should return Epoch instead of NULL. sql/item_timefunc.h: Item_func_from_unixtime: - Removed unused method definition. - fix_length_and_dec() should set maybe_null to true since now from_unixtime() can return NULL even in case when none of its arguments is NULL.
* | | Fix for bug #7297 "Two digit year should be interpreted correctlyunknown2004-12-163-1/+23
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | even with zero month and day" aka "Date decoding trouble" Two digit year should be interpreted correctly as year in 20th or 21st century even with zero month and day. Only exception should be zero date '00-00-00' or '00-00-00 00:00:00'. mysql-test/r/type_datetime.result: Added test for bug #7297 "Two digit year should be interpreted correctly even with zero month and day" mysql-test/t/type_datetime.test: Added test for bug #7297 "Two digit year should be interpreted correctly even with zero month and day" sql/time.cc: str_to_TIME(): Two digit year should be interpreted correctly as year in 20th or 21st century even with zero month and day. Only exception should be zero date '00-00-00' or '00-00-00 00:00:00'.
* | dict0load.c:unknown2004-12-131-0/+16
| | | | | | | | | | | | | | | | dict_load_table(): detect the new table format of MySQL 5.0.3 innobase/dict/dict0load.c: dict_load_table(): detect the new table format of MySQL 5.0.3
* | Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.0unknown2004-12-114-1/+35
|\ \ | | | | | | | | | | | | | | | | | | into mysql.com:/dbdata/psergey/mysql-4.0-bug6976
| * | Fix for BUG#6976:unknown2004-12-114-1/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Item_ref::Item_ref set maybe_null (and other fields fix_fields sets) to be the same as in (*ref), because Item_ref::fix_fields() will not be called. Previously maybe_null was 0 always and this produced a bogus state where maybe_null==0 && is_null() == true which broke evaluation for some upper-level Items, like AND and OR. mysql-test/r/group_by.result: Test for BUG#6976 mysql-test/t/group_by.test: Test for BUG#6976 sql/item.cc: Comment added sql/item.h: Fix for BUG#6976: in Item_ref::Item_ref(Item**...) fix all fields because fix_fields() will not be called.
* | | Fix for BUG#5837 - attempt 3.unknown2004-12-114-4/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call mark_as_null_row in join_read_const and join_read_system. mysql-test/r/multi_update.result: Testcase for BUG#5837 mysql-test/t/multi_update.test: Testcase for BUG#5837 sql/table.h: Added comments
* | | Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.0unknown2004-12-103-9/+39
|\ \ \ | | |/ | |/| | | | | | | | | | | | | into hundin.mysql.fi:/home/marko/k/mysql-4.0
| * | dict0dict.h, dict0dict.c, ha_innodb.cc:unknown2004-12-103-9/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8 sql/ha_innodb.cc: Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8 innobase/dict/dict0dict.c: Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8 innobase/include/dict0dict.h: Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
* | | srv0srv.c:unknown2004-12-101-1/+0
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | srv_printf_innodb_monitor(): Removed extraneous rewind() call. The caller of this function calls rewind() if necessary. In this way, we avoid rewind()ing stderr in srv_lock_timeout_and_monitor_thread(). innobase/srv/srv0srv.c: srv_printf_innodb_monitor(): Removed extraneous rewind() call. The caller of this function calls rewind() if necessary. In this way, we avoid rewind()ing stderr in srv_lock_timeout_and_monitor_thread().
* | Merge bk-internal:/home/bk/mysql-4.0/unknown2004-12-072-10/+12
|\ \ | |/ |/| | | | | | | | | into serg.mylan:/usr/home/serg/Abk/mysql-4.0
| * two fixes for potential security bugsunknown2004-12-072-10/+12
| |
* | Prevent adding 'CREATE TABLE .. SELECT' query to the binary log when theunknown2004-12-036-8/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | insertion of new records partially failed. It would get logged because of the logic to log a partially-failed 'INSERT ... SELECT' (which can't be rolled back in non-transactional tables), but 'CREATE TABLE ... SELECT' is always rolled back on failure, even for non-transactional tables. (Bug #6682) (Original fix reimplemented after review by Serg and Guilhem.) mysql-test/t/insert_select.test: Add test case for Bug #6682 mysql-test/r/insert_select.result: Add results for test case for Bug #6682 sql/sql_table.cc: moved tmp_disable_binlog() and reenable_binlog macros to sql/sql_class.h sql/sql_insert.cc: disable binlog during call to super's ::send_error in select_create class sql/sql_class.h: add select_create::send_error() BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
* | A fix (bug #6878: Crash with engine=memory).unknown2004-12-023-0/+27
| | | | | | | | | | | | heap/hp_open.c: A fix (bug #6878: Crash with engine=memory). Record length should be >= sizeof(byte*).
* | two-line fix for BUG#6732 "FLUSH TABLES WITH READ LOCK + COMMIT makes next ↵unknown2004-11-303-4/+83
|/ | | | | | | | | | | | | | | | | | | | FLUSH...LOCK hang forever" (originally reported as "second run of innobackup hangs forever and can even hang server"). Plus testcase for the bugfix and comments about global read locks. mysql-test/r/flush_block_commit.result: result update mysql-test/t/flush_block_commit.test: testing bugfix (originally: second run of innobackup hangs) sql/lock.cc: When we are in start_waiting_global_read_lock(), if we ourselves have the global read lock, there is nothing to start. This makes a pair with how wait_if_global_read_lock() behaves when we ourselves have the global read lock. Previously, start_waiting_global_read_lock() decremented protect... whereas wait_if_global_read_lock() hadn't incremented it => very wrong => hangs. Descriptive comments on how global read lock works.
* srv0srv.c:unknown2004-11-261-5/+7
| | | | | | | | | | srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file only if --innodb_status_file=1 innobase/srv/srv0srv.c: srv_lock_timeout_and_monitor_thread(): write to srv_monitor_file only if --innodb_status_file=1
* Fixes while reviewing codeunknown2004-11-267-26/+25
| | | | | | | | | | | | | | | | | | | | (Cleanups and better bug fixes) mysql-test/r/select.result: Fixed test after wrong merge mysql-test/t/select.test: Fixed test after wrong merge scripts/mysql_fix_privilege_tables.sh: Don't read defaults files sql/item_cmpfunc.cc: Fix wrong value for not_null_tables_cache sql/item_cmpfunc.h: Remove wrong patch (flags are set in fix_length_and_dec()) sql/item_func.h: Fix wrong value for not_null_tables_cache sql/slave.cc: Fixed indentation
* Merge mysql.com:/home/timka/mysql/src/4.0-virginunknown2004-11-257-7/+66
|\ | | | | | | | | | | | | | | into mysql.com:/home/timka/mysql/src/4.0-master BitKeeper/etc/logging_ok: auto-union