Commit graph

9082 commits

Author SHA1 Message Date
igor@rurik.mysql.com
b7ded1e34f Fixed bug #5500: EXPLAIN returned a wrong select_type for queries using views.
Select_type in the EXPLAIN output for the query SELECT * FROM t1 was
'SIMPLE', while for the query SELECT * FROM v1, where the view v1
was defined as SELECT * FROM t1, the EXPLAIN output contained 'PRIMARY'
for the select_type column.
2006-09-06 08:21:43 -07:00
gkodinov/kgeorge@rakia.(none)
580d4a0df4 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B16792-4.1-opt
2006-09-05 19:22:55 +03:00
guilhem@gbichot3.local
e4d3595b18 Fix for BUG#11151 "LOAD DATA INFILE commits transaction in 5.0".
In 5.0 we made LOAD DATA INFILE autocommit in all engines, while
only NDB wanted that. Users and trainers complained that it affected
InnoDB and was a change compared to 4.1 where only NDB autocommitted.
To revert to the behaviour of 4.1, we move the autocommit logic out of mysql_load() into
ha_ndbcluster::external_lock().
The result is that LOAD DATA INFILE commits all uncommitted changes
of NDB if this is an NDB table, its own changes if this is an NDB
table, but does not affect other engines.
Note: even though there is no "commit the full transaction at end"
anymore, LOAD DATA INFILE stays disabled in routines (re-entrency
problems per a comment of Pem).
Note: ha_ndbcluster::has_transactions() does not give reliable results
because it says "yes" even if transactions are disabled in this engine...
2006-09-05 16:52:05 +02:00
gkodinov/kgeorge@macbook.gmz
91e93eb7d0 Merge macbook.gmz:/Users/kgeorge/mysql/work/B16792-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B16792-5.0-opt
2006-09-05 17:09:12 +03:00
gkodinov/kgeorge@rakia.(none)
68b9ae4d14 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21392-4.1-opt
2006-09-05 13:12:30 +03:00
gkodinov/kgeorge@rakia.(none)
d99ac63820 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21392-5.0-opt
2006-09-04 19:21:25 +03:00
gkodinov/kgeorge@macbook.gmz
4c1db01833 Merge macbook.gmz:/Users/kgeorge/mysql/work/B21392-4.1-opt
into  macbook.gmz:/Users/kgeorge/mysql/work/B21392-5.0-opt
2006-09-04 18:45:48 +03:00
gkodinov/kgeorge@macbook.gmz
3758b975f8 Bug #21392: multi-table delete with alias table name fails with
1003: Incorrect table name
in multi-table DELETE the set of tables to delete from actually 
references then tables in the other list, e.g:
DELETE alias_of_t1 FROM t1 alias_of_t1 WHERE ....
is a valid statement.
So we must turn off table name syntactical validity check for alias_of_t1 
because it's not a table name (even if it looks like one).
In order to do that we add a special flag (TL_OPTION_ALIAS) to 
disable the name checking for the aliases in multi-table DELETE.
2006-09-04 18:40:30 +03:00
igor@rurik.mysql.com
34d11713e9 Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug16081
2006-09-04 04:57:46 -07:00
msvensson@neptunus.(none)
4d0430c8fd Merge dl145s:/data/tkatchaounov/5.0-bug-21787
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-09-04 11:45:43 +02:00
msvensson@neptunus.(none)
1bea6cf1a2 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-09-04 11:42:16 +02:00
msvensson@neptunus.(none)
1fd3958ea6 Merge bk-internal:/home/bk/mysql-5.0-opt
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2006-09-04 11:39:58 +02:00
gkodinov/kgeorge@rakia.(none)
43e05210c5 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B14654-5.0-opt
2006-09-04 11:34:32 +03:00
tnurnberg@maint1.mysql.com
ab7810c8e9 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  maint1.mysql.com:/data/localhome/tnurnberg/my50-21913
2006-09-04 07:45:49 +02:00
tnurnberg@salvation.intern.azundris.com
72c6c14bb2 Merge salvation.intern.azundris.com:/home/tnurnberg/21913/my41-21913
into  salvation.intern.azundris.com:/home/tnurnberg/21913/my50-21913

21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.

Variable character_set_results can legally be NULL (for "no conversion.")
This could result in a NULL deref that crashed the server.  Fixed.

(Although ran some additional precursory tests to see whether I could break
anything else, but no breakage so far.)
2006-09-04 07:01:15 +02:00
tnurnberg@salvation.intern.azundris.com
41f1932488 Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
Variable character_set_results can legally be NULL (for "no conversion.")
This could result in a NULL deref that crashed the server.  Fixed.

(Although ran some additional precursory tests to see whether I could break
anything else, but no breakage so far.)
2006-09-04 06:16:34 +02:00
grichter@bk-internal.mysql.com
6993e3a3f7 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-cmake
2006-09-02 11:03:16 +02:00
timour/timka@lamia.home
5a0d5670b8 Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21787
2006-09-01 17:21:49 +03:00
georg@lmy002.wdf.sap.corp
5686da41ac Fixes for crashes and test failures 2006-09-01 14:34:37 +02:00
timour/tkatchaounov@dl145s.mysql.com
462c22c1ae Merge timka@10.100.64.80:/home/timka/mysql/src/4.1-bug-21787
into  dl145s.mysql.com:/data/tkatchaounov/5.0-bug-21787
2006-09-01 14:29:27 +02:00
timour/timka@lamia.home
02e194cea2 Fix for BUG#21787: COUNT(*) + ORDER BY + LIMIT returns wrong result
The problem was due to a prior fix for BUG 9676, which limited
the rows stored in a temporary table to the LIMIT clause. This
optimization is not applicable to non-group queries with aggregate
functions. The fix disables the optimization in this case.
2006-09-01 15:07:04 +03:00
igor@rurik.mysql.com
0e96978cf6 Fixed bug #16081: row equalities were not taken into
account by the optimizer.
Now all row equalities are converted into conjunctions of
equalities between row elements. They are taken into account
by the optimizer together with the original regular equality
predicates.
2006-09-01 04:23:04 -07:00
msvensson@neptunus.(none)
4b41566503 Backport from 5.0
- Dont test "encrypt" in ctype_ucs
2006-09-01 11:21:12 +02:00
tsmith@maint2.mysql.com
e2f40aa6d0 Merge maint2.mysql.com:/data/localhome/tsmith/bk/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/50
2006-09-01 08:53:56 +02:00
jimw@rama.(none)
2b8f30a764 Merge bk-internal:/home/bk/mysql-4.1-maint
into  rama.(none):/home/jimw/my/mysql-4.1-21288
2006-08-31 21:23:25 -07:00
jimw@rama.(none)
9111a9c5c1 Merge bk-internal:/home/bk/mysql-5.0-maint
into  rama.(none):/home/jimw/my/mysql-5.0-clean
2006-08-31 21:03:25 -07:00
jimw@rama.(none)
bd2825f5bb Restore bug fix lost in merge of client/mysqldump.c, and clean up mysqldump.test
so that 4.1 and 5.0 tests are all in the right place and no tests are duplicated.
2006-08-31 20:53:34 -07:00
tsmith@maint2.mysql.com
81708c66a8 Merge maint2.mysql.com:/data/localhome/tsmith/bk/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/50
2006-09-01 03:44:03 +02:00
jimw@rama.(none)
5884eea9a3 Resolve conflicts 2006-08-31 18:24:37 -07:00
igor@rurik.mysql.com
ca3229dc1b Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug16249
2006-08-31 08:58:26 -07:00
gkodinov/kgeorge@macbook.gmz
e5bc4c7e77 Bug#14654 : Cannot select from the same table twice within a UNION statement
Made the parser to support parenthesis around UNION branches.
 This is done by amending the rules of the parser so it generates the correct
 structure.
 Currently it supports arbitrary subquery/join/parenthesis operations in the 
 EXISTS clause. 
 In the IN/scalar subquery case it will allow adding nested parenthesis only 
 if there is an UNION clause after the parenthesis. Otherwise it will just  
 treat the multiple nested parenthesis as a scalar expression.
 It adds extra lex level for ((SELECT ...) UNION ...) to accommodate for the
 UNION clause.
2006-08-31 18:00:25 +03:00
igor@rurik.mysql.com
c0389e7b0c Fixed bug #16249: different results for a range with an without index
when a range condition use an invalid DATETIME constant.
Now we do not use invalid DATETIME constants to form end keys for
range intervals: range analysis just ignores predicates with such
constants.
2006-08-31 07:27:34 -07:00
msvensson@shellback.(none)
d463972da7 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-31 11:57:36 +02:00
msvensson@shellback.(none)
b0754b3d02 Disable testing of "encrypt" in ctype_ucs.test 2006-08-31 11:53:08 +02:00
tsmith@maint2.mysql.com
9a8ed3fe3e Merge maint2.mysql.com:/data/localhome/tsmith/bk/g41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41
2006-08-31 00:23:15 +02:00
tsmith@maint2.mysql.com
0af0180468 Merge maint2.mysql.com:/data/localhome/tsmith/bk/g50
into  maint2.mysql.com:/data/localhome/tsmith/bk/50
2006-08-31 00:01:43 +02:00
tsmith@maint2.mysql.com
4ae5e61620 Merge maint2.mysql.com:/data/localhome/tsmith/bk/bfx/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/41
2006-08-30 23:49:21 +02:00
tsmith@maint2.mysql.com
d5ee5049be Merge maint2.mysql.com:/data/localhome/tsmith/bk/bfx/41
into  maint2.mysql.com:/data/localhome/tsmith/bk/bfx/50
2006-08-30 23:14:29 +02:00
tsmith@maint2.mysql.com
e80741b3a5 Remove ^Z from ctype_ucs.test data, to avoid problems testing on Windows 2006-08-30 22:39:23 +02:00
acurtis/antony@xiphis.org/ltantony.xiphis.org
678e15174e Bug#20573
"strict mode: inserts autogenerated auto_increment value bigger than max"
  Strict mode should fail if autoincrement value is out of range
2006-08-30 13:20:39 -07:00
kostja@bodhi.local
3948fcf575 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-14897
2006-08-31 00:14:19 +04:00
gluh@mysql.com/gluh.(none)
af9895d4c2 Bug#20393 User name truncation in mysql client
Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
2006-08-30 15:56:17 +05:00
kostja@bodhi.local
cb26d47570 Post-merge fixes. 2006-08-30 03:22:59 +04:00
kostja@bodhi.local
8566db3fc7 Remove the fix for Bug#10668 "CREATE USER does not enforce username
length limit", it's superseded by the fix for Bug#16899 "Possible buffer
overflow in handling of DEFINER-clause". Update test results.
2006-08-30 01:48:15 +04:00
kostja@bodhi.local
f8d34e1030 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-14897
2006-08-30 00:45:33 +04:00
kostja@bodhi.local
3bf609b7f2 A fix for Bug#14897 "ResultSet.getString("table.column") sometimes
doesn't find the column"

When a user was using 4.1 tables with VARCHAR column and 5.0 server
and a query that used a temporary table to resolve itself, the
table metadata for the varchar column sent to client was incorrect:
MYSQL_FIELD::table member was empty.

The bug was caused by implicit "upgrade" from old VARCHAR to new
VARCHAR hard-coded in Field::new_field, which did not preserve
the information about the original table. Thus, the field metadata
of the "upgraded" field pointed to an auxiliary temporary table
created for query execution.

The fix is to copy the pointer to the original table to the new field.
2006-08-30 00:38:58 +04:00
rburnett@bk-internal.mysql.com
001aaedddc Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-29 21:15:49 +02:00
istruewing@chilla.local
7439a52434 Merge chilla.local:/home/mydev/mysql-4.0-bug14400
into  chilla.local:/home/mydev/mysql-4.1-bug14400
2006-08-29 21:08:40 +02:00
istruewing@chilla.local
0b2a9d01ed Bug#14400 - Query joins wrong rows from table which is
subject of "concurrent insert"
Better fix by Monty: "The previous bug fix didn't work
when using partial keys."
2006-08-29 20:45:04 +02:00
kroki/tomash@moonlight.intranet
cb4ea78cbd Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17591
2006-08-29 16:24:00 +04:00
anozdrin/alik@alik.
1a7cb4153c Preliminary patch for the following bugs:
- BUG#15934: Instance manager fails to work;
  - BUG#18020: IM connect problem;
  - BUG#18027: IM: Server_ID differs;
  - BUG#18033: IM: Server_ID not reported;
  - BUG#21331: Instance Manager: Connect problems in tests;

The only test suite has been changed
(server codebase has not been modified).
2006-08-29 15:46:40 +04:00
kroki/tomash@moonlight.intranet
b9fef61616 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug17591
2006-08-29 14:37:52 +04:00
kroki/tomash@moonlight.intranet
f8f1dd3e87 BUG#17591: Updatable view not possible with trigger or stored function
When a view was used inside a trigger or a function, lock type for
tables used in a view was always set to READ (thus making the view
non-updatable), even if we were trying to update the view.

The solution is to set lock type properly.
2006-08-29 14:32:59 +04:00
iggy@rolltop.ignatz42.dyndns.org
bfe86ca448 Bug #21527 mysqldump incorrectly tries to LOCK TABLES on the information_schema database.
init_dumping now accepts a function pointer to the table or view specific init_dumping function.  This allows both tables and views to use the init_dumping function.
2006-08-28 17:48:06 -04:00
rburnett@bk-internal.mysql.com
f80ba7a147 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-28 17:56:44 +02:00
timour/tkatchaounov@dl145s.mysql.com
4761ea5c82 Merge tkatchaounov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  dl145s.mysql.com:/data/tkatchaounov/autopush/5.0-bug-21456
2006-08-28 16:08:48 +02:00
evgen@moonbone.local
109d58af66 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-27 23:43:11 +04:00
evgen@moonbone.local
13f50fdb69 Merge moonbone.local:/work/tmp_merge-4.1-mysql
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-26 23:11:34 +04:00
evgen@moonbone.local
bafd6d5065 Merge moonbone.local:/work/tmp_merge-5.0-opt-mysql
into  moonbone.local:/work/tmp_merge-5.0-mysql
2006-08-26 22:17:34 +04:00
andrey@example.com
f115ecf89f Fix for bug#21795: SP: sp_head::is_not_allowed_in_function() contains
erroneous check

Problem: Actually there were two problems in the server code. The check
for SQLCOM_FLUSH in SF/Triggers were not according to the existing
architecture which uses sp_get_flags_for_command() from sp_head.cc .
This function was also missing a check for SQLCOM_FLUSH which has a
problem combined with prelocking. This changeset fixes both of these
deficiencies as well as the erroneous check in
sp_head::is_not_allowed_in_function() which was a copy&paste error.
2006-08-25 15:51:29 +02:00
sergefp@mysql.com
46480b22d2 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug16255-merge
2006-08-25 14:44:28 +04:00
igor@rurik.mysql.com
218a96d2c6 Fixed bug #21390: wrong estimate of rows after elimination of
const tables. This resulted in choosing extremely inefficient
execution plans in same cases when distribution of data in
joined were skewed (see the customer test case for the bug).
2006-08-25 02:17:41 -07:00
msvensson@neptunus.(none)
31aa966718 Fix running tests suite with non standard tmp dir.
Default is "var/tmp"
2006-08-25 10:46:14 +02:00
andrey@example.com
85e6c3bfc1 Fix for bug#21416 SP: Recursion level higher than zero needed for non-recursive call
The following procedure was not possible if max_sp_recursion_depth is 0
create procedure show_proc() show create procedure show_proc;
  
Actually there is no recursive call but the limit is checked.
  
Solved by temporarily increasing the thread's limit just before the fetch from cache
and decreasing after that.
2006-08-24 19:36:26 +02:00
sergefp@mysql.com
84e9cb794f BUG#16255: Merge to 5.0 2006-08-24 20:56:28 +04:00
sergefp@mysql.com
848548e16f BUG#16255: Post-review fixes: adjust the testcase. 2006-08-24 19:16:27 +04:00
iggy@rolltop.ignatz42.dyndns.org
8bc745456f Bug #11972: client uses wrong character set after reconnect.
The mysql client uses the default character set on reconnect.  The default character set is now controled by the client charset command while the client is running.  The charset command now also issues a SET NAMES command to the server to make sure that the client's charset settings are in sync with the server's.
2006-08-24 11:15:08 -04:00
sergefp@mysql.com
d4cacdb5cc Bug #16255: Subquery in WHERE (the cset by Georgi Kodinov)
Must not use Item_direct_ref in HAVING because it points to
 the new value (witch is not yet calculated for the first row).
2006-08-24 19:14:36 +04:00
kroki/tomash@moonlight.intranet
b6bee0a394 BUG#21166: Prepared statement causes signal 11 on second execution
Changes in an item tree done by optimizer weren't properly
registered and went unnoticed, which resulted in preliminary freeing
of used memory.
2006-08-24 15:49:12 +04:00
tsmith@maint1.mysql.com
679d1e27ed Merge tim@tsmith.mysql.internal:m/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/41
2006-08-24 02:44:49 +02:00
tsmith/tim@siva.hindu.god
80e565dfe1 Merge siva.hindu.god:/usr/home/tim/m/bk/beef-50
into  siva.hindu.god:/usr/home/tim/m/bk/50
2006-08-23 18:31:15 -06:00
tsmith/tim@siva.hindu.god
df6b8516c4 Merge siva.hindu.god:/usr/home/tim/m/bk/b21531-41
into  siva.hindu.god:/usr/home/tim/m/bk/beef-50
2006-08-23 18:24:59 -06:00
tsmith/tim@siva.hindu.god
e8cbda2c27 Merge siva.hindu.god:/usr/home/tim/m/bk/b21531-41
into  siva.hindu.god:/usr/home/tim/m/bk/41
2006-08-23 18:06:07 -06:00
tsmith/tim@siva.hindu.god
45460bd0af Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets
- Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail
- Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors
2006-08-23 18:02:31 -06:00
evgen@sunlight.local
1e9b5cead2 view.result, view.test:
Corrected test case for the bug#21261
sql_parse.cc:
  Corrected fix for bug#21261
2006-08-24 03:05:13 +04:00
tsmith/tim@siva.hindu.god
b8521714af Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-41
into  siva.hindu.god:/usr/home/tim/m/bk/41
2006-08-23 16:30:05 -06:00
tsmith@maint1.mysql.com
e312416ef2 Merge bk-internal:/home/bk/mysql-4.1
into  maint1.mysql.com:/data/localhome/tsmith/bk/41
2006-08-23 22:51:20 +02:00
tsmith/tim@siva.hindu.god
bf8fc6e82a Merge siva.hindu.god:/usr/home/tim/m/bk/b20536-50
into  siva.hindu.god:/usr/home/tim/m/bk/50
2006-08-23 13:43:28 -06:00
anozdrin/alik@alik.
9af756efd3 Fix for BUG#16899: Possible buffer overflow in handling of DEFINER-clause
User name (host name) has limit on length. The server code relies on these
limits when storing the names. The problem was that sometimes these limits
were not checked properly, so that could lead to buffer overflow.

The fix is to check length of user/host name in parser and if string is too
long, throw an error.
2006-08-23 21:31:00 +04:00
cmiller@maint1.mysql.com
5572348ba5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  maint1.mysql.com:/data/localhome/cmiller/mysql-5.0-maint
2006-08-23 17:37:18 +02:00
timour/timka@lamia.home
31373e000b Merge lamia.home:/home/timka/mysql/src/4.1-virgin
into  lamia.home:/home/timka/mysql/src/4.1-bug-21456
2006-08-23 18:30:21 +03:00
timour/timka@lamia.home
70f76e457f Merge lamia.home:/home/timka/mysql/src/4.1-bug-21456
into  lamia.home:/home/timka/mysql/src/5.0-bug-21456
2006-08-23 18:22:53 +03:00
timour/timka@lamia.home
de723f2998 Bug #21456: SELECT DISTINCT(x) produces incorrect results when using order by
GROUP BY/DISTINCT pruning optimization must be done before ORDER BY 
optimization because ORDER BY may be removed when GROUP BY/DISTINCT
sorts as a side effect, e.g. in 
  SELECT DISTINCT <non-key-col>,<pk> FROM t1
  ORDER BY <non-key-col> DISTINCT
must be removed before ORDER BY as if done the other way around
it will remove both.
2006-08-23 16:46:57 +03:00
malff/marcsql@weblab.(none)
28ac53688f Bug#8153 (Stored procedure with subquery and continue handler, wrong result)
Implemented code review comments
Test cleanup
2006-08-22 18:58:14 -07:00
malff/marcsql@weblab.(none)
154bb53b1f Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-8153
2006-08-22 09:06:00 -07:00
cmiller@maint1.mysql.com
60a88a573a Bug#15583: BIN()/OCT()/CONV() do not work with BIT values
Converting BIT to a string (an intermediate step in conversion) does 
not yield an ASCII numeric string, so we skip that step for BIT and
get the integer value directly from the item.

This site in sql/item_strfunc.cc may be ripe for refactoring for
other types as well, where converting to a string is a waste of time.
2006-08-22 17:51:00 +02:00
tnurnberg@salvation.intern.azundris.com
f07937730a Merge salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20411
into  salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20987
2006-08-22 17:27:36 +02:00
evgen@sunlight.local
f0edc9084d Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  sunlight.local:/local_work/16861-bug-5.0-mysql
2006-08-22 17:39:18 +04:00
evgen@sunlight.local
f17a536e09 Fixed bug#16861: User defined variable can have a wrong value if a tmp table was
used.

Sorting by RAND() uses a temporary table in order to get a correct results.
User defined variable was set during filling the temporary table and later
on it is substituted for its value from the temporary table. Due to this
it contains the last value stored in the temporary table.

Now if the result_field is set for the Item_func_set_user_var object it 
updates variable from the result_field value when being sent to a client.

The Item_func_set_user_var::check() now accepts a use_result_field
parameter. Depending on its value the result_field or the args[0] is used
to get current value.
2006-08-22 17:37:41 +04:00
evgen@moonbone.local
60088d8090 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/21475-bug-5.0-opt-mysql
2006-08-22 17:18:00 +04:00
tnurnberg@salvation.intern.azundris.com
10c351b124 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  salvation.intern.azundris.com:/home/tnurnberg/work/mysql-5.0-maint-20411
2006-08-22 14:31:57 +02:00
tnurnberg@salvation.intern.azundris.com
002adef0e1 Bug#20411: "GRANT ... REQUIRE ISSUER nnn AND SUBJECT mmm" fails to require both
when X.509 subject was required for a connect, we tested whether it was the right
one, but did not refuse the connexion if not. fixed.

(corrected CS now --replace_results socket-path)
2006-08-22 14:29:48 +02:00
rburnett@bk-internal.mysql.com
f669f944e5 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-21 14:41:50 +02:00
sergefp@mysql.com
e3bdd6c6c2 Fix by Georgi Kodinov:
Bug #18744 Test 'join_outer' fails if "classic" configuration in 5.0
 - moved an InnoDB dependent test to the appropriate file
2006-08-21 14:20:03 +04:00
dlenev@mockturtle.local
320f8ccc2f Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg21216-2
2006-08-21 13:08:49 +04:00
dlenev@mockturtle.local
186fa6c291 Fix for bug#21216 "Simultaneous DROP TABLE and SHOW OPEN TABLES causes
server to crash".

Crash caused by assertion failure happened when one ran SHOW OPEN TABLES
while concurrently doing DROP TABLE (or RENAME TABLE, CREATE TABLE LIKE
or any other command that takes name-lock) in other connection.
For non-debug version of server problem exposed itself as wrong output
of SHOW OPEN TABLES statement (it was missing name-locked tables).
Finally in 5.1 both debug and non-debug versions simply crashed in
this situation due to NULL-pointer dereference.

This problem was caused by the fact that table placeholders which were
added to table cache in order to obtain name-lock had TABLE_SHARE::table_name
set to 0. Therefore they broke assumption that this member is non-0 for
all tables in table cache which was checked by assert in list_open_tables()
(in 5.1 this function simply relies on it).
The fix simply sets this member for such placeholders to appropriate value
making this assumption true again.

This patch also includes test for similar bug 12212 "Crash that happens
during removing of database name from cache" reappeared in 5.1 as bug 19403.
2006-08-21 12:18:59 +04:00
evgen@moonbone.local
b4c2f3f8e5 Fixed bug#21475: Wrongly applied constant propagation leads to a false comparison.
A date can be represented as an int (like 20060101) and as a string (like
"2006.01.01"). When a DATE/TIME field is compared in one SELECT against both
representations the constant propagation mechanism leads to comparison
of DATE as a string and DATE as an int. In this example it compares 2006 and
20060101 integers. Obviously it fails comparison although they represents the
same date.


Now the Item_bool_func2::fix_length_and_dec() function sets the comparison
context for items being compared. I.e. if items compared as strings the
comparison context is STRING.
The constant propagation mechanism now doesn't mix items used in different
comparison contexts. The context check is done in the
Item_field::equal_fields_propagator() and in the change_cond_ref_to_const() 
functions.

Also the better fix for bug 21159 is introduced.
2006-08-21 00:23:57 +04:00
holyfoot/hf@mysql.com/deer.(none)
54e28cc90c Merge mysql.com:/home/hf/work/mysql-4.1.15440
into  mysql.com:/home/hf/work/mysql-5.0-mrg
2006-08-20 20:47:32 +05:00
holyfoot/hf@mysql.com/vva.(none)
6f16cb371b Merge hf@192.168.21.12:work/mysql-4.1.15440
into  mysql.com:/home/hf/work/mysql-4.1.clean
2006-08-19 13:31:21 +05:00
petr/cps@mysql.com/owlet
30ef47a93c Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/cps/mysql/trees/mysql-5.0-virgin
2006-08-18 16:48:32 +04:00
jimw@rama.(none)
abc148000d Bug #21288: mysqldump segmentation fault when using --where
The problem was that the error handling was using a too-small buffer to
  print the error message generated. We fix this by not using a buffer at
  all, but by using fprintf() directly. There were also some problems with
  the error handling in table dumping that was exposed by this fix that were
  also corrected.
2006-08-17 14:09:24 -07:00
cmiller@zippy.cornsilk.net
64092ca93b Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:55:57 -04:00
evgen@moonbone.local
270629a158 ndb_condition_pushdown.result:
Corrected test case result after fix for bug#18165
view.result, view.test:
  Corrected test case for bug#21261
2006-08-17 18:50:53 +04:00
cmiller@zippy.cornsilk.net
030ddb48f3 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:47:23 -04:00
cmiller@zippy.cornsilk.net
c627a6ce84 Merge zippy.cornsilk.net:/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.cornsilk.net:/home/cmiller/work/mysql/merge/mysql-5.0
2006-08-17 10:42:50 -04:00
ramil/ram@mysql.com/myoffice.izhnet.ru
907f5db856 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b20695
2006-08-17 11:36:03 +05:00
iggy@rolltop.ignatz42.dyndns.org
00ab7be7b9 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_20328
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-merge
2006-08-16 19:31:33 -04:00
iggy@rolltop.ignatz42.dyndns.org
ca6532af50 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_20328
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-5.0-maint_20328
2006-08-16 16:16:10 -04:00
iggy@rolltop.ignatz42.dyndns.org
a86f035a08 Bug#20328 - Correction to test/result for broken Windows build. 2006-08-16 13:55:16 -04:00
igor@rurik.mysql.com
cabb55a64f Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/mysql-5.0-opt
2006-08-16 10:21:23 -07:00
igor@rurik.mysql.com
067d6fdfca Fixed bug #18165.
Made [NOT]BETWEEN predicates SARGable in respect to the second and 
the third arguments.
2006-08-16 09:37:19 -07:00
msvensson@shellback.(none)
da60a5194c Merge shellback.(none):/home/msvensson/mysql/bug20328/my50-bug20328
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-16 17:14:40 +02:00
msvensson@shellback.(none)
98eaa07600 Bug#20328 mysql client: dumb about trailing spaces on 'help' command
Fix testcase to also work on windows
2006-08-16 17:03:41 +02:00
evgen@sunlight.local
db17048cac Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  sunlight.local:/local_work/21261-bug-5.0-mysql
2006-08-16 18:17:58 +04:00
rburnett@bk-internal.mysql.com
8baecf7ed6 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-16 16:04:10 +02:00
msvensson@shellback.(none)
b963293595 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-08-16 15:50:50 +02:00
bar@mysql.com/bar.intranet.mysql.r18.ru
39860d67de Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b9509
2006-08-16 12:42:22 +05:00
holyfoot/hf@mysql.com/deer.(none)
c965eea789 Merge bk@192.168.21.1:mysql-5.0-kt
into  mysql.com:/home/hf/work/mysql-5.0.20910
2006-08-16 09:57:05 +05:00
ramil/rkalimullin@production.mysql.com
4ef5116425 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  production.mysql.com:/usersnfs/rkalimullin/mysql-5.0
2006-08-16 06:37:39 +02:00
bar@mysql.com/bar.intranet.mysql.r18.ru
b1f9b63a54 Merge mysql.com:/usr/home/bar/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b9509
2006-08-16 09:31:24 +05:00
evgen@moonbone.local
9b10c3a0fc Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/15950-bug-5.0-opt-mysql
2006-08-15 21:48:07 +04:00
evgen@sunlight.local
dd9a07706b Fixed bug#21261: Wrong access rights was required for an insert into a view
SELECT right instead of INSERT right was required for an insert into to a view.
This wrong behaviour appeared after the fix for bug #20989. Its intention was
to ask only SELECT right for all tables except the very first for a complex
INSERT query. But that patch has done it in a wrong way and lead to asking 
a wrong access right for an insert into a view.

The setup_tables_and_check_access() function now accepts two want_access
parameters. One will be used for the first table and the second for other
tables.
2006-08-15 21:45:24 +04:00
cmiller@maint1.mysql.com
a90dd98bd1 Merge maint1.mysql.com:/data/localhome/cmiller/bug20908/my50-bug20908
into  maint1.mysql.com:/data/localhome/cmiller/mysql-5.0-maint
2006-08-15 19:34:53 +02:00
sergefp@mysql.com
7c73d0b2d6 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-opt-bug21282-r2
2006-08-15 21:32:09 +04:00
sergefp@mysql.com
f68d8cf994 BUG#21077: 4.1->5.0 merge 2006-08-15 21:16:02 +04:00
sergefp@mysql.com
1230f3ad38 BUG#21282: Incorrect query results for "t.key NOT IN (<big const list>)
In fix for BUG#15872, a condition of type "t.key NOT IN (c1, .... cN)"
where N>1000, was incorrectly converted to
  (-inf < X < c_min) OR (c_max < X)
Now this conversion is removed, we dont produce any range lists for such
conditions.
2006-08-15 21:08:22 +04:00
evgen@moonbone.local
8364a646a9 Fixed bug#15950: NOW() optimized away in VIEWs
This bug is a side-effect of bug fix #16377. NOW() is optimized in
BETWEEN to integer constants to speed up query execution. When view is being
created it saves already modified query and thus becomes wrong.

The agg_cmp_type() function now substitutes constant result DATE/TIME functions 
for their results only if the current query isn't CREATE VIEW or SHOW CREATE
VIEW.
2006-08-15 21:02:55 +04:00
cmiller@maint1.mysql.com
53bb6a47cd Bug #20908: Crash if select @@""
Zero-length variables caused failures when using the length to look
up the name in a hash.  Instead, signal that no zero-length name can
ever be found and that to encounter one is a syntax error.
2006-08-15 18:41:21 +02:00
sergefp@mysql.com
86c5cad4e0 BUG#21077: Possible crash caused by invalid sequence of handler::* calls:
The crash was caused by invalid sequence of handler::** calls:                                                           
  ha_smth->index_init();                                                                                                 
  ha_smth->index_next_same(); (2)                                                                                        
(2) is an invalid call as it was not preceeded by any 'scan setup' call
like index_first() or index_read(). The cause was that QUICK_SELECT::reset()
didn't "fully reset" the quick select- current QUICK_RANGE wasn't forgotten,
and quick select might attempt to continue reading the range, which would
result in the above mentioned invalid sequence of handler calls.

5.x versions are not affected by the bug - they already have the missing
"range=NULL" clause.
2006-08-15 20:33:14 +04:00
petr/cps@mysql.com/owlet
472279cec4 Merge pchardin@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  mysql.com:/home/cps/mysql/trees/mysql-5.0-virgin
2006-08-15 19:11:12 +04:00
rburnett@bk-internal.mysql.com
8d5e2dd644 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-15 17:02:08 +02:00
ramil/ram@mysql.com/myoffice.izhnet.ru
b65bf3b4da Merge mysql.com:/usr/home/ram/work/tmp_merge
into  mysql.com:/usr/home/ram/work/mysql-5.0
2006-08-15 19:41:23 +05:00
mskold/marty@mysql.com/linux.site
bacdcb053e Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1
2006-08-15 15:58:02 +02:00
mskold/marty@mysql.com/linux.site
3b42e84c44 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0
2006-08-15 15:57:36 +02:00
holyfoot/hf@mysql.com/deer.(none)
81764f89cf Merge bk@192.168.21.1:mysql-5.0-kt
into  mysql.com:/home/hf/work/mysql-5.0.20910
2006-08-15 18:15:12 +05:00
gkodinov/kgeorge@macbook.gmz
b5f814abed Bug #21302: Result not properly sorted when using an ORDER BY on a second table in a join
- undeterminstic tests fixed
2006-08-15 15:48:49 +03:00
mskold/marty@mysql.com/linux.site
66e8255491 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0
2006-08-15 13:37:39 +02:00
mskold/marty@mysql.com/linux.site
6a3143e2a0 ndb_lock.test, ndb_lock.result:
bug #18184  SELECT ... FOR UPDATE does not work..: New test case
ha_ndbcluster.h, ha_ndbcluster.cc, NdbConnection.hpp:
  Fix for bug #21059  Server crashes on join query with large dataset with NDB tables: Releasing operation for each intermediate batch, before next call to trans->execute(NoCommit);
2006-08-15 13:12:27 +02:00
ramil/ram@mysql.com/myoffice.izhnet.ru
6660f98b64 Fix for bug #20695: Charset introducer overrides charset definition for column.
- if there are two character set definitions in the column declaration,
    we replace the first one with the second one as we store both in the LEX->charset
    slot. Add a separate slot to the LEX structure to store underscore charset.
  - convert default values to the column charset of STRING, VARSTRING fields 
    if necessary as well.
2006-08-15 15:24:07 +05:00
gkodinov/kgeorge@rakia.(none)
eabc7662e6 Bug #21302: Result not properly sorted when using an ORDER BY
on a second table in a join
- undeterministic output of the test case removed.
2006-08-15 13:01:04 +03:00
gkodinov/kgeorge@rakia.(none)
e024d63342 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21159-5.0-opt
2006-08-15 12:54:02 +03:00
gkodinov/kgeorge@rakia.(none)
18c52dc2c1 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21174-5.0-opt
2006-08-15 10:31:34 +03:00
gkodinov/kgeorge@rakia.(none)
5f242d0823 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21159-5.0-opt
2006-08-15 10:25:56 +03:00
gkodinov/kgeorge@macbook.gmz
c606c63f0e Bug #21159: Optimizer: wrong result after AND with different data types
Disable const propagation for Item_hex_string.
This must be done because Item_hex_string->val_int() is not
the same as (Item_hex_string->val_str() in BINARY column)->val_int().
We cannot simply disable the replacement in a particular context (
e.g. <bin_col> = <int_col> AND <bin_col> = <hex_string>) since
Items don't know the context they are in and there are functions like 
IF (<hex_string>, 'yes', 'no').
Note that this will disable some valid cases as well 
(e.g. : <bin_col> = <hex_string> AND <bin_col2> = <bin_col>) but 
there's no way to distinguish the valid cases without having the
Item's parent say something like : Item->set_context(Item::STRING_RESULT)
and have all the Items that contain other Items do that consistently.
2006-08-15 10:13:17 +03:00
bar@mysql.com/bar.intranet.mysql.r18.ru
9f6c76eb20 Merge mysql.com:/usr/home/bar/mysql-4.1.b19741
into  mysql.com:/usr/home/bar/mysql-5.0.b19741merge
2006-08-15 12:04:51 +05:00
acurtis/antony@xiphis.org/ltantony.xiphis.org
e2d4aa2ca4 Merge xiphis.org:/home/antony/work2/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-merge
2006-08-14 21:27:36 -07:00
tsmith/tim@siva.hindu.god
9228972cd4 Manual merge, and add --echo End of 5.0 tests to ctype_ucs 2006-08-14 18:59:43 -06:00
gkodinov/kgeorge@macbook.gmz
25eaa521bf Bug #21174: Index degrades sort performance and
optimizer does not honor IGNORE INDEX
 - Allow an index to be used for sorting the table 
   instead of filesort only if it is not disabled by
   IGNORE INDEX.
2006-08-14 18:19:29 +03:00
kostja@bodhi.local
d03b39aaab Fix a test case (proper clean up). 2006-08-14 19:18:33 +04:00
rburnett@bk-internal.mysql.com
4bb7715482 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-kt
2006-08-14 17:13:31 +02:00