Commit graph

13505 commits

Author SHA1 Message Date
unknown
f0ccaddf8b Bug#24924: shared-memory-base-name that is too long causes buffer overflow
show that shm communication still works on windows,
and that we can't overflow the base-name.


mysql-test/t/windows_shm-master.opt:
  Bug#24924: shared-memory-base-name that is too long causes buffer overflow
  
  start a server with shm communication if we're on
  windows.
mysql-test/t/windows_shm.test:
  Bug#24924: shared-memory-base-name that is too long causes buffer overflow
  
  .opt has started a server with shm communication
  if we're on windows. now start a client with shm
  and connect to that server.
2007-06-27 14:04:29 +02:00
unknown
94d80f739c Merge pilot.(none):/data/msvensson/mysql/bug18415/my50-bug18415
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint


mysql-test/lib/mtr_process.pl:
  Auto merged
2007-06-27 09:21:05 +02:00
unknown
60b2067e77 Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-06-27 08:27:54 +02:00
unknown
cfd57501ae Merge maint1.mysql.com:/data/localhome/tsmith/bk/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
2007-06-26 23:58:48 +02:00
unknown
6437c0356a Bug#25657 mysql-test-run.pl kill itself under ActiveState perl
- Various fixes for running mysql-test-run.pl on ActiveState perl
   for windows. Reading it's source in win32/win32.c helps...


mysql-test/lib/mtr_process.pl:
  Use "real_pid" when killing the process on ActiveState perl for windows
  Wait blocking for the pseudo pid to exit.
  Change "sleep_until_file_created" to return 1 when pidfile has been
  created - this should avoid early wakeup if $pid was 0
mysql-test/lib/mtr_timer.pl:
  Wake timer process with signal 15 to avoid to avoid resource leak
  on ActiveState perl for windows.
  Install signal handler in timer process to  exit gracefully
mysql-test/mysql-test-run.pl:
  Read "real_pid" of process from pid_file - to be used when killing the
  process on ActiveState perl
  Drop the --console option to mysqld
  Pass "real_pid" to mtr_check_stop_server so it can select to use it
  Correct two argument declarations
2007-06-26 12:26:21 +02:00
unknown
279529c11c Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
fix binlog-writing so that end_log_pos is given correctly even
within transactions for both SHOW BINLOG and SHOW MASTER STATUS,
that is as absolute values (from log start) rather than relative
values (from transaction's start).
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  sin.intern.azundris.com:/home/tnurnberg/22540/50-22540


mysql-test/r/binlog.result:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  show that end_log_pos in SHOW BINLOG EVENTS is correct even in transactions.
  show that SHOW MASTER STATUS returns correct values while in transactions
  (so that mysqldump --master-data will work correctly).
  also remove bdb dependency.
  ---
  manual merge
mysql-test/t/binlog.test:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  show that end_log_pos in SHOW BINLOG EVENTS is correct even in transactions.
  show that SHOW MASTER STATUS returns correct values while in transactions
  (so that mysqldump --master-data will work correctly).
  also remove bdb dependency.
sql/log.cc:
  Bug #22540: Incorrect value in column End_log_pos of SHOW BINLOG EVENTS using InnoDB
  
  fix output for SHOW BINLOG EVENTS so that end_log_pos is given correctly
  even within transactions. do this by rewriting the commit-buffer in place.
2007-06-25 11:34:23 +02:00
unknown
f30db30991 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25602


sql/sql_select.cc:
  Auto merged
2007-06-24 10:50:24 -07:00
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
e009b764b9 Fixed bug #25602. A query with DISTINCT in the select list to which
the loose scan optimization for grouping queries was applied returned 
a wrong result set when the query was used with the SQL_BIG_RESULT
option.

The SQL_BIG_RESULT option forces to use sorting algorithm for grouping
queries instead of employing a suitable index. The current loose scan
optimization is applied only for one table queries when the suitable
index is covering. It does not make sense to use sort algorithm in this
case. However the create_sort_index function does not take into account
the possible choice of the loose scan to implement the DISTINCT operator
which makes sorting unnecessary. Moreover the current implementation of
the loose scan for queries with distinct assumes that sorting will
never happen. Thus in this case create_sort_index should not call
the function filesort.


mysql-test/r/group_min_max.result:
  Added a test case for bug #25602.
mysql-test/t/group_min_max.test:
  Added a test case for bug #25602.
2007-06-23 23:33:55 -07: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
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
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
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
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
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
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
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
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
unknown
5941479ee3 Bug #28921 Queries containing UDF functions are cached
Fixed runtime to no longer allow the caching of queries with UDF calls.


mysql-test/r/udf.result:
  Added a test that turns on caching and checks that querys calling UDFs don't get cached.
mysql-test/t/udf.test:
  Added a test that turns on caching and checks that querys calling UDFs don't get cached.
sql/sql_yacc.yy:
  Fixed code to set safe_to_cache_query=0 regardless if the function call is a UDF or SP. Where it was placed previously -- at the very end of the else testing for UDFs -- it only executed the statement if the function call was a stored procedure call.
2007-06-18 17:55:12 -04:00
unknown
2a9bb27424 Bug #29053 SQL_CACHE in UNION causes non-deterministic functions to be cached
Changed code to enforce that SQL_CACHE only in the first SELECT is used to turn on caching(as documented), but any SQL_NO_CACHE will turn off caching (not documented, but a useful behaviour, especially for machine generated queries). Added test cases to explicitly test the documented caching behaviour and test cases for the reported bug. 


mysql-test/r/query_cache.result:
  Added non-bug specific tests that ensure that only SQL_CACHE in the first SELECT is respected when encountered by the parser. These tests validate what is already documented, that only the outer most SELECTS can use the SQL_CACHE option to turn on caching. Because it would break existing SQL applications, we do not return an error if the SQL_CACHE expression is found in nested SELECTs. Also added test to validate nested SELECT can contain SQL_NO_CACHE and it will always turn off caching for the whole query. 
  
  Also added a bug specific test case to validate that the buggy behavior as reported has been fixed.
mysql-test/t/query_cache.test:
  Added non-bug specific tests that ensure that only SQL_CACHE in the first SELECT is respected when encountered by the parser. These tests validate what is already documented, that only the outer most SELECTS can use the SQL_CACHE option to turn on caching. Because it would break existing SQL applications, we do not return an error if the SQL_CACHE expression is found in nested SELECTs. Also added test to validate nested SELECT can contain SQL_NO_CACHE and it will always turn off caching for the whole query. 
  
  Also added a bug specific test case to validate that the buggy behavior as reported has been fixed.
sql/sql_yacc.yy:
  Added an explicit check to make sure "SELECT SQL_CACHE" only works on the first select in a query.
  
  The parser will always hit the outermost SELECT first, and if the SQL_CACHE option is found it sets the safe_to_query flag in the lex. Then, if there are subseqent "uncachable" subqueries or functions, as it parses those elements it sets the safe_to_query to 0. However, this cause problems if nested SELECTs also used the SQL_CACHE option, because then it would set back safe_to_query to 1, even though there are uncacheable expressions previously parsed.
  
  By adding the check to ensure only the first SELECT can turn caching on, it means a subsequent SQL_CACHE option can't turn caching back on after a uncacheable subsequery was already encountered.
2007-06-18 17:16:20 -04:00
unknown
34a55d77e4 Merge maint1.mysql.com:/data/localhome/tsmith/bk/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
2007-06-18 22:11:49 +02:00
unknown
ccae0cf8b2 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt


sql/item_func.cc:
  Auto merged
2007-06-18 18:45:55 +05:00