Commit graph

41657 commits

Author SHA1 Message Date
unknown
276f0d4c5e Merge macbook.gmz:/Users/kgeorge/mysql/work/mysql-5.0-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/merge-5.1-opt


mysql-test/r/func_in.result:
  Auto merged
mysql-test/r/range.result:
  Auto merged
mysql-test/r/select.result:
  Auto merged
mysql-test/r/sp-code.result:
  Auto merged
mysql-test/r/trigger.result:
  Auto merged
mysql-test/r/udf.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/func_in.test:
  Auto merged
mysql-test/t/func_str.test:
  Auto merged
mysql-test/t/range.test:
  Auto merged
mysql-test/t/select.test:
  Auto merged
mysql-test/t/trigger.test:
  Auto merged
mysql-test/t/udf.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/opt_range.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_union.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
mysql-test/r/func_str.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/r/group_by.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/r/insert.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/r/subselect.result:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/group_by.test:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/insert.test:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/subselect.test:
  merge 5.0-opt -> 5.1-opt
mysql-test/t/view.test:
  merge 5.0-opt -> 5.1-opt
sql/item_cmpfunc.h:
  merge 5.0-opt -> 5.1-opt
sql/item_strfunc.h:
  merge 5.0-opt -> 5.1-opt
2007-01-23 12:34:50 +02:00
unknown
6447a7b6f2 sql_select.cc:
Code cleanup after fix for bug#23417.


sql/sql_select.cc:
  Code cleanup after fix for bug#23417.
2007-01-22 23:04:14 +03:00
unknown
9e3b03f47b sql_prepare.cc:
Post fix for bug#25123.


sql/sql_prepare.cc:
  Post fix for bug#25123.
2007-01-22 22:08:51 +03:00
unknown
df0a089647 Bug#25123: ON DUPLICATE KEY clause allows fields not from the insert table.
When inserting into a join-based view the update fields from the ON DUPLICATE
KEY UPDATE wasn't checked to be from the table being inserted into and were
silently ignored.

The new check_view_single_update() function is added to check that
insert/update fields are being from the same single table of the view.


sql/sql_insert.cc:
  Bug#25123: ON DUPLICATE KEY clause allows fields not from the insert table.
  The new check_view_single_update() function is added to check that
  insert/update fields are being from the same single table of the view.
mysql-test/r/insert.result:
  Added a test case for bug#25123: ON DUPLICATE KEY clause allows fields not from the insert table.
mysql-test/t/insert.test:
  Added a test case for bug#25123: ON DUPLICATE KEY clause allows fields not from the insert table.
2007-01-22 15:14:38 +03:00
unknown
4b2c3ac40d Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B16590-5.1-opt


mysql-test/r/order_by.result:
  Auto merged
mysql-test/t/order_by.test:
  Auto merged
sql/sql_select.cc:
  Auto merged
2007-01-22 12:58:14 +02:00
unknown
2c6e678dd9 BUG#16590: Optimized does not do right "const" table pre-read
st_table::const_key_parts member is used in determining if
 certain key has a prefix that is compared to constant(s) in
 the query predicates.
 If there's such prefix the index can be used to get the data
 from the remaining suffix columns in sorted order.
 However if a field is compared to another field from a "const"
 table the const_key_parts is not amended.
 This makes the optimizer unable to detect that the key can be 
 used for sorting and adds an extra filesort.
 Fixed by updating const_key_parts after reading in the "const"
 table.


mysql-test/r/order_by.result:
  BUG#16590: Optimized does not do right "const" table pre-read
   - test case
mysql-test/t/order_by.test:
  BUG#16590: Optimized does not do right "const" table pre-read
   - test case
sql/sql_select.cc:
  BUG#16590: Optimized does not do right "const" table pre-read
   - fill up the const_key_parts structure
2007-01-22 12:51:21 +02:00
unknown
c6d4b94dd4 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25580
2007-01-19 11:36:42 -08:00
unknown
3e49c84c37 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/25172-bug-5.0-opt-mysql
2007-01-19 19:36:41 +00:00
unknown
9325931ae7 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25580


mysql-test/r/subselect.result:
  Auto merged
2007-01-19 09:09:54 -08:00
unknown
341a31b034 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25580
2007-01-19 08:00:29 -08:00
unknown
5effa05d3f Bug#25172: Not checked buffer size leads to a server crash.
After fix for bug#21798 JOIN stores the pointer to the buffer for sorting
fields. It is used while sorting for grouping and for ordering. If ORDER BY
clause has more elements then the GROUP BY clause then a memory overrun occurs.

Now the length of the ORDER BY list is always passed to the 
make_unireg_sortorder() function and it allocates buffer big enough to be
used for bigger list.


sql/sql_delete.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Length parameter is initialized to 0 for the make_unireg_sortorder() function.
sql/sql_select.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Now the length of the ORDER BY list is always passed to the 
  make_unireg_sortorder() function and it allocates buffer big enough to be
  used for bigger list.
sql/sql_table.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Length parameter is initialized to 0 for the make_unireg_sortorder() function.
sql/sql_update.cc:
  Bug#25172: Not checked buffer size leads to a server crash.
  Length parameter is initialized to 0 for the make_unireg_sortorder() function.
mysql-test/r/select.result:
  Added a test case for bug#25172: Not checked buffer size leads to a server crash.
mysql-test/t/select.test:
  Added a test case for bug#25172: Not checked buffer size leads to a server crash.
2007-01-19 18:34:09 +03:00
unknown
edf72bf613 Fixed bug #25219: crash for a query that contains an EXIST subquery with
UNION over correlated and uncorrelated SELECTS.
In such subqueries each uncorrelated SELECT should be considered as
uncacheable. Otherwise join_free is called for it and in many cases
it causes some problems.


mysql-test/r/subselect.result:
  Added a test case for bug #25219.
mysql-test/t/subselect.test:
  Added a test case for bug #25219.
sql/mysql_priv.h:
  Fixed bug #25219: crash for a query that contains an EXIST subquery with
  UNION over correlated and uncorrelated SELECTS.
  In such subqueries each uncorrelated SELECT should be considered as
  uncacheable. Otherwise join_free is called for it and in many cases
  it causes some problems. 
  Added a new flag UNCACHEABLE_UNITED for such SELECTs.
sql/sql_lex.cc:
  Fixed bug #25219: crash for a query that contains an EXIST subquery with
  UNION over correlated and uncorrelated SELECTS.
  In such subqueries each uncorrelated SELECT should be considered as
  uncacheable. Otherwise join_free is called for it and in many cases
  it causes some problems.
  Added a new flag UNCACHEABLE_UNITED for such SELECTs.
2007-01-19 00:17:28 -08:00
unknown
9c89776275 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25382-5.0-opt
2007-01-18 17:46:54 +02:00
unknown
4ced38b89b Bug #25382: Passing NULL to an UDF called from stored procedures
crashes server
 Check for null value is reliable only after calling some of the 
 val_xxx() methods. If the val_xxx() method is not called
 the null_value flag will be set only for certain types of NULL
 values (like SQL constant NULLs for example).
 This caused a crash while trying to dereference a NULL pointer
 that is returned by val_str() for NULL values.
 Fixed by swapping the order of val_xxx() and null_value check.


mysql-test/r/udf.result:
  Bug #25382: Passing NULL to an UDF called from stored procedures 
   crashes server
   - test case
mysql-test/t/udf.test:
  Bug #25382: Passing NULL to an UDF called from stored procedures 
   crashes server
   - test case
sql/item_func.cc:
  Bug #25382: Passing NULL to an UDF called from stored procedures 
   crashes server
   - reliably check null_value
2007-01-18 17:33:38 +02:00
unknown
af32168623 Fixed bug #25580: incorrect stored representations of views in cases
when they contain the '!' operator.
Added an implementation for the method Item_func_not::print. 
The method encloses any NOT expression into extra parentheses to avoid
incorrect stored representations of views that use the '!' operators.
Without this change when a view was created that contained
the expression !0*5  its stored representation contained not this
expression but rather the expression not(0)*5 . 
The operator '!' is of a higher precedence than '*', while NOT is 
of a lower precedence than '*'. That's why the expression !0*5 
is interpreted as not(0)*5, while the expression not(0)*5 is interpreted
as not((0)*5) unless sql_mode is set to HIGH_NOT_PRECEDENCE.
Now we translate !0*5 into (not(0))*5. 


mysql-test/r/sp-code.result:
  Adjusted results after the fix of bug 25580.
mysql-test/r/subselect.result:
  Adjusted results after the fix of bug 25580.
mysql-test/r/view.result:
  Added a test case for bug #25580.
mysql-test/t/view.test:
  Added a test case for bug #25580.
sql/item_cmpfunc.cc:
  Fixed bug #25580: incorrect stored representations of views in cases
  when they contain the '!' operator.
  Added an implementation for the method Item_func_not::print. 
  The method encloses the NOT expression into extra parenthesis to avoid
  incorrect stored representations of views that use the '!' operators.
sql/item_cmpfunc.h:
  Fixed bug #25580: incorrect stored representations of views in cases
  when they contain the '!' operator.
  Added an implementation for the method Item_func_not::print. 
  The method encloses the NOT expression into extra parenthesis to avoid
  incorrect stored representations of views that use the '!' operators.
2007-01-17 20:13:45 -08:00
unknown
759a028c20 Adjusted results after merge 4.1 -> 5.0 for the patch fixing bug 24776. 2007-01-15 14:01:36 -08:00
unknown
2c88731e62 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-15 12:04:14 -08:00
unknown
8c4acf37bb Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-15 11:42:23 -08:00
unknown
c797abae21 sql_select.cc:
Fix for crashes on 64bit platforms after fixing bug#23417.


sql/sql_select.cc:
  Fix for crashes on 64bit platforms after fixing bug#23417.
2007-01-15 22:40:39 +03:00
unknown
8db06e6921 Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt


mysql-test/r/range.result:
  Auto merged
mysql-test/t/range.test:
  Auto merged
sql/opt_range.h:
  Manual merge.
2007-01-15 10:14:09 -08:00
unknown
c0fd054645 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B20420-5.0-opt


sql/item_cmpfunc.h:
  Auto merged
2007-01-15 19:18:33 +02:00
unknown
a2ae17b1e1 BUG#20420: optimizer reports wrong keys on left join with IN
The optimizer needs to evaluate whether predicates are better
 evaluated using an index. IN is one such predicate.
 To qualify an IN predicate must involve a field of the index
 on the left and constant arguments on the right.
 However whether an expression is a constant can be determined only
 by knowing the preceding tables in the join order. 
 Assuming that only IN predicates with expressions on the right that
 are constant for the whole query qualify limits the scope of 
 possible optimizations of the IN predicate (more specifically it
 doesn't allow the "Range checked for each record" optimization for
 such an IN predicate.
 Fixed by not pre-determining the optimizability of the IN predicate
 in the case when all right IN operands are not SQL constant expressions


mysql-test/r/func_in.result:
  BUG#20420: optimizer reports wrong keys on left join with IN
   - test case
mysql-test/t/func_in.test:
  BUG#20420: optimizer reports wrong keys on left join with IN
   - test case
sql/item_cmpfunc.h:
  BUG#20420: optimizer reports wrong keys on left join with IN
   - cannot decide on the optimizability of a function without
     knowing the tables before it in the join order
2007-01-15 19:15:52 +02:00
unknown
9af4bbc7b0 Bug#21713 incorrect value for the REFERENTIAL_CONSTRAINTS.UNIQUE_CONSTRAINT_NAME column
added new field 'REFERENCED_TABLE_NAME' to 'referential_constraints' table
field 'UNIQUE_CONSTRAINT_NAME' contains the name of the referenced index


mysql-test/r/information_schema_inno.result:
  result fix
mysql-test/t/information_schema_inno.test:
  test fix
sql/sql_show.cc:
  added new field 'REFERENCED_TABLE_NAME' to 'referential_constraints' table
  field 'UNIQUE_CONSTRAINT_NAME' contains the name of the referenced index
sql/table.h:
  added 'referenced_key_name' member to 'st_foreign_key_info' struct
storage/innobase/handler/ha_innodb.cc:
  added the filling of referenced key name
2007-01-15 13:39:28 +04:00
unknown
d02e09ee80 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/hf/work/my51-24186
2007-01-14 14:45:44 +04:00
unknown
b9dc0243a8 Fixed bug #24776: an assertion abort in handler::ha_index_init
for queries using 'range checked for each record'.
The problem was fixed in 5.0 by the patch for bug 12291.
This patch down-ported the corresponding code from 5.0 into 
QUICK_SELECT::init() and added a new test case. 


mysql-test/r/range.result:
  Added a test case for bug #24776.
mysql-test/t/range.test:
  Added a test case for bug #24776.
sql/opt_range.h:
  Fixed bug #24776: an assertion abort in handler::ha_index_init
  for queries using 'range checked for each record'.
  The problem was fixed in 5.0 by the patch for bug 12291.
  The patch for 4.1 down-ported the corresponding code from 5.0 into 
  QUICK_SELECT::init().
2007-01-13 10:49:26 -08:00
unknown
fd4db68cc5 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-12 14:58:11 -08:00
unknown
35e363932c Fixed bug #25398: crash in a trigger when using trigger fields
in a select list.
The objects of the Item_trigger_field class inherited the implementations
of the methods copy_or_same, get_tmp_table_item and get_tmp_table_field
from the class Item_field while they rather should have used the default
implementations defined for the base class Item.
It could cause catastrophic problems for triggers that used SELECTs
with select list containing trigger fields such as NEW.<table column>
under DISTINCT.


mysql-test/r/trigger.result:
  Added a test case for bug #25398.
mysql-test/t/trigger.test:
  Added a test case for bug #25398.
2007-01-12 13:43:25 -08:00
unknown
6746efb123 func_str.result:
After merge fix


mysql-test/r/func_str.result:
  After merge fix
2007-01-12 17:35:24 +03:00
unknown
cb96e8bcd8 Merge moonbone.local:/work/latest-4.1-opt-mysql
into  moonbone.local:/work/latest-5.0-opt-mysql


mysql-test/t/func_str.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/item_strfunc.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
mysql-test/r/delete.result:
  Manual merge
mysql-test/r/func_str.result:
  Manual merge
mysql-test/t/delete.test:
  Manual merge
2007-01-12 16:43:52 +03:00
unknown
94046b73e2 bug #24186 (nested query across partitions returns fewer records)
Subselect's engine checks table->status field to determine if the
record was properly found when we use keyread upon the table.
Partition engine checks all the partitions for given key
before return. So if matching record was found in the first
partition and no matching records were found in the second, 
we have table->status == NOT_FOUND after the function, what
makes subselects to skip matching records.
The patch adds table->status= 0 if we actually found something.


mysql-test/r/partition.result:
  result fixed
mysql-test/t/partition.test:
  testcase
sql/ha_partition.cc:
  table->status set to 0 if we found something in previous partitions
2007-01-12 15:46:20 +04:00
unknown
2cc1c4792b Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


sql/mysqld.cc:
  Auto merged
2007-01-12 15:08:40 +04:00
unknown
5a80954670 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


mysql-test/r/order_by.result:
  Auto merged
mysql-test/t/order_by.test:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
mysql-test/r/join.result:
  manual merge
mysql-test/t/join.test:
  manual merge
2007-01-12 14:48:59 +04:00
unknown
cf76bb5118 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt


sql/mysqld.cc:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
2007-01-12 14:47:11 +04:00
unknown
7a9892ccdd Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/5.0
2007-01-12 13:58:08 +04:00
unknown
36e7e72754 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0


sql/mysqld.cc:
  Auto merged
2007-01-12 13:57:40 +04:00
unknown
6dcad7d832 Function mysql_rm_tmp_tables():
fixed valgrind error
fixed indentation
2007-01-12 13:34:33 +04:00
unknown
84e8991666 Merge mjorgensen@bk-internal.mysql.com:/home/bk/mysql-5.0
into  tiger.mmj.dk:/Users/mmj/bktrees/mysql-5.1-build


configure.in:
  Auto merged
mysql-test/install_test_db.sh:
  Auto merged
BitKeeper/deleted/.del-CMakeLists.txt~3:
  Auto merged
BitKeeper/deleted/.del-configure.js:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-01-11 23:05:13 +01:00
unknown
44318bbbdd Merge siva.hindu.god:/home/tsmith/m/bk/mysql-5.0-build
into  siva.hindu.god:/home/tsmith/m/bk/mysql-5.1-build


BitKeeper/deleted/.del-CMakeLists.txt~3:
  Auto merged
BitKeeper/deleted/.del-README~1:
  Auto merged
BitKeeper/deleted/.del-configure.js:
  Auto merged
BitKeeper/deleted/.del-mysql_test_run_new.c~a23ab2c4b28b25ad:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
scripts/mysql_install_db.sh:
  Auto merged
configure.in:
  Manual merge
mysql-test/install_test_db.sh:
  Manual merge
sql/mysqld.cc:
  Manual merge
2007-01-11 13:50:48 -07:00
unknown
0f0d0f5bd4 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/23417-bug-5.0-opt-mysql


sql/sql_base.cc:
  Auto merged
2007-01-11 23:20:27 +03:00
unknown
4d143a6ff6 Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
Currently in the ONLY_FULL_GROUP_BY mode no hidden fields are allowed in the
select list. To ensure this each expression in the select list is checked
to be a constant, an aggregate function or to occur in the GROUP BY list.
The last two requirements are wrong and doesn't allow valid expressions like
"MAX(b) - MIN(b)" or "a + 1" in a query with grouping by a.

The correct check implemented by the patch will ensure that:
any field reference in the [sub]expressions of the select list 
  is under an aggregate function or
  is mentioned as member of the group list or
  is an outer reference or
  is part of the select list element that coincide with a grouping element.

The Item_field objects now can contain the position of the select list
expression which they belong to. The position is saved during the
field's Item_field::fix_fields() call.

The non_agg_fields list for non-aggregated fields is added to the SELECT_LEX
class. The SELECT_LEX::cur_pos_in_select_list now contains the position in the
select list of the expression being currently fixed.


sql/item.cc:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  The Item_field objects now contain the position of the select list
  expression which they belong to. The position is saved at the field's
  Item_field::fix_fields() call.
sql/item.h:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  The Item_field objects now can store the position in the select list of the
  expression to which they are belongs to.
sql/mysql_priv.h:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  Added the UNDEF_POS constant.
sql/sql_base.cc:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  Now the setup_fields() function maintains the cur_pos_in_select_list variable.
sql/sql_lex.cc:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  Set the cur_pos_in_select_list variable and the non_agg_fields list to their initial state.
sql/sql_lex.h:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  The non_agg_fields list for non-aggregated fields is added to the SELECT_LEX
  class. The SELECT_LEX::cur_pos_in_select_list now stores the position in the
  select list of the expression being currently fixed.
sql/sql_select.cc:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  Each select now keeps the list of fields that aren't
  used under any aggregate function. If an expression from the select list
  isn't found in the GROUP BY list the setup_group() function additionally
  checks whether non-aggregated fields occur in that expression.
  If there at least one such field and it isn't found in the GROUP BY list
  then an error is thrown.
sql/sql_union.cc:
  Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
  Clean up of the non_agg_fields list.
mysql-test/r/group_by.result:
  Added a test case for the bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
mysql-test/t/group_by.test:
  Added a test case for the bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
2007-01-11 23:18:01 +03:00
unknown
e64f4fdebb Merge trift2.:/MySQL/M50/tmp-5.0
into  trift2.:/MySQL/M51/push-5.1


mysys/my_read.c:
  Auto merged
BitKeeper/deleted/.del-mysqldmax.dsp~5d213fe1c204142e:
  Auto merged
BitKeeper/deleted/.del-libmysqld.dsp~78dc6a589e5a4149:
  Null merge.
BitKeeper/deleted/.del-mysql.dsw~7ea9e16395f139f4:
  Null merge.
BitKeeper/deleted/.del-mysqld.dsp~ffdbf2d234e23e56:
  Null merge.
BitKeeper/deleted/.del-mysqldemb.dsp~1baf8c0e59ee9f7e:
  Null merge.
BitKeeper/deleted/.del-mysqlserver.dsp~d99cfb2d291e3785:
  Null merge.
scripts/make_binary_distribution.sh:
  Null merge, this change is already suppressed in 4.1.
support-files/MySQL-shared-compat.spec.sh:
  Null merge, this change is already suppressed in 4.1.
2007-01-11 20:43:43 +01:00
unknown
98cd24b32b Merge trift2.:/MySQL/M50/tmp1-5.0
into  trift2.:/MySQL/M51/push-5.1


configure.in:
  Auto merged
2007-01-11 20:20:43 +01:00
unknown
32c535e2d9 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1


mysql-test/mysql-test-run.pl:
  Auto merged
2007-01-11 19:40:05 +01:00
unknown
7f9da471cd Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25106-5.0-opt


sql/sql_base.cc:
  Auto merged
2007-01-11 19:13:04 +02:00
unknown
6c41a043a4 BUG#25106: A USING clause in combination with a VIEW results in column
aliases ignored
When a column reference to a column in JOIN USING is resolved and a new 
Item is created for this column the user defined name was lost.
This fix preserves the alias by setting the name of the new Item to the
original alias.


mysql-test/r/join.result:
  BUG#25106: A USING clause in combination with a VIEW results in column
             aliases ignored
   - test case
mysql-test/t/join.test:
  BUG#25106: A USING clause in combination with a VIEW results in column
             aliases ignored
   - test case
sql/sql_base.cc:
  BUG#25106: A USING clause in combination with a VIEW results in column
             aliases ignored
   - take the alias of the Item to be replaced and set it into the newly
     allocated Item.
2007-01-11 19:10:01 +02:00
unknown
71fd458337 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-11 18:15:40 +04:00
unknown
52c100ae0c Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed
correctly.

The Item_func::print method was used to print the Item_func_encode and the
Item_func_decode objects. The last argument to ENCODE and DECODE functions
is a plain C string and thus Item_func::print wasn't able to print it.

The print() method is added to the Item_func_encode class. It correctly
prints the Item_func_encode and the Item_func_decode objects.


mysql-test/t/func_str.test:
  Added a test case for bug#23409: Arguments of the ENCODE() and the
  > DECODE() functionswere not printed correctly.
mysql-test/r/func_str.result:
  Added a test case for bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
sql/item_strfunc.h:
  Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
  The print() method is added to the Item_func_encode class.
sql/item_strfunc.cc:
  Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed correctly.
  The print() method is added to the Item_func_encode class. It correctly
  prints the Item_func_encode and the Item_func_decode objects.
2007-01-11 16:45:38 +03:00
unknown
0fdd3dce16 Merge fix for bug#17711 2007-01-11 16:20:08 +03:00
unknown
661796389f Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
WHERE is present.

If a DELETE statement with ORDER BY and LIMIT contains a WHERE clause
with conditions that for sure cannot be used for index access (like in
WHERE @var:= field) the execution always follows the filesort path.    
It happens currently even when for the above case there is an index that
can be used to speedup sorting by the order by list.

Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
clause conditions that cannot be used to build any quick select then
the mysql_delete() tries to use an index like there is no WHERE clause at all.


mysql-test/t/delete.test:
  Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
  WHERE is present.
mysql-test/r/delete.result:
  Added a test case for bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
sql/sql_delete.cc:
  Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting WHERE is present.
  Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
  clause conditions that cannot be used to build any quick select then
  the mysql_delete() tries to use an index like there is no WHERE clause at all.
2007-01-11 16:05:03 +03:00
unknown
b73c5cdc31 after merge fix 2007-01-11 16:50:34 +04:00