Commit graph

19629 commits

Author SHA1 Message Date
gluh@eagle.(none)
09cfa4f9dc Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-09-28 17:34:05 +05:00
gluh@mysql.com/eagle.(none)
1494eabc85 Bug#30795 Query on INFORMATION_SCHEMA.SCHEMATA, wrong result
skip the check of directory presence for 'information_schema' name
2007-09-28 17:33:30 +05:00
gluh@mysql.com/eagle.(none)
ccccad7058 Bug#30689 Wrong content in I_S.VIEWS.VIEW_DEFINITION if VIEW is based on I_S
view_body_utf8 attribute type is changed to 'escaped string'
2007-09-28 16:02:43 +05:00
mhansson@dl145s.mysql.com
44178403c1 Bug#30665: Post-merge fix 2007-09-28 12:30:55 +02:00
mhansson@dl145s.mysql.com
d18df32bc7 Merge mhansson@bk-internal:/home/bk/mysql-5.1-opt
into  dl145s.mysql.com:/data0/mhansson/my51-bug30665
2007-09-28 10:33:06 +02:00
mhansson/martin@linux-st28.site
ab73b25d5b Bug#30665: Inconsistent optimization of IGNORE INDEX FOR {ORDER BY|GROUP BY}
The optimizer takes different execution paths during EXPLAIN than SELECT,
this fix relates only to EXPLAIN, hence no behavior changes.
The test of sort keys for ORDER BY was prohibited from considering keys
that were mentioned in IGNORE KEYS FOR ORDER BY. This led to two 
inconsistencies: One was that IGNORE INDEX FOR GROUP BY and 
IGNORE INDEX FOR ORDER BY gave apparently different EXPLAINs; the latter 
erroneously claimed to do filesort. The second inconsistency 
is that the test of sort keys is called twice, finding a sort key the first
time but not the second time, leading to the mentioned filesort.

Fixed by making the test of sort keys consider all enabled 
keys on the table. This test rejects keys that are not covering, and for 
covering keys the hint should be ignored anyway.
2007-09-28 09:36:05 +02:00
gkodinov/kgeorge@magare.gmz
3b1d0fbe1a Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30468-5.1-opt
2007-09-27 13:02:04 +03:00
gkodinov/kgeorge@magare.gmz
f42a392b2a merged the fix for bug 30468 to 5.1-opt 2007-09-27 12:32:59 +03:00
gkodinov/kgeorge@magare.gmz
bbe1d37089 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30468-5.0-opt
2007-09-27 12:17:16 +03:00
gkodinov/kgeorge@magare.gmz
fb3b12176d Bug #30468: column level privileges not respected when joining tables
When expanding a * in a USING/NATURAL join the check for table access
for both tables in the join was done using the grant information of the
first one.
Fixed by getting the grant information for the current table while 
iterating through the columns of the join.
2007-09-27 12:15:19 +03:00
gshchepa/uchum@gleb.loc
1d12cdfcc4 mysqlslap.result, mysqlslap.test:
Post-commit fix.
2007-09-27 13:15:15 +05:00
gshchepa/uchum@gleb.loc
590d289591 Merge gshchepa@bk-internal.mysql.com:/users/gshchepa/5.1-opt-31075
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-09-27 01:38:41 +05:00
gshchepa/uchum@gleb.loc
533a815244 Merge gleb.loc:/home/uchum/work/bk/5.1-opt-29985
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-09-27 01:03:35 +05:00
gkodinov/kgeorge@magare.gmz
d0b796bf14 merge of the fix for bug 27802 & 27216 to 5.1-opt 2007-09-26 19:06:54 +03:00
gkodinov/kgeorge@magare.gmz
133175fb9f merged bug 28702 5.0-opt->5.1-opt 2007-09-26 14:22:48 +03:00
gshchepa@devsrv-b.mysql.com
7f0e9065f8 Fixed bug #31075.
The `SELECT col FROM t WHERE col NOT IN (col, ...) GROUP BY col'
crashed in the range optimizer.

The get_func_mm_tree function has been modified to check the
Item_func_in::array field for the NULL value before using of that
value.
2007-09-26 12:45:08 +02:00
evgen@sunlight.local
4fd6de8b1a Merge sunlight.local:/local_work/27216-bug-5.0-opt-mysql
into  sunlight.local:/local_work/merge-5.1-opt-mysql
2007-09-24 17:23:40 +04:00
gkodinov/kgeorge@magare.gmz
4cd18bde81 Bug #28702: VIEWs defined with USE/FORCE KEY ignore that request
When storing the VIEW the CREATE VIEW command is reconstructed 
from the parse tree. While constructing the command string
the index hints specified should also be printed.
Fixed by adding code to print the index hints when printing a 
table in the FROM clause.
2007-09-24 15:34:10 +03:00
gkodinov/kgeorge@macbook.local
fae74579e4 merging bug 28701 to 5.1-opt 2007-09-24 13:02:59 +02:00
gkodinov/kgeorge@macbook.local
eb00940207 merge of bug 28701 5.0-opt -> 5.1-opt 2007-09-24 10:30:50 +02:00
gkodinov/kgeorge@macbook.local
44292dcb3b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  macbook.local:/Users/kgeorge/mysql/autopush/B28701-merged-5.0-opt
2007-09-22 14:48:14 +02:00
gkodinov/kgeorge@macbook.local
ae9d734f40 Merge macbook.local:/Users/kgeorge/mysql/work/B28701-5.0-opt
into  macbook.local:/Users/kgeorge/mysql/work/B28701-merged-5.0-opt
2007-09-22 11:42:01 +02:00
evgen@sunlight.local
7ed30b971c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  sunlight.local:/local_work/27216-bug-5.0-opt-mysql
2007-09-22 13:10:44 +04:00
evgen@sunlight.local
36bf417b40 Bug#27216: functions with parameters of different date types may return wrong
type of the result.

There are several functions that accept parameters of different types.
The result field type of such functions was determined based on
the aggregated result type of its arguments. As the DATE and the DATETIME
types are represented by the STRING type, the result field type
of the affected functions was always STRING for DATE/DATETIME arguments.
The affected functions are COALESCE, IF, IFNULL, CASE, LEAST/GREATEST, CASE.

Now the affected functions aggregate the field types of their arguments rather
than their result types and return the result of aggregation as their result
field type.
The cached_field_type member variable is added to the number of classes to
hold the aggregated result field type.
The str_to_date() function's result field type now defaults to the
MYSQL_TYPE_DATETIME.
The agg_field_type() function is added. It aggregates field types with help
of the Field::field_type_merge() function.
The create_table_from_items() function now uses the 
item->tmp_table_field_from_field_type() function to get the proper field
when the item is a function with a STRING result type.
2007-09-22 11:49:27 +04:00
evgen@sunlight.local
bb5cdfb87e Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
led to creating corrupted index.

While execution of the  CREATE .. SELECT SQL_BUFFER_RESULT statement the 
engine->start_bulk_insert function was called twice. On the first call
On the first call MyISAM disabled all non-unique indexes and on the second
call it decides to not re-enable them because all indexes was disabled.
Due to this no indexes was actually created during CREATE TABLE thus
producing crashed table.

Now the select_inset class has is_bulk_insert_mode flag which prevents
calling the start_bulk_insert function twice.
The flag is set in the select_create::prepare, select_insert::prepare2
functions and the select_insert class constructor.
The flag is reset in the select_insert::send_eof function.
2007-09-21 12:09:00 +04:00
gluh@eagle.(none)
7dbcdf9a64 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-09-20 16:28:46 +05:00
gluh@mysql.com/eagle.(none)
eef0772b89 result fix 2007-09-20 16:27:58 +05:00
gluh@eagle.(none)
2a02dd13e2 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-09-20 14:40:24 +05:00
gluh@mysql.com/eagle.(none)
4ffcc4f266 result fix 2007-09-20 14:38:41 +05:00
gluh@eagle.(none)
88a4df4ec0 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-09-20 14:10:05 +05:00
gluh@mysql.com/eagle.(none)
6b81174cde Bug#27747 database metadata doesn't return sufficient column default info
added get_field_default_value() function which obtains default value from the field
(used in store_create_info() & get_schema_column_record() functions)
2007-09-20 13:54:46 +05:00
gkodinov/kgeorge@magare.gmz
3dd2ed30ae Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30639-5.1-opt
2007-09-19 18:02:59 +03:00
gkodinov/kgeorge@magare.gmz
c2abf960f9 Bug #30639: limit offset,rowcount wraps when rowcount >= 2^32 in windows
The parser uses ulonglong to store the LIMIT number. This number
 then is stored into a variable of type ha_rows. ha_rows is either
 4 or 8 byte depending on the BIG_TABLES define from config.h
 So an overflow may occur (and LIMIT becomes zero) while storing an
 ulonglong value in ha_rows.
 Fixed by :
  1. Using the maximum possible value for ha_rows on overflow
  2. Defining BIG_TABLES for the windows builds (to match the others)
2007-09-19 17:47:52 +03:00
gluh@eagle.(none)
e7a9c4d648 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-09-19 14:09:23 +05:00
gluh@eagle.(none)
56c927e696 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-09-19 13:50:38 +05:00
gshchepa/uchum@gleb.loc
2a5d951552 Fixed bug #29985.
Multiple-result processing is required during the execution
of CALL statements for stored procedures, however the mysqlslap
client lacked that processing.
2007-09-17 21:39:07 +05:00
gshchepa@devsrv-b.mysql.com
2e26008c3e Many files:
Post-merge fix.
2007-09-15 07:39:58 +02:00
gshchepa@devsrv-b.mysql.com
6234432241 Merge devsrv-b.mysql.com:/data0/gshchepa/mysql-5.0-opt
into  devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt
2007-09-15 07:08:07 +02:00
gshchepa@devsrv-b.mysql.com
0aa6e95768 select.test:
Post-fix for bug#27695.
2007-09-15 07:04:32 +02:00
gkodinov/kgeorge@magare.gmz
3b58ae43c8 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31001-5.1-opt
2007-09-14 23:48:23 +03:00
gshchepa@devsrv-b.mysql.com
3dc13a6444 Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt
2007-09-14 21:17:07 +02:00
gshchepa@devsrv-b.mysql.com
4bf2408ed4 Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  devsrv-b.mysql.com:/data0/gshchepa/mysql-5.0-opt
2007-09-14 21:15:43 +02:00
gkodinov/kgeorge@magare.gmz
0133bc639c Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31001-5.0-opt
2007-09-14 19:04:47 +03:00
gkodinov/kgeorge@magare.gmz
6927e67dd9 Merge magare.gmz:/home/kgeorge/mysql/work/B31001-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B31001-5.1-opt
2007-09-14 19:03:14 +03:00
gshchepa@devsrv-b.mysql.com
ca15f7b190 Many files:
Merge with 5.0-opt.
2007-09-14 17:21:50 +02:00
gkodinov/kgeorge@magare.gmz
a2afc56f61 Bug #31001: ORDER BY DESC in InnoDB not working
The optimizer sets index traversal in reverse order only if there are 
 used key parts that are not compared to a constant.
However using the primary key as an ORDER BY suffix rendered the check
incomplete : going in reverse order must still be used even if 
all the parts of the secondary key are compared to a constant.

Fixed by relaxing the check and set reverse traversal even when all
the secondary index keyparts are compared to a const.
Also account for the case when all the primary keys are compared to a
constant.
2007-09-14 17:43:14 +03:00
sergefp@pylon.mylan
c54ce038cb Merge mysql.com:/home/psergey/mysql-5.0-bug30324
into  mysql.com:/home/psergey/mysql-5.1-bug27927
2007-09-14 15:05:20 +04:00
sergefp@pylon.mylan
15b7d5e8af Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug30324
2007-09-14 15:00:10 +04:00
sergefp@mysql.com
8a3e6201b3 BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results
- The bug was caused by COUNT(DISTINCT ...) code using Unique object in 
  a way that assumed that BIT(N) column occupies a contiguous space in
  temp_table->record[0] buffer. 
- The fix is to make COUNT(DISTINCT ...) code instruct create_tmp_table to
  create temporary table with column of type BIGINT, not BIT(N).
2007-09-14 14:53:13 +04:00
sergefp@pylon.mylan
003bb7b994 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  mysql.com:/home/psergey/mysql-5.1-bug27927
2007-09-14 14:25:45 +04:00