Commit graph

5041 commits

Author SHA1 Message Date
unknown
53924bdc77 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B14019-4.1-opt
2006-10-16 14:42:51 +03:00
unknown
750a2a0b86 BUG#14019 : group by converts literal string to column name
When resolving unqualified name references MySQL was not
   checking what is the item type for the reference. Thus
   e.g a string literal item that has by convention a name
   equal to its string value will also work as a reference to 
   a SELECT list item or a table field.
   Fixed by allowing only Item_ref or Item_field to referenced by
   (unqualified) name.


mysql-test/r/func_gconcat.result:
  Bug #14019: group by converts literal string to column name
   - removed undeterministic testcase : order by a constant 
     means no order.
mysql-test/r/group_by.result:
  Bug #14019: group by converts literal string to column name
   - test case
mysql-test/t/func_gconcat.test:
  Bug #14019: group by converts literal string to column name
   - removed undeterministic testcase : order by a constant 
     means no order.
mysql-test/t/group_by.test:
  Bug #14019: group by converts literal string to column name
   - test case
sql/sql_base.cc:
  Bug #14019: group by converts literal string to column name
   - resolve unqualified by name refs only for real references
2006-10-16 13:10:25 +03:00
unknown
602343262f Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  mysql.com:/home/hf/work/21888/my41-21888
2006-10-01 19:04:08 +05:00
unknown
da9f990b54 Fixed bug#20825: rollup puts non-equal values together
Fix for bug 7894 replaces a field(s) in a non-aggregate function with a item
reference if such a field was specified in the GROUP BY clause in order to
get a correct result.
When ROLLUP is involved this lead to a wrong result due to value of a such
field is got through a copy function and copying happens after the function
evaluation.
Such replacement isn't needed if grouping is also done by such a function.

The change_group_ref() function now isn't called for a function present in
the group list.


mysql-test/t/olap.test:
  Added the test case for the bug#20825:  rollup puts non-equal values together
mysql-test/r/olap.result:
  Added the test case for the bug#20825:  rollup puts non-equal values together
sql/sql_select.cc:
  Fixed bug#20825: rollup puts non-equal values together
  The change_group_ref() function now isn't called for a function present in
  the group list.
2006-09-29 20:02:53 +04:00
unknown
01fe277cc6 bug #21888 (Query on GEOMETRY field crashes the server)
RTree keys are really different from BTree and need specific
paramters to be set by optimizer to work.
Sometimes optimizer doesn't set those properly.
Here we decided just to add code to check that the parameters
are correct. Hope to fix optimizer sometimes.


myisam/mi_range.c:
  return the error if min_key is NULL
mysql-test/r/gis-rtree.result:
  test result
mysql-test/t/gis-rtree.test:
  test case
2006-09-29 17:56:02 +05:00
unknown
b8fe620615 Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_select.cc:
  Auto merged
2006-09-28 10:19:25 +02:00
unknown
abd883f4d0 Patch for bug#21432 is reverted 2006-09-27 17:49:16 +05:00
unknown
9bf2ed9553 Fixed bug #21853: assert failure for a grouping query with
an ALL/ANY quantified subquery in HAVING.
The Item::split_sum_func2 method should not create Item_ref
for objects of any class derived from Item_subselect.


mysql-test/r/subselect.result:
  Added a test case for bug #21853.
mysql-test/t/subselect.test:
  Added a test case for bug #21853.
2006-09-25 05:24:07 -07:00
unknown
14ad51e09e Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge


BitKeeper/etc/ignore:
  auto-union
mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-09-23 05:58:48 +02:00
unknown
4d147f3285 Adding proper setup phase for test case rpl_insert_id
mysql-test/r/rpl_insert_id.result:
  Updated result file
2006-09-21 13:19:52 +02:00
unknown
9e9632fd9b Vertical printout in test to make easier to read 2006-09-21 03:32:42 +02:00
unknown
0f50a8a7fe Fixed bug #20108.
Any default value for a enum fields over UCS2 charsets was corrupted
when we put it into the frm file, as it had been overwritten by its
HEX representation.
To fix it now we save a copy of structure that represents the enum
type and when putting the default values we use this copy. 


mysql-test/r/ctype_ucs.result:
  Added a test case for bug #20108.
mysql-test/t/ctype_ucs.test:
  Added a test case for bug #20108.
2006-09-20 09:46:12 -07:00
unknown
903fc561b2 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-4.1-opt
2006-09-19 08:42:58 -07:00
unknown
c46151d961 Fixed bug #22085: Crash on the execution of a prepared
statement that uses an aggregating IN subquery with 
HAVING clause.
A wrong order of the call of split_sum_func2 for the HAVING
clause of the subquery and the transformation for the 
subquery resulted in the creation of a andor structure
that could not be restored at an execution of the prepared
statement.


mysql-test/r/ps.result:
  Added a test cases for bug #22085.
mysql-test/t/ps.test:
  Added a test cases for bug #22085.
2006-09-16 11:50:00 -07:00
unknown
e5345197ed Merge bk-internal:/home/bk/mysql-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21180-4.1-opt


mysql-test/r/subselect.result:
  merge of 4.1-opt
mysql-test/t/subselect.test:
  merge of 4.1-opt
sql/opt_range.h:
  merge of 4.1-opt
2006-09-15 18:56:05 +03:00
unknown
76c48d4368 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  moonbone.local:/work/21677-bug-4.1-opt-mysql
2006-09-14 18:46:44 +04:00
unknown
cca7be1c95 type_date.test, type_date.result:
Added the test case for bug#21677: Wrong result when comparing a DATE and a DATETIME in BETWEEN


mysql-test/t/type_date.test:
  Added the test case for bug#21677: Wrong result when comparing a DATE and a DATETIME in BETWEEN
mysql-test/r/type_date.result:
  Added the test case for bug#21677: Wrong result when comparing a DATE and a DATETIME in BETWEEN
2006-09-14 18:45:23 +04:00
unknown
f3e838706d item_cmpfunc.cc:
Removed changes to the Item_func_between::fix_length_and_dec() made in the fix for bug#16377
query_cache.result:
  Corrected a test case after removing a fix for bug#16377


mysql-test/r/query_cache.result:
  Corrected a test case after removing a fix for bug#16377
sql/item_cmpfunc.cc:
  Removed changes to the Item_func_between::fix_length_and_dec() made in the fix for bug#16377
2006-09-12 19:06:26 +04:00
unknown
562763f160 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug14400


mysql-test/r/myisam.result:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge
2006-09-12 11:40:24 +02:00
unknown
54caf667ca Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
VALUES() was considered a constant. This caused replacing 
 (or pre-calculating) it using uninitialized values before the actual
 execution takes place.
 Mark it as a non-constant (still not dependent of tables) to prevent
 the pre-calculation.


mysql-test/r/insert_update.result:
  Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
   - test case.
   - EXPLAIN output changed due to VALUES() not being considered a constant 
     anymore
mysql-test/t/insert_update.test:
  Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
   - test case.
sql/item.h:
  Bug#21555: incorrect behavior with INSERT ... ON DUPL KEY UPDATE and VALUES
   - mark Item_insert_value as non-constant to prevent early calculation.
2006-09-08 10:24:14 +03:00
unknown
aa840645e6 query_cache.result, func_time.test, type_date.result, func_time.result:
Corrected test case after removal of fix for bug#16377         
type_date.test:
  Corrected test case after removal of fix for bug#16377
item_cmpfunc.cc:
  Removed changes to the agg_cmp_type() made in the for bug#16377


mysql-test/t/type_date.test:
  Corrected test case after removal of fix for bug#16377
mysql-test/t/func_time.test:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/type_date.result:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/query_cache.result:
  Corrected test case after removal of fix for bug#16377
mysql-test/r/func_time.result:
  Corrected test case after removal of fix for bug#16377
sql/item_cmpfunc.cc:
  Removed changes to the agg_cmp_type() made in the for bug#16377
2006-09-08 00:59:34 +04:00
unknown
203d099962 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Manual merge from 4.0
2006-09-07 16:46:20 +02:00
unknown
71314617ae Bug#14400 - Query joins wrong rows from table which is subject of
"concurrent insert"
Additional fix for full keys and test case.


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional fix for full keys.
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional results.
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is subject of
              "concurrent insert"
  Additional test case.
2006-09-07 15:39:31 +02:00
unknown
b527a75e01 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B16792-4.1-opt


mysql-test/r/subselect.result:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-09-05 19:22:55 +03:00
unknown
ff1d115e3a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21392-4.1-opt


sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-09-05 13:12:30 +03:00
unknown
1431966d02 Bug #21392: multi-table delete with alias table name fails with
1003: Incorrect table name
in multi-table DELETE the set of tables to delete from actually 
references then tables in the other list, e.g:
DELETE alias_of_t1 FROM t1 alias_of_t1 WHERE ....
is a valid statement.
So we must turn off table name syntactical validity check for alias_of_t1 
because it's not a table name (even if it looks like one).
In order to do that we add a special flag (TL_OPTION_ALIAS) to 
disable the name checking for the aliases in multi-table DELETE.


mysql-test/r/delete.result:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - test case
mysql-test/t/delete.test:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - test case
sql/mysql_priv.h:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - add a special flag to disable the name checking for the aliases
     in multi-table DELETE
sql/sql_parse.cc:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - add a special flag to disable the name checking for the aliases
     in multi-table DELETE
sql/sql_yacc.yy:
  Bug #21392: multi-table delete with alias table name fails with
              1003: Incorrect table name
   - add a special flag to disable the name checking for the aliases
     in multi-table DELETE
2006-09-04 18:40:30 +03:00
unknown
b133be170a Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21787


sql/sql_select.cc:
  Auto merged
2006-09-01 17:21:49 +03:00
unknown
b017caefbd Fix for BUG#21787: COUNT(*) + ORDER BY + LIMIT returns wrong result
The problem was due to a prior fix for BUG 9676, which limited
the rows stored in a temporary table to the LIMIT clause. This
optimization is not applicable to non-group queries with aggregate
functions. The fix disables the optimization in this case.


mysql-test/r/limit.result:
  Test case for BUG#21787
mysql-test/t/limit.test:
  Test case for BUG#21787
sql/sql_select.cc:
  If there is an aggregate function in a non-group query,
  materialize all rows in the temporary table no matter if
  there is a LIMIT clause. This is necessary, since the
  aggregate functions must be computed over all result rows,
  not just the first LIMIT rows.
2006-09-01 15:07:04 +03:00
unknown
49e2267ebd Backport from 5.0
- Dont test "encrypt" in ctype_ucs


mysql-test/r/ctype_ucs.result:
  Don't test "encrypt" function in ctype_ucs.test
mysql-test/t/ctype_ucs.test:
  Don't test "encrypt" function in ctype_ucs.test
2006-09-01 11:21:12 +02:00
unknown
f6aec93d79 Merge bk-internal:/home/bk/mysql-4.1-maint
into  rama.(none):/home/jimw/my/mysql-4.1-21288
2006-08-31 21:23:25 -07:00
unknown
0f342b6ada Merge maint2.mysql.com:/data/localhome/tsmith/bk/g41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41
2006-08-31 00:23:15 +02:00
unknown
f468d0004f Merge maint2.mysql.com:/data/localhome/tsmith/bk/bfx/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41


BUILD/SETUP.sh:
  Auto merged
2006-08-30 23:49:21 +02:00
unknown
077b649aef Remove ^Z from ctype_ucs.test data, to avoid problems testing on Windows 2006-08-30 22:39:23 +02:00
unknown
ddb9f8668f Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte


include/mysql_com.h:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  added new constants NAME_BYTE_LEN, USERNAME_BYTE_LENGTH, SYSTEM_CHARSET_MBMAXLEN
mysql-test/r/ctype_utf8.result:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  test case
mysql-test/t/ctype_utf8.test:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  test case
sql-common/client.c:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  increased buffers for user name & db
sql/sql_acl.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  check that user name is not longer than USERNAME_LENGTH symbols
sql/sql_parse.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  increased buffers for user name & db
sql/table.cc:
  Bug#20393 User name truncation in mysql client
  Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
  check that db name is not longer than NAME_LEN symbols
2006-08-30 15:56:17 +05:00
unknown
a32f6b8941 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400


myisam/mi_rkey.c:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Manual merge from 4.0.
2006-08-29 21:08:40 +02:00
unknown
7d600f7131 Bug#14400 - Query joins wrong rows from table which is
subject of "concurrent insert"
Better fix by Monty: "The previous bug fix didn't work
when using partial keys."


mysql-test/r/myisam.result:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Added test result
mysql-test/t/myisam.test:
  Bug#14400 - Query joins wrong rows from table which is
              subject of "concurrent insert"
  Added test case
2006-08-29 20:45:04 +02:00
unknown
2416a453eb Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-27 23:43:11 +04:00
unknown
85c064f6b1 Merge moonbone.local:/work/tmp_merge-4.1-mysql
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-26 23:11:34 +04:00
unknown
db2a86ce8f Fix running tests suite with non standard tmp dir.
Default is "var/tmp" 


mysql-test/r/myisam.result:
  Update result file
mysql-test/t/myisam.test:
  If running test suite with a non standard tmp dir, the "show create table" will print "DATA DIRECTORY="
  Use replace_result to mask it out
  Set tmpdir to var/log to get the printout of DATA DIRECTORY also when running with standard tmpdir
2006-08-25 10:46:14 +02:00
unknown
f895a16c72 BUG#16255: Post-review fixes: adjust the testcase.
mysql-test/r/subselect.result:
  BUG#16255: A proper testcase
mysql-test/t/subselect.test:
  BUG#16255: A proper testcase
2006-08-24 19:16:27 +04:00
unknown
c74c819533 Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov)
Must not use Item_direct_ref in HAVING because it points to
 the new value (witch is not yet calculated for the first row).


mysql-test/r/subselect.result:
  Bug #16255: Subquery in where
   - test case
mysql-test/t/subselect.test:
  Bug #16255: Subquery in where
   - test case
sql/item_subselect.cc:
  Bug #16255: Subquery in where
   Must not use Item_direct_ref in HAVING because it points to
   the new value (witch is not yet calculated for the first row).
2006-08-24 19:14:36 +04:00
unknown
95f8e0476b Merge tim@tsmith.mysql.internal:m/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/41
2006-08-24 02:44:49 +02:00
unknown
66d913482f Merge siva.hindu.god:/usr/home/tim/m/bk/b21531-41
into  siva.hindu.god:/usr/home/tim/m/bk/41


sql/item_func.h:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
2006-08-23 18:06:07 -06:00
unknown
b2a0d025e3 Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets
- Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail
- Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors


mysql-test/r/func_misc.result:
  Test EXPORT_SET() with charset coersion (bug #21531)
mysql-test/t/func_misc.test:
  Test EXPORT_SET() with charset coersion (bug #21531)
sql/item_func.h:
  Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors.
sql/item_strfunc.cc:
  Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail.
2006-08-23 18:02:31 -06:00
unknown
a9eebc9986 Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-41
into  siva.hindu.god:/usr/home/tim/m/bk/41


sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
2006-08-23 16:30:05 -06:00
unknown
b221989740 Merge bk-internal:/home/bk/mysql-4.1
into  maint1.mysql.com:/data/localhome/tsmith/bk/41
2006-08-23 22:51:20 +02:00
unknown
e989c51d0d Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21456


sql/sql_select.cc:
  Auto merged
2006-08-23 18:30:21 +03:00
unknown
2baf2fdf13 Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect, e.g. in 
  SELECT DISTINCT <non-key-col>,<pk> FROM t1
  ORDER BY <non-key-col> DISTINCT
must be removed before ORDER BY as if done the other way around
it will remove both.


mysql-test/r/distinct.result:
  Test for BUG#21456.
mysql-test/t/distinct.test:
  Test for BUG#21456.
sql/sql_select.cc:
  Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
  
  GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
  optimization because ORDER BY may be removed when GROUP BY/DISTINCT
  sorts as a side effect.
2006-08-23 16:46:57 +03:00
unknown
8d8fa0e312 Bug #21288: mysqldump segmentation fault when using --where
The problem was that the error handling was using a too-small buffer to
  print the error message generated. We fix this by not using a buffer at
  all, but by using fprintf() directly. There were also some problems with
  the error handling in table dumping that was exposed by this fix that were
  also corrected.


client/mysqldump.c:
  Use fprintf() instead of my_printf_error() to avoid buffer overflow issues.
  Since ME_BELL wasn't specified, calling my_printf_error() offered no advantage
  except for adding my_progname, which we just go ahead and do manually. Also,
  fix the error handling in dumpTable() when queries to get data fail and --force
  was specified.
mysql-test/r/mysqldump.result:
  Add new results
mysql-test/t/mysqldump.test:
  Add new regression test
2006-08-17 14:09:24 -07:00
unknown
5576ed8b1e Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b20695
2006-08-17 11:36:03 +05:00