1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-22 17:44:29 +03:00
Commit Graph

26958 Commits

Author SHA1 Message Date
dlenev@mockturtle.local
33b8690570 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg20390
2007-01-16 07:19:39 +03:00
kostja@bodhi.local
df18e193a2 Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.1-root
2007-01-15 23:51:52 +03:00
kostja@bodhi.local
6e16458487 Merge bodhi.local:/opt/local/work/mysql-4.1-runtime
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-01-15 23:29:02 +03:00
kostja@bodhi.local
d49ac4fbb7 A post-merge fix. 2007-01-15 23:25:16 +03:00
evgen@moonbone.local
53a4949d3b sql_select.cc:
Fix for crashes on 64bit platforms after fixing bug#23417.
2007-01-15 22:40:39 +03:00
aelkin/elkin@dsl-hkibras-fe36f900-97.dhcp.inet.fi
639a86817e Merge dsl-hkibras-fe36f900-97.dhcp.inet.fi:/home/elkin/MySQL/TEAM/BARE/5.1
into  dsl-hkibras-fe36f900-97.dhcp.inet.fi:/home/elkin/MySQL/TEAM/FIXES/5.1/bug16567_binlog_verbose_help_jeb
2007-01-15 19:48:16 +02:00
gkodinov/kgeorge@rakia.gmz
fcf2b139bc Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B20420-5.0-opt
2007-01-15 19:18:33 +02:00
gkodinov/kgeorge@macbook.gmz
134e949317 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
2007-01-15 19:15:52 +02:00
aelkin/elkin@dsl-hkibras-fe36f900-97.dhcp.inet.fi
4d815a4893 Bug #16567 binlog_format option does not show when doing ./mysqd --help --verbose
Implementing this feature connected to wl#3368 mixed binlog_format default.
  Supplied by my.cnf or explicitly in command line option gets be displayed.
  When not supplied `(No default value)' is displayed, even though --log-bin might
  be supplied. The option is different object from @@global.binlog_format variable.
  The default `mixed' for the latter is dependant on presence of `--log-bin' option,
  otherwise the value of the var is set to NULL (undefined):

   var := opt | MIXED  when binlog-in-use
   var := NULL         otherwise (no binlog, no format)

  Comments on NDB and mixed format updated, also dependency the option on --log-bin
  aka binlog-in-use is worded.
  
  Making t/rpl_switch_stm_row_mixed.test to interprete DEFAULT for binlog_format
  as MIXED.
  Comments on what the test covers are added.

  todo/fixme: turning @@global.binlog_format to be read-only when it's set to NULL (no binlog).
  todo/fixme: options dependacy (acyclic) graph, particularly to solve a task of
setting defaults values for the leaf nodes
  only when parents' nodes are set.
2007-01-15 16:01:00 +02:00
dlenev@mockturtle.local
af838b4c55 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2
2007-01-15 13:48:07 +03:00
kostja@bodhi.local
d7a63c0f6a Manual merge. 2007-01-15 13:10:07 +03:00
kostja@bodhi.local
d53072d190 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-runtime
into  bodhi.local:/opt/local/work/mysql-4.1-4968-to-push
2007-01-15 13:03:21 +03:00
dlenev@mockturtle.local
c0f6023aa4 Merge mockturtle.local:/home/dlenev/src/mysql-5.0-bg20390-2
into  mockturtle.local:/home/dlenev/src/mysql-5.1-bg20390
2007-01-15 12:40:07 +03:00
gluh@mysql.com/eagle.(none)
a5a43da10e 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
2007-01-15 13:39:28 +04:00
dlenev@mockturtle.local
ab98cbc88a Fix for bug#20390 "SELECT FOR UPDATE does not release locks
of untouched rows in full table scans".

SELECT ... FOR UPDATE/LOCK IN SHARE MODE statements as well as
UPDATE/DELETE statements which were executed using full table
scan were not releasing locks on rows which didn't satisfy
WHERE condition.
This bug surfaced in 5.0 and affected NDB tables. (InnoDB tables
intentionally don't support such unlocking in default mode).

This problem occured because code implementing join didn't call
handler::unlock_row() for rows which didn't satisfy part of condition
attached to this particular table/level of nested loop. So we solve
the problem adding this call.
Note that we already had this call in place in 4.1 but it was lost
(actually not quite correctly placed) when we have introduced nested 
joins.

Also note that additional QA should be requested once this patch is
pushed as interaction between handler::unlock_row() and many recent
MySQL features such as subqueries, unions, views is not tested enough.
2007-01-15 12:32:38 +03:00
joerg@trift2.
f5c4d92d82 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/tmp-5.1
2007-01-14 13:50:16 +01:00
holyfoot/hf@hfmain.(none)
9a97420c54 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
baker@bk-internal.mysql.com
5750f5c968 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-community
2007-01-14 04:09:38 +01:00
igor@olga.mysql.com
34eea49eb7 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.
2007-01-13 10:49:26 -08:00
igor@olga.mysql.com
9f918b0190 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
igor@olga.mysql.com
86ef1cbf92 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.
2007-01-12 13:43:25 -08:00
sergefp@mysql.com
c3f46e1f26 BUG#24127: (a,b) IN (SELECT c,d ...) can produce wrong results if a and/or b are NULLs:
- Make the code produce correct result: use an array of triggers to turn on/off equalities for each
  compared column. Also turn on/off optimizations based on those equalities.
- Make EXPLAIN output show "Full scan on NULL key" for tables for which we switch between
  ref/unique_subquery/index_subquery and ALL access.
- index_subquery engine now has HAVING clause when it is needed, and it is
  displayed in EXPLAIN EXTENDED
- Fix incorrect presense of "Using index" for index/unique-based subqueries (BUG#22930)
// bk trigger note: this commit refers to BUG#24127
2007-01-12 23:22:41 +03:00
sergefp@mysql.com
5236794855 BUG#24085: Wrong result for NULL IN (SELECT not_null_val FROM ...)
When transforming "oe IN (SELECT ie ...)" wrap the pushed-down predicates
iff "oe can be null", not "ie can be null".
The fix doesn't cover row-based subqueries, those will be fixed in #24127.
2007-01-12 22:11:40 +03:00
kostja@bodhi.local
16d53afcd2 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2007-01-12 22:06:46 +03:00
kostja@bodhi.local
5a99ffdf92 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-01-12 21:59:17 +03:00
malff/marcsql@weblab.(none)
eda8c901f4 Fixed windows build break 2007-01-12 10:33:44 -07:00
malff/marcsql@weblab.(none)
b73101af15 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-22687
2007-01-12 08:11:52 -07:00
kostja@bodhi.local
a7862496ce Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime
2007-01-12 18:06:43 +03:00
evgen@moonbone.local
8bb16e1e9c Merge moonbone.local:/work/latest-4.1-opt-mysql
into  moonbone.local:/work/latest-5.0-opt-mysql
2007-01-12 16:43:52 +03:00
holyfoot/hf@mysql.com/deer.(none)
3fd278c9d3 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.
2007-01-12 15:46:20 +04:00
lars/lthalmann@dl145j.mysql.com
1e356251a0 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.1-new-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.1-merge
2007-01-12 12:31:44 +01:00
lars/lthalmann@mysql.com/dl145j.mysql.com
c380de50ef Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-01-12 12:22:54 +01:00
lars/lthalmann@mysql.com/dl145j.mysql.com
22398faa91 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-4.1-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge
2007-01-12 12:21:44 +01:00
gluh@eagle.(none)
5c5edbdd82 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-12 14:48:59 +04:00
gluh@eagle.(none)
cf41e1ec63 Merge mysql.com:/home/gluh/MySQL/Merge/5.1
into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
2007-01-12 14:47:11 +04:00
tnurnberg@mysql.com/sin.azundris.com
90a8092660 Bug#24660: "enum" field type definition problem
ENUMs weren't allowed to have character 0xff, a perfectly good
character in some locales.  This was circumvented by mapping 0xff in
ENUMs to ',', thereby prevent actual commas from being used. Now if
0xff makes an appearance, we find a character not used in the enum and
use that as a separator. If no such character exists, we throw an
error.

Any solution would have broken some sort of existing behaviour. This
solution should serve both fractions (those with 0xff and those with
',' in their enums), but WILL REQUIRE A DUMP/RESTORE CYCLE FROM THOSE
WITH 0xff IN THEIR ENUMS. :-/ That is, mysqldump with their current
server, and restore when upgrading to one with this patch.
2007-01-12 11:06:38 +01:00
gluh@mysql.com/eagle.(none)
c081e28ef5 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0
2007-01-12 13:57:40 +04:00
gluh@mysql.com/eagle.(none)
a33f2719e2 Function mysql_rm_tmp_tables():
fixed valgrind error
fixed indentation
2007-01-12 13:34:33 +04:00
mjorgensen@production.mysql.com
21cb2ef60f Merge bk-internal:/home/bk/mysql-5.0
into  production.mysql.com:/usersnfs/mjorgensen/bktrees/mysql-5.0-community
2007-01-12 00:10:18 +01:00
malff/marcsql@weblab.(none)
9655f5fb03 Bug#22687 (Functions UNIQUE_USERS, GROUP_UNIQUE_USERS)
According to some internal communication, these two functions are place
holders for future enhancements. Because they use a variable number of
parameters, the implementation defined a reserved keyword for them in the
parser grammar.

Unfortunately, doing so creates a bug similar to Bug 21114 reported for the
function FORMAT.

In the 5.1 code base, due to improvements in the code implemented with bug
21114, having a reserved keyword for functions with a variable number of
arguments is not needed any more by the implementation.

As a result, this fix removes the place-holder implementation, and removes
the unnecessary reserved keywords. Should the functions UNIQUE_USERS and
GROUP_UNIQUE_USERS be finally implemented in a later release, the
implementation should sub class Create_native_func in sql/item_create.cc.
For example, see the class Create_func_concat.
2007-01-11 14:58:05 -07:00
tsmith@siva.hindu.god
bc0e0ba7cc Merge siva.hindu.god:/home/tsmith/m/bk/mysql-5.0-build
into  siva.hindu.god:/home/tsmith/m/bk/mysql-5.1-build
2007-01-11 13:50:48 -07:00
evgen@moonbone.local
1d92b6cd0a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/23417-bug-5.0-opt-mysql
2007-01-11 23:20:27 +03:00
evgen@moonbone.local
19ee0a94fe 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.
2007-01-11 23:18:01 +03:00
kostja@bodhi.local
b72c2771dc Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2007-01-11 22:15:20 +03:00
kostja@bodhi.local
bf1005a125 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-01-11 21:59:28 +03:00
kostja@bodhi.local
dd03d51f22 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime
2007-01-11 21:49:52 +03:00
joerg@trift2.
05d161e04c Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-01-11 19:40:05 +01:00
gkodinov/kgeorge@rakia.gmz
7eebacadad Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25106-5.0-opt
2007-01-11 19:13:04 +02:00
gkodinov/kgeorge@macbook.gmz
15bcf13182 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.
2007-01-11 19:10:01 +02:00
malff/marcsql@weblab.(none)
f043c7c4bf Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-25183
2007-01-11 09:15:44 -07:00