Commit graph

12931 commits

Author SHA1 Message Date
gkodinov/kgeorge@macbook.gmz
5092f7ab26 Bug : InnoDB keys act strange on datetime vs timestamp comparison
Ignoring error codes from type conversion allows default (wrong) values to
 go unnoticed in the formation of index search conditions.
 Fixed by correctly checking for conversion errors.
2007-02-06 11:08:57 +02:00
tomas@poseidon.mysql.com
3fc4f75ec7 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb
2007-02-06 15:00:19 +07:00
kroki/tomash@moonlight.home
5dc4f103ae Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug25897
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1
2007-02-05 18:29:36 +03:00
svoj@june.mysql.com
4a6770e06e Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
2007-02-05 15:31:20 +04:00
tomas@poseidon.mysql.com
3c265e5944 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1
into  poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb
2007-02-05 12:19:24 +07:00
kroki/tomash@moonlight.home
664cd8b6a9 BUG#25897: Some queries are no longer possible after a CREATE VIEW
fails

The bug was introduced with the push of the fix for bug#20953: after
the error on view creation we never reset the error state, so some
valid statements would give the same error after that.

The solution is to properly reset the error state.
2007-02-04 16:49:24 +03:00
istruewing@chilla.local
bdf18a85f9 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-02-03 09:43:38 +01:00
igor@olga.mysql.com
215b0a95e1 Fix bug .
This performance degradation for UPDATEs could be observed in the update
statements for which the search key cannot be converted to any valid
value of the type of the search column, like for a  the condition
int_fld=99999999999999999999999999, though it can be guaranteed here
that there is no row with such a key value.
2007-02-02 15:22:10 -08:00
jani@a88-113-38-195.elisa-laajakaista.fi
cd75806b61 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1
2007-02-03 00:58:09 +02:00
istruewing@chilla.local
41b6b32ef7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-02-02 21:32:58 +01:00
kroki/tomash@moonlight.home
a4017eceb1 BUG#16425: Events: no DEFINER clause
There was already support for CREATE DEFINER=... EVENT syntax in the
parser, but DEFINER information was ignored.

This patch adds processing of DEFINER, and a new ALTER DEFINER=...
EVENT syntax.
2007-02-02 20:43:33 +03:00
tomas@poseidon.mysql.com
36a674b2eb Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into  poseidon.mysql.com:/home/tomas/mysql-5.1-new-ndb
2007-02-02 21:04:02 +07:00
joerg@trift2.
ad7b10ca19 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  trift2.:/MySQL/M51/push-5.1
2007-02-02 13:57:19 +01:00
gluh@mysql.com/eagle.(none)
29e1d5f9ce after merge fix 2007-02-02 14:26:53 +04:00
gluh@eagle.(none)
7849d31923 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-02-02 10:25:45 +04:00
gluh@mysql.com/eagle.(none)
d1185aaeaf Bug#23299 Some queries against INFORMATION_SCHEMA with subqueries fail
additional call of file->extra() method with HA_EXTRA_NO_CACHE parameter
2007-02-01 19:12:45 +04:00
istruewing@chilla.local
54bf789a6d Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-02-01 15:15:40 +01:00
mskold/marty@mysql.com/linux.site
0e20ef0ae4 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2007-02-01 13:59:34 +01:00
gkodinov/kgeorge@rakia.gmz
d9ae9ce58d Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt
2007-02-01 13:26:25 +02:00
gkodinov/kgeorge@rakia.gmz
95154f86b5 trigger.result:
merge of the 5.0-opt tree
2007-02-01 13:25:50 +02:00
gkodinov/kgeorge@rakia.gmz
f697acb0ca Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.0-opt
2007-02-01 11:07:17 +02:00
gkodinov/kgeorge@rakia.gmz
1096dbd5fa Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B23556-5.1-opt
2007-02-01 10:59:14 +02:00
gkodinov/kgeorge@rakia.gmz
0d40608fff Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25551-5.0-opt
2007-02-01 10:50:41 +02:00
istruewing@chilla.local
a3705af35f Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-02-01 09:26:09 +01:00
igor@olga.mysql.com
710136217b Fixed bug .
The bug could cause choosing a sub-optimal execution plan for 
a single-table query if a unique index with many null keys were 
defined for the table. 
It happened because the code of the check_quick_keys function 
made an assumption that any key may occur in an unique index 
only once. Yet this is not true for keys with nulls that may 
have multiple occurrences in the index.
2007-01-31 19:31:36 -08:00
mskold/marty@linux.site
201705a4b4 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-01-31 22:58:03 +01:00
mskold/marty@linux.site
4cc8da4d39 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1
2007-01-31 22:43:24 +01:00
mskold/marty@mysql.com/linux.site
5cd40ad30b Bug Update with IN syntax Clustertable + Trigger leads to mysqld segfault: in start_stmt, only change query_state if starting a new transactions, in read_multi_range_next, change query state when end is reached 2007-01-31 22:38:06 +01:00
cmiller@zippy.cornsilk.net
522d6fb0cc Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2007-01-31 16:24:28 -05:00
cmiller@zippy.cornsilk.net
ad66e7a0dd Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2007-01-31 16:23:05 -05:00
svoj@june.mysql.com
b6f39522de Merge mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.1-engines
2007-01-31 18:57:54 +04:00
gkodinov/kgeorge@rakia.gmz
aeaf6d3c7c Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25575-5.0-opt
2007-01-31 16:12:47 +02:00
gkodinov/kgeorge@macbook.gmz
16d2d68257 BUG#25575: ERROR 1052 (Column in from clause is ambiguous) with sub-join
Two problems here:

 Problem 1:

 While constructing the join columns list the optimizer does as follows:
  1. Sets the join_using_fields/natural_join members of the right JOIN 
   operand.
  2. Makes a "table reference" (TABLE_LIST) to parent the two tables.
  3. Assigns the join_using_fields/is_natural_join of the wrapper table
   using join_using_fields/natural_join of the rightmost table
  4. Sets join_using_fields to NULL for the right JOIN operand.
  5. Passes the parent table up to the same procedure on the upper 
   level.

 Step 1 overrides the the join_using_fields that are set for a nested 
 join wrapping table in step 4.
 Fixed by making a designated variable SELECT_LEX::prev_join_using to 
 pass the data from step 1 to step 4 without destroying the wrapping 
 table data.

 Problem 2:

 The optimizer checks for ambiguous columns while transforming 
 NATURAL JOIN/JOIN USING to JOIN ON. While doing that there was no
 distinction between columns that are used in the generated join
 condition (where ambiguity can be checked) and the other columns
 (where ambiguity can be checked only when resolving references
 coming from outside the JOIN construct itself).
 Fixed by allowing the non-USING columns to be present in multiple 
 copies in both sides of the join and moving the ambiguity check 
 to the place where unqualified references to the join columns are
 resolved (find_field_in_natural_join()).
2007-01-31 16:04:38 +02:00
svoj@mysql.com/june.mysql.com
a28b2ca1eb Merge mysql.com:/home/svoj/devel/mysql/WL3567/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.0-engines
2007-01-31 17:09:58 +04:00
svoj@mysql.com/june.mysql.com
a69107598e Merge mysql.com:/home/svoj/devel/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-4.1-engines
2007-01-31 16:17:27 +04:00
svoj@mysql.com/june.mysql.com
a51aae601d WL#3567 - MERGE engine: a check for underlying table conformance
When a merge table is opened compare column and key definition of
underlying tables against column and key definition of merge table.

If any of underlying tables have different column/key definition
refuse to open merge table.
2007-01-31 16:15:20 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
8da5745858 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b19690/b19690.5.0
2007-01-31 14:31:11 +04:00
ramil/ram@ramil.myoffice.izhnet.ru
ee56d2be9f Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/ram/work/b19690/b19690.5.1
2007-01-31 14:28:52 +04:00
ramil/ram@ramil.myoffice.izhnet.ru
30f904eb2d Merge mysql.com:/home/ram/work/b19690/b19690.5.0
into  mysql.com:/home/ram/work/b19690/b19690.5.1
2007-01-31 12:53:36 +04:00
gkodinov/kgeorge@macbook.gmz
2ba683f2ee Bug : inconsistent behaviour in grouping NULL, depending on index type
The optimizer takes away columns from GROUP BY/DISTINCT if they constitute
 all the parts of an unique index.
 However if some of the columns can contain NULLs this cannot be done 
(because an UNIQUE index can have multiple rows with NULL values).
 Fixed by not using UNIQUE indexes with nullable columns to remove
 grouping columns from GROUP BY/DISTINCT.
2007-01-31 10:18:26 +02:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
f0f83a36bc Merge mysql.com:/home/ram/work/b19690/b19690.4.1
into  mysql.com:/home/ram/work/b19690/b19690.5.0
2007-01-31 10:07:56 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
eb415e4920 fix for bug : ORDER BY eliminates rows from the result
Depending on the queries we use different data processing methods
and can lose some data in case of double (and decimal in 4.1) fields.

The fix consists of two parts:
1. double comparison changed, now double a is equal to double b 
if (a-b) is less than 5*0.1^(1 + max(a->decimals, b->decimals)). 
For example, if a->decimals==1, b->decimals==2, a==b if (a-b)<0.005
2. if we use a temporary table, store double values there as is 
to avoid any data conversion (rounding).
2007-01-31 09:51:05 +04:00
malff/marcsql@weblab.(none)
52e614c5d4 manual merge 2007-01-30 15:40:02 -07:00
gkodinov/kgeorge@rakia.gmz
066b2d8151 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25643-5.0-opt
2007-01-30 19:30:42 +02:00
malff/marcsql@weblab.(none)
3c6d988756 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-21904
2007-01-30 10:16:46 -07:00
gkodinov/kgeorge@macbook.gmz
a7af53838a Bug : SEC_TO_TIME function problem
Checking for NULL before calling the val_xxx()
 methods only checks for such arguments that are 
 known to be NULLs at compile time. 
 The arguments that may or may not contain
 NULLs (e.g. function calls and possibly others)
 are not checked at all.
 Fixed by first calling the val_xxx() method and
 then checking for null in SEC_TO_TIME().
 In addition QUARTER() was not returning 0 (as all the 
 val_int() functions do when processing a NULL value).
2007-01-30 17:43:34 +02:00
malff/marcsql@weblab.(none)
f5ad4eed95 Bug#21904 (parser problem when using IN with a double "(())")
Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
parenthesis, would be evaluated as a single row subselect: if the subselect
returns more that 1 row, the statement would fail.

The SQL:2003 standard defines a special exception in the specification,
and mandates that this particular form of IN predicate shall be equivalent
to "IN ( subselect )", which involves a table subquery and works with more
than 1 row.

This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
as per the SQL:2003 requirement.

All the details related to the implementation of this change have been
commented in the code, and the relevant sections of the SQL:2003 spec
are given for reference, so they are not repeated here.

Having access to the spec is a requirement to review in depth this patch.
2007-01-29 17:32:52 -07:00
brian@zim.(none)
8ac1d06728 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  zim.(none):/home/brian/mysql/archive-newformat-5.1
2007-01-29 13:19:51 -08:00
brian@zim.(none)
9fc89facca Extended mysqlslap.c for auto tests (see the comment on the mysqlslap.c file). I also fixed a bug where limit was not being reached. 2007-01-29 13:17:30 -08:00
msvensson@pilot.mysql.com
f3add981bc Merge pilot.mysql.com:/home/msvensson/mysql/work/my50-work
into  pilot.mysql.com:/home/msvensson/mysql/mysql-5.0-maint
2007-01-29 19:15:26 +01:00