Commit graph

9894 commits

Author SHA1 Message Date
unknown
6978949b49 Made the test case for bug #15917 independent on platforms. 2006-04-10 14:14:20 -07:00
unknown
7d384e4633 Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-04-10 13:04:25 -07:00
unknown
e55b495d8b Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug5390
2006-04-10 20:48:10 +02:00
unknown
fc1a194ef2 Merge bk-internal:/home/bk/mysql-5.0
into  mysql.com:/usr/local/mysql/mysql-5.0-tmp
2006-04-10 20:48:09 +02:00
unknown
7897a3613a Fixed test case result (after BUG#15868 fix). 2006-04-10 22:44:01 +04:00
unknown
2ccae984d1 Merge mysql.com:/home/jimw/my/mysql-5.0-13601
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-04-10 11:23:30 -07:00
unknown
3931b4f3f2 Merge mysql.com:/usr/local/mysql/mysql-5.0-fixcast
into  mysql.com:/usr/local/mysql/mysql-5.0-tmp
2006-04-10 17:58:22 +02:00
unknown
35d9a7b874 Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug5390
2006-04-10 17:58:21 +02:00
unknown
69cf432673 Merge mysql.com:/usr/local/mysql/mysql-4.1-vgfix
into  mysql.com:/usr/local/mysql/mysql-5.0-tmp


mysql-test/mysql-test-run.pl:
  Manual merge
2006-04-10 17:58:21 +02:00
unknown
c48ded66d3 Fix test case 'cast' on Windows, different floating point output format. 2006-04-10 09:31:46 +02:00
unknown
9f7215d61b BUG#18906 Test case rpl_temporary fails when using --vardir option
env variable name is fixed.




mysql-test/include/get_binlog_dump_thread_id.inc:
  Fixing to right env $var name.
mysql-test/r/rpl_temporary.result:
  results
2006-04-09 13:27:53 +03:00
unknown
fc9dccaf3f Merge mysql.com:/usr/local/mysql/mysql-4.1-vgfix
into  mysql.com:/usr/local/mysql/mysql-4.1
2006-04-09 00:22:05 +02:00
unknown
5a19f3bc71 $MYSQL_TEST was broken with --valgrind. 2006-04-08 22:27:43 +02:00
unknown
e536c8eca7 Fixed bug #16069.
The function agg_cmp_type in item_cmpfunc.cc neglected the fact that 
the first argument in a BETWEEN/IN predicate could be a field of a view.
As a result in the case when the retrieved table was hidden by a view 
over it and the arguments in the BETWEEN/IN predicates are of 
the date/time type the function did not perform conversion of 
the constant arguments to the same format as the first field argument.
If formats of the arguments differed it caused wrong a evaluation of
the predicates.


mysql-test/r/view.result:
  Added a test case for bug #16069.
mysql-test/t/view.test:
  Added a test case for bug #16069.
2006-04-08 11:42:09 -07:00
unknown
e44359014a #18906: bushbuild reports rpl_temporary fails on solaris, AIX, QNX
Removing the problematic line from include test file.


mysql-test/include/get_binlog_dump_thread_id.inc:
  replacing replace_result by disable_query_log
mysql-test/r/rpl_temporary.result:
  results
2006-04-08 16:29:11 +03:00
unknown
67cbda06b9 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  dl145j.mysql.com:/tmp/5.0.21-bug17284-temp_table
2006-04-07 22:42:55 +02:00
unknown
ff5df65540 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into  rurik.mysql.com:/home/igor/mysql-5.0
2006-04-07 13:07:40 -07:00
unknown
f37d610147 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/opt/local/work/mysql-4.1-16365


sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
mysql-test/r/ps.result:
  Manual merge
mysql-test/t/ps.test:
  Manual merge
2006-04-07 23:50:45 +04:00
unknown
5b5530daa5 A fix and a test case for Bug#16365 "Prepared Statements: DoS with
too many open statements". The patch adds a new global variable
@@max_prepared_stmt_count. This variable limits the total number
of prepared statements in the server. The default value of
@@max_prepared_stmt_count is 16382. 16382 small statements
(a select against 3 tables with GROUP, ORDER and LIMIT) consume 
100MB of RAM. Once this limit has been reached, the server will 
refuse to prepare a new statement and return ER_UNKNOWN_ERROR 
(unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup
and can accept any value from 0 to 1 million. In case
the new value of the limit is less than the current
statement count, no new statements can be added, while the old
still can be used. Additionally, the current count of prepared 
statements is now available through a global read-only variable 
@@prepared_stmt_count.


mysql-test/r/ps.result:
  Test results fixed (a test case for Bug#16365)
mysql-test/t/ps.test:
  A test case for Bug#16365 "Prepared Statements: DoS with too many 
  open statements". Also fix statement leaks in other tests.
sql/mysql_priv.h:
  Add declarations for new global variables.
sql/mysqld.cc:
  Add definitions of max_prepared_stmt_count, prepared_stmt_count.
sql/set_var.cc:
  Implement support for @@prepared_stmt_count and 
  @@max_prepared_stmt_count. Currently these variables are queried
  without acquiring LOCK_prepared_stmt_count due to limitations of
  the set_var/sys_var class design. Updates are, however, protected 
  with a lock.
sql/set_var.h:
  New declarations to add support for @@max_prepared_stmt_count.
  Implement a new class, where the lock to be used when updating
  a variable is a parameter.
sql/sql_class.cc:
  Add accounting of the total number of prepared statements in the
  server to the methods of Statement_map.
sql/sql_class.h:
  Add accounting of the total number of prepared statements in the
  server to the methods of Statement_map.
sql/sql_prepare.cc:
  Statement_map::insert will now send a message in case of an
  error.
2006-04-07 23:37:06 +04:00
unknown
e4e37ae5a1 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/M41/mtr-4.1
2006-04-07 21:07:53 +02:00
unknown
9b6e83f4b8 A fix and a test case for Bug#16248 "WHERE (col1,col2) IN ((?,?))
gives wrong results". Implement previously missing 
Item_row::cleanup. The bug is not repeatable in 5.0, probably 
due to a coincidence: the problem is present in 5.0 as well.


mysql-test/r/ps.result:
  Update the result file (Bug#16248)
mysql-test/t/ps.test:
  Add a test case for Bug#16248 "WHERE (col1,col2) IN ((?,?)) gives 
  wrong results"
sql/item_row.cc:
  Implement Item_row::cleanup(): we should reset used_tables_cache
  before reexecution of a prepared statement. In case ROW
  arguments contain a placeholder, used_tables_cache has PARAM_TABLE
  bit set in statement prepare. As a result, when executing a statement,
  the condition push down algorithm (make_cond_for_table) would think
  that the WHERE clause belongs to the non-existent PARAM_TABLE and
  wouldn't attach the WHERE clause to any of the real tables, 
  effectively optimizing the clause away.
sql/item_row.h:
  Remove a never used member 'array_holder'. Add declaration for
  Item_row::cleanup.
2006-04-07 22:26:25 +04:00
unknown
6b5c0b117a Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/M50/mtr-5.0
2006-04-07 20:26:12 +02:00
unknown
34a72d8d93 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0.21-bug17284-temp_table
2006-04-07 21:21:23 +03:00
unknown
9af841dafd Manual merge. 2006-04-07 19:50:07 +02:00
unknown
3ab267bf81 Bug#17284 erroneous temp table cleanup on slave.
Idea of the fix is for master to send FD event with `created' as 0
     to reconnecting slave (upon slave_net_timeout, no master crash) to avoid destroying temp tables.
     In a case of a connect by slave to the master after its crash temp tables have been already
     cleaned up so that slave can not keep `orphan' temp tables.


mysql-test/r/rpl_temporary.result:
  results
mysql-test/t/rpl_temporary.test:
  wait-free addon to check temp tables are ok after slave reconnect.
sql/sql_repl.cc:
  Storing zero for assigning to `created' of FD event on the reconnecting slave.
mysql-test/include/get_binlog_dump_thread_id.inc:
  mysqltest's preudo-macro to calculate $id master dump thread id
2006-04-07 20:44:37 +03:00
unknown
a024fd69c0 Manual merge. 2006-04-07 19:42:46 +02:00
unknown
747f81c22c mysql-test/mysql-test-run.sh : Provide info about the options used.
mysql-test/mysql-test-run.sh:
  Provide info about the options used for this run to any evaluation tool.
2006-04-07 19:27:19 +02:00
unknown
e93fe1e4c5 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0
into  rurik.mysql.com:/home/igor/mysql-5.0
2006-04-07 10:19:09 -07:00
unknown
1ba7235e10 Manual merge.
mysql-test/mysql-test-run.pl:
  Manual merge (no idea why automatic merge failed ...).
2006-04-07 13:44:43 +02:00
unknown
7bb1882822 mysql-test/mysql-test-run.pl : Add option "with-ndbcluster-only" (ignored).
mysql-test/mysql-test-run.pl:
  Add option "with-ndbcluster-only" (ignored) for compatibility with newer "Do-compile".
2006-04-07 13:34:39 +02:00
unknown
cab73a6009 Bug#15933: max_used_connections is wrong after FLUSH STATUS if connections are cached
After FLUSH STATUS max_used_connections was reset to 0, and haven't
been updated while cached threads were reused, until the moment a new
thread was created.

The first suggested fix from original bug report was implemented:

  a) On flushing the status, set max_used_connections to
  threads_connected, not to 0.

  b) Check if it is necessary to increment max_used_connections when
  taking a thread from the cache as well as when creating new threads


mysql-test/r/status.result:
  Add result for bug#15933.
mysql-test/t/status.test:
  Add test case for bug#15933.
  Fixed typo.
sql/mysql_priv.h:
  Add declaration of refresh_status(), which is now external.
sql/mysqld.cc:
  Remove start_cached_thread() (code moved directly into create_new_thread()).
  Add comment for create_new_thread ().
  In create_new_thread() update max_used_connections when creating new thread
  and when reusing the cached one.
  Move refresh_status() from sql/sql_parse.cc here, on refresh set
  max_used_connections to the current number of connections.
sql/sql_parse.cc:
  refresh_status() moved to sql/mysqld.cc.
2006-04-07 15:30:40 +04:00
unknown
eb6b2bdc3e Manual merge.
mysql-test/lib/mtr_process.pl:
  Auto merged
2006-04-07 13:16:40 +02:00
unknown
8fc0c48d5e Perl test script: Avoid some aborts, which made the whole build/test process terminate.
mysql-test/lib/mtr_process.pl:
  Change from "mtr_error()" to "mtr_warning()" on some problems,
  because "error" makes the whole suite abort which then makes "Do-compile" terminate,
  so none of the following steps (including other etst suites) will be done.
2006-04-07 13:02:15 +02:00
unknown
6206e7c228 mysql-test/mysql-test-run.sh : Add option "--with-ndbcluster-only" (backport from 5.1)
mysql-test/mysql-test-run.sh:
  Manual merge from 4.0 (which was a 5.1 backport):
  "--with-ndbcluster" is already present,
  "--with-ndbcluster-only" is really usable here.
2006-04-07 12:22:55 +02:00
unknown
94bfe767b2 Merge neptunus.(none):/home/msvensson/mysql/bug13228/my50-bug13228_minimal
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0


sql/ha_ndbcluster.cc:
  Auto merged
2006-04-07 11:46:22 +02:00
unknown
f7b039cc50 fix for wrong QUARTER calculation in EXTRACT() (Bug #18100)
mysql-test/r/func_time.result:
  expected test results for bug #18100 added
mysql-test/t/func_time.test:
  test case for bug #18100 added
sql/item_timefunc.cc:
  wrong formula for EXTRACT QUARTER, now uses the same calculus as the QUARTER()
  function
2006-04-07 11:15:15 +02:00
unknown
2f2607faef Fix for bug#18281 group_concat changes charset to binary
skip charset aggregation for order columns
2006-04-07 13:19:31 +05:00
unknown
db7a88a2f4 Bug#18469 make test fails on information_schema
move test case for bug 14290 to ctype_ucs test
2006-04-07 12:32:24 +05:00
unknown
998b9d8b14 Fixed bug #15917: unexpected complain for a NIST test case.
The problem was due to the fact that with --lower-case-table-names set to 1 
the function find_field_in_group did not convert the prefix 'HU' in
HU.PROJ.CITY into lower case when looking for it in the group list. Yet the
names in the group list were extended by the database name in lower case.


mysql-test/r/having.result:
  Added a test case for bug #15917.
mysql-test/t/having.test:
  Added a test case for bug #15917.
sql/item.cc:
  Fixed bug #15917: unexpected complain for a NIST test case.
  The problem was due to the fact that with --lower-case-table-names set to 1 
  the function find_field_in_group did not convert the prefix 'HU' in
  HU.PROJ.CITY into lower case when looking for it in the group list. Yet the
  names in the group list were extended by the database name in lower case.
  The needed conversion was added to the code of find_field_in_group.
2006-04-06 15:29:15 -07:00
unknown
ff85ba77be Backport of 5.1 test options "--with-ndbcluster" and "--with-ndbcluster-only" as dummies (ignored).
mysql-test/mysql-test-run.sh:
  Make "mysql-test-run.sh" accept (and ignore) the options "--with-ndbcluster" 
  and "--with-ndbcluster-only".
  This is necessary because newer build tools will issue them, and the test 
  script should tolerate that.
  Backport from 5.1 (Tomas Ulin, 2006-01-17)
2006-04-06 18:42:07 +02:00
unknown
b3dad93478 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.0
2006-04-06 15:25:39 +05:00
unknown
ee3cf23b5c Fix for bug#14945 "Truncate table doesn't reset the auto_increment
counter".

When TRUNCATE TABLE was called within an stored procedure the
auto_increment counter was not reset to 0 even if straight
TRUNCATE for this table did this.

This fix makes TRUNCATE in stored procedures to be handled exactly
in the same way as straight TRUNCATE. We achieve this by rolling
back the fix for bug 8850, which is no longer needed since stored
procedures don't require prelocked mode anymore (and TRUNCATE is
not allowed in stored functions or triggers).


mysql-test/r/sp.result:
  Test case for BUG#14945.
mysql-test/t/sp.test:
  Test case for BUG#14945.
sql/sql_delete.cc:
  Handle TRUNCATE in stored procedures exactly in the same way as straight
  TRUNCATE (i.e. without falling back to DELETE if possible). We achieve
  this by rolling back the fix for bug 8850, which is no longer relevant
  since stored procedures don't require prelocked mode anymore
  (and TRUNCATE is not allowed in stored functions or triggers).
sql/sql_parse.cc:
  Handle TRUNCATE in stored procedures exactly in the same way as straight
  TRUNCATE (i.e. without falling back to DELETE if possible). We achieve
  this by rolling back the fix for bug 8850, which is no longer relevant
  since stored procedures don't require prelocked mode anymore
  (and TRUNCATE is not allowed in stored functions or triggers).
2006-04-06 15:19:01 +05:00
unknown
9a1d80e90e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0
2006-04-06 10:34:41 +02:00
unknown
f1633f04a1 Merge mysql.com:/usr/home/bar/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-5.0
2006-04-06 10:53:42 +05:00
unknown
5475703bad This problem has already been fixed by one of the previous changes.
Adding test case to cover queries which worked incorrectly earlier:
Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci


mysql-test/r/ctype_latin1.result:
  Adding test case for Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
mysql-test/t/ctype_latin1.test:
  Adding test case for Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci
2006-04-06 10:51:23 +05:00
unknown
cabe285995 Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-0
2006-04-05 14:06:34 -07:00
unknown
6fa5591544 Merge mysql.com:/home/mydev/mysql-5.0
into  mysql.com:/home/mydev/mysql-5.0-bug5390


sql/table.h:
  Auto merged
2006-04-05 11:38:16 +02:00
unknown
0e97b724b6 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
2006-04-05 10:08:38 +02:00
unknown
b3b626c31c Bug #13601: Wrong int type for bit
The wrong value was being reported as the field_length for BIT
  fields, resulting in confusion for at least Connector/J. The
  field_length is now always the number of bits in the field, as
  it should be.


mysql-test/r/type_bit.result:
  Add new results
mysql-test/r/type_bit_innodb.result:
  Add new results
mysql-test/t/type_bit.test:
  Add new regression test
mysql-test/t/type_bit_innodb.test:
  Add new regression test
sql/field.cc:
  Fix Field_bit->field_length to actually report the display width, and
  store the bytes stored in the rec in the new bytes_in_rec member.
sql/field.h:
  Fix Field_bit::field_length to store the correct value, adding
  Field_bit::bytes_in_rec to remember the number of bytes used for
  storing the value. Remove Field_bit_as_char::create_length, as it
  is now redundant.
sql/ha_ndbcluster.cc:
  Handle field_length of Field_bit actually being the display width (# of bits).
sql/key.cc:
  Fix inappropriate use of field->field_length for BIT field.
2006-04-04 17:54:58 -07:00
unknown
0fae7e3b01 Bug#18265: mysql client: No longer right-justifies numeric columns
Also fixes a new bug for which "NULL" wasn't printed (because the 
data it represents has length zero).  (Discovered my Paul DuBois.)


client/mysql.cc:
  Cleaned up the interactive-session table-printing function.
  
  - No longer rely on the length of the data to pad column boundries.
  - Be smarter about how we detect if the column is NULL.
  - Document how multibyte characters affect the output printing.
  - Use more descriptive variable names.
  
  More importantly, (re-)add these features that were crippled in an
  earlier change:
  - Print "NULL".
  - Right-justify numbers.
mysql-test/r/mysql.result:
  Updated old result and added new case.
mysql-test/t/mysql.test:
  Added new test case.
2006-04-04 17:35:07 -04:00