Commit graph

22175 commits

Author SHA1 Message Date
msvensson@pilot.(none)
f164a136e1 Fix typo: '$$' => '$' 2007-08-29 14:39:40 +02:00
msvensson@pilot.(none)
387990f78d Add 'mtr_rmtree' 2007-08-29 11:51:34 +02:00
istruewing@synthia.local
45647d3bd9 Merge synthia.local:/home/mydev/mysql-4.1-amain
into  synthia.local:/home/mydev/mysql-4.1-axmrg
2007-08-13 19:22:35 +02:00
df@pippilotta.erinye.com
0285a32afb Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1-build
2007-08-05 16:37:20 +02:00
df@pippilotta.erinye.com
ec7dccce7f Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-08-04 09:55:45 +02:00
joerg@trift2.
7c6a0cf03f Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  trift2.:/MySQL/M41/push-4.1
2007-08-02 22:09:52 +02:00
istruewing@chilla.local
aefe1ff468 Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-08-02 22:04:01 +02:00
jperkin@production.mysql.com
21cb71adb0 Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  production.mysql.com:/usersnfs/jperkin/bk/trees/build/mysql-4.1
2007-08-02 18:52:42 +02:00
jperkin@production.mysql.com
b088c6a3dc myisamchk.c:
Fix typo in usage.
2007-08-02 18:51:11 +02:00
tsmith@ramayana.hindu.god
9d09389ccb Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-08-01 18:38:43 -06:00
tsmith@ramayana.hindu.god
c2399f04d0 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-08-01 18:30:28 -06:00
tsmith@ramayana.hindu.god
ffc2f3ab99 Merge ramayana.hindu.god:/home/tsmith/m/bk/41
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-08-01 18:12:44 -06:00
jperkin@production.mysql.com
612fb66de4 Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  production.mysql.com:/usersnfs/jperkin/bk/mysql-4.1-maint
2007-08-01 11:59:52 +02:00
jperkin@production.mysql.com
f5c8c9a81d Option 6 tries to grant global privileges at the database level
which does not work.  Removing these attempted privileges makes
this identical to option 5 so remove it completely.  The spirit
of the program appears to be aimed at database privileges, so do
not add another option for granting global privileges as it may
be unexpected.  Fixes bug#14618 (same as previous patch, this
time applied to -maint tree).
2007-08-01 11:58:25 +02:00
istruewing@chilla.local
e117a36c33 Bug#29838 - myisam corruption using concurrent select ... and update
When using concurrent insert with parallel index reads, it could
happen that reading sessions found keys that pointed to records
yet to be written to the data file. The result was a report of
a corrupted table. But it was false alert.

When inserting a record in a table with indexes, the keys are
inserted into the indexes before the record is written to the data
file. When the insert happens concurrently to selects, an
index read can find a key that references the record that is not
yet written to the data file. To avoid any access to such record,
the select saves the current end of file position when it starts.
Since concurrent inserts are always appended at end of the data
file, the select can easily ignore any concurrently inserted record.

The problem was that the ignore was only done for non-exact key
searches (partial key or using >, >=, < or <=).

The fix is to ignore concurrently inserted records also for
exact key searches.

No test case. Concurrent inserts cannot be tested with the test
suite. Test cases are attached to the bug report.
2007-08-01 11:54:24 +02:00
holyfoot/hf@mysql.com/hfmain.(none)
288ab1aa41 Merge mysql.com:/home/hf/work/029717/my41-29717
into  mysql.com:/home/hf/work/29717/my41-29717
2007-07-31 11:00:19 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
f1ee2d0687 Bug #29717 INSERT INTO SELECT inserts values even if
SELECT statement itself returns empty.

As a result of this bug 'SELECT AGGREGATE_FUNCTION(fld) ... GROUP BY'
can return one row instead of an empty result set.

When GROUP BY only has fields of constant tables
(with a single row), the optimizer deletes the group_list.
After that we lose the information about whether we had an
GROUP BY statement. Though it's important
as SELECT min(x) from empty_table; and
   SELECT min(x) from empty_table GROUP BY y; have to return
different results - the first query should return one row,
second - an empty result set.
So here we add the 'group_optimized_away' flag to remember this case
when GROUP BY exists in the query and is removed
by the optimizer, and check this flag in end_send_group()
2007-07-31 10:46:04 +05:00
kent@mysql.com/kent-amd64.(none)
e99df6fd02 my_pthread.c:
Backport of correction for Mac OS X build problem, global variable not
  initiated is "common" and can't be used in shared libraries, unless
  special flags are used (bug#26218)
2007-07-30 20:40:49 +02:00
df@pippilotta.erinye.com
67c650fb8f Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-07-26 18:32:26 +02:00
joerg@debian.(none)
c3264eaa0f Merge debian.(none):/M41/bug16635-4.1
into  debian.(none):/M41/push-4.1
2007-07-26 15:32:32 +02:00
joerg@debian.(none)
560cad771a Raise the 64 character limit for path names in the error messages
to 150 or 107 characters for those messages which are generated
by the embedded server during release builds.

This fixes bug#16635:
   Error messages wrong: absolute path names, "%s" format code

See the bug report or the changelog for "sql/share/english/errmsg.txt"
for instructions how to do that with other languages, 
even at the customer site, and for the restrictions to keep.
2007-07-26 12:52:13 +02:00
holyfoot/hf@mysql.com/hfmain.(none)
57a564673b Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/29494/my41-29494
2007-07-22 18:16:11 +05:00
igor@olga.mysql.com
07e0cd2f4e Fixed bug #29911.
This bug manifested itself for join queries with GROUP BY and HAVING clauses
whose SELECT lists contained DISTINCT. It occurred when the optimizer could
deduce that the result set would have not more than one row.
The bug could lead to wrong result sets for queries of this type because
HAVING conditions were erroneously ignored in some cases in the function
remove_duplicates.
2007-07-20 22:56:19 -07:00
holyfoot/hf@mysql.com/hfmain.(none)
40fb6443ce Bug #29494 Field packet with NULL fields crashes libmysqlclient.
unpack_fields() didn't expect NULL_LENGHT in the field's descriptions.
In this case we get NULL in the resulting string so cannot use
strdup_root to make a copy of it.
strdup_root changed with strmake_root as it's NULL-safe
2007-07-20 16:05:55 +05:00
df@pippilotta.erinye.com
48da3b71e2 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-07-20 08:37:19 +02:00
tsmith@ramayana.hindu.god
91dc419715 Merge ramayana.hindu.god:/home/tsmith/m/bk/41
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41
2007-07-17 11:32:34 -06:00
tnurnberg@sin.intern.azundris.com
7dbf738f4a Merge sin.intern.azundris.com:/home/tnurnberg/27198/40-27198
into  sin.intern.azundris.com:/home/tnurnberg/27198/41-27198
2007-07-16 22:38:50 +02:00
istruewing@chilla.local
4874e18dab Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-14 16:19:17 +02:00
tnurnberg@sin.intern.azundris.com
5cbe511f3b Bug#27198: Error returns from time() are ignored
gettimeofday() can fail and presumably, so can time().
Keep an eye on it.

Since we have no data on this at all so far, we just
retry on failure (and log the event), assuming that
this is just an intermittant failure. This might of
course hang the threat until we succeed. Once we know
more about these failures, an appropriate more clever
scheme may be picked (only try so many times per thread,
etc., if that fails, return last "good" time() we got or
some such).  Using sql_print_information() to log as this
probably only occurs in high load scenarios where the debug-
trace likely is disabled (or might interfere with testing
the effect).  No test-case as this is a non-deterministic
issue.
2007-07-13 17:50:58 +02:00
df@pippilotta.erinye.com
702cf2ffe0 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-07-12 09:23:40 +02:00
tsmith@sita.local
1106dddfa2 Merge sita.local:/Users/tsmith/m/bk/41
into  sita.local:/Users/tsmith/m/bk/maint/41
2007-07-09 01:21:22 -06:00
istruewing@chilla.local
10441bc78a Merge chilla.local:/home/mydev/mysql-4.1-amain
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-08 19:47:08 +02:00
istruewing@chilla.local
cf016f84fa Merge chilla.local:/home/mydev/mysql-4.1-ateam
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-08 19:46:22 +02:00
gshchepa/uchum@gleb.loc
8c8b64797a Merge gleb.loc:/home/uchum/work/bk/4.1
into  gleb.loc:/home/uchum/work/bk/4.1-opt
2007-07-08 00:15:53 +05:00
tsmith@sita.local
781a04930c Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  sita.local:/Users/tsmith/m/bk/maint/41
2007-07-06 17:54:25 -06:00
df@pippilotta.erinye.com
e94c8156e0 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-07-06 21:38:00 +02:00
antony@ppcg5.local
bab42982bc Merge anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-4.1-engines.merge
2007-07-06 08:57:18 -07:00
istruewing@chilla.local
a5b62446a8 Merge chilla.local:/home/mydev/mysql-4.1-ateam
into  chilla.local:/home/mydev/mysql-4.1-axmrg
2007-07-05 19:38:07 +02:00
svoj@mysql.com/june.mysql.com
c2120c40ee BUG#27564 - Valgrind: UDF does not cleanup correctly
Dropping an user defined function may cause server crash in
case this function is still in use by another thread.

The problem was that our hash implementation didn't update
hash link list properly when hash_update() was called.
2007-07-05 11:45:14 +05:00
tsmith@maint1.mysql.com
8c8883aeb6 Merge maint1.mysql.com:/data/localhome/tsmith/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/41
2007-07-04 21:22:35 +02:00
gshchepa/uchum@gleb.loc
0e8292c97c Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  gleb.loc:/home/uchum/work/bk/4.1-opt
2007-07-03 21:48:52 +05:00
gshchepa/uchum@gleb.loc
1f85dac21c loaddata.result, loaddata.test:
Test case update for bug #29294.
2007-07-03 21:45:20 +05:00
gshchepa/uchum@gleb.loc
5f5929846b sql_class.cc:
Windows compilation error fix.
2007-07-03 21:05:17 +05:00
gshchepa/uchum@gleb.loc
dbe4fb94ca Fixed bug #29294.
The `SELECT 'r' INTO OUTFILE ... FIELDS ENCLOSED BY 'r' ' statement
encoded the 'r' string to a 4 byte string of value x'725c7272'
(sequence of 4 characters: r\rr).
The LOAD DATA statement decoded this string to a 1 byte string of
value x'0d' (ASCII Carriage Return character) instead of the original
'r' character.
The same error also happened with the FIELDS ENCLOSED BY clause
followed by special characters: 'n', 't', 'r', 'b', '0', 'Z' and 'N'.

NOTE 1: This is a result of the undocumented feature: the LOAD DATA INFILE
recognises 2-byte input sequences like \n, \t, \r and \Z in addition
to documented 2-byte sequences: \0 and \N. This feature should be
documented (here backspace character is a default ESCAPED BY character,
in the real-life example it may be any ESCAPED BY character).

NOTE 2, changed behaviour:
Now the `SELECT INTO OUTFILE' statement with the `FIELDS ENCLOSED BY'
clause followed by one of: 'n', 't', 'r', 'b', '0', 'Z' or 'N' characters
encodes this special character itself by doubling it ('r' --> 'rr'),
not by prepending it with an escape character.
2007-07-03 19:37:46 +05:00
df@pippilotta.erinye.com
788176880f Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-4.1
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-4.1
2007-06-29 09:51:09 +02:00
gshchepa/uchum@gleb.loc
f8bf427ba4 Fixed bug #29251.
Sometimes special 0 ENUM values was ALTERed to normal
empty string ENUM values.

Special 0 ENUM value has the same string representation
as normal ENUM value defined as '' (empty string).
The do_field_string function was used to convert
ENUM data at an ALTER TABLE request, but this
function doesn't care about numerical "indices" of
ENUM values, i.e. do_field_string doesn't distinguish
a special 0 value from an empty string value.

A new copy function called do_field_enum has been added to
copy special 0 ENUM values without conversion to an empty
string.
2007-06-27 03:41:50 +05:00
tsmith@maint1.mysql.com
2bfa624a52 Merge maint1.mysql.com:/data/localhome/tsmith/bk/41
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/41
2007-06-26 23:56:56 +02:00
gshchepa/uchum@gleb.loc
78e900dd92 Merge gleb.loc:/home/uchum/work/bk/4.1
into  gleb.loc:/home/uchum/work/bk/4.1-opt
2007-06-25 14:08:53 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
06eb3e2881 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/home/ram/work/b29079/b29079.4.1
2007-06-23 09:23:49 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
aabbd2fb69 Fix for bug #29079: Semantics of "bigint" depend on platform specifics (size, signedness of char ?)
Problem: long and long long types mess in a comparison may lead to wrong results on some platforms.
Fix: prefer [unsigned] long long as [u]longlong as it's used unconditionally in many places.
2007-06-22 17:12:40 +05:00