summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1ramil/ram@mysql.com/myoffice.izhnet.ru2006-07-233-1/+18
|\ | | | | | | into mysql.com:/usr/home/ram/work/4.1.b16327
| * Fix for #16327: invalid TIMESTAMP values retrievedramil@mysql.com2006-05-173-1/+18
| |
* | Merge bk@192.168.21.1:mysql-4.1holyfoot/hf@mysql.com/deer.(none)2006-07-202-2/+8
|\ \ | | | | | | | | | into mysql.com:/home/hf/work/mysql-4.1.19983
| * | bug #19983 (mysql_client_test_embedded fails)holyfoot@deer.(none)2006-06-022-2/+8
| | |
* | | mysql.spec.sh:kent@mysql.com/c-4b4072d5.010-2112-6f72651.cust.bredbandsbolaget.se2006-07-191-0/+3
| | | | | | | | | | | | | | | | | | Added new "mysql_explain_log" man page Added missing install of "myisam_ftdump" man page Added missing install of "mysqlman" man page
* | | Merge moonbone.local:/home/evgen/bk-trees/mysql-4.1evgen@moonbone.local2006-07-1817-25/+268
|\ \ \ | | | | | | | | | | | | into moonbone.local:/work/tmp_merge-4.1-opt-mysql
| * \ \ Merge moonbone.local:/work/mysql-4.1evgen@moonbone.local2006-07-186-3/+48
| |\ \ \ | | | | | | | | | | | | | | | into moonbone.local:/work/tmp_merge-4.1-opt-mysql
| * \ \ \ Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-optgkodinov/kgeorge@rakia.(none)2006-07-143-1/+81
| |\ \ \ \ | | | | | | | | | | | | | | | | | | into rakia.(none):/home/kgeorge/mysql/autopush/B17212-4.1-opt
| | * | | | Bug #17212 results not sorted correctly by ORDER BY when using indexgkodinov/kgeorge@macbook.gmz2006-07-123-1/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * don't use join cache when the incoming data set is already ordered for ORDER BY This choice must be made because join cache will effectively reverse the join order and the results will be sorted by the index of the table that uses join cache.
| * | | | | Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-optevgen@moonbone.local2006-07-123-0/+34
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | into moonbone.local:/work/16302-bug-4.1-opt-mysql
| | * | | | Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-optevgen@moonbone.local2006-07-123-0/+34
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | into moonbone.local:/work/18503-bug-4.1-mysql
| | | * | | | Fixed bug#18503: Queries with a quantified subquery returning empty setevgen@moonbone.local2006-07-123-0/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | may return a wrong result. An Item_sum_hybrid object has the was_values flag which indicates whether any values were added to the sum function. By default it is set to true and reset to false on any no_rows_in_result() call. This method is called only in return_zero_rows() function. An ALL/ANY subquery can be optimized by MIN/MAX optimization. The was_values flag is used to indicate whether the subquery has returned at least one row. This bug occurs because return_zero_rows() is called only when we know that the select will return zero rows before starting any scans but often such information is not known. In the reported case the return_zero_rows() function is not called and the was_values flag is not reset to false and yet the subquery return no rows Item_func_not_all and Item_func_nop_all functions return a wrong comparison result. The end_send_group() function now calls no_rows_in_result() for each item in the fields_list if there is no rows were found for the (sub)query.
| * | | | | | Merge moonbone.local:/work/allany-4.1-mysqlevgen@moonbone.local2006-07-113-1/+30
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | into moonbone.local:/work/16302-bug-4.1-opt-mysql
| | * \ \ \ \ \ Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-optevgen@moonbone.local2006-07-113-1/+30
| | |\ \ \ \ \ \ | | | |/ / / / / | | |/| | | | | | | | | | | | | into moonbone.local:/work/allany-4.1-mysql
| | | * | | | | Fixed bug#16302: Quantified subquery without any tables gives wrong resultsevgen@moonbone.local2006-07-113-1/+30
| | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ALL/ANY subqueries are the subject of MIN/MAX optimization. The matter of this optimization is to embed MIN() or MAX() function into the subquery in order to get only one row by which we can tell whether the expression with ALL/ANY subquery is true or false. But when it is applied to a subquery like 'select a_constant' the reported bug occurs. As no tables are specified in the subquery the do_select() function isn't called for the optimized subquery and thus no values have been added to a MIN()/MAX() function and it returns NULL instead of a_constant. This leads to a wrong query result. For the subquery like 'select a_constant' there is no reason to apply MIN/MAX optimization because the subquery anyway will return at most one row. Thus the Item_maxmin_subselect class is more appropriate for handling such subqueries. The Item_in_subselect::single_value_transformer() function now checks whether tables are specified for the subquery. If no then this subselect is handled like a UNION using an Item_maxmin_subselect object.
| * | | | | | Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1-optevgen@moonbone.local2006-07-1112-23/+123
| |\ \ \ \ \ \ | | |/ / / / / | | | | | | | | | | | | | | into moonbone.local:/home/evgen/bk-trees/mysql-4.1-opt
| | * | | | | Merge rakia:mysql/4.1/B14553gkodinov/kgeorge@macbook.gmz2006-07-107-3/+60
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | into macbook.gmz:/Users/kgeorge/mysql/work/B14553-4.1-opt
| | | * | | | | BUG#14553: NULL in WHERE resets LAST_INSERT_IDgkodinov/kgeorge@mysql.com/rakia.(none)2006-07-107-3/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To make MySQL compatible with some ODBC applications, you can find the AUTO_INCREMENT value for the last inserted row with the following query: SELECT * FROM tbl_name WHERE auto_col IS NULL. This is done with a special code that replaces 'auto_col IS NULL' with 'auto_col = LAST_INSERT_ID'. However this also resets the LAST_INSERT_ID to 0 as it uses it for a flag so as to ensure that only the first SELECT ... WHERE auto_col IS NULL after an INSERT has this special behaviour. In order to avoid resetting the LAST_INSERT_ID a special flag is introduced in the THD class. This flag is used to restrict the second and subsequent SELECTs instead of LAST_INSERT_ID.
| | * | | | | | Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-4.1-optigor@olga.mysql.com2006-07-064-18/+54
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into olga.mysql.com:/home/igor/mysql-4.1-opt
| | | * | | | | | Fixed bug #18243.igor@olga.mysql.com2006-07-064-18/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The implementation of the method Item_func_reverse::val_str for the REVERSE function modified the argument of the function. This led to wrong results for expressions that contained REVERSE(ref) if ref occurred somewhere else in the expressions.
| | * | | | | | | Better comments for void Item::top_level_item()sergefp@mysql.com2006-07-041-2/+9
| | |/ / / / / /
* | | | | | | | Backporting Kostja's changes made for 5.0 into 4.1.bar@mysql.com/bar.intranet.mysql.r18.ru2006-07-182-111/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Please use "ul" when merging this changeset to 5.0.
* | | | | | | | Merge orca.ndb.mysql.com:/space_old/pekka/ndb/version/my41pekka@orca.ndb.mysql.com2006-07-151-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | into orca.ndb.mysql.com:/space_old/pekka/ndb/version/my41-1.2461
| * | | | | | | | ndb - (4.1) trivial fix to error.log (wday=0 was printed as "x")pekka@orca.ndb.mysql.com2006-07-111-1/+1
| | | | | | | | |
* | | | | | | | | mysql.spec.sh:kent@mysql.com/g4-2.local2006-07-151-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Command "ndb_mgm" is an optional tool, and should only be in "ndb-tools" package (bug#21058)
* | | | | | | | | Increment the version number to 4.1.22, as 4.1.21 is cloned.joerg@trift2.2006-07-141-2/+2
| | | | | | | | |
* | | | | | | | | Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1ramil/ram@mysql.com/myoffice.izhnet.ru2006-07-147-6/+26
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/ram/work/4.1.b15195
| * | | | | | | | | --{skip-}merge option added which allows the user to disable merge engine andramil/ram@mysql.com/myoffice.izhnet.ru2006-07-147-6/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to avoid the potential security problem. (see bug #15195: Security Breach with MERGE table)
* | | | | | | | | | Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1holyfoot/hf@mysql.com/deer.(none)2006-07-148-48/+74
|\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/hf/work/mysql-4.1.16017
| * \ \ \ \ \ \ \ \ \ Merge bk@192.168.21.1:mysql-4.1holyfoot/hf@mysql.com/deer.(none)2006-07-138-48/+74
| |\ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | into mysql.com:/home/hf/work/mysql-4.1.16017
| | * | | | | | | | | bug #16017 (memory leaks in embedded server)holyfoot@deer.(none)2006-06-018-48/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There actually was 3 different problems - hash_user_connections wasn't cleaned one strdupped database name wasn't freed and stmt->mem_root wasn't cleaned as it was replased with mysql->field_alloc for result For the last one - i made the library using stmt's fields to store result if it's the case.
* | | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1cmiller@zippy.(none)2006-07-132-4/+9
|\ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | into zippy.(none):/home/cmiller/work/mysql/m41-maint--07AB5
| * | | | | | | | | | Merge dl145k.mysql.com:/data0/mkindahl/bkroot/mysql-4.1mkindahl@dl145k.mysql.com2006-07-121-3/+5
| |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into dl145k.mysql.com:/data0/mkindahl/bk/mysql-4.1-rpl
| | * | | | | | | | | | BUG#20919 temp tables closing fails when binlog is offaelkin/elkin@dsl-hkigw8-feb1fb00-100.dhcp.inet.fi2006-07-101-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | closing temp tables through end_thread had a flaw in binlog-off branch of close_temporary_tables where next table to close was reset via table->next for (table= thd->temporary_tables; table; table= table->next) which was wrong since the current table instance got destoyed at close_temporary(table, 1); The fix adapts binlog-on branch method to engage the loop's internal 'next' variable which holds table->next prior table's destoying.
| * | | | | | | | | | | Merge cmiller@bk-internal.mysql.com:/home/bk/mysql-4.1cmiller@maint1.mysql.com2006-07-123-2/+14
| |\ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into maint1.mysql.com:/data/localhome/cmiller/mysql-4.1
| * \ \ \ \ \ \ \ \ \ \ \ Merge zippy.(none):/home/cmiller/work/mysql/mysql-4.0__bug19006cmiller@zippy.(none)2006-07-111-1/+4
| |\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.(none):/home/cmiller/work/mysql/merge/mysql-4.1
| | * | | | | | | | | | | | Add a more reliable "getconf" test for Linuxthreads. The later trees should ↵cmiller@zippy.(none)2006-07-071-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | already have a better test (and so this should be null-merged there). ALSO! Make it so that it accepts NPTL as a valid _equivalent_ implementation.
| | * | | | | | | | | | | | Bug#19006: 4.0 valgrind problems (in test func_str)cmiller@zippy.(none)2006-07-014-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On exactly-sized Strings, the String::c_ptr() function peeked beyond the end of the buffer, possibly into unititialized space to see whether the buffer was NUL-terminated. In a place that did peek improperly, we now use a c_ptr_safe() function, which doesn't peek where it shouldn't.
* | | | | | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maintcmiller@zippy.(none)2006-07-1355-141/+2708
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |_|/ / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.(none):/home/cmiller/work/mysql/m41-maint--07AB5
| * | | | | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1cmiller@zippy.(none)2006-07-113-2/+14
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.(none):/home/cmiller/work/mysql/m41-maint--07AB5
| * | | | | | | | | | | | | ndb - bug#20847: non-debug compile fixpekka@orca.ndb.mysql.com2006-07-101-0/+4
| | | | | | | | | | | | | |
| * | | | | | | | | | | | | Merge orca.ndb.mysql.com:/space/pekka/ndb/version/my41pekka@orca.ndb.mysql.com2006-07-1045-102/+2217
| |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into orca.ndb.mysql.com:/space_old/pekka/ndb/version/my41-bug20847
| | * \ \ \ \ \ \ \ \ \ \ \ \ Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-4.1pekka@orca.ndb.mysql.com2006-07-1030-64/+365
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into orca.ndb.mysql.com:/space_old/pekka/ndb/version/my41
| | | * \ \ \ \ \ \ \ \ \ \ \ \ Merge chilla.local:/home/mydev/mysql-4.1-bug19835ingo/mydev@chilla.local2006-07-081-0/+3
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-4.1-amerge
| | | | * | | | | | | | | | | | | Bug#19835 - Binary copy of corrupted tables crash the server when issuing a ↵ingo@mysql.com2006-06-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | | | | | | | | | | | | | Merge chilla.local:/home/mydev/mysql-4.1-bug17877ingo/mydev@chilla.local2006-07-086-7/+98
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-4.1-amerge
| | | | * | | | | | | | | | | | | | Bug#17877 - Corrupted spatial indexingo@mysql.com2006-06-286-7/+98
| | | | |/ / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| | | * | | | | | | | | | | | | | Merge chilla.local:/home/mydev/mysql-4.1-bug14400ingo/mydev@chilla.local2006-07-082-9/+21
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-4.1-amerge
| | | | * \ \ \ \ \ \ \ \ \ \ \ \ \ Merge mysql.com:/home/mydev/mysql-4.0-bug14400ingo@mysql.com2006-07-042-9/+21
| | | | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | |/ / / / / / / / / / / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/mydev/mysql-4.1-bug14400
| | | | | * | | | | | | | | | | | | Bug#14400 - Query joins wrong rows from table which is subject of ↵ingo@mysql.com2006-06-282-5/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "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.