Commit graph

9602 commits

Author SHA1 Message Date
bar@mysql.com/bar.intranet.mysql.r18.ru
6daf8b4e18 Merge mysql.com:/usr/home/bar/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1-kt
2006-09-14 15:12:06 +05:00
gluh@mysql.com/gluh.(none)
8f44d902bd Bug#20922 mysql removes a name of first column in a table
0xFF is internal separator for SET|ENUM names. 
If this symbol is present in SET|ENUM names then we replace it with 
','(deprecated symbol for SET|ENUM names) during frm creation
and restore to 0xFF during frm opening
2006-09-11 14:50:46 +05:00
jonas@perch.ndb.mysql.com
f8fdc3bcb0 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-09-05 15:05:52 +02:00
timour/timka@lamia.home
cf3bed86b5 BUG#21787: COUNT(*) + ORDER BY + LIMIT returns wrong result
Fix an error in the bug fix.
2006-09-04 16:53:03 +03:00
jonas@perch.ndb.mysql.com
7488c8fda8 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-09-04 14:45:13 +02:00
jonas@perch.ndb.mysql.com
96ff8b4c52 bug#21965 - replication
fix deadlock if master switches log file in parallell with "show master logs"
2006-09-04 13:43:34 +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
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
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
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
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
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
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
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/tim@siva.hindu.god
dba7b8e81c Bug #20402: DROP USER failure logged as ERROR rather than WARNING
Remove some sql_print_error() calls which were triggered by user error (i.e., not server-level events at all).

Also, convert an sql_print_error -> sql_print_information for a non-error server event.
2006-08-23 15:37:54 -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
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
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
holyfoot/hf@mysql.com/vva.(none)
52b5421ec3 Merge hf@192.168.21.12:work/mysql-4.1.13717
into  mysql.com:/home/hf/work/mysql-4.1.clean
2006-08-19 13:30:44 +05: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
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
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
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
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
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
kroki/tomash@moonlight.intranet
e287562097 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678
2006-08-14 20:03:16 +04:00
kroki/tomash@moonlight.intranet
c746c08af9 BUG#9678: Client library hangs after network communication failure
Socket timeouts in client library were used only on Windows.

The solution is to use socket timeouts in client library on all
systems were they are supported.

No test case is provided because it is impossible to simulate network
failure in current test suit.
2006-08-14 20:01:19 +04:00
ramil/ram@mysql.com/myoffice.izhnet.ru
bc1e69d453 Restore alphabetical order of the system variables. 2006-08-14 10:54:24 +05:00
tsmith/tim@siva.hindu.god
72d55f3878 Bug #20536: md5() with GROUP BY and UCS2 return different results on myisam/innodb
Make the encryption functions MD5(), SHA1() and ENCRYPT() return binary results.
    
Make MAKE_SET() and EXPORT_SET() use the correct character set for their default separator strings.
2006-08-11 17:09:19 -06:00
bar@mysql.com/bar.intranet.mysql.r18.ru
4a63a64f1e mysqld --collation-server=xxx --character-set-server=yyy
didn't work as expected: collation_server was set not to xxx,
but to the default collation of character set "yyy".
    
With different argument order it worked as expected:
mysqld --character-set-server=yyy --collation-server=yyy 
    
Fix:
initializate default_collation_name to 0
when processing --character-set-server
only if --collation-server has not been specified
in command line.
2006-08-11 13:19:44 +05:00
tnurnberg@salvation.intern.azundris.com
170392850d Bug#19844: time_format in Union truncates values
time_format() claimed %H and %k would return at most two digits
(hours 0-23), but this coincided neither with actual behaviour
nor with docs.  this is not visible in simple queries; forcing
a temp-table is probably the easiest way to see this.  adjusted
the return-length appropriately; the alternative would be to
adjust the docs to say that behaviour for > 99 hours is undefined.
---
Bug#19844: time_format in Union truncates values

time_format() claimed %H and %k would return at most two digits
(hours 0-23), but this coincided neither with actual behaviour
nor with docs.  this is not visible in simple queries; forcing
a temp-table is probably the easiest way to see this.  adjusted
the return-length appropriately; the alternative would be to
adjust the docs to say that behaviour for > 99 hours is undefined.
2006-08-10 15:37:24 +02:00
svoj@may.pils.ru
34c83fba8d Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
2006-08-03 15:49:41 +05:00
msvensson@neptunus.(none)
5fc215e2e3 Bug#21419 test case lowercase_fs_off fails on Windows
- Backport patch from 5.0
2006-08-03 12:16:24 +02:00
svoj@may.pils.ru
395d3c3985 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  may.pils.ru:/home/svoj/devel/mysql/BUG7391/mysql-4.1
2006-08-03 14:08:43 +05:00
svoj@may.pils.ru
67db270c71 BUG#7391 - Cross-database multi-table UPDATE uses active database
privileges

This problem is 4.1 specific. It doesn't affect 4.0 and was fixed
in 5.x before.

Having any mysql user who is allowed to issue multi table update
statement and any column/table grants, allows this user to update
any table on a server (mysql grant tables are not exception).

check_grant() accepts number of tables (in table list) to be checked
in 5-th param. While checking grants for multi table update, number
of tables must be 1. It must never be 0 (actually we have
DBUG_ASSERT(number > 0) in 5.x in grant_check() function).
2006-08-03 14:03:08 +05:00
tsmith/tim@siva.hindu.god
820f14b153 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  siva.hindu.god:/usr/home/tim/m/bk/done/b20402-41
2006-08-02 23:11:58 -06:00
cmiller@zippy.cornsilk.net
dd5eeaf676 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/m41-maint--07OBQ
2006-08-02 14:57:12 -04:00
evgen@moonbone.local
40a1fbdffb Merge moonbone.local:/work/tmp_merge-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-02 16:10:52 +04:00
holyfoot/hf@mysql.com/deer.(none)
21f721c6f5 bug #13717 embedded library dumps warnings on STDERR directly
Here i just disabled STDERR warnings in embedded server
Later we should get more defined about logs in the embedded server
2006-08-01 15:18:21 +05:00
gkodinov/kgeorge@rakia.(none)
351554e121 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt
2006-07-27 10:06:37 +03:00
tsmith/tim@siva.hindu.god
f5764cecde Bug #20402: DROP USER failure logged as ERROR rather than WARNING
slave.cc, sql_acl.cc:
- remove sql_print_error() for events that are not server errors
2006-07-26 16:33:26 -06:00
gkodinov/kgeorge@rakia.(none)
e2a082aa32 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt
2006-07-26 19:55:33 +03:00
gkodinov/kgeorge@macbook.gmz
565d495997 * Bug #20792: Incorrect results from aggregate subquery
When processing aggregate functions all tables values are reset
to NULLs at the end of each group. 
When doing that if there are no rows found for a group
the const tables must not be reset as they are not recalculated 
by do_select()/sub_select() for each group.
2006-07-26 19:19:30 +03:00
gkodinov/kgeorge@rakia.(none)
49f8ec4c99 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21019-4.1-opt
2006-07-26 18:49:26 +03:00
kroki/tomash@moonlight.intranet
4e845cccc4 BUG#21206: memory corruption when too many cursors are opened at once
Too many cursors (more than 1024) could lead to memory corruption.
This affects both, stored routines and C API cursors, and the
threshold is per-server, not per-connection.  Similarly, the
corruption could happen when the server was under heavy load
(executing more than 1024 simultaneous complex queries), and this is
the reason why this bug is fixed in 4.1, which doesn't support
cursors.

The corruption was caused by a bug in the temporary tables code, when
an attempt to create a table could lead to a write beyond allocated
space.  Note, that only internal tables were affected (the tables
created internally by the server to resolve the query), not tables
created with CREATE TEMPORARY TABLE.  Another pre-condition for the
bug is TRUE value of --temp-pool startup option, which, however, is a
default.

The cause of a bug was that random memory was overwritten in
bitmap_set_next() due to out-of-bound memory access.
2006-07-26 16:23:07 +04:00
gkodinov/kgeorge@macbook.gmz
6766cfcdf9 Bug #21019: First result of SELECT COUNT(*) different than consecutive runs
When optimizing conditions like 'a = <some_val> OR a IS NULL' so that they're
 united into a single condition on the key and checked together the server must 
 check which value is the NULL value in a correct way : not only using ->is_null 
 but also check if the expression doesn't depend on any tables referenced in the 
 current statement. 
 This additional check must be performed because that optimization takes place 
 before the actual execution of the statement, so if the field was initialized 
 to NULL from a previous statement the optimization would be applied incorrectly.
2006-07-26 13:32:28 +03:00
timour/timka@lamia.home
86ae2f3b06 Fix for BUG#20954: avg(keyval) retuns 0.38 but max(keyval) returns an empty set
The problem was in that opt_sum_query() replaced MIN/MAX functions
with the corresponding constant found in a key, but due to imprecise
representation of float numbers, when evaluating the where clause,
this comparison failed.

When MIN/MAX optimization detects that all tables can be removed,
also remove all conjuncts in a where clause that refer to these
tables. As a result of this fix, these conditions are not evaluated
twice, and in the case of float number comparisons we do not discard
result rows due to imprecise float representation.

As a side-effect this fix also corrects an unnoticed problem in
bug 12882.
2006-07-26 01:11:19 +03:00