Commit graph

39109 commits

Author SHA1 Message Date
unknown
8bc987ab5b Merge host.loc:/work/bugs/5.0-bugteam-36676
into  host.loc:/work/bk/5.0-bugteam
2008-05-18 14:27:17 +05:00
unknown
29e7fa258d Fixed bug#36676: multiupdate using LEFT JOIN updates only
first row or fails with an error:
  ERROR 1022 (23000): Can't write; duplicate key in table ''

The server uses intermediate temporary table to store updated
row data.  The first column of this table contains rowid.
Current server implementation doesn't reset NULL flag of that
column even if the server fills a column with rowid.
To keep each rowid unique, there is an unique index.
An insertion into an unique index takes into account NULL
flag of key value and ignores real data if NULL flag is set.
So, insertion of actually different rowids may lead to two
kind of problems.  Visible effect of each of these problems
depends on an initial engine type of temporary table:

1. If multiupdate initially creates temporary table as
a MyISAM table (a table contains blob columns, and the
create_tmp_table function assumes, that this table is
large), it inserts only one single row and updates
only rows with one corresponding rowid. Other rows are
silently ignored. 

2. If multiupdate initially creates MEMORY temporary
table, fills it with data and reaches size limit for
MEMORY tables (max_heap_table_size), multiupdate
converts MEMORY table into MyISAM table and fails
with an error:
  ERROR 1022 (23000): Can't write; duplicate key in table ''


Multiupdate has been fixed to update the NULL flag of
temporary table rowid columns.



mysql-test/r/multi_update_tiny_hash.result:
  Added test case for bug#36676.
mysql-test/t/multi_update_tiny_hash-master.opt:
  Added test case for bug#36676.
mysql-test/t/multi_update_tiny_hash.test:
  Added test case for bug#36676.
sql/sql_update.cc:
  Fixed bug#36676: multiupdate using LEFT JOIN updates only
                   first row or fails with an error:
    ERROR 1022 (23000): Can't write; duplicate key in table ''
  
  The multi_update::send_data method has been modified to reset null bits of
  fields containing rowids.
2008-05-18 14:21:25 +05:00
unknown
f197f3abb4 Bug #36705 key_buffer_size of >= 2G allocates all availabel virtual memory on 64-bit wondo.
temporary variables of 'long' types were used to store ulong values,
that causes init_key_cache to receive distorted parameters


sql/handler.cc:
  Bug #36705 key_buffer_size of >= 2G allocates all availabel virtual memory on 64-bit wondo.
  
  types of temporary variables changed to match init_key_cache() parameters
2008-05-17 12:53:47 +05:00
unknown
eee5b97258 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
2008-05-16 17:48:07 -04:00
unknown
290b6c00c9 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/bug36570/my50-bug36570
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-bugteam
2008-05-16 17:40:01 -04:00
unknown
97354b1907 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  magare.gmz:/home/kgeorge/mysql/autopush/B36011-take2-5.0-bugteam
2008-05-16 18:56:43 +03:00
unknown
1f904b7f11 Add a test at Andrei's behest. Show the SHOW CREATE on the
master also, so that we can visually see the slave is the same.


mysql-test/r/rpl_sp.result:
  SHOW CREATE on master also.
mysql-test/t/rpl_sp.test:
  SHOW CREATE on master also.
2008-05-16 11:26:29 -04:00
unknown
0fb1527e95 Bug #36011: server crash with explain extended on query
with dependent subqueries
An IN subquery is executed on EXPLAIN when it's not correlated.
If the subquery required a temporary table for its execution
not all the internal structures were restored from pointing to
the items of the temporary table to point back to the items of
the subquery.
Fixed by restoring the ref array when a temp tables were used in
executing the IN subquery during EXPLAIN EXTENDED.


mysql-test/r/subselect.result:
  Bug #36011: test case
mysql-test/t/subselect.test:
  Bug #36011: test case
sql/sql_select.cc:
  Bug #36011: restore the ref array after execution 
  when there were temp tables.
2008-05-16 17:05:55 +03:00
unknown
21b8d8b5b3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/Users/davi/mysql/mysql-5.0-bugteam
2008-05-16 10:55:48 -03:00
unknown
e10957274a Updated to address Davi's complaint about missing binlog.
mysql-test/r/rpl_sp.result:
  Add binlog results to show that they're written correctly.
mysql-test/t/rpl_sp.test:
  Add binlog results to show that they're written correctly.
2008-05-16 09:15:56 -04:00
unknown
b2fe762e02 Raise version number after cloning 5.0.62 2008-05-16 11:01:59 +02:00
unknown
7ca1538b90 Merge host.loc:/work/bugs/5.0-bugteam-36488
into  host.loc:/work/bk/5.0-bugteam
2008-05-16 13:00:12 +05:00
unknown
55012e427b Bug#36570: Parse error of CREATE PROCEDURE stmt with comments on \
slave

The stored-routine code took the contents of the (lowest) parser
and copied it directly to the binlog, which causes problems if there
is a special case of interpretation at the parser level -- which 
there is, in the "/*!VER */" comments.  The trailing "*/" caused
errors on the slave, naturally.

Now, since by that point we have /properly/ created parse-tree (as 
the rest of the server should do!) for the stored-routine CREATE, we
can construct a perfect statement from that information, instead of
writing uncertain information from an unknown parser state.  
Fortunately, there's already a function nearby that does exactly 
that.
---
Update for Bug#36570.  Qualify routine names with db name when
writing to the binlog ONLY if the source text is qualified.


mysql-test/r/binlog_innodb.result:
  Offsets changed due to quoting.
  ---
  New offset to account for db-qualified names.
mysql-test/r/ctype_cp932_binlog.result:
  Offsets changed due to quoting.
  ---
  Qualify routine names with DB.  Offsets change also.
mysql-test/r/mysqlbinlog.result:
  Case changed in result due to interpretation of data instead of 
  literal recitation.
  ---
  Qualify procedure name with db.
mysql-test/r/rpl_sp.result:
  Offsets changed due to quoting.  Added tests.
  ---
  Qualify routine names with DB if qualified in query.  Offsets change also.
mysql-test/t/rpl_sp.test:
  Add version-limiting quotes to exercise bug#36570.  Test that 
  backtick-quoted identifiers and labels work also.
  ---
  Use different db to show qualification works.  Qualify routine names
  with DB if qualified in query.
sql/sp.cc:
  In create_string, we may not have a sp_name parameter yet, so
  instead pass the char* and length of the only member we'd get out
  of it.
  
  Having done that, we can use the same function to write the 
  CREATE (FUNC|TRIG|PROC) statement to the binlog as we always used
  to display the statement to the user.
  ---
  Make the db name part of the CREATE string if it is specified.
  
  Specify it in part of writing to the binlog when creating a new
  routine.
sql/sp_head.cc:
  Set the sp_head m_explicit_name member as the sp_name member is set.  
  We can not peek at this later, as the sp_name is gone by then.
sql/sp_head.h:
  Add a member to track whether the name is qualified with the 
  database.
2008-05-15 19:13:24 -04:00
unknown
21c07eb7b5 Merge bk-internal:/home/bk/mysql-5.0
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam
2008-05-14 13:32:09 +03:00
unknown
66367aeea8 Fixed bug #36488: regexp returns false matches, concatenating
with previous rows.

The WHERE clause containing expression:
  CONCAT(empty_field1, empty_field2, ..., 'literal constant', ...)
    REGEXP 'regular expression'
may return wrong matches.

Optimization of the CONCAT function has been fixed.



mysql-test/r/func_concat.result:
  Added test case for bug #36488.
mysql-test/t/func_concat.test:
  Added test case for bug #36488.
sql/item_strfunc.cc:
  Fixed bug #36488.
  The Item_func_concat::val_str method is optimized to
  use first non-empty argument of the CONCAT function for in-place
  result accumulation. This optimization is acceptable if that
  first argument is not a constant.
  However, current implementation checks this condition only for
  the first actual argument of the CONCAT function.
  So, the Item_func_concat::val_str method can corrupt values
  of, for example, literal strings by appending random data.
  
  The Item_func_concat::val_str method has been modified to take
  into account the ability to be modified in-place for the first
  non-empty argument.
2008-05-13 20:27:46 +05:00
unknown
54998d6125 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/mysql-5.0-release-merge


BUILD/Makefile.am:
  Auto merged
mysql-test/Makefile.am:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb1.txt:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb2.txt:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb3.txt:
  Auto merged
mysql-test/std_data/funcs_1/innodb_tb4.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb1.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb2.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb3.txt:
  Auto merged
mysql-test/std_data/funcs_1/memory_tb4.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb1.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb2.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb3.txt:
  Auto merged
mysql-test/std_data/funcs_1/myisam_tb4.txt:
  Auto merged
mysql-test/std_data/funcs_1/t3.txt:
  Auto merged
mysql-test/std_data/funcs_1/t4.txt:
  Auto merged
mysql-test/std_data/funcs_1/t7.txt:
  Auto merged
mysql-test/std_data/funcs_1/t9.txt:
  Auto merged
mysql-test/suite/funcs_1/README.txt:
  Auto merged
mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc:
  Auto merged
mysql-test/suite/funcs_1/datadict/datadict_load.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb1.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb2.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb3.inc:
  Auto merged
mysql-test/suite/funcs_1/include/innodb_tb4.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb1.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb2.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb3.inc:
  Auto merged
mysql-test/suite/funcs_1/include/memory_tb4.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb1.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb2.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb3.inc:
  Auto merged
mysql-test/suite/funcs_1/include/myisam_tb4.inc:
  Auto merged
mysql-test/suite/funcs_1/include/sp_tb.inc:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_func_view.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
  Auto merged
mysql-test/suite/funcs_1/r/innodb_views.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_memory.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_columns_ndb.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_innodb.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_memory.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
  Auto merged
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_func_view.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_09.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
  Auto merged
mysql-test/suite/funcs_1/r/memory_views.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_func_view.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
  Auto merged
mysql-test/suite/funcs_1/r/myisam_views.result:
  Auto merged
mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
  Auto merged
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
  Auto merged
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
  Auto merged
mysql-test/suite/funcs_1/t/is_basics_mixed.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
  Auto merged
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
  Auto merged
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
  Auto merged
mysql-test/suite/funcs_1/triggers/trig_frkey2.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_03.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_0407.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_08.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_09.inc:
  Auto merged
mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc:
  Auto merged
mysql-test/suite/funcs_1/views/func_view.inc:
  Auto merged
mysql-test/suite/funcs_1/views/views_master.inc:
  Auto merged
BitKeeper/deleted/.del-load_file.txt:
  Delete: mysql-test/std_data/funcs_1/load_file.txt
2008-05-13 15:46:38 +02:00
unknown
470aa2c077 Merge host.loc:/work/bugs/5.0-bugteam-30059
into  host.loc:/work/bk/5.0-bugteam
2008-05-13 16:59:44 +05:00
unknown
ef4b6200ac Merge host.loc:/work/bugs/5.0-bugteam-36055
into  host.loc:/work/bk/5.0-bugteam
2008-05-13 00:32:43 +05:00
unknown
e7e49eb69e Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
The REPAIR TABLE ... USE_FRM query silently corrupts data of tables
with old .FRM file version.
The mysql_upgrade client program or the REPAIR TABLE query (without
the USE_FRM clause) can't prevent this trouble, because in the
common case they don't upgrade .FRM file to compatible structure.

1. Evaluation of the REPAIR TABLE ... USE_FRM query has been
   modified to reject such tables with the message:
   "Failed repairing incompatible .FRM file".

2. REPAIR TABLE query (without USE_FRM clause) evaluation has been
   modified to upgrade .FRM files to current version.

3. CHECK TABLE ... FOR UPGRADE query evaluation has been modified
   to return error status when .FRM file has incompatible version.

4. mysql_upgrade and mysqlcheck client programs call CHECK TABLE
   FOR UPGRADE and REPAIR TABLE queries, so their behaviors have
   been changed too to upgrade .FRM files with incompatible
   version numbers.


mysql-test/std_data/bug36055.MYD:
  Added test data for bug #36055.
mysql-test/std_data/bug36055.MYI:
  Added test data for bug #36055.
mysql-test/std_data/bug36055.frm:
  Added test data for bug #36055.
mysql-test/r/repair.result:
  Added test case for bug# 36055.
mysql-test/t/repair.test:
  Added test case for bug# 36055.
sql/handler.cc:
  Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
  
  The handler::ha_check_for_upgrade method has been modified to
  return error if .FRM file has incompatible version number.
sql/sql_table.cc:
  Fixed bug #36055: mysql_upgrade doesn't really 'upgrade' tables
  
  The prepare_for_repair function has been modified to reject
  REPAIR TABLE ... USE_FRM queries on incompatible .FRM files
  with the message: "Failed repairing incompatible .FRM file".
2008-05-12 21:01:13 +05:00
unknown
ab6e91cf3a Merge client-10-129-10-147.upp.off.mysql.com:/Users/mattiasj/clones/bug32575-50-bugteam
into  client-10-129-10-147.upp.off.mysql.com:/Users/mattiasj/clones/topush-50-bugteam
2008-05-08 11:26:20 +02:00
unknown
a6f7fa35b1 Bug#32575 - Parse error of stmt with extended comments on slave side
Problem was that mysql_create_view did not remove all comments characters
when writing to binlog, resulting in parse error of stmt on slave side.

Solution was to use the recreated select clause
and add a generated CHECK OPTION clause if needed.


mysql-test/r/rpl_sp.result:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Updated test result
mysql-test/r/rpl_view.result:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Updated test result
mysql-test/t/rpl_view.test:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Added test case
sql/sql_view.cc:
  Bug#32575 - Parse error of stmt with extended comments on slave side
  
  Problem was that mysql_create_view did not remove all comments characters
  when writing to binlog, resulting in parse error of stmt on slave side.
  
  Solution was to use the recreated select clause and generate
  'WITH {LOCAL|CASCADED} CHECK OPTION'.
2008-05-08 09:41:22 +02:00
unknown
5a1b7ddb68 Partial rollback of fix for bug #30059: End-space truncation is inconsistent
or incorrect.

For better conformance with standard, truncation procedure of CHAR columns
has been changed to ignore truncation of trailing whitespace characters
(note has been removed).

Finally, for columns with non-binary charsets:

1. CHAR(N) columns silently ignore trailing whitespace truncation;
2. VARCHAR and TEXT columns issue Note about truncation.

BLOBs and other columns with BINARY charset are unaffected.





mysql-test/r/bdb.result:
  Rollback of bug #30059 fix.
mysql-test/r/heap.result:
  Rollback of bug #30059 fix.
mysql-test/r/innodb.result:
  Rollback of bug #30059 fix.
mysql-test/r/myisam.result:
  Rollback of bug #30059 fix.
mysql-test/r/strict.result:
  Rollback of bug #30059 fix.
mysql-test/r/type_binary.result:
  Rollback of bug #30059 fix.
mysql-test/r/warnings.result:
  Updated test case for bug #30059.
sql/field.cc:
  Post-commit fix for bug #30059.
  
  The Field_longstr::report_if_important_data method
  has been changed to notify about trailing spaces only if
  the new count_spaces parameter is TRUE.
  
  The Field_string::store method has been changed to
  ignore trailing whitespace truncation (CHAR column
  type).
sql/field.h:
  Post-commit fix for bug #30059.
  
  The Field_longstr::report_if_important_data method declaration
  has been changed to accept extra parameter: bool count_spaces.
2008-05-06 21:43:46 +05:00
unknown
65a310fe2a revert the push of bug 35616. 2008-05-06 11:57:19 +03:00
unknown
55c336fd0e Bug#35616: memory overrun on 64-bit linux on setting large values for keybuffer-size
We could allocate chunks larger than 4GB, but did our size-accounting in 32-bit
values. This could lead to spurious warnings, inaccurate accounting, and, in
theory, data loss.

Affected: 64-bit platforms. Debug-build (with safemalloc). At least one buffer
larger than 4GB. For potential data loss, a re-alloc on such a buffer would be
necessary.


mysys/my_static.c:
  Make memory-accounting 64-bit safe.
mysys/my_static.h:
  Make memory-accounting 64-bit safe.
  Move in struct for better alignment when 64-bit.
2008-05-06 02:55:35 +02:00
unknown
ac8585e88a Merge bk-internal:/home/bk/mysql-5.0
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam


mysql-test/mysql-test-run.pl:
  Auto merged
2008-05-05 15:04:26 +03:00
unknown
6aadc3e2b9 Merge pilot.mysql.com:/data/msvensson/mysql/my50-bt-36463
into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.0-bugteam


client/mysqltest.c:
  Auto merged
2008-05-02 19:01:32 +02:00
unknown
6add5be771 Bug#36469 mysql_upgrade does not use --tmpdir
client/mysql_upgrade.c:
  Add --tmpdir option to mysql_upgrade and use it when creating temporary files.
mysql-test/mysql-test-run.pl:
  Pass --tmpdir to mysql_upgrade
2008-05-02 14:41:19 +02:00
unknown
7f5119d3e5 Bug#35986 valgrind warning in DbugParse for empty string in SET GLOBAL DEBUG=""
- Code in DbugParse was reading from beyond end of the control string


dbug/dbug.c:
  Don't try to parse control strings that hasn't got any tokens
  or is zero size
2008-05-02 12:49:31 +02:00
unknown
cde8f109b9 Bug#36465 mysqltest should always use the --tmpdir
client/mysqltest.c:
  Use the --tmpdir location to create temporary files
2008-05-02 11:22:10 +02:00
unknown
9018c56ac4 Bug#36463 mysql-test-run.pl should always use the --tmpdi
mysql-test/mysql-test-run.pl:
  Use the requested tmpdir in 'collect_mysqld_features', create
  it if it does not already exists
2008-05-02 09:13:43 +02:00
unknown
abf8b70a0a Merge bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  pcrews-mac-local.local:/Users/pcrews/usr/local/bin/data0/build_work/mysql-5.0-trigs
2008-05-01 12:15:38 -04:00
unknown
38c28141a8 Bug#36026 - Test funcs_1.<engine>_trig_03 failing on Windows
Bug#36028 - Test funcs_1.<engine>_trig_03e failing on Windows
Bug#36029 - Test funcs_1.<engine>_trig_0407 failing on Windows
Bug#36030 - Test funcs_1.<engine>_trig_08 failing on Windows

Adding $MASTER_MYSOCK to init_win_path()
When path names are short, master.sock ends up in MYSQL_TMP_DIR, but with longer path names,
master.sock ends up in /tmp/<random_string>/ and these tests will fail due to path delimiter difference.

New changeset to start with 5.0 -- Not all of these tests are present in 5.0, but want to keep mysqltest the same
2008-05-01 11:36:03 -04:00
unknown
1a68ec2809 Fix for bug #35298: GROUP_CONCAT with DISTINCT can crash the server
The bug is a regression introduced by the patch for bug32798.

The code in Item_func_group_concat::clear() relied on the 'distinct'
variable to check if 'unique_filter' was initialized. That, however,
is not always valid because Item_func_group_concat::setup() can do
shortcuts in some cases w/o initializing 'unique_filter'.

Fixed by checking the value of 'unique_filter' instead of 'distinct'
before dereferencing.


mysql-test/r/func_gconcat.result:
  Added test cases for bugs #35298 and #36024.
mysql-test/t/func_gconcat.test:
  Added test cases for bugs #35298 and #36024.
sql/item_sum.cc:
  Check if unique_filter != NULL before dereferencing it. Non-zero value
  of distinct does not always mean that unique_filter is initialized
  because Item_func_group_concat::setup() can do shortcuts is some cases
2008-05-01 13:49:26 +03:00
unknown
cf2b2cc506 Merge bk-internal:/home/bk/mysql-5.0
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-bugteam
2008-05-01 13:40:56 +03:00
unknown
b028f1fcc7 Merge ramayana.hindu.god:/home/tsmith/m/bk/50
into  ramayana.hindu.god:/home/tsmith/m/bk/build/50
2008-04-30 17:30:39 -06:00
unknown
e65b875094 make_binary_distribution.sh:
Copy all of the "std_data" directory


scripts/make_binary_distribution.sh:
  Copy all of the "std_data" directory
2008-04-28 21:53:52 +02:00
unknown
627d7d0efd Merge amd64.(none):/src/mysql-5.0-release
into  amd64.(none):/src/rel_clean_up/my50-release
2008-04-28 15:03:33 -04:00
unknown
da7b9c5882 Merge amd64.(none):/src/rel_clean_up/my50-release
into  amd64.(none):/src/rel_clean_up/my50-rel_clean_up
2008-04-28 15:00:31 -04:00
unknown
57036d8a71 Correct failing build. 2008-04-28 14:58:32 -04:00
unknown
96e405b662 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-bugteam
into  amd64.(none):/src/rel_clean_up/my50-rel_clean_up
2008-04-28 13:58:19 -04:00
unknown
1e7367e49a Merge mysqldev@production.mysql.com:my/mysql-5.0-release
into  amd64.(none):/src/rel_clean_up/my50-release
2008-04-28 13:56:15 -04:00
unknown
e20145f626 Merge amd64.(none):/src/rel_clean_up/my50-release
into  amd64.(none):/src/rel_clean_up/my50-rel_clean_up
2008-04-28 13:41:50 -04:00
unknown
8def2e0993 Avoid compilation problem on AIX. 2008-04-28 13:41:12 -04:00
unknown
89b866e7bf Bug#36023: Incorrect handling of zero length caused an assertion to fail.
When a zero length is provided to the my_decimal_length_to_precision
function along with unsigned_flag set to false it returns a negative value.
For queries that employs temporary tables may cause failed assertion or
excessive memory consumption while temporary table creation.

Now the my_decimal_length_to_precision and the my_decimal_precision_to_length
functions take unsigned_flag into account only if the length/precision
argument is non-zero.


mysql-test/t/type_decimal.test:
  Added a test case for the bug#36023: Incorrect handling of zero length caused
   an assertion to fail.
mysql-test/r/type_decimal.result:
  Added a test case for the bug#36023: Incorrect handling of zero length caused
   an assertion to fail.
sql/my_decimal.h:
  Bug#36023: Incorrect handling of zero length caused an assertion to fail.
  Now the my_decimal_length_to_precision and the my_decimal_precision_to_length
  functions take unsigned_flag into account only if the length/precision
  argument is non-zero.
2008-04-25 00:39:37 +04:00
unknown
c82f8595b9 Fix for funcs_1 tests which fail in 5.0.60
This is basically a backport of changes (only a few were missing)
which were already pushed to 5.0-build and upmerged to
5.1-build, 6.0-build


mysql-test/std_data/funcs_1/innodb_tb1.txt:
  Rename: mysql-test/suite/funcs_1/data/innodb_tb1.txt -> mysql-test/std_data/funcs_1/innodb_tb1.txt
mysql-test/std_data/funcs_1/innodb_tb2.txt:
  Rename: mysql-test/suite/funcs_1/data/innodb_tb2.txt -> mysql-test/std_data/funcs_1/innodb_tb2.txt
mysql-test/std_data/funcs_1/innodb_tb3.txt:
  Rename: mysql-test/suite/funcs_1/data/innodb_tb3.txt -> mysql-test/std_data/funcs_1/innodb_tb3.txt
mysql-test/std_data/funcs_1/innodb_tb4.txt:
  Rename: mysql-test/suite/funcs_1/data/innodb_tb4.txt -> mysql-test/std_data/funcs_1/innodb_tb4.txt
mysql-test/std_data/funcs_1/memory_tb1.txt:
  Rename: mysql-test/suite/funcs_1/data/memory_tb1.txt -> mysql-test/std_data/funcs_1/memory_tb1.txt
mysql-test/std_data/funcs_1/memory_tb2.txt:
  Rename: mysql-test/suite/funcs_1/data/memory_tb2.txt -> mysql-test/std_data/funcs_1/memory_tb2.txt
mysql-test/std_data/funcs_1/memory_tb3.txt:
  Rename: mysql-test/suite/funcs_1/data/memory_tb3.txt -> mysql-test/std_data/funcs_1/memory_tb3.txt
mysql-test/std_data/funcs_1/memory_tb4.txt:
  Rename: mysql-test/suite/funcs_1/data/memory_tb4.txt -> mysql-test/std_data/funcs_1/memory_tb4.txt
mysql-test/std_data/funcs_1/myisam_tb1.txt:
  Rename: mysql-test/suite/funcs_1/data/myisam_tb1.txt -> mysql-test/std_data/funcs_1/myisam_tb1.txt
mysql-test/std_data/funcs_1/myisam_tb2.txt:
  Rename: mysql-test/suite/funcs_1/data/myisam_tb2.txt -> mysql-test/std_data/funcs_1/myisam_tb2.txt
mysql-test/std_data/funcs_1/myisam_tb3.txt:
  Rename: mysql-test/suite/funcs_1/data/myisam_tb3.txt -> mysql-test/std_data/funcs_1/myisam_tb3.txt
mysql-test/std_data/funcs_1/myisam_tb4.txt:
  Rename: mysql-test/suite/funcs_1/data/myisam_tb4.txt -> mysql-test/std_data/funcs_1/myisam_tb4.txt
mysql-test/std_data/funcs_1/t3.txt:
  Rename: mysql-test/suite/funcs_1/data/t3.txt -> mysql-test/std_data/funcs_1/t3.txt
mysql-test/std_data/funcs_1/t4.txt:
  Rename: mysql-test/suite/funcs_1/data/t4.txt -> mysql-test/std_data/funcs_1/t4.txt
mysql-test/std_data/funcs_1/t7.txt:
  Rename: mysql-test/suite/funcs_1/data/t7.txt -> mysql-test/std_data/funcs_1/t7.txt
mysql-test/std_data/funcs_1/t9.txt:
  Rename: mysql-test/suite/funcs_1/data/t9.txt -> mysql-test/std_data/funcs_1/t9.txt
mysql-test/Makefile.am:
  Correction for location of loadfiles
mysql-test/std_data/funcs_1/load_file.txt:
  Missing file
2008-04-24 17:13:35 +02:00
unknown
905594b008 Many files: [Changes done by mleich]
Fix for
     Bug#35335 funcs_1: Some tests fail within load_file during
                        pushbuild runs
     Solution: 1. Move files with input data used in load_file,
                  load data etc.
                  from suite/funcs_1/<whatever>
                  to std_data
               2. Use for testsuite funcs_1 the server option
                  --secure-file-priv=<MYSQLTEST_VARDIR>
               3. Outfiles have to be stored under MYSQLTEST_VARDIR
  + changes according to WL#4304 Cleanup in funcs_1 tests
    - backport of fixes/improvements made in 5.1 to 5.0
      The differences between scripts in 5.0 and 5.1 cause
      much additional and annoying work during any upmerge.
    - replace error numbers with names
    - improved comments
    - improved formatting
    - Unify storage engine names so that result files for
      storage engine variants do not differ (some tests)
    - remove a script no more used (tests are done in other scripts)


BUILD/Makefile.am:
  Test case adjustments
mysql-test/Makefile.am:
  Test case adjustments
mysql-test/mysql-test-run.pl:
  Test case adjustments
mysql-test/suite/funcs_1/README.txt:
  Test case adjustments
mysql-test/suite/funcs_1/datadict/datadict_bug_12777.inc:
  Test case adjustments
mysql-test/suite/funcs_1/datadict/datadict_load.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/innodb_tb1.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/innodb_tb2.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/innodb_tb3.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/innodb_tb4.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/memory_tb1.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/memory_tb2.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/memory_tb3.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/memory_tb4.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/myisam_tb1.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/myisam_tb2.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/myisam_tb3.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/myisam_tb4.inc:
  Test case adjustments
mysql-test/suite/funcs_1/include/sp_tb.inc:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_func_view.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_storedproc_02.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_storedproc_03.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_storedproc_06.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_storedproc_07.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_storedproc_08.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_storedproc_10.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_trig_0102.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_trig_03.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_trig_0407.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_trig_08.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_trig_09.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_trig_1011ext.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_trig_frkey.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/innodb_views.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_columns_innodb.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_columns_memory.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_columns_myisam.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_columns_ndb.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_tables_innodb.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_tables_memory.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/is_tables_ndb.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_func_view.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_storedproc_02.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_storedproc_03.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_storedproc_06.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_storedproc_07.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_storedproc_08.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_storedproc_10.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_trig_0102.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_trig_03.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_trig_0407.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_trig_08.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_trig_09.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_trig_1011ext.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/memory_views.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_func_view.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_storedproc_02.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_storedproc_03.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_storedproc_06.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_storedproc_07.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_storedproc_08.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_storedproc_10.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_trig_0102.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_trig_03.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_trig_0407.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_trig_08.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_trig_09.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_trig_1011ext.result:
  Test case adjustments
mysql-test/suite/funcs_1/r/myisam_views.result:
  Test case adjustments
mysql-test/suite/funcs_1/storedproc/cleanup_sp_tb.inc:
  Test case adjustments
mysql-test/suite/funcs_1/storedproc/load_sp_tb.inc:
  Test case adjustments
mysql-test/suite/funcs_1/storedproc/storedproc_02.inc:
  Test case adjustments
mysql-test/suite/funcs_1/storedproc/storedproc_03.inc:
  Test case adjustments
mysql-test/suite/funcs_1/storedproc/storedproc_06.inc:
  Test case adjustments
mysql-test/suite/funcs_1/storedproc/storedproc_10.inc:
  Test case adjustments
mysql-test/suite/funcs_1/t/innodb_trig_0407.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/is_basics_mixed.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/memory_storedproc_02.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/memory_storedproc_03.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/memory_storedproc_06.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/memory_storedproc_07.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/memory_storedproc_08.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/memory_storedproc_10.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/myisam_storedproc_02.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/myisam_storedproc_03.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/myisam_storedproc_06.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/myisam_storedproc_07.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/myisam_storedproc_08.test:
  Test case adjustments
mysql-test/suite/funcs_1/t/myisam_storedproc_10.test:
  Test case adjustments
mysql-test/suite/funcs_1/triggers/trig_frkey2.inc:
  Test case adjustments
mysql-test/suite/funcs_1/triggers/triggers_0102.inc:
  Test case adjustments
mysql-test/suite/funcs_1/triggers/triggers_03.inc:
  Test case adjustments
mysql-test/suite/funcs_1/triggers/triggers_0407.inc:
  Test case adjustments
mysql-test/suite/funcs_1/triggers/triggers_08.inc:
  Test case adjustments
mysql-test/suite/funcs_1/triggers/triggers_09.inc:
  Test case adjustments
mysql-test/suite/funcs_1/triggers/triggers_1011ext.inc:
  Test case adjustments
mysql-test/suite/funcs_1/views/func_view.inc:
  Test case adjustments
mysql-test/suite/funcs_1/views/views_master.inc:
  Test case adjustments
2008-04-24 00:06:46 +02:00
unknown
b9efbe4890 Raise version number after cloning 5.0.60 2008-04-23 20:54:53 +02:00
unknown
415112a940 subselect.test, subselect.result:
Post-commit minor cleanup of testcase (bug#36139).


mysql-test/r/subselect.result:
  Post-commit minor cleanup of testcase (bug#36139).
mysql-test/t/subselect.test:
  Post-commit minor cleanup of testcase (bug#36139).
2008-04-23 14:22:49 +05:00
unknown
c2d1ac6e2c Merge host.loc:/home/uchum/work/5.0-bugteam-35993
into  host.loc:/home/uchum/work/5.0-bugteam
2008-04-23 02:29:37 +05:00
unknown
73f7de59c2 Fixed bug#36005: server crashes inside NOT IN clause subquery with
impossible WHERE/HAVING clause
                 (subselect_single_select_engine::exec).

Allocation and initialization of joined table list t1, t2... of
subqueries like:

    NOT IN (SELECT ... FROM t1,t2,... WHERE 0)

is optimized out, however server tries to traverse this list.


mysql-test/r/subselect3.result:
  Added test case for bug#36005.
mysql-test/t/subselect3.test:
  Added test case for bug#36005.
sql/sql_select.cc:
  Fixed bug#36005.
  
  1. JOIN::prepare initializes JOIN::table counter (actually a size
     of the JOIN::join_tab array) and sets it to a number of joined tables.
  
  2. The make_join_statistics function (when called from JOIN::optimize)
     allocates and fills the JOIN::join_tab array.
     However, when optimizing subselect has impossible (definite false)
     WHERE or HAVING clause, optimizer skips call to make_join_statistics
     and leaves JOIN::join_tab == NULL.
  
  3. subselect_single_select_engine::exec does traversal of the JOIN::join_tab
     array and the server dies because array is not allocated but array
     counter is greater than 0.
  
  The JOIN::optimize method has been modified to reset the JOIN::table
  counter to 0 in cause of impossible WHERE/HAVING clause.
2008-04-23 02:27:23 +05:00