Commit graph

15652 commits

Author SHA1 Message Date
unknown
2478092d13 Merge aelkin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1
2006-04-09 19:35:31 +03:00
unknown
1b221d24a9 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/alexi/bugs/mysql-5.1-15758
2006-04-09 20:19:40 +04:00
unknown
8abfc0e755 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/bugs/mysql-5.0-15758
2006-04-09 20:14:29 +04:00
unknown
9dbf828099 Merge mysql.com:/home/alexi/bugs/mysql-5.0-15758-work
into  mysql.com:/home/alexi/bugs/mysql-5.1-15758


sql/sql_cache.cc:
  SCCS merged
sql/sql_class.cc:
  SCCS merged
sql/sql_cursor.cc:
  SCCS merged
2006-04-09 17:48:47 +04:00
unknown
6051eb31b5 Merge mysql.com:/users/lthalmann/bk/mysql-5.0-release-bug18116
into  mysql.com:/users/lthalmann/bk/mysql-5.0
2006-04-09 10:40:52 +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
53731b7e69 Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1


mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/r/rpl_temporary.result:
  Auto merged
sql/sql_repl.cc:
  Auto merged
mysql-test/t/rpl_temporary.test:
  manual merge
2006-04-08 15:31:47 +03:00
unknown
8f9e1d49b3 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-aid


sql/item.cc:
  Auto merged
2006-04-08 10:48:33 +02: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
2722c0e21a Merge rurik.mysql.com:/home/igor/mysql-5.1
into  rurik.mysql.com:/home/igor/dev/mysql-5.1-0


sql/opt_sum.cc:
  Auto merged
2006-04-07 13:22:07 -07:00
unknown
372901addf Fixed BUG#15758: "Holding adaptive search latch in
innobase_query_caching_of_table_permitted()".
 Applied the patch due to Heikki Tuuri.
 Also removed superfluous #ifdefs.


sql/sql_cache.cc:
  Applied the patch due to Heikki Tuuri.
   Query_cache::store_query(): Make InnoDB to release the adaptive
   hash index latch before MySQL acquires the query cache mutex.
sql/sql_class.cc:
  Removing superfluous #ifdefs (suggested by Sanja, also discussed with Serg).
sql/sql_cursor.cc:
  Removing superfluous #ifdefs (suggested by Sanja, also discussed with Serg).
2006-04-07 23:58:17 +04: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
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
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
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
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
daac388624 Merge mysql.com:/extern/mysql/bk/mysql-5.0-runtime
into  mysql.com:/extern/mysql/5.0/generic/mysql-5.0-runtime
2006-04-07 16:55:49 +02:00
unknown
148cf113e5 Renaming sp_pcontext members and methods; less cryptic and more consistent.
Also added comments, and fixing some coding style (mostly in comments too).
There are no functional changes, so no tests or documentation needed.
(This was originally part of a bugfix, but it was decided to not include this
 in that patch; instead it's done separately.)


sql/sp_head.cc:
  Renaming sp_pcontext members and methods; less cryptic and more consistent.
sql/sp_head.h:
  Renaming sp_pcontext members and methods; less cryptic and more consistent.
sql/sp_pcontext.cc:
  Renaming sp_pcontext members and methods; less cryptic and more consistent.
  Also added comments, and fixing some coding style (mostly in comments too).
sql/sp_pcontext.h:
  Renaming sp_pcontext members and methods; less cryptic and more consistent.
  Also added comments, and fixing some coding style (mostly in comments too).
sql/sp_rcontext.cc:
  Renaming sp_pcontext members and methods; less cryptic and more consistent.
sql/sp_rcontext.h:
  Renaming sp_pcontext members and methods; less cryptic and more consistent.
sql/sql_yacc.yy:
  Renaming sp_pcontext members and methods; less cryptic and more consistent.
2006-04-07 16:53:15 +02:00
unknown
b3096c69cb Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-aid


mysql-test/r/information_schema.result:
  Auto merged
mysql-test/t/information_schema.test:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-04-07 14:39:49 +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
60185396c9 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-04-07 12:42:57 +02:00
unknown
12f5f09cc7 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-bug17494-real


sql/item_timefunc.cc:
  Auto merged
2006-04-07 12:29:32 +02:00
unknown
dc618494f3 Merge neptunus.(none):/home/msvensson/mysql/bug13228/my51-bug13228
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1


sql/ha_ndbcluster.cc:
  Auto merged
2006-04-07 12:13:48 +02:00
unknown
e500108437 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-04-07 12:13:42 +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
7589de6c10 Merge mysql.com:/home/hartmut/projects/mysql/dev/5.0
into  mysql.com:/home/hartmut/projects/mysql/dev/5.1


mysql-test/r/ctype_ucs.result:
  Auto merged
mysql-test/r/func_gconcat.result:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/information_schema.result:
  Auto merged
mysql-test/t/ctype_ucs.test:
  Auto merged
mysql-test/t/information_schema.test:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
2006-04-07 11:23:55 +02:00
unknown
7c8349551f Bug#13228 open table cache not flushed when table schema changed
- Error 1296 is no longer returned on first select after DROP/CREATE.


mysql-test/r/ndb_alter_table2.result:
  Error 1296 is no longer returned on first select after DROP/CREATE, handled proactive in ndb_handle_schema_change.
mysql-test/t/ndb_alter_table2.test:
  Error 1296 is no longer returned on first select after DROP/CREATE, handled proactive in ndb_handle_schema_change.
sql/ha_ndbcluster.cc:
  Add sourrounding {'s
2006-04-07 11:18:45 +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
e84041f174 Bug#16319: XML: extractvalue() returns syntax errors for some functions
mysql-test/r/xml.result:
  Adding test case
mysql-test/t/xml.test:
  Adding test case
sql/item_xmlfunc.cc:
  Adding support for missing XPath function string-length().
  Fixing function lookup to allow functions with one optional arguments
  (i.e. with 0 or 1 arguments)
2006-04-07 14:07:56 +05:00
unknown
f3de57d982 Merge bk-internal:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
2006-04-07 11:04:46 +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
3fe07e2785 manual merge
mysql-test/r/events.result:
  Auto merged
sql/event.cc:
  Auto merged
sql/event_timed.cc:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_show.cc:
  Auto merged
2006-04-07 09:18:29 +02:00
unknown
7c59699345 fix for bug #17494 (The algorithm for calculating execution times is not fully correct)
This also should fix 17493 and 17346, and probably 16397 (not tested).
WL#1034 (Internal CRON)
(post-review commit)


mysql-test/r/events.result:
  update result
mysql-test/t/events.test:
  update test
sql/event.cc:
  seems we get a crash if we compile it this way. better let the worker thread do it,
  this increases the stability.
sql/event_executor.cc:
  kick in more often
sql/event_timed.cc:
  - don't NULLify last_executed
  - implement (fix) better get_next_time() which does not use last_executed as basis
    but STARTS. STARTS is used as basis and the next point of time which is before ENDS,
    if set, is being found. The point > now and (point-starts) % interval_expression == 0.
sql/item_timefunc.cc:
  move calc_time_diff to time.cc as it can be reused in other parts of the 
  server code (see event_timed.cc)
sql/mysql_priv.h:
  export calc_time_diff() moved to time.cc from item_timefunc.cc
sql/sql_show.cc:
  - fix presenting of LAST_EXECUTED
  - cleanup a bit
sql/time.cc:
  - move calc_time_diff() from item_timefunc.cc to here
2006-04-07 09:08:58 +02:00
unknown
d26bf308bd Merge rurik.mysql.com:/home/igor/dev/mysql-5.0-0
into  rurik.mysql.com:/home/igor/dev/mysql-5.1-0


sql/item.cc:
  Auto merged
sql/opt_sum.cc:
  Auto merged
2006-04-06 15:31:30 -07: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
b287a228fe Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-04-06 22:28:45 +02:00
unknown
d5db93b477 Merge mysql.com:/home/mydev/mysql-5.1
into  mysql.com:/home/mydev/mysql-5.1-aid
2006-04-06 20:55:25 +02:00
unknown
8ec7190dac Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/psergey/mysql-5.0-bug18237-review
2006-04-06 21:42:33 +04:00
unknown
3daaa8d5f4 Remove redundant code in opt_sum_query() 2006-04-06 21:42:03 +04:00
unknown
c992a1f7bb Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into mysql.com:/home/psergey/mysql-5.1-bug18558-pnd


sql/opt_range.cc:
  Auto merged
2006-04-06 21:26:23 +04:00
unknown
4d1666f6b8 BUG#18558 "Partition pruning results are incorrect for certain class of WHERE clauses" :
* Produce right results for conditions that were transformed to "(partitioning_range) AND
  (list_of_subpartitioning_ranges)": make each partition id set iterator auto-reset itself
  after it has returned all partition ids in the sequence 
* Fix "Range mapping" and "Range mapping" partitioning interval analysis functions to 
  correctly deal with NULL values. 


mysql-test/r/partition_pruning.result:
  Testcase for BUG#18558
mysql-test/t/partition_pruning.test:
  Testcase for BUG#18558
sql/opt_range.cc:
  BUG#18558: Move partition set iterator initialization to sql_partition.cc, comment fixes
sql/partition_info.h:
  BUG#18558: Make each partition set iterator auto-reset itself after it has returned all 
  partition ids in the set it enumerates.
sql/sql_partition.cc:
  BUG#18558: 
  - Make each partition set iterator auto-reset itself after it has returned all 
    partition ids in the set it enumerates. 
  - Fix partition interval analysis to correctly handle intervals with one or both
    NULL bounds.
sql/sql_partition.h:
  BUG#18558: 
   - Make each partition set iterator auto-reset itself after it has returned all 
     partition ids in the set it enumerates. 
   - Rename PARTITION_ITERATOR::has_null_value to ret_null_part
2006-04-06 21:23:33 +04:00
unknown
89ce78f2ba fixed reading of free'd memory when opening a table with non-existing plugin
sql/table.cc:
  fixed reading of free'd memory
2006-04-06 15:49:00 +02:00
unknown
260bc3025a Bug#17112 - SHOW PLUGIN should be SHOW PLUGINS
sql/lex.h:
  SHOW PLUGINS - BUG#17112
sql/sql_yacc.yy:
  SHOW PLUGINS - BUG#17112
2006-04-06 15:29:39 +02:00
unknown
cc0e156ecc Merge april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/BUG14945/mysql-5.1-new


mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_delete.cc:
  Manual merge
2006-04-06 16:44:26 +05: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
3ee4e5f2ec Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.1-new


sql/field.cc:
  Auto merged
sql/ha_ndbcluster_binlog.cc:
  Auto merged
2006-04-06 11:25:29 +02:00
unknown
2bd5f57981 Fix for bug#16445 schema version error 241 after mysqld restart, always invalidate dictionary cache when receiving changed schema events drop table or alter table, regardless if done remotely or not (also includes cluster failures, but refreshing cache is a safe operation) 2006-04-06 10:47:48 +02:00
unknown
8f2fb4ba90 Merge mysql.com:/home/mydev/mysql-5.1-bug18477
into  mysql.com:/home/mydev/mysql-5.1-aid


mysql-test/t/innodb.test:
  Auto merged
sql/sql_table.cc:
  Auto merged
2006-04-06 08:40:38 +02:00