Commit graph

20827 commits

Author SHA1 Message Date
unknown
fa1641e1f3 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.


mysql-test/r/func_time.result:
  Bug#19844: time_format in Union truncates values
  
  show time_format() handles %H and %k correctly four > 99 hours
mysql-test/t/func_time.test:
  Bug#19844: time_format in Union truncates values
  
  show time_format() handles %H and %k correctly four > 99 hours
sql/item_timefunc.cc:
  Bug#19844: time_format in Union truncates values
  
  unbreak promises we make about field-length of %H and %k in
  time_format() so they coincide with the actual range rather
  than just 0..23. the docs say we must operate outside that
  range, so we'd better do it right.
  ---
  Bug#19844: time_format in Union truncates values
  
  unbreak promises we make about field-length of %H and %k in
  time_format() so they coincide with the actual range rather
  than just 0..23. the docs say we must operate outside that
  range, so we'd better do it right.
  One digit values are padded to two digits with %H, "longer"
  values are handled correctly up to seven digits including
  any sign.
  (clarified comments as per jimw's suggestion.)
2006-08-10 15:37:24 +02:00
unknown
d2aa274ac9 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
unknown
595b5fdbe8 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  zippy.cornsilk.net:/home/cmiller/work/mysql/m41-maint--07OBQ


sql/set_var.cc:
  Auto merged
2006-08-02 14:57:12 -04:00
unknown
f4fb48bab0 Bug#9719: DELETE with WHERE on HEAP table just deletes first row of matched
set.

(Ramil's patch, recreated.)


heap/hp_delete.c:
  Reset info->lastkey_len for further heap_rnext/heap_rprev calls.
mysql-test/r/heap_btree.result:
  Test for bug #9719: DELETE with WHERE on HEAP table just deletes first 
  row of matched set.
mysql-test/t/heap_btree.test:
  Test for bug #9719: DELETE with WHERE on HEAP table just deletes first 
  row of matched set.
2006-08-02 13:06:59 -04:00
unknown
98daac1865 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_bug20721
2006-08-02 11:13:55 -04:00
unknown
d31ae636dd Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-02 18:16:05 +04:00
unknown
328e8c7430 Merge moonbone.local:/work/tmp_merge-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql
2006-08-02 16:40:32 +04:00
unknown
84ece59cef Merge moonbone.local:/work/tmp_merge-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql


sql/item_strfunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-08-02 16:10:52 +04:00
unknown
504e375656 Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1.20317
2006-08-02 16:57:46 +05:00
unknown
87fc6265ce Merge bk-internal:/home/bk/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-08-01 15:36:37 +02:00
unknown
340053df4e Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
2006-08-01 06:08:09 +02:00
unknown
0f581cd3c5 Merge anubis.greendragongames.com:/home/greenman/workspace-mysql/mysql/mysql-4.1-maint
into  anubis.greendragongames.com:/home/greenman/workspace-mysql/mysql/pending/bug-4.1-19364


client/mysql.cc:
  Auto merged
2006-07-31 12:53:47 -07:00
unknown
76f65b3fb3 Merge mysql.com:/users/lthalmann/bkroot/mysql-4.1-rpl
into  mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge
2006-07-31 21:30:24 +02:00
unknown
15daae5aef Merge bk-internal:/home/bk/mysql-4.1
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-07-31 16:07:28 +02:00
unknown
f49ad00d69 Merge 192.168.0.20:mysql/bug21217/my41-bug21217
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-07-31 14:41:29 +02:00
unknown
6cf16daa4b Merge neptunus.(none):/home/msvensson/mysql/my41-bug21125
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-07-31 14:40:21 +02:00
unknown
83c87624fa BUG#21217 "mysqltest" client is inconsistent when to log a line number
- Init start_lineno to 0


client/mysqltest.c:
  Init start_lineno to 0 and set it back to zero before comparing result file.
2006-07-30 19:30:20 +02:00
unknown
66716f0984 Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0
into  mysql.com:/Users/kent/mysql/bk/mysql-4.1


configure.in:
  Auto merged
2006-07-29 17:26:06 +02:00
unknown
189a687971 configure.in:
Corrected typo


configure.in:
  Corrected typo
2006-07-29 17:24:48 +02:00
unknown
04d60b3897 Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0
into  mysql.com:/Users/kent/mysql/bk/mysql-4.1


configure.in:
  Auto merged
scripts/make_binary_distribution.sh:
  Auto merged
support-files/mysql.spec.sh:
  SCCS merged
2006-07-28 23:40:05 +02:00
unknown
d1fde0f7f5 Makefile.am, configure.in:
Man page for mysqld command move to section 8 (bug#21220)


configure.in:
  Man page for mysqld command move to section 8 (bug#21220)
man/Makefile.am:
  Man page for mysqld command move to section 8 (bug#21220)
2006-07-28 23:12:40 +02:00
unknown
6f65bffebd make_binary_distribution.sh:
Man page for "mysqld" command move to section 8 (bug#21220)


scripts/make_binary_distribution.sh:
  Man page for "mysqld" command move to section 8 (bug#21220)
2006-07-28 23:06:49 +02:00
unknown
a811cc0a88 mysql.spec.sh:
Man page for "mysqld" command move to section 8 (bug#21220)


support-files/mysql.spec.sh:
  Man page for "mysqld" command move to section 8 (bug#21220)
2006-07-28 22:57:57 +02:00
unknown
9c7a329eba Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt


sql/sql_select.cc:
  Auto merged
2006-07-27 10:06:37 +03:00
unknown
3845856cc6 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


sql/slave.cc:
  Bug #20402: DROP USER failure logged as ERROR rather than WARNING
  remove sql_print_error() for events that are not server errors
sql/sql_acl.cc:
  Bug #20402: DROP USER failure logged as ERROR rather than WARNING
  remove sql_print_error() for events that are not server errors
2006-07-26 16:33:26 -06:00
unknown
bb81f6ac2d Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B20792-4.1-opt


sql/sql_select.cc:
  Auto merged
2006-07-26 19:55:33 +03:00
unknown
6b75e24b73 * 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.


mysql-test/r/subselect2.result:
  * Bug #20792: Incorrect results from aggregate subquery
   - test suite for the bug. This is dependent on InnoDB despite
     the fact that the bug and the fix are not InnoDB specific.
     This is because of the table flag HA_NOT_EXACT_COUNT.
     When this flag is off (as in MyISAM) both t2 and t3 become of
     join type 'system' as they are estimated to have 1 record and
     and this statistics can be trusted (according to the absence of
     HA_NOT_EXACT_COUNT).
mysql-test/t/subselect2.test:
  * Bug #20792: Incorrect results from aggregate subquery
   - test suite for the bug
sql/sql_select.cc:
  * Bug #20792: Incorrect results from aggregate subquery
   - when clearing results if there are not rows found for group
     the const tables must not be reset as they are not recalculated
     for each group.
2006-07-26 19:19:30 +03:00
unknown
70d27b3503 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B21019-4.1-opt


sql/sql_select.cc:
  Auto merged
mysql-test/r/select.result:
  SCCS merged
mysql-test/t/select.test:
  SCCS merged
2006-07-26 18:49:26 +03:00
unknown
35945019ea 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.


mysys/my_bitmap.c:
  Local 'bitmap_size' is measured in bytes, no need to multiply it by 8.
sql/sql_select.cc:
  Clear the temp_pool_slot bit only if we have set it previously.
2006-07-26 16:23:07 +04:00
unknown
5ca1ee5eea 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.


mysql-test/r/select.result:
  Bug #21019: First result of SELECT COUNT(*) different than consecutive runs
   - test case
mysql-test/t/select.test:
  Bug #21019: First result of SELECT COUNT(*) different than consecutive runs
   - test case. 
     Note that ALTER TABLE is important here : it happens to
     leave the Field instance for t1.b set to NULL, witch is vital for
     demonstrating the problem fixed by this changeset.
sql/sql_select.cc:
  Bug #21019: First result of SELECT COUNT(*) different than consecutive runs
   - check whether a value is null taking into account its table dependency.
2006-07-26 13:32:28 +03:00
unknown
03637f493e Applied innodb-4.1-ss32 snapshot.
innobase/ibuf/ibuf0ibuf.c:
  Applied innodb-4.1-ss32 snapshot.
   ibuf_fixed_addr_page(): Add parameter space. As the insert
   buffer B-tree is only located in the system tablespace
   (space 0), IBUF_TREE_ROOT_PAGE_NO is only special in space 0.
2006-07-26 07:47:29 +04:00
unknown
03fc0a8fb1 Merge tkatchaounov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  lamia.home:/home/tkatchaounov/autopush/4.1-bug-20954


mysql-test/r/subselect.result:
  Auto merged
2006-07-26 01:21:35 +03:00
unknown
585b5bbc92 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.


mysql-test/r/func_group.result:
  BUG#20954 - test result adjustment.
  Adjusted the test result of bug 12882 which was not preperly fixed.
  The current patch corrects the problem that was fully corrected by the
  patch for 12882.
  
  The problem was that opt_sum_query() indicated that the optimizer may
  remove all tables because all MIN/MAX/COUNT functions are constants,
  but this lead to an empty result instead of NULL because the WHERE
  clause was still evaluated.
  
  The current fix removes all conjuncts in the where clause that
  reference the removed tables, and thus corrects the problem.
mysql-test/r/select.result:
  BUG#20954 - added test
mysql-test/r/subselect.result:
  BUG#20954 - test result adjustment.
  
  The fix removes those conditions in a where clause that refer to
  tables optimized away by MIN/MAX optimization (opt_sum_query()).
mysql-test/t/select.test:
  BUG#20954 - added test
sql/sql_select.cc:
  Fix for BUG#20954: avg(keyval) retuns 0.38 but max(keyval) returns an empty set
  
  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
unknown
c939a8d7e5 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1
into  trift2.:/M41/push-4.1
2006-07-24 19:27:01 +02:00
unknown
75220954bf Merge trift2.:/M41/clone-4.1
into  trift2.:/M41/push-4.1


sql/field.cc:
  Auto merged
sql/sql_locale.cc:
  Changes were already present (and even better) == Null-merge == "ul".
2006-07-24 19:18:30 +02:00
unknown
def55c5219 Bug#21218 Test "mysqlbinlog" fails to execute another program on Windows
- Send confusing output to /dev/null


mysql-test/t/mysqlbinlog.test:
  Send confusing error messages to /dev/null so they don't appear in erro log if test case fails
2006-07-24 18:12:57 +02:00
unknown
568b49fb7d Bug#21125 mysqldump: Problem with non-standard table names
- The mysql-test/std_data/bug15328.cnf file was not copied to install or dist dir.


mysql-test/Makefile.am:
  Add std_data/*.cnf files to dist_hook and install-data-local
scripts/make_win_src_distribution.sh:
  Copy *.cnf files as well.
2006-07-24 14:31:37 +02:00
unknown
394fe01f7f Merge mysql.com:/Users/kent/mysql/bk/mysql-4.0
into  mysql.com:/Users/kent/mysql/bk/mysql-4.1-new
2006-07-24 10:59:51 +02:00
unknown
ea123dacfd mwasmnlm, mwccnlm, mwldnlm:
Filter out strange control characters, messes up logs


netware/BUILD/mwasmnlm:
  Filter out strange control characters, messes up logs
netware/BUILD/mwccnlm:
  Filter out strange control characters, messes up logs
netware/BUILD/mwldnlm:
  Filter out strange control characters, messes up logs
2006-07-24 10:55:26 +02:00
unknown
9d5b76eba9 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/ram/work/4.1.b16327


sql/field.cc:
  Auto merged
mysql-test/r/func_time.result:
  merging
mysql-test/t/func_time.test:
  merging
2006-07-23 14:17:01 +05:00
unknown
9d432f0dae Add missing "DROP TABLE" clause 2006-07-22 02:36:17 +04:00
unknown
68698c04ab BUG#20975: Incorrect query result for NOT (subquery):
Add implementations of Item_func_{nop,not}_all::neg_transformer


mysql-test/r/subselect.result:
  BUG#20975: testcase
mysql-test/t/subselect.test:
  BUG#20975: testcase
sql/mysql_priv.h:
  Make chooser_compare_func_creator visible in item.h
2006-07-21 03:04:04 +04:00
unknown
c988ef942f Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/home/hf/work/mysql-4.1.19983


libmysqld/lib_sql.cc:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
2006-07-20 16:03:21 +05:00
unknown
f794dc3aa1 Manual merge required.
mysql-test/r/mysql_client.result:
  manual merge
mysql-test/t/mysql_client.test:
  manual merge
2006-07-19 17:39:53 -04:00
unknown
e71f3f1f14 Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_bug20328


client/mysql.cc:
  Auto merged
mysql-test/r/bug20328.result:
  Merge rename: mysql-test/r/mysql_client.result -> mysql-test/r/bug20328.result
mysql-test/t/bug20328.test:
  Merge rename: mysql-test/t/mysql_client.test -> mysql-test/t/bug20328.test
2006-07-19 17:00:39 -04:00
unknown
6ec7976df9 Fixed bug #17526: incorrect print method
for class Item_func_trim. 
For 4.1 it caused wrong output for EXPLAIN EXTENDED commands
if expressions with the TRIM function of two arguments were used.
For 5.0 it caused an error message when trying to select
from a view with the TRIM function of two arguments.
This unexpected error message was due to the fact that the
print method for the class Item_func_trim was inherited from
the class Item_func. Yet the TRIM function does not take a list
of its arguments. Rather it takes the arguments in the form:
  [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
  [remstr FROM] str


mysql-test/r/func_str.result:
  Added a test case for bug #17526: uncorrect print method
  for class Item_func_trim.
mysql-test/t/func_str.test:
  Added a test case for bug #17526: incorrect print method
  for class Item_func_trim.
sql/item_strfunc.cc:
  Fixed bug #17526: incorrect print method
  for class Item_func_trim.
      
  Added an implementation for the virtual function print
  in the class Item_func_trim.
  The implementation takes into account the fact the TRIM
  function takes the arguments in the following forms:
    [{BOTH | LEADING | TRAILING} [remstr] FROM] str) |
    [remstr FROM] str
sql/item_strfunc.h:
  Fixed bug #17526: incorrect print method
  for class Item_func_trim.
      
  Added an implementation for the virtual function print
  in the class Item_func_trim.
  Declared a virtual method to return the mode of the TRIM 
  function: LEADING, TRAILING or BOTH.
  Added implementations of this method for Item_func_trim and
  its descendants Item_func_ltrim and Item_func_rtrim.
2006-07-19 12:36:55 -07:00
unknown
73f47590aa Merge rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint
into  rolltop.ignatz42.dyndns.org:/mnt/storeage/mysql-4.1-maint_bug16180


sql/set_var.cc:
  Auto merged
2006-07-19 13:09:11 -04:00
unknown
d7c0c66706 Bug #21135 Crash in test "func_time"
- backport patch from 5.0
 - "table" can be NULL in temporary fields used for type conversion


sql/field.cc:
  table can be NULL in temporary fields used for type conversion.
  Store value in field as if db_low_byte_first was set.
sql/field.h:
  table can be NULL in temporary fields used for type conversion.
  Store value in field as if db_low_byte_first was set.
2006-07-19 15:55:04 +02:00
unknown
b53e47a1ec mysql.spec.sh:
Added new "mysql_explain_log" man page
  Added missing install of "myisam_ftdump" man page
  Added missing install of "mysqlman" man page


support-files/mysql.spec.sh:
  Added new "mysql_explain_log" man page
  Added missing install of "myisam_ftdump" man page
  Added missing install of "mysqlman" man page
2006-07-19 02:46:48 +02:00
unknown
6abe1c7158 Merge moonbone.local:/home/evgen/bk-trees/mysql-4.1
into  moonbone.local:/work/tmp_merge-4.1-opt-mysql


mysql-test/r/date_formats.result:
  Auto merged
mysql-test/t/date_formats.test:
  Auto merged
sql/item_strfunc.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
2006-07-18 23:30:09 +04:00