Commit graph

36965 commits

Author SHA1 Message Date
unknown
fec835f1eb Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/log_event.cc:
  Auto merged
2007-06-24 12:58:45 +05:00
unknown
b462e06eac Merge gleb.loc:/home/uchum/work/bk/4.1-opt
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-06-24 03:42:18 +05:00
unknown
d37471b4ef Merge gleb.loc:/home/uchum/work/bk/5.0-opt-29095
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-06-24 01:22:25 +05:00
unknown
1bab1ddc55 Fixed bug #29095.
INSERT into table from SELECT from the same table
with ORDER BY and LIMIT was inserting other data
than sole SELECT ... ORDER BY ... LIMIT returns.

One part of the patch for bug #9676 improperly pushed
LIMIT to temporary table in the presence of the ORDER BY
clause.
That part has been removed.


sql/sql_select.cc:
  Fixed bug #29095.
  One part of the patch for bug #9676 improperly pushed
  LIMIT to temporary table in the presence of the ORDER BY
  clause.
  That part has been removed.
mysql-test/t/insert_select.test:
  Expanded the test case for bug #9676.
  Created a test case for bug #29095.
mysql-test/r/insert_select.result:
  Expanded the test case for bug #9676.
  Created a test case for bug #29095.
2007-06-24 01:20:14 +05:00
unknown
f3940ebaf0 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B28400-5.0-opt
2007-06-22 15:35:59 +03:00
unknown
fe036d9848 Bug #27383: Crash in test "mysql_client_test"
The C optimizer may decide that data access operations
through pointer of different type are not related to 
the original data (strict aliasing).
This is what happens in fetch_long_with_conversion(),
when called as part of mysql_stmt_fetch() : it tries 
to check for truncation errors by first storing float
(and other types of data) into a char * buffer and then 
accesses them through a float pointer.
This is done to prevent the effects of excess precision
when using FPU registers.
However the doublestore() macro converts a double pointer
to an union pointer. This violates the strict aliasing rule.
Fixed by making the intermediary variables volatile (
to not re-introduce the excess precision bug) and using
the intermediary value instead of the char * buffer.
Note that there can be loss of precision for both signed
and unsigned 64 bit integers converted to double and back,
so the check must stay there (even for compatibility 
reasons).
Based on the excellent analysis in bug 28400.


libmysql/libmysql.c:
  Bug #27383: avoid pointer aliasing problems while 
  not re-violating the Intel FPU gcc bug.
2007-06-22 15:34:28 +03:00
unknown
f0dbd3101e Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
2007-06-22 11:23:12 +02:00
unknown
e434a5ca05 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/28839/my50-28839
2007-06-22 10:12:15 +05:00
unknown
cb606a661a rpl_skip_error.test fixed
mysql-test/r/rpl_skip_error.result:
  test result fixed
mysql-test/t/rpl_skip_error.test:
  inconsistent column results hidden
2007-06-22 09:28:38 +05:00
unknown
37344c68f5 Bug #29138 'kill' fails in pushbuild
The reason the "reap;" succeeds unexpectedly is because the query was completing(almost always) and the network buffer was big enough to store the query result (sometimes) on Windows, meaning the response was completely sent before the server thread could be killed.

Therefore we use a much longer running query that doesn't have a chance to fully complete before the reap happens, testing the kill properly.


mysql-test/r/kill.result:
  We use a much longer running query that doesn't have a chance to fully complete before the reap happens.
mysql-test/t/kill.test:
  We use a much longer running query that doesn't have a chance to fully complete before the reap happens.
2007-06-21 21:39:52 -04:00
unknown
1944601586 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug29104


sql/item.cc:
  Auto merged
2007-06-21 15:25:23 -07:00
unknown
8ddf61d382 Merge maint1.mysql.com:/data/localhome/tsmith/bk/maint/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
2007-06-21 20:12:35 +02:00
unknown
fc7f407a11 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50


mysql-test/t/innodb.test:
  Auto merged
mysql-test/r/innodb.result:
  Manual merge
2007-06-21 20:09:04 +02:00
unknown
6ac33675bc Merge bk-internal.mysql.com:/home/bk/mysql-4.1-rpl
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/41
2007-06-21 19:48:05 +02:00
unknown
2e8357b4a7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  amd64.(none):/src/bug27029/my50-bug27029


myisam/sort.c:
  Auto merged
2007-06-21 12:52:20 -04:00
unknown
c3e4b61c4e Bug#27029 alter table ... enable keys crashes mysqld on large table
- When creating an index for the sort, the number of rows plus 1 is used 
to allocate a buffer.  In this test case, the number of rows 4294967295 
is the max value of an unsigned integer, so when 1 was added to it, a 
buffer of size 0 was allocated causing the crash.
- Create new test suite for this bug's test suite as per QA.


myisam/sort.c:
  Bug#27029 alter table ... enable keys crashes mysqld on large table
  - Check to make sure the value of records is < UINT_MAX32 to avoid a 
  false positive on the remaining condition.
mysql-test/suite/large_tests/README.TXT:
  Bug#27029 alter table ... enable keys crashes mysqld on large table
  - New testsuite for large tests.
  - Added mtr hint for potential testers.
mysql-test/suite/large_tests/r/alter_table.result:
  Bug#27029 alter table ... enable keys crashes mysqld on large table
  - New testsuite for large tests.
  - Added results for bug.
mysql-test/suite/large_tests/t/alter_table.test:
  Bug#27029 alter table ... enable keys crashes mysqld on large table
  - New testsuite for large tests.
  - Added test for bug.
2007-06-21 12:45:56 -04:00
unknown
0e99d690cb Merge maint1.mysql.com:/data/localhome/tsmith/bk/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50


configure.in:
  Auto merged
2007-06-21 18:28:52 +02:00
unknown
12e1a9df4f Merge mysql.com:/nfsdisk1/lars/bk/mysql-5.0
into  mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
2007-06-21 17:10:35 +02:00
unknown
8b3c5753c7 Test fix 2007-06-21 16:55:52 +02:00
unknown
e0e739b628 Add name of test that generated the warning to "warnings" file 2007-06-21 16:37:13 +02:00
unknown
022ee2b0b3 Merge pilot.(none):/data/msvensson/mysql/bug28769/my50-bug28769
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-06-21 15:14:00 +02:00
unknown
f3954ba1b0 Merge pilot.(none):/data/msvensson/mysql/bug28742/my50-bug28742
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
2007-06-21 14:10:35 +02:00
unknown
f77d416821 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/28839/my50-28839
2007-06-21 15:28:19 +05:00
unknown
4cd1b2d313 rpl_skip_error test fixed
mysql-test/r/rpl_skip_error.result:
  result fixed
mysql-test/t/rpl_skip_error.test:
  master port dependency eliminated
2007-06-21 15:25:28 +05:00
unknown
8c353de957 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/28839/my50-28839


sql/log_event.cc:
  Auto merged
2007-06-21 12:04:13 +05:00
unknown
4d9cc3db77 Bug#24924: shared-memory-base-name that is too long causes buffer overflow
long shared-memory-base-names could overflow a static internal buffer
and thus crash mysqld and various clients.  change both to dynamic
buffers, show everything but overflowing those buffers still works.

The test case for this would pretty much amount to
mysqld --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --shared-memory=1 &
mysqladmin --no-defaults --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX shutdown

Unfortunately, we can't just use an .opt file for the
server. The .opt file is used at start-up, before any
include in the actual test can tell mysqltest to skip
this one on non-Windows. As a result, such a test would
break on unices.

Fixing mysql-test-run.pl to export full path for master
and slave would enable us to start a server from within
the test which is ugly and, what's more, doesn't work as
the server blocks (mysqltest offers no fire-and-forget
fork-and-exec), and mysqladmin never gets run.

Making the test rpl_windows_shm or some such so we can
is beyond ugly. As is introducing another file-name based
special case (run "win*.test" only when on Windows). As is
(yuck) coding half the test into mtr (as in, having it
hand out a customized environment conductive to the shm-
thing on Win only).

Situation is exacerbated by the fact that .sh is not
necessary run as expected on Win.

In short, it's just not worth it. No test-case until we
have a new-and-improved test framework.


sql-common/client.c:
  Bug#24924: shared-memory-base-name that is too long causes buffer overflow
  
  compose shared memory name in dynamic rather than static buffer to prevent
  overflows (clients)
sql/mysqld.cc:
  Bug#24924: shared-memory-base-name that is too long causes buffer overflow
  
  compose shared memory name in dynamic rather than static buffer to prevent
  overflows (server)
2007-06-21 04:30:10 +02:00
unknown
b5eb3fcb82 Fixed bug #28293.
Occasionally mysqlbinlog --hexdump failed with error:
  ERROR 1064 (42000) at line ...: You have an error in your
  SQL syntax; check the manual that corresponds to your MySQL
  server version for the right syntax to use near
  'Query thread_id=... exec_time=... error_code=...

When the length of hexadecimal dump of binlog header was
divisible by 16, commentary sign '#' after header was lost.
The Log_event::print_header function has been modified to always
finish hexadecimal binlog header with "\n# ".


sql/log_event.cc:
  Fixed bug #28293.
  The Log_event::print_header function has been modified to always
  finish hexadecimal binlog header with "\n# ".
mysql-test/r/mysqlbinlog.result:
  Updated test case for bug #28293.
mysql-test/t/mysqlbinlog.test:
  Updated test case for bug #28293.
2007-06-21 02:11:28 +05:00
unknown
39bf2b9662 Fixed bug #29104: assertion abort for grouping queries using views.
The abort happened when a query contained a conjunctive predicate
of the form 'view column = constant' in the WHERE condition and 
the grouping list also contained a reference to a view column yet
a different one.

Removed the failing assertion as invalid in a general case.

Also fixed a bug that prevented applying some optimization for grouping
queries using views. If the WHERE condition of such a query contains
a conjunctive condition of the form 'view column = constant' and
this view column is used in the grouping list then grouping by this
column can be eliminated. The bug blocked performing this elimination.


mysql-test/r/view.result:
  Added a test case for bug #29104.
mysql-test/t/view.test:
  Added a test case for bug #29104.
sql/item.cc:
  Fixed bug #29104: assertion abort for grouping queries using views.
  The abort happened when a query contained a conjunctive predicate
  of the form 'view column = constant' in the WHERE condition and 
  the grouping list also contained a reference to a view column yet
  a different one.
  
  Removed the failing assertion as invalid in a general case.
  
  Also fixed a bug that prevented applying some optimization for grouping
  queries using views. If the WHERE condition of such a query contains
  a conjunctive condition of the form 'view column = constant' and
  this view column is used in the grouping list then grouping by this
  column can be eliminated. The bug blocked performing this elimination.
  This bug was in the function Item_field::eq while the failing
  assertion was in the function Item_direct_view_ref::eq.
2007-06-20 12:43:14 -07:00
unknown
65832a035f Merge kindahl-laptop.dnsalias.net:/home/bkroot/mysql-5.0-rpl
into  kindahl-laptop.dnsalias.net:/home/bk/b29030-mysql-5.0-rpl
2007-06-20 20:33:36 +02:00
unknown
39cc31b307 BUG#29030 (DROP USER command that errors still gets written to binary log
and replicated):

A DROP USER statement with a non-existing user was correctly written to
the binary log (there might be users that were removed, but not all),
but the error code was not set, which caused the slave to stop with an
error.

The error reporting code was moved to before the statement was logged
to ensure that the error information for the thread was correctly set
up. This works since my_error() will set the fields net.last_errno and
net.last_error for the thread that is reporting the error, and this
will then be picked up when the Query_log_event is created and written
to the binary log.


sql/sql_acl.cc:
  Moving error reporting code to ensure that thd->net.last_err{or,no} is
  set and adding debug printout.
mysql-test/r/rpl_grant.result:
  New BitKeeper file ``mysql-test/r/rpl_grant.result''
mysql-test/t/rpl_grant.test:
  New BitKeeper file ``mysql-test/t/rpl_grant.test''
2007-06-20 14:24:31 +02:00
unknown
c8bdab1137 Bug #27583 slave sql fails to read from iocache when slave got stopped at pos==4
forgotten merge with 5.0. There can be some bugs waiting for this fix in 5.0 like Bug@29232


sql/log_event.cc:
  file name is changed in step with the position.
2007-06-20 13:21:16 +03:00
unknown
b5071a7234 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B29116-4.1-opt
2007-06-20 13:17:09 +03:00
unknown
d8512831ac port of the fix for bug 19116 4.1-opt -> 5.0-opt 2007-06-20 13:15:46 +03:00
unknown
c5fb4b243a Bug#28742 mysql-test-run is very slow on "Stopping All Servers" step
- Improve shutdown algorithm 
 - Wait up to 5 seconds for processes to exit after their port is free


mysql-test/lib/mtr_process.pl:
  Improve shutdown algorithm, shutdown the server hard
  if it hasn't responded to "mysqladmin shutdown" and it's port is free.
  Print error to servers error log indicating "hard shutdown"
  Give processes up to 5 seconds to exit after their port is free
mysql-test/lib/mtr_report.pl:
  Indicate in what file the warning was found
mysql-test/mysql-test-run.pl:
  Pass path of process error log to 'mtr_check_stop_servers'
2007-06-20 11:47:55 +02:00
unknown
e0ab35230e Merge magare.gmz:/home/kgeorge/mysql/work/B29116-4.1-opt
into  magare.gmz:/home/kgeorge/mysql/work/B29116-5.0-opt


mysql-test/t/rpl_change_master.test:
  Auto merged
2007-06-20 12:46:56 +03:00
unknown
4310ceb0f9 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28898
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-06-20 14:22:32 +05:00
unknown
8e35de2a90 metadata.test, metadata.result:
Updated test case for bug #28898. Additional cleanup.


mysql-test/t/metadata.test:
  Updated test case for bug #28898. Additional cleanup.
mysql-test/r/metadata.result:
  Updated test case for bug #28898. Additional cleanup.
2007-06-20 14:21:48 +05:00
unknown
d5cc204e58 Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
slave_sql thread calls thd->clear_error() to force error to be ignored,
though this method didn't clear thd->killed state, what causes
slave_sql thread to stop.

clear thd->killed state if we ignore an error


mysql-test/r/rpl_skip_error.result:
  Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
  
  test result
mysql-test/t/rpl_skip_error.test:
  Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
  
  test case
sql/log_event.cc:
  Bug #28839 Errors in strict mode silently stop SQL thread if --slave-skip-errors exists.
  
  clear thd->killed state if we ignore the error
2007-06-20 14:05:49 +05:00
unknown
e2aa6ee13e Merge gleb.loc:/home/uchum/work/bk/5.0-opt-28898
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/sql_select.cc:
  Auto merged
2007-06-20 13:06:24 +05:00
unknown
e855bf33b3 Fixed bug #28898.
For a join query with GROUP BY and/or ORDER BY and a view reference
in the FROM list the metadata erroneously showed empty table aliases
and database names for the view columns.



sql/item.h:
  Fixed bug #28898.
  Body of Item_ref::get_tmp_table_item method has been moved
  to item.cc file.
mysql-test/t/metadata.test:
  Updated test case for bug #28898.
sql/item.cc:
  Fixed bug #28898.
  The Item_ref::get_tmp_table_item method has been modified
  to copy pointers to the table alias and database name to the new
  Item_field object created for a field stored in the temporary
  table.
mysql-test/r/metadata.result:
  Updated test case for bug #28898.
sql/sql_select.cc:
  Fixed bug #28898.
  The change_to_use_tmp_fields function has been modified to
  to copy pointers to the table alias and database name from
  the Item_ref objects to the new Item_field objects created
  for fields stored in the temporary table.
2007-06-20 12:25:07 +05:00
unknown
bfc61f2ea9 Merge damien-katzs-computer.local:/Users/dkatz/mysql50
into  damien-katzs-computer.local:/Users/dkatz/50_win


sql/sql_yacc.yy:
  Auto merged
2007-06-19 18:03:47 -04:00
unknown
cb5f8fa50b Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-06-19 14:53:13 +04:00
unknown
f0d59bf49e Bug #29116: Test "rpl_change_master" returns different
counters from relay

Updated the test to return columns vertically.


mysql-test/r/rpl_change_master.result:
  Bug #29116: test updated
mysql-test/t/rpl_change_master.test:
  Bug #29116: test updated
2007-06-19 13:19:20 +03:00
unknown
8f24e8222c Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0


configure.in:
  Auto merged
2007-06-19 12:10:48 +02:00
unknown
32b6fbe5b2 try again.
configure.in:
  Raise version number after cloning 5.0.44
2007-06-19 12:03:10 +02:00
unknown
71eff9f175 Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
2007-06-19 11:34:54 +02:00
unknown
9fb4bffa37 Merge bk-internal:/home/bk/mysql-4.1-maint
into  pilot.(none):/data/msvensson/mysql/mysql-4.1-maint
2007-06-19 11:30:45 +02:00
unknown
8d04d7bba1 Merge pilot.(none):/data/msvensson/mysql/wl3232/my41-wl3232
into  pilot.(none):/data/msvensson/mysql/wl3232/my50-wl3232


mysql-test/r/mysqltest.result:
  Auto merged
mysql-test/t/mysqltest.test:
  Auto merged
2007-06-19 11:07:39 +02:00
unknown
9aac6fd7bd WL#3232 mysqltest, enable --source $variables/<remaining_path_to_file>
- Add test case for this already existing feature 


mysql-test/r/mysqltest.result:
  Update result file
mysql-test/t/mysqltest.test:
  Add test case for this feature
2007-06-19 11:06:02 +02:00
unknown
b269713c10 Bug#28769 Test case "innodb" fails with --skip-log-bin
- Move binlog related tests to binlog_innodb.test
 - Remove "source include/have_log_bin.inc" from innodb.test


mysql-test/r/innodb.result:
  Move binlog related tests to binlog_innodb.test
mysql-test/t/innodb.test:
  Move binlog related tests to binlog_innodb.test
mysql-test/r/binlog_innodb.result:
  Move binlog related tests to binlog_innodb.test
mysql-test/t/binlog_innodb.test:
  Move binlog related tests to binlog_innodb.test
2007-06-19 09:56:19 +02:00