Commit graph

20743 commits

Author SHA1 Message Date
kroki@mysql.com
69f0e87b05 Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug20152
2006-06-30 12:54:11 +04:00
kroki@mysql.com
79ca4c1d55 bug #20152: mysql_stmt_execute() overwrites parameter buffers
When using a parameter bind MYSQL_TYPE_DATE in a prepared statement,
the time part of the MYSQL_TIME buffer was written to zero in
mysql_stmt_execute(). The param_store_date() function in libmysql.c
worked directly on the provided buffer.
Changed to use a copy of the buffer.
2006-06-30 12:52:05 +04:00
jonas@perch.ndb.mysql.com
ab3992771b ndb - bug#20774
crash if system restart with more than 4096 fragments
  solution: continueb enable expand check loop
2006-06-30 09:41:41 +02:00
sergefp@mysql.com
611e20d8e1 BUG#16168: Wrong results from range optimizer, "Use_count: Wrong count for key ..." warnings:
- Added comments.
 - Make SEL_ARG::clone() set SEL_ARG::elements in the created copy.
2006-06-30 09:05:12 +04:00
monty@mysql.com
f25b4e0464 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/my/mysql-4.1
2006-06-30 04:27:19 +03:00
monty@mysql.com
c887b91d63 Merge monty@192.168.0.9:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-4.1
2006-06-30 04:26:41 +03:00
monty@mysql.com
a267b8f33c Don't read ~/.my.cnf in mysqldump.test 2006-06-30 04:10:27 +03:00
monty@mysql.com
b481762bae Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/my/mysql-4.1
2006-06-30 02:44:13 +03:00
evgen@sunlight.local
d126ca800c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into sunlight.local:/local_work/autopush/merge-4.1
2006-06-30 03:34:54 +04:00
monty@mysql.com
8e2099295d Fixed include file usage
hp_test2 now works again
Fixed wrong cast, which caused problems with gcc 4.0 and floats in prepared statements (Bug #19694)
2006-06-30 02:25:35 +03:00
iggy@mysql.com
57e94d02c6 Merge mysql.com:/mnt/storeage/mysql-4.1
into  mysql.com:/mnt/storeage/mysql-4.1_bug19298
2006-06-29 17:30:50 -04:00
evgen@moonbone.local
83bc48f38e Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/merge-4.1
2006-06-30 01:12:16 +04:00
tomas@poseidon.ndb.mysql.com
747c17ffa3 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-main
2006-06-29 23:12:15 +02:00
tomas@poseidon.ndb.mysql.com
87460ec76a Bug #19202 Incorrect errorhandling in select count(*) wrt temporary error 2006-06-29 20:55:21 +02:00
jonas@perch.ndb.mysql.com
09c669911f Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-06-29 16:31:12 +02:00
jonas@perch.ndb.mysql.com
9099d493bc Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-06-29 16:25:45 +02:00
jonas@perch.ndb.mysql.com
f4a095a399 ndb - autotest
Fix testNodeRestart -n DuringLCP and others (add stopTest() at end of test :-))
2006-06-29 16:20:18 +02:00
stewart@mysql.com
e343c0e214 Merge mysql.com:/home/stewart/Documents/MySQL/4.1/ndb
into  mysql.com:/home/stewart/Documents/MySQL/4.1/main
2006-06-29 22:30:51 +10:00
gkodinov@mysql.com
9dbb09182b Merge mysql.com:/home/kgeorge/mysql/4.1/teamclean
into  mysql.com:/home/kgeorge/mysql/4.1/warnings
2006-06-29 10:36:08 +03:00
ingo@mysql.com
99ad23ec7c Bug#14400 - Query joins wrong rows from table which is subject of "concurrent insert"
It was possible that fetching a record by an exact key value 
(including the record pointer) could return a record with a 
different key value. This happened only if a concurrent insert 
added a record with the searched key value after the fetching 
statement locked the table for read.

The search succeded on the key value, but the record was
rejected as it was past the file length that was remembered
at start of the fetching statement. With other words it was 
rejected as being a concurrently inserted record.

The action to recover from this problem was to fetch the 
record that is pointed at by the next key of the index. 
This was repeated until a record below the file length was 
found.

I do now avoid this loop if an exact match was searched. 
If this match is beyond the file length, it is now treated 
as "key not found". There cannot be another key with the 
same record pointer.
2006-06-28 18:55:30 +02:00
ingo@mysql.com
9dd5bc3843 Bug#19835 - Binary copy of corrupted tables crash the server when issuing a query
A corrupt table with dynamic record format can crash the 
server when trying to select from it.
        
I fixed the crash that resulted from the particular type 
of corruption that has been reported for this bug.

No test case. To test it, one needs a table with a very special
corruption. The bug report contains a file with such a table.
2006-06-28 16:07:39 +02:00
gkodinov@mysql.com
96ceb6c234 gcc 4.1 linux warning fixes backported from 5.0. 2006-06-28 16:28:29 +03:00
ingo@mysql.com
d8499f2d8f Bug#17877 - Corrupted spatial index
CHECK TABLE could complain about a fully intact spatial index.
A wrong comparison operator was used for table checking. 
The result was that it checked for non-matching spatial keys. 
This succeeded if at least two different keys were present, 
but failed if only the matching key was present.

I fixed the key comparison.
2006-06-28 14:27:37 +02:00
stewart@mysql.com
30b08617fc Merge mysql.com:/home/stewart/Documents/MySQL/4.1/ndb
into  mysql.com:/home/stewart/Documents/MySQL/4.1/merge
2006-06-28 22:21:42 +10:00
stewart@mysql.com
3d01caa9c1 BUG#19894 Data nodes fail during loading data if NoOfFragmentLogFiles=1
change default minimum to 3

bug is *very* timing dependent, unable to reproduce here, but theoretically possible.
2006-06-28 21:52:24 +10:00
jonas@perch.ndb.mysql.com
deac64a228 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
2006-06-28 08:39:34 +02:00
iggy@mysql.com
578fee6990 Bug#19298 mysqld_safe still uses obsolete --skip-locking parameter 2006-06-27 18:07:23 -04:00
svoj@may.pils.ru
ffd8ed1716 BUG#1662 - ALTER TABLE LIKE ignores DATA/INDEX DIRECTPORY
Produce a warning if DATA/INDEX DIRECTORY is specified in
ALTER TABLE statement.

Ignoring of these options is documented in the symbolic links
section of the manual.
2006-06-27 22:22:43 +05:00
joerg@mysql.com
f789b87a1b Move "mysqldumpslow" from the client RPM to the server RPM (bug#20216),
manual merge from 4.0.
2006-06-27 18:36:41 +02:00
joerg@mysql.com
46ee3ac19d Move "mysqldumpslow" from the client RPM to the server RPM (bug#20216). 2006-06-27 18:17:53 +02:00
gkodinov@mysql.com
be3c4a154f Merge mysql.com:/home/kgeorge/mysql/4.1/teamclean
into  mysql.com:/home/kgeorge/mysql/4.1/B16458
2006-06-27 18:47:22 +03:00
kroki@mysql.com
49cc2904d2 Dec. 31st, 9999 is still a valid date, only starting with Jan 1st 10000 things become invalid (Bug #12356) 2006-06-27 19:33:59 +04:00
gkodinov@mysql.com
9ec681ef35 Bug #16458: Simple SELECT FOR UPDATE causes "Result Set not updatable" error
'SELECT DISTINCT a,b FROM t1' should not use temp table if there is unique 
index (or primary key) on a.
There are a number of other similar cases that can be calculated without the
use of a temp table : multi-part unique indexes, primary keys or using GROUP BY 
instead of DISTINCT.
When a GROUP BY/DISTINCT clause contains all key parts of a unique
index, then it is guaranteed that the fields of the clause will be
unique, therefore we can optimize away GROUP BY/DISTINCT altogether.
This optimization has two effects:
* there is no need to create a temporary table to compute the
   GROUP/DISTINCT operation (or the temporary table will be smaller if only GROUP 
   is removed and DISTINCT stays or if DISTINCT is removed and GROUP BY stays)
* this causes the statement in effect to become updatable in Connector/Java
because the result set columns will be direct reference to the primary key of 
the table (instead to the temporary table that it currently references). 

Implemented a check that will optimize away GROUP BY/DISTINCT for queries like 
the above.
Currently it will work only for single non-constant table in the FROM clause.
2006-06-27 17:40:19 +03:00
holyfoot@mysql.com
366339f4ed Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/hf/work/mysql-4.1.clean
2006-06-27 15:12:13 +05:00
ingo@mysql.com
e67bdaf604 Bug#11824 - internal /tmp/*.{MYD,MYI} files remain, causing subsequent queries to fail
Very complex select statements can create temporary tables
that are too big to be represented as a MyISAM table.

This was not checked at table creation time, but only at
open time. The result was an attempt to delete the 
"impossible" table.

But if the server is built --with-raid, MyISAM tries to 
open the table before deleting the files. It needs to find 
out if the table uses the raid support and how many raid 
chunks there are. This is done with an open "for repair",
which will almost always succeed.

But in this case we have an "impossible" table. The open
failed. Hence the files were not deleted. Also the error
message was a bit unspecific.

I turned an open error in this situation into the assumption 
of having no raid support on the table. Thus the normal data 
file is tried to be deleted. This may however leave existing 
raid chunks behind.

I also added a check in mi_create() to prevent the creation
of an "impossible" table. A more decriptive error message is
given in this case.

No test case. The required select statement is way too
large for the test suite. I added a test script to the
bug report.
2006-06-27 11:26:41 +02:00
kent@mysql.com
748b287cad Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-06-26 23:47:14 +02:00
kent@mysql.com
c36dd28676 make_sharedlib_distribution.sh:
For compatibility, don't use {..,..} in pattern matching
make_binary_distribution.sh:
  Added .dylib and .sl as shared library extensions
2006-06-26 23:44:17 +02:00
holyfoot@mysql.com
bb347299b1 Merge mysql.com:/home/hf/work/mysql-4.1.20318
into mysql.com:/home/hf/work/mysql-4.1.clean
2006-06-26 22:17:42 +05:00
holyfoot@mysql.com
5a96a1b090 Merge mysql.com:/home/hf/work/mysql-4.1.10166
into mysql.com:/home/hf/work/mysql-4.1.clean
2006-06-26 21:07:13 +05:00
jonas@perch.ndb.mysql.com
a5e1b01920 ndb - bug#20683
part 1 - make sure return code is propagated from request tracker
2006-06-26 12:16:39 +02:00
bar@mysql.com
cfb08851f7 Bug#11228: DESC shows arbitrary column as "PRI"
An UNIQUE KEY consisting of NOT NULL columns
  was displayed as PRIMARY KEY in "DESC t1".
  According to the code, that was intentional
  behaviour for some reasons unknown to me.
  This code was written before bitkeeper time,
  so I cannot check who and why made this.
  After discussing on dev-public, a decision
  was made to remove this code
2006-06-23 13:19:30 +05:00
igor@rurik.mysql.com
faa48bf1a0 Added a test case for bug #18359.
This was another manifestation of the problems fixed in the
patch for bug 16674.
Wrong calculation of length of the search prefix in the pattern
string led here to a wrong result set for a query in 4.1. 
The bug could be demonstrated for any multi-byte character set.
2006-06-22 20:39:46 -07:00
igor@rurik.mysql.com
8940231491 Fixed bug #20076.
Server crashed in some cases when a query required a MIN/MAX
agrregation for a 'ucs2' field. 
In these cases  the aggregation caused calls of the function
update_tmptable_sum_func that indirectly invoked 
the method Item_sum_hybrid::min_max_update_str_field() 
containing a call to strip_sp for a ucs2 character set.
The latter led directly to the crash as it used my_isspace
undefined for the ucs2 character set.
Actually the call of strip_sp is not needed at all in this
situation and has been removed by the fix.
2006-06-22 15:50:15 -07:00
kent@mysql.com
ef2860e8ff mysql.spec.sh:
Disable the simplistic auto dependency scan for test/bench (bug#20078)
2006-06-23 00:37:31 +02:00
holyfoot@deer.(none)
36cea7d4fe bug #10166 (Signed byte values cause data to be padded)
The AsBinary function returns VARCHAR data type with binary collation.
It can cause problem for clients that treat that kind of data as
different from BLOB type.
So now AsBinary returns BLOB.
2006-06-22 22:11:27 +05:00
jonas@perch.ndb.mysql.com
18686cd08d ndb - bug#19164
set max value on ports
2006-06-22 12:03:28 +02:00
igor@rurik.mysql.com
e307b5b297 Modified the test case for bug 16674 to have the same
execution plans in 4.1 and 5.0.
2006-06-21 22:39:48 -07:00
igor@rurik.mysql.com
cfd2c2a569 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rurik.mysql.com:/home/igor/mysql-4.1-opt
2006-06-21 16:29:58 -07:00
evgen@moonbone.local
6439337bb1 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-06-22 00:29:47 +04:00
evgen@moonbone.local
8d4a910a1f Fixed bug #14896.
This bug in Field_string::cmp resulted in a wrong comparison 
with keys in partial indexes over multi-byte character fields.
Given field a is declared as a varchar(16) collate utf8_unicode_ci
INDEX(a(4)) gives us an example of such an index.
  
Wrong key comparisons could lead to wrong result sets if 
the selected query execution plan used a range scan by 
a partial index over a utf8 character field.
This also caused wrong results in many other cases.
2006-06-22 00:29:04 +04:00