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

18065 Commits

Author SHA1 Message Date
gkodinov/kgeorge@macbook.gmz
b9c82eaa89 WL#3527: Extend IGNORE INDEX so places where index is ignored
can be specified
Currently MySQL allows one to specify what indexes to ignore during
join optimization. The scope of the current USE/FORCE/IGNORE INDEX 
statement is only the FROM clause, while all other clauses are not 
affected.

However, in certain cases, the optimizer
may incorrectly choose an index for sorting and/or grouping, and
produce an inefficient query plan.

This task provides the means to specify what indexes are
ignored/used for what operation in a more fine-grained manner, thus
making it possible to manually force a better plan. We do this
by extending the current IGNORE/USE/FORCE INDEX syntax to:

IGNORE/USE/FORCE INDEX [FOR {JOIN | ORDER | GROUP BY}]

so that:
- if no FOR is specified, the index hint will apply everywhere.
- if MySQL is started with the compatibility option --old_mode then
  an index hint without a FOR clause works as in 5.0 (i.e, the 
  index will only be ignored for JOINs, but can still be used to
  compute ORDER BY).

See the WL#3527 for further details.
2007-03-05 19:08:41 +02:00
ramil/ram@ramil.myoffice.izhnet.ru
361a15000a Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/ram/work/b26038/b26038.5.1
2007-03-05 18:22:36 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
fe801fcf5d Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b26038/b26038.5.0
2007-03-05 18:22:35 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
213957d06f Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/home/ram/work/b26038/b26038.4.1
2007-03-05 18:21:52 +04:00
tnurnberg@mysql.com/sin.mysql.com
c53433f307 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/21103/50-21103
2007-03-05 14:18:27 +01:00
ramil/ram@ramil.myoffice.izhnet.ru
ca66f604f4 Merge mysql.com:/home/ram/work/b26038/b26038.5.0
into  mysql.com:/home/ram/work/b26038/b26038.5.1
2007-03-05 17:12:37 +04:00
tnurnberg@mysql.com/sin.mysql.com
b5aeef5dea Bug#21103: DATE column not compared as DATE
When comparing a DATE field with a DATETIME constant, we now compare
as DATETIMEs, not as DATEs.  Fix BDB queries to still work.
2007-03-05 14:02:29 +01:00
istruewing@chilla.local
629fed6c4d Bug#26464 - insert delayed + update + merge = corruption
Using INSERT DELAYED on MERGE tables could lead to table
corruptions.

The manual lists a couple of storage engines, which can be
used with INSERT DELAYED. MERGE is not in this list.

The attempt to try it anyway has not been rejected yet.
This bug was not detected earlier as it can work under
special circumstances. Most notable is low concurrency.

To be safe, this patch rejects any attempt to use INSERT
DELAYED on MERGE tables.
2007-03-05 11:52:28 +01:00
msvensson@pilot.blaudden
a30867bc65 Merge pilot.blaudden:/home/msvensson/mysql/bug21781/my50-bug21781
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-03-05 11:50:59 +01:00
msvensson@pilot.blaudden
cd004eb716 Merge pilot.blaudden:/home/msvensson/mysql/bug21781/my50-bug21781
into  pilot.blaudden:/home/msvensson/mysql/bug21781/my51-bug21781
2007-03-05 11:45:13 +01:00
msvensson@pilot.blaudden
b271a3364d Remove ssl_des.test and ssl_des.result 2007-03-05 11:42:03 +01:00
msvensson@pilot.blaudden
93ac2c4328 Merge pilot.blaudden:/home/msvensson/mysql/bug21781/my50-bug21781
into  pilot.blaudden:/home/msvensson/mysql/bug21781/my51-bug21781
2007-03-05 10:30:05 +01:00
msvensson@pilot.blaudden
d9a1208d15 Bug#21781 Replication slave io thread hangs
- Add test case that shows how slave server hangs in "STOP SLAVE"
   when run on MySQL version 5.0.33 compiled with OpenSSL.
   Works fine with latest version of MySQL since that problem
   has been fixed by patch for bug#24148. The fix has been noted in
   the changelog for MySQL 5.0.36
2007-03-05 10:07:22 +01:00
msvensson@pilot.blaudden
9a2eea4019 Add "have_ssl" as synonym for "have_openssl" 2007-03-05 10:03:42 +01:00
msvensson@pilot.blaudden
94c616d186 Bug #26792 Add DBX debugger support to mysql-test-run.pl
- Add --debugger=dbx
 - Fix --debugger=devenv, --debugger=DevEnv and --debugger=/path/devenv
2007-03-05 09:52:40 +01:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
3a5b7e63e2 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/home/ram/work/b23616/b23616.4.1
2007-03-05 12:07:59 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
9900d2f213 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/ram/work/b23616/b23616.5.0
2007-03-05 12:04:37 +04:00
ramil/ram@ramil.myoffice.izhnet.ru
b69493027e Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/ram/work/b23616/b23616.5.1
2007-03-05 11:57:51 +04:00
igor@olga.mysql.com
08efa4e0ea Fixed bug #26560.
The flag alias_name_used was not set on for the outer references
in subqueries. It resulted in replacement of any outer reference
resolved against an alias for a full field name when the frm 
representation of a view with a subquery was generated. 
If the subquery and the outer query referenced the same table in
their from lists this replacement effectively changed the meaning
of the view and led to wrong results for selects from this view. 

Modified several functions to ensure setting the right value of
the alias_name_used flag for outer references resolved against
aliases.
2007-03-04 19:54:35 -08:00
holyfoot/hf@mysql.com/hfmain.(none)
151aa17bfe bug #26538 (flush2.test fails in embedded run)
in the embedded result we don't have 'log_slave_updates OFF' line
as replication is disabled in the embedded server.
As we don't need to check for log_slave_updates variable in this
test, we can not to SHOW it at all
2007-03-05 02:09:24 +04:00
evgen@sunlight.local
629c12316d Bug#25126: Wrongly resolved field leads to a crash.
When the ORDER BY clause gets fixed it's allowed to search in the current
item_list in order to find aliased fields and expressions. This is ok for a
SELECT but wrong for an UPDATE statement. If the ORDER BY clause will
contain a non-existing field which is mentioned in the UPDATE set list
then the server will crash due to using of non-existing (0x0) field.

When an Item_field is getting fixed it's allowed to search item list for
aliased expressions and fields only for selects.
2007-03-04 00:47:42 +03:00
tnurnberg@mysql.com/sin.intern.azundris.com
7217d20725 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/21103/50-21103
2007-03-03 01:00:30 +01:00
tnurnberg@sin.intern.azundris.com
edf3519b23 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/tnurnberg/21103/51-21103
2007-03-03 00:56:21 +01:00
antony@ppcg5.local
dc24473cb2 WL#2936
"Server Variables for Plugins"
  Implement support for plugins to declare server variables.
  Demonstrate functionality by removing InnoDB specific code from sql/*
  New feature for HASH - HASH_UNIQUE flag
  New feature for DYNAMIC_ARRAY - initializer accepts preallocated ptr.
  Completed support for plugin reference counting.
2007-03-02 08:43:45 -08:00
gkodinov/kgeorge@magare.gmz
cf917cc514 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B19342-5.0-opt
2007-03-02 17:37:44 +02:00
gkodinov/kgeorge@magare.gmz
225575ce47 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B19342-5.0-opt
2007-03-02 16:28:41 +02:00
gkodinov/kgeorge@macbook.gmz
be75593165 Bug #19342:
Several problems here :
 1. The conversion to double of an hex string const item
 was not taking into account the unsigned flag.
 
 2. IN was not behaving in the same was way as comparisons
 when performed over an INT/DATE/DATETIME/TIMESTAMP column
 and a constant. The ordinary comparisons in that case 
 convert the constant to an INTEGER value and do int 
 comparisons. Fixed the IN to do the same.
 
 3. IN is not taking into account the unsigned flag when 
 calculating <expr> IN (<int_const1>, <int_const2>, ...).
 Extended the implementation of IN to store and process
 the unsigned flag for its arguments.
2007-03-02 16:25:56 +02:00
tnurnberg@sin.intern.azundris.com
36a5e0b3df Merge mysql.com:/home/tnurnberg/21103/50-21103
into  mysql.com:/home/tnurnberg/21103/51-21103
2007-03-02 15:25:06 +01:00
tnurnberg@mysql.com/sin.intern.azundris.com
f37267bb3c Bug #21103: DATE column not compared as DATE
If we compare two items A and B, with B being (a constant) of a
larger type, then A gets promoted to B's type for comparison if
it's a constant, function, or CAST() column, but B gets demoted
to A's type if A is a (not explicitly CAST()) column. This is
counter-intuitive and not mandated by the standard.
 
Disabling optimisation where it would be lossy so field value
will properly get promoted and compared as binary string (rather
than as integers).
2007-03-02 15:23:13 +01:00
ramil/ram@ramil.myoffice.izhnet.ru
363b0b6ff1 Merge mysql.com:/home/ram/work/b23616/b23616.5.0
into  mysql.com:/home/ram/work/b23616/b23616.5.1
2007-03-02 15:13:28 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
f165316cfc after merge fix (bug #26038)
Item_func_geometry_from_text::val_str() should set null_value
in case of wrong data.
2007-03-02 15:09:44 +04:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
4a5dd6956d Merge mysql.com:/home/ram/work/b23616/b23616.4.1
into  mysql.com:/home/ram/work/b23616/b23616.5.0
2007-03-02 15:09:20 +04:00
svoj@june.mysql.com
3eb448049d Merge mysql.com:/home/svoj/devel/mysql/BUG26238/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26238/mysql-5.1-engines
2007-03-02 14:19:11 +04:00
svoj@june.mysql.com
31322ca0cb Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/BUG26238/mysql-5.1-engines
2007-03-02 14:17:55 +04:00
gkodinov/kgeorge@magare.gmz
4a6efcd664 Bug #26537: item_unhex() was not expected
to return NULL for non-NULL arguments.
This is not the case as it can return NULL
for invalid hexidecimal strings.
Fixed by setting the maybe_null flag.
2007-03-02 12:14:50 +02:00
malff/marcsql@weblab.(none)
2b1a04e7b9 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-26093
2007-03-01 20:08:58 -07:00
malff/marcsql@weblab.(none)
348cf79bf7 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-26093
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-26093-merge
2007-03-01 19:22:43 -07:00
malff/marcsql@weblab.(none)
ad45f0168d Bug#26093 (SELECT BENCHMARK() for SELECT statements does not produce valid
results)

Before this fix, the function BENCHMARK() would fail to evaluate expressions
like "(select avg(a) from t1)" in debug builds (with an assert),
or would report a time of zero in non debug builds.

The root cause is that evaluation of DECIMAL_RESULT expressions was not
supported in Item_func_benchmark::val_int().

This has been fixed by this change.
2007-03-01 19:20:47 -07:00
malff/marcsql@weblab.(none)
0e0655a792 Manual merge of 5.0 into 5.0-runtime 2007-03-01 15:10:14 -07:00
malff/marcsql@weblab.(none)
df5c5aea23 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge
2007-03-01 14:06:57 -07:00
malff/marcsql@weblab.(none)
e46083c9cf Manual merge of 5.1 into 5.1-runtime 2007-03-01 13:47:28 -07:00
msvensson@pilot.blaudden
75ab386731 After merge fixes 2007-03-01 20:59:08 +01:00
msvensson@pilot.blaudden
d1d64ba50f Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-03-01 19:10:07 +01:00
msvensson@pilot.blaudden
86625d711f Fix bug in mtr.pl where slave wes using same query log file as master 2007-03-01 18:31:09 +01:00
msvensson@pilot.blaudden
f5778fc73e Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-03-01 18:12:56 +01:00
lars/lthalmann@dl145k.mysql.com
17d00e3c6b Merge mysql.com:/nfsdisk1/lars/bk/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/bk/mysql-5.1-new-rpl
2007-03-01 15:39:57 +01:00
msvensson@pilot.blaudden
4367b151c2 Switch back to master before cleanup of the created tables
That causes test case for bug#6880 to be run on the master
instead of the slave and thus the result files need to be updated
2007-03-01 15:25:42 +01:00
bar@mysql.com
8bbb520891 After merge fix 2007-03-01 18:16:17 +04:00
msvensson@pilot.blaudden
51a71fb667 Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.1
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
2007-03-01 14:53:32 +01:00
msvensson@pilot.blaudden
6b4a71659e Make sure tests drops objects created and restore variables to default 2007-03-01 14:16:38 +01:00