Commit graph

14628 commits

Author SHA1 Message Date
unknown
5480cbd69e Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32848/my50-bug32848


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
mysql-test/r/union.result:
  Bug#32848: Manual merge
mysql-test/t/union.test:
  Bug#32848: Manual merge
2007-12-19 15:59:05 +01:00
unknown
f216615633 Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl
into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge


sql/sql_string.cc:
  Auto merged
2007-12-19 14:49:04 +01:00
unknown
53f762abfd Bug#32705 - myisam corruption: Key in wrong position
at page 1024 with ucs2_bin

Inserting strings with a common prefix into a table with
characterset UCS2 corrupted the table.

An efficient search method was used, which compares end space
with ASCII blank. This doesn't work for character sets like UCS2,
which do not encode blank like ASCII does.

Use the less efficient search method _mi_seq_search()
for charsets with mbminlen > 1.


myisam/mi_open.c:
  Bug#32705 - myisam corruption: Key in wrong position
              at page 1024 with ucs2_bin
  Use _mi_seq_search() for charsets with mbminlen > 1.
mysql-test/r/myisam.result:
  Bug#32705 - myisam corruption: Key in wrong position
              at page 1024 with ucs2_bin
  Added test result.
mysql-test/t/myisam.test:
  Bug#32705 - myisam corruption: Key in wrong position
              at page 1024 with ucs2_bin
  Added test.
2007-12-18 12:29:50 +01:00
unknown
55d284d424 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B19390-5.0-opt
2007-12-18 10:45:05 +02:00
unknown
024d783177 Fixed some test case for BUG#32205
mysql-test/r/binlog_start_comment.result:
  update result
mysql-test/r/mysqlbinlog2.result:
  Update result for BUG#32205
mysql-test/t/binlog_start_comment.test:
  Reset master at the start of test, use a file instead of a pipe, do clean up
2007-12-18 15:43:51 +08:00
unknown
6b5b44c677 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-12-18 07:13:59 +01:00
unknown
69759e4f00 Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
2007-12-17 19:08:55 +01:00
unknown
3e61561a9a Bug #19390: Test 'rpl_trigger' fails, might be random
The checks in the test for bug #12480 were too wide and
made the test to depend on the procedures and triggers
present in the server.
Corrected the test to check only for the procedure and 
trigger it creates.


mysql-test/r/rpl_trigger.result:
  Bug #19390: corrected the test to check for its procedure only
mysql-test/t/rpl_trigger.test:
  Bug #19390: corrected the test to check for its procedure only
2007-12-17 18:56:39 +02:00
unknown
abae2dcc48 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/misc/mysql/32770/50-32770


sql/item_timefunc.cc:
  Auto merged
2007-12-17 07:54:32 +01:00
unknown
fe28526ba1 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32798-united/my50-bug32798-united-push
2007-12-15 16:45:21 +01:00
unknown
81dda2e701 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-12-15 17:00:18 +03:00
unknown
590350633c BUG#32205 Replaying statements from mysqlbinlog fails with a syntax error, replicates fine
The reason of this bug is that when mysqlbinlog dumps a query, the query is written to
output with a delimeter appended right after it, if the query string ends with a '--'
comment, then the delimeter would be considered as part of the comment, if there are any
statements after this query, then it will cause a syntax error.

Start a newline before appending delimiter after a query string


mysql-test/r/ctype_ucs_binlog.result:
  Update test result for BUG#32205
mysql-test/r/mix_innodb_myisam_binlog.result:
  Update test result for BUG#32205
mysql-test/r/mysqlbinlog.result:
  Update test result for BUG#32205
mysql-test/r/rpl_charset.result:
  Update test result for BUG#32205
mysql-test/r/rpl_timezone.result:
  Update test result for BUG#32205
mysql-test/r/user_var-binlog.result:
  Update test result for BUG#32205
mysql-test/t/mix_innodb_myisam_binlog.test:
  Fixed for BUG#32205
sql/log_event.cc:
  Start a newline before appending delimiter after a query string
mysql-test/r/binlog_start_comment.result:
  Add test for BUG#32205
mysql-test/t/binlog_start_comment.test:
  Add test for BUG#32205
2007-12-15 19:50:23 +08:00
unknown
30b17b997f Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32858/my50-bug32858-push


sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/union.result:
  Bug#32858: Manual merge
mysql-test/t/union.test:
  Bug#32858: Manual merge
2007-12-15 12:07:33 +01:00
unknown
4f44d701b8 Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt
into  linux-st28.site:/home/martin/mysql/src/bug32798-united/my50-bug32798-united-push


sql/item_sum.cc:
  Auto merged
mysql-test/r/func_gconcat.result:
  Bug#32798: Manual merge.
mysql-test/t/func_gconcat.test:
  Bug#32798: Manual merge.
2007-12-15 12:02:33 +01:00
unknown
0143b695ea Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-12-15 09:20:41 +01:00
unknown
3f6073ae63 Fixed bug #27848.
In a union without braces, the order by at the end is applied to the 
overall union. It therefore should not interfere with the individual
select parts of the union.

Fixed by changing our parser rules appropriately.


mysql-test/r/union.result:
  Added a test case for bug #27848.
mysql-test/t/union.test:
  Added a test case for bug #27848.
2007-12-14 13:42:46 -08:00
unknown
fe8df2a507 Merge station.:/mnt/raid/alik/MySQL/devel/5.0
into  station.:/mnt/raid/alik/MySQL/devel/5.0-rt
2007-12-14 15:57:36 +03:00
unknown
6c4500517d Bug #33237 NDB_MGM 'eat' 99% cpu utilization 2007-12-14 13:43:48 +01:00
unknown
0c4b3f5784 Bug#32798: DISTINCT in GROUP_CONCAT clause fails when ordering by a column
with null values

For queries containing GROUP_CONCAT(DISTINCT fields ORDER BY fields), there 
was a limitation that the DISTINCT fields had to be the same as ORDER BY 
fields, owing to the fact that one single sorted tree was used for keeping 
track of tuples, ordering and uniqueness. Fixed by introducing a second 
structure to handle uniqueness so that the original structure has only to 
order the result.


mysql-test/r/func_gconcat.result:
  Bug#32798:
  - Wrong test result turned correct after fix.
  - Correct test result
mysql-test/t/func_gconcat.test:
  Bug#32798: Test case
sql/item_sum.cc:
  Bug#32798: Implementation of fix. Dead code removal.
  
  - removed comment describing this bug
  - replaced body of function group_concat_key_cmp_with_distinct
  - removed function group_concat_key_cmp_with_distinct_and_order
  - Added a Unique object to maintain uniqueness of values.
sql/item_sum.h:
  Bug#32798: Declarations and comments.
2007-12-14 12:24:20 +01:00
unknown
c26739edf7 typo 2007-12-14 10:51:05 +01:00
unknown
f367a3488d BUG#31880 make test failure from public bk tree
mysql-test/mysql-test-run.pl:
  BUG#31880 make test failure from public bk tree
  
  Instead of handling "MTR_BUILD_THREAD set" and "MTR_BUILD_THREAD not set" differently, use the same subroutine to set up the port numbers. The addition of a second master apparently broke the old static port numbers.
2007-12-14 10:47:01 +01:00
unknown
e8406d14b4 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge


sql/mysqld.cc:
  Auto merged
2007-12-14 06:53:55 +01:00
unknown
fa3c005eec Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-12-13 14:25:16 +01:00
unknown
f1d9805422 after merge fix 2007-12-13 15:47:23 +04:00
unknown
33f82b1789 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt


client/mysql.cc:
  Auto merged
client/mysqltest.c:
  Auto merged
include/mysql_com.h:
  Auto merged
libmysql/CMakeLists.txt:
  Auto merged
myisam/mi_check.c:
  Auto merged
mysql-test/r/delayed.result:
  Auto merged
mysql-test/r/innodb.result:
  Auto merged
mysql-test/r/myisam.result:
  Auto merged
mysql-test/r/ps.result:
  Auto merged
mysql-test/t/merge.test:
  Auto merged
mysql-test/t/myisam.test:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
mysql-test/t/type_datetime.test:
  Auto merged
mysql-test/t/variables.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/ha_myisam.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/set_var.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
mysql-test/r/func_misc.result:
  manual merge
mysql-test/r/innodb_mysql.result:
  manual merge
mysql-test/t/func_misc.test:
  manual merge
mysql-test/t/innodb_mysql.test:
  manual merge
sql/sql_insert.cc:
  manual merge
2007-12-13 14:52:49 +04:00
unknown
196f0c751f Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug32198
2007-12-13 13:39:37 +03:00
unknown
c6675cd187 BUG#32198: Comparison of DATE with DATETIME still not using indexes correctly
- Make conditions like "date_col $CMP$ 'datetime-const'" range-sargable


mysql-test/r/range.result:
  BUG#32198: Comparison of DATE with DATETIME still not using indexes correctly
  - Testcase
mysql-test/t/range.test:
  BUG#32198: Comparison of DATE with DATETIME still not using indexes correctly
  - Testcase
sql/field.cc:
  BUG#32198: Comparison of DATE with DATETIME still not using indexes correctly
  - Added comments
2007-12-13 13:38:22 +03:00
unknown
618cb7a818 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt


include/mysql_com.h:
  Auto merged
myisam/mi_check.c:
  Auto merged
2007-12-13 14:38:01 +04:00
unknown
93e3057ba5 Bug #32858: Erro: "Incorrect usage of UNION and INTO" does not take
subselects into account

It is forbidden to use the SELECT INTO construction inside UNION statements
unless on the last SELECT of the union. The parser records whether it 
has seen INTO or not when parsing a UNION statement. But if the INTO was
legally used in an outer query, an error is thrown if UNION is seen in a
subquery. Fixed in 5.0 by remembering the nesting level of INTO tokens and 
mitigate the error unless it collides with the UNION.


mysql-test/r/union.result:
  Bug#32858: Test result
mysql-test/t/union.test:
  Bug#32858: Test case
sql/sql_class.cc:
  Bug#32858: Initializing new member
sql/sql_class.h:
  Bug#32858: Added property nest_level to select_result class.
sql/sql_yacc.yy:
  Bug#32858: The fix.
2007-12-13 11:19:05 +01:00
unknown
40e0143f18 Merge station.:/mnt/raid/alik/MySQL/devel/5.0
into  station.:/mnt/raid/alik/MySQL/devel/5.0-rt
2007-12-13 12:01:04 +03:00
unknown
0ced2a4d19 Dummy push to help pushbuild running again.
Fixed case of comment.


mysql-test/t/merge.test:
  Fixed case of comment.
2007-12-12 19:49:08 +01:00
unknown
1c0207d17f Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-12-12 06:00:10 +03:00
unknown
82fd9d10e9 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-12-11 20:59:24 +01:00
unknown
94f75ffcce Bug#32848: Data type conversion bug in union subselects in MySQL 5.0.38
There were two problems when inferring the correct field types resulting from
UNION queries.
- If the type is NULL for all corresponding fields in the UNION, the resulting 
  type would be NULL, while the type is BINARY(0) if there is just a single 
  SELECT NULL.
- If one SELECT in the UNION uses a subselect, a temporary table is created
  to represent the subselect, and the result type defaults to a STRING type,
  hiding the fact that the type was unknown(just a NULL value).
Fixed by remembering whenever a field was created from a NULL value and pass
type NULL to the type coercion if that is the case, and creating a string field
as result of UNION only if the type would otherwise be NULL.


mysql-test/r/union.result:
  Bug#32848: Test result
mysql-test/t/union.test:
  Bug#32848: Test case
sql/field.cc:
  Bug#32848: Initialization of new field
sql/field.h:
  Bug#32848: New member to record when a field was created from a NULL value.
sql/item.cc:
  Bug#32848: 
  A field created from a NULL value will submit NULL as type to the 
  type coercion procedure.
  If Item_type_holder has not inferred the correct type after processing all
  SELECTs in a UNION, a string field is created.
sql/sql_select.cc:
  Bug#32848: Recording when a field is created from a NULL value.
2007-12-11 20:15:03 +01:00
unknown
cd34354e6c Merge stella.local:/home2/mydev/mysql-5.0-amain
into  stella.local:/home2/mydev/mysql-5.0-axmrg


mysql-test/r/func_misc.result:
  Manual merge
mysql-test/t/func_misc.test:
  Manual merge
2007-12-11 17:09:43 +01:00
unknown
08b256f9df Bug#31990: MINUTE() and SECOND() return bogus results when used on a DATE
HOUR(), MINUTE(), ... returned spurious results when used on a DATE-cast.
This happened because DATE-cast object did not overload get_time() method
in superclass Item. The default method was inappropriate here and
misinterpreted the data.

Patch adds missing method; get_time() on DATE-casts now returns SQL-NULL
on NULL input, 0 otherwise. This coincides with the way DATE-columns
behave.

Also fixes similar bug in Date-Field now.


mysql-test/r/cast.result:
  Show that HOUR(), MINUTE(), ... return sensible values when used
  on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise.
  Show that this coincides with how DATE-columns behave.
mysql-test/r/type_date.result:
  Show that HOUR(), MINUTE(), ... return sensible values when used
  on DATE-fields.
mysql-test/t/cast.test:
  Show that HOUR(), MINUTE(), ... return sensible values when used
  on DATE-cast objects, namely NULL for NULL-dates and 0 otherwise.
  Show that this coincides with how DATE-columns behave.
mysql-test/t/type_date.test:
  Show that HOUR(), MINUTE(), ... return sensible values when used
  on DATE-fields.
sql/field.cc:
  Add get_time() method to DATE-field object to overload
  the method in Field superclass that would return spurious
  results. Return zero-result.
sql/field.h:
  Add get_time() declaration to date-field class
sql/item_timefunc.cc:
  Add get_time() method to DATE-cast object to overload
  the method in Item superclass that would return spurious
  results. Return zero-result; flag NULL if input was NULL.
sql/item_timefunc.h:
  Add get_time() declaration to DATE-cast object.
2007-12-11 10:12:05 +01:00
unknown
d802c0ac59 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-bug15815
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/41


innobase/buf/buf0buf.c:
  Auto merged
innobase/buf/buf0flu.c:
  Auto merged
innobase/buf/buf0lru.c:
  Auto merged
innobase/include/buf0buf.h:
  Auto merged
innobase/include/buf0buf.ic:
  Auto merged
innobase/include/sync0arr.h:
  Auto merged
innobase/include/sync0rw.h:
  Auto merged
innobase/include/sync0rw.ic:
  Auto merged
innobase/include/sync0sync.h:
  Auto merged
innobase/os/os0sync.c:
  Auto merged
innobase/sync/sync0arr.c:
  Auto merged
innobase/sync/sync0rw.c:
  Auto merged
innobase/sync/sync0sync.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
2007-12-10 16:58:16 -07:00
unknown
dcc2e66391 Test fails because of non deterministric function: show grants for current_user()
mysql-test/r/read_only.result:
  Removing non deterministic test results from test.
mysql-test/t/read_only.test:
  Removing non deterministic test results from test.
2007-12-10 16:16:21 +01:00
unknown
cf44fb4c96 Merge adventure.(none):/home/thek/Development/cpp/bug27440/my50-bug27440
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime


sql/sql_parse.cc:
  Auto merged
2007-12-10 12:19:48 +01:00
unknown
36a6841b52 Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build
2007-12-10 10:42:58 +01:00
unknown
069ca6d0f7 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-12-10 10:41:34 +01:00
unknown
4c6e70ccf9 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge


sql/ha_ndbcluster.cc:
  Auto merged
sql/mysqld.cc:
  Auto merged
2007-12-10 10:31:51 +01:00
unknown
b8ecfef89c Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb-merge
2007-12-10 10:20:52 +01:00
unknown
d689cf23be Bug#32770: LAST_DAY() returns a DATE, but somehow internally keeps track of the TIME.
LAST_DAY() says it returns a DATE, not a DATETIME, but didn't zero the time fields.
Adapted from a patch kindly supplied by Claudio Cherubino.


mysql-test/r/func_time.result:
  show that LAST_DAY() returns only a DATE, not a DATETIME
mysql-test/t/func_time.test:
  show that LAST_DAY() returns only a DATE, not a DATETIME
sql/item_timefunc.cc:
  zero time-fields as we return only a DATE
2007-12-10 09:17:18 +01:00
unknown
331b3b6b8b Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug27545
2007-12-08 16:22:45 -08:00
unknown
b3f11ed481 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug32815
2007-12-08 14:47:56 -08:00
unknown
b3d8ff4ebd Fix for BUG#32694 "NOT NULL table field in a subquery produces invalid results"
The problem was that when convert_constant_item is called for subqueries,
this happens when we already started executing the top-level query, and
the field argument of convert_constant_item pointed to a valid table row.
In turn convert_constant_item used the field buffer to compute the value
of its item argument. This copied the item's value into the field,
and made equalities with outer references always true.
  
The fix saves/restores the original field's value when it belongs to an
outer table.


mysql-test/r/type_datetime.result:
  Test for BUG#32694.
mysql-test/t/type_datetime.test:
  Test for BUG#32694.
sql/item_cmpfunc.cc:
  - Changed convert_constant_item() so that it doesn't destroy the contents
    of its field argument when the field originates from table in an outer
    query.
2007-12-08 23:05:00 +02:00
unknown
b1b2e0d053 Fixed bug #27545.
Both arguments of the function NAME_CONST must be constant expressions.
This constraint is checked in the Item_name_const::fix_fields method. 
Yet if the argument of the function was not a constant expression no
error message was reported. As a result the client hanged waiting for a
response.
Now the function Item_name_const::fix_fields reports an error message
when any of the additional context conditions imposed on the function
NAME_CONST is not satisfied. 


mysql-test/r/func_misc.result:
  Added a test case for bug #26545.
mysql-test/t/func_misc.test:
  Added a test case for bug #26545.
2007-12-07 23:36:58 -08:00
unknown
d776054e00 Fixed bug #32815.
The index (key_part_1, key_part-2) was erroneously considered as compatible
with the required ordering in the function test_test_if_order_by_key when 
a query with an ORDER BY clause contained a condition of the form
  key_part_1=const OR key_part_1 IS NULL 
and the order list contained only key_part_2. This happened because the value
of the const_key_parts field in the KEYUSE structure was not formed correctly
for the keys that could be used for ref_or_null access. 
This was fixed in the code of the update_ref_and_keys function.
The problem could not manifest itself for MyISAM databases because the
implementation of the keys_to_use_for_scanning() handler function always
returns an empty bitmap for the MyISAM engine.


mysql-test/r/innodb_mysql.result:
  Added a test case for bug #32815.
mysql-test/t/innodb_mysql.test:
  Added a test case for bug #32815.
sql/sql_select.cc:
  Fixed bug #32815.
  The index (key_part_1, key_part-2) was erroneously considered as compatible
  with the required ordering in the function test_test_if_order_by_key when 
  a query with an ORDER BY clause contained a condition of the form
    key_part_1=const OR key_part_1 IS NULL 
  and the order list contained only key_part_2. This happened because the value
  of the const_key_parts field in the KEYUSE structure was not formed correctly
  for the keys that could be used for ref_or_null access. 
  This was fixed in the code of the update_ref_and_keys function.
2007-12-07 17:14:59 -08:00
unknown
f77684f3a8 Add a way to remove options which mysql-test-run.pl no longer uses.
mysql-test/mysql-test-run.pl:
  Add a way to remove options which mysql-test-run.pl no longer uses.  Since
  mysql-test-run.pl passes unrecognized options through to mysqld directly,
  it is not possible to just remove an option.  Otherwise it would be given
  to mysqld, which probably will not recognize it and will fail to start.
  
  Instead, we now explicitly ignore the option, and print a warning to
  the user.
2007-12-07 14:43:31 -07:00