Commit graph

12239 commits

Author SHA1 Message Date
unknown
b9e9a41633 Wait for IM to start accepting connections after restart. 2006-11-02 16:53:14 +03:00
unknown
2dac6ffdfe Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  example.com:/work/mysql-5.1-runtime-bug22830-new


sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2006-11-02 13:59:44 +01:00
unknown
63030d767c Better fix for bug#22830
Events: crash with procedure which alters events with function

Post-review CS

This fix also changes the handling of KILL command combined with
subquery. It changes the error message given back to "not supported",
from parse error. The error for CREATE|ALTER EVENT has also been changed
to generate "not supported yet" instead of parse error.
In case of a SP call, the error is "not supported yet". This change
cleans the parser from code which should not belong to there. Still
LEX::expr_allows_subselect is existant because it simplifies the handling
 of SQLCOM_HA_READ which forbids subselects.


mysql-test/r/events_bugs.result:
  update resut
mysql-test/r/events_grant.result:
  update result
mysql-test/r/kill.result:
  the error message has been changed for KILL
mysql-test/t/events_bugs.test:
  Update old tests with the new emitted error
  
  Add a test case for
  BUG#22830 Events: crash with procedure which alters events with function
mysql-test/t/events_grant.test:
  add ORDER BY clause to keep the result deterministic.
mysql-test/t/kill.test:
  use name of the error, and change the error
  from parse error, to not supported
sql/sql_lex.cc:
  Add an auxiliary function that checks whether SP and/or
  tables are used in the statement. This function is helpful for
  statements that cannot handle subqueries ans SP calls. Adding out
  of the parser cleans the latter of handling of special cases and
  letting it do its job of parsing.
sql/sql_lex.h:
  helper function to check whether a table or SP was used
sql/sql_parse.cc:
  Use LEX::table_or_sp_used() for SQLCOM_CREATE_EVENT, SQLCOM_ALTER_EVENT
  and SQLCOM_KILL. SQLCOM_DROP event does not use `expr` rule and thus a check is
  not needed.
sql/sql_yacc.yy:
  Remove usage of LEX::expr_allows_subselect for CREATE|ALTER EVENT
  and KILL. There is only one left occurence - SQLCOM_HAREAD, but it 
  adds one table to the list of tables
2006-11-02 13:51:43 +01:00
unknown
dfc8d06c18 Merge kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.1-maint


client/mysqltest.c:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/my_lock.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2006-11-02 08:47:21 +01:00
unknown
31a87fde6a Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime-merge


mysql-test/t/disabled.def:
  Auto merged
mysql-test/t/ps.test:
  Auto merged
sql/handler.cc:
  Auto merged
sql/handler.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
storage/csv/ha_tina.cc:
  Auto merged
storage/myisam/ha_myisam.cc:
  Auto merged
mysql-test/r/ps.result:
  SCCS merged
2006-11-02 03:24:11 +03:00
unknown
0e69c252a1 Merge rurik.mysql.com:/home/igor/mysql-5.0-opt
into  rurik.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug21727


mysql-test/r/subselect.result:
  Auto merged
mysql-test/t/subselect.test:
  Auto merged
sql/filesort.cc:
  Auto merged
sql/item_subselect.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/records.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-11-01 14:50:14 -08:00
unknown
5d1f0164d9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge


sql/item_sum.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
2006-11-02 01:21:37 +03:00
unknown
2886e07d3f Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime


mysql-test/r/ps.result:
  Auto merged
mysql-test/t/func_gconcat.test:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_sum.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2006-11-02 01:08:39 +03:00
unknown
60e315c53d Merge mysql.com:/home/cps/mysql/trees/5.0-runtime-bug9191
into  mysql.com:/home/cps/mysql/trees/5.1-runtime-bug9191


configure.in:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/timezone2.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/timezone2.test:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/time.cc:
  Auto merged
sql/tztime.cc:
  Auto merged
include/my_time.h:
  manual merge
2006-11-01 18:18:01 +03:00
unknown
b2c40c1698 Merge mysql.com:/home/cps/mysql/trees/4.1-runtime-bug9191
into  mysql.com:/home/cps/mysql/trees/5.0-runtime-bug9191


configure.in:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/r/func_time.result:
  Auto merged
mysql-test/r/timezone2.result:
  Auto merged
mysql-test/t/func_time.test:
  Auto merged
mysql-test/t/timezone2.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/time.cc:
  Auto merged
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
  Auto merged
sql-common/my_time.c:
  manual merge
sql/item_timefunc.cc:
  manual merge
sql/tztime.cc:
  manual merge
2006-11-01 17:35:35 +03:00
unknown
8a7bc05288 Fix Bug #9191 "TIMESTAMP/from_unixtime() no longer accepts 2^31-1"
(4.1 version, with post-review fixes)
  
  The fix for another Bug (6439) limited FROM_UNIXTIME() to
  TIMESTAMP_MAX_VALUE which is 2145916799 or 2037-12-01 23:59:59 GMT,
  however unix timestamp in general is not considered to be limited 
  by this value. All dates up to power(2,31)-1 are valid.
  
  This patch extends allowed TIMESTAMP range so, that max
  TIMESTAMP value is power(2,31)-1. It also corrects
  FROM_UNIXTIME() and UNIX_TIMESTAMP() functions, so that
  max allowed UNIX_TIMESTAMP() is power(2,31)-1. FROM_UNIXTIME()
  is fixed accordingly to allow conversion of dates up to
  2038-01-19 03:14:07 UTC. The patch also fixes CONVERT_TZ()
  function to allow extended range of dates.
  
  The main problem solved in the patch is possible overflows
  of variables, used in broken-time representation to time_t
  conversion (required for UNIX_TIMESTAMP).


acinclude.m4:
  Add new macro to check time_t range
configure.in:
  Call the macro to check time_t range
include/my_time.h:
  Move time-related defines to proper place.
  Add a function to perform a rough check if
  a TIMESTAMP value fits into the boundaries.
  Note: it is defined as "static inline", as
  otherwise libmysql won't compile (due to the
  way how gcc handles "inline" directive).
mysql-test/r/func_time.result:
  Update test result
mysql-test/r/timezone.result:
  Update test result
mysql-test/r/timezone2.result:
  Update test result
mysql-test/t/func_time.test:
  Add test for Bug#9191 and update test to be consistent
  with new TIMESTAMP boundaries
mysql-test/t/timezone.test:
  Update old tests to be consistent
  with new TIMESTAMP boundaries
mysql-test/t/timezone2.test:
  Update tests for convert_tz to be consistent with new
  TIMESTAMP boundaries
sql/item_timefunc.cc:
  Fix convert_tz to allow dates from the new (extended)
  TIMESTAMP range
sql/mysql_priv.h:
  Move time handling defaults to my_time.h
sql-common/my_time.c:
  Because of increased TIMESTAMP_MAX_VALUE overflows in my_system_gmt_sec()
  became possible. Here we make it safe against the overflows by stepping
  back from the boundary dates which are likely to trigger them.
sql/time.cc:
  Update TIME_to_timestamp to allow conversion of
  extended date range
sql/tztime.cc:
  Fix new (4.1) implementation of broken-down time representation
  to time_t conversion routine to avoid overflows during conversion
  of boundary dates
mysql-test/r/timezone4.result:
  New BitKeeper file ``mysql-test/r/timezone4.result''
mysql-test/t/timezone4-master.opt:
  New BitKeeper file ``mysql-test/t/timezone4-master.opt''
mysql-test/t/timezone4.test:
  New BitKeeper file ``mysql-test/t/timezone4.test''
2006-11-01 16:47:40 +03:00
unknown
022da394dc Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/21790/my51-21790


mysql-test/t/gis-rtree.test:
  Auto merged
sql/handler.cc:
  Auto merged
mysql-test/r/gis-rtree.result:
  merging
2006-11-01 16:51:49 +04:00
unknown
c5453a83a7 Merge mysql.com:/home/hf/work/21790/my50-21790
into  mysql.com:/home/hf/work/21790/my51-21790


mysql-test/r/gis-rtree.result:
  Auto merged
sql/handler.cc:
  Auto merged
2006-11-01 16:44:00 +04:00
unknown
a1db0e72de Merge trift2.:/MySQL/M51/clone-5.1
into  trift2.:/MySQL/M51/push-5.1


configure.in:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
storage/ndb/src/mgmsrv/Services.cpp:
  Auto merged
storage/ndb/src/ndbapi/NdbScanOperation.cpp:
  Auto merged
2006-11-01 13:26:03 +01:00
unknown
bec1973eee Merge mysql.com:/home/hf/work/19491/my50-19491
into  mysql.com:/home/hf/work/mysql-5.0.19491


sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_timefunc.cc:
  Auto merged
2006-11-01 15:41:51 +04:00
unknown
66a0403602 BUG#18581 (Creation of system tables recorded in binlog causing slave failure):
Not replicating the mysql database *at all* any more. All changes to
mysql tables are replicated by replicating the statements that do
the changes.


mysql-test/r/rpl_do_grant.result:
  Result change
mysql-test/t/rpl_do_grant.test:
  Deleting grants on both master and server since the mysql
  database is not replicated any more.
sql/handler.cc:
  Removing code that selectively checks what tables in the mysql
  database to ignore. The entire mysql database is not replicated
  any more.
sql/log_event.cc:
  Disabling code to reload grants and access when certain tables are
  touched.
sql/rpl_rli.h:
  Removing unused code.
sql/slave.cc:
  Removing unused code.
sql/sql_class.cc:
  Mysql queries (i.e., queries that affects tables in the mysql database)
  are now replicated by statement instead of replicating the tables in
  the mysql database.
2006-11-01 09:49:03 +01:00
unknown
fff7e9199d Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.0-rpl
into  mysql.com:/usr/home/bar/mysql-5.0.b22877


BitKeeper/etc/collapsed:
  auto-union
sql/sql_parse.cc:
  Auto merged
2006-11-01 12:34:42 +04:00
unknown
c755a7a1c4 Bug#22877 replication character sets get out of
sync using replicate-wild-ignore-table
Problem: changes in character set variables
before an action on an replication-ignored table
makes slave to forget new variable values.
Fix: initialize one_shot variables only when
4.1 -> 5.x replication is running.


mysql-test/r/rpl_ignore_table.result:
  Adding test case
mysql-test/t/rpl_ignore_table-slave.opt:
  Don't replicate tables with names starting with "tmptbl"
mysql-test/t/rpl_ignore_table.test:
  Adding test case
sql/sql_parse.cc:
  Reset one_shot variables only if we do 4.1->5.x replication.
  In other cases we cannot do that: resetting thd->variables out of sync with
  st_relay_log_info::cached_charset, which makes
  st_relay_log_info::cached_charset_compare() not to notice
  character set related variables changes afterwards.
2006-11-01 12:30:01 +04:00
unknown
2a7cf59fc9 Fixed bug #21727.
This is a performance issue for queries with subqueries evaluation
of which requires filesort.
Allocation of memory for the sort buffer at each evaluation of a
subquery may take a significant amount of time if the buffer is rather big.
With the fix we allocate the buffer at the first evaluation of the
subquery and reuse it at each subsequent evaluation.


mysql-test/r/subselect.result:
  Added a test case for bug #21727.
mysql-test/t/subselect.test:
  Added a test case for bug #21727.
sql/item_subselect.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added an implementation for Item_subselect::is_uncacheable()
  returning TRUE if the engine if the subselect is uncacheable.
sql/mysql_priv.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/records.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_base.cc:
  Fixed bug #21727.
  Made sure that st_table::pos_in_table_list would be always initialized.
sql/sql_select.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_show.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added a new boolean parameter to the filesort_free_buffers procedure.
  If the value of this parameter is TRUE the procedure frees the sort_keys
  buffpek buffers.
sql/sql_table.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Cleanup.
sql/table.cc:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added st_table_list::in_subselect() returning for a table the subselect that 
  contains the FROM list this table is taken from (if there is any).
sql/table.h:
  Fixed bug #21727.
  This is a performance issue for queries with subqueries evaluation
  of which requires filesort.
  Added fields for sort_keys and buffpek buffers to the FILESORT_INFO structure.
2006-10-31 17:31:56 -08:00
unknown
361f0468db Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/psergey/mysql-5.0-bug8804-r4


sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
2006-11-01 00:54:49 +03:00
unknown
6a7ce1eb3b Merge shellback.(none):/home/msvensson/mysql/mysql-4.1-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint


client/mysqltest.c:
  Auto merged
mysql-test/lib/mtr_io.pl:
  Auto merged
mysql-test/lib/mtr_process.pl:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/t/rename.test:
  Manual mereg
2006-10-31 19:08:30 +01:00
unknown
48df3b96a1 BUG#8804: wrong results for NULL IN (SELECT ...)
Evaluate "NULL IN (SELECT ...)" in a special way: Disable pushed-down 
conditions and their "consequences": 
 = Do full table scans instead of unique_[index_subquery] lookups.
 = Change appropriate "ref_or_null" accesses to full table scans in
   subquery's joins.
Also cache value of NULL IN (SELECT ...) if the SELECT is not correlated 
wrt any upper select.


mysql-test/r/subselect.result:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
   - Updated test results
sql/item.h:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
   - Added comments
sql/item_cmpfunc.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
  Made Item_in_optimizer to:
  - cache the value of "NULL IN (uncorrelated select)"
  - Turn off pushed-down predicates when evaluating "NULL IN (SELECT ...)"
sql/item_cmpfunc.h:
  BUG#8804: wrong results for NULL IN (SELECT ...): 
  - Made Item_in_optimizer cache the value of "NULL IN (uncorrelated select)"
  - Added comments
sql/item_subselect.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - When needed, wrap the predicates we push into subquery into an 
    Item_func_trig_cond so we're able to turn them off when evaluating 
    NULL IN (SELECT ...).
  - Added code to evaluate NULL IN (SELECT ...) in a special way:
    = In [unique_]index_subquery, do full table scan to see if there 
      are any rows.
    = For other subqueries, change ref[_or_null] to ALL if the
      ref[_or_null] was created from pushed-down predicate.
sql/item_subselect.h:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added Item_subselect::is_correlated
  - Added comments
sql/records.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Make rr_sequential() non-static
sql/sql_lex.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added st_select_lex::is_correlated and Item_subselect::is_correlated.
sql/sql_lex.h:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added st_select_lex::is_correlated
sql/sql_select.cc:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added KEY_FIELD::outer_ref to keep track of which ref accesses are 
    created from predicates that were pushed down into the subquery.
sql/sql_select.h:
  BUG#8804: wrong results for NULL IN (SELECT ...):
  - Added KEYUSE::outer_ref
mysql-test/r/subselect3.result:
  New BitKeeper file ``mysql-test/r/subselect3.result''
mysql-test/t/subselect3.test:
  New BitKeeper file ``mysql-test/t/subselect3.test''
2006-10-31 20:51:09 +03:00
unknown
dcaa684cab Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/usersnfs/abotchkov/mysql-5.0-opt1
2006-10-31 18:47:53 +01:00
unknown
f9ee7d047f Merge perch.ndb.mysql.com:/home/jonas/src/50-multi
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
2006-10-31 16:15:15 +01:00
unknown
2ba485da08 ndb - ndb_multi spurious failure
remove timeing dependant part of test


mysql-test/r/ndb_multi.result:
  remove timeing dependant part of test
mysql-test/t/ndb_multi.test:
  remove timeing dependant part of test
2006-10-31 16:09:31 +01:00
unknown
37a823b774 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B21809-5.0-opt


sql/item.cc:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
2006-10-31 16:15:35 +02:00
unknown
c805d5845b Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B23184-5.0-opt
2006-10-31 11:07:27 +02:00
unknown
634d3991ab Bug #23184: SELECT causes server crash
Item::val_xxx() may be called by the server several times at execute time 
 for a single query. Calls to val_xxx() may be very expensive and sometimes
 (count(distinct), sum(distinct), avg(distinct)) not possible.
 To avoid that problem the results of calculation for these aggregate 
 functions are cached so that val_xxx() methods just return the calculated 
 value for the second and subsequent calls.


mysql-test/r/func_group.result:
  Bug #23184: SELECT causes server crash
   - test case
mysql-test/t/func_group.test:
  Bug #23184: SELECT causes server crash
   - test case
sql/item_sum.cc:
  Bug #23184: SELECT causes server crash
   - caching of the aggregate function results so no need to recalculate at val_xxx()
sql/item_sum.h:
  Bug #23184: SELECT causes server crash
   - caching of the aggregate function results so no need to recalculate at val_xxx()
2006-10-31 11:01:27 +02:00
unknown
dfdb972e03 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maint
into  mysql.com:/usr/home/ram/work/bug23412/my41-bug23412
2006-10-31 10:21:18 +04:00
unknown
c2b8a63ccf Bug#18654 Test is timing-dependent and fails from scheduling effects (?)
- Wait in loop with small sleep until tables has been renamed


mysql-test/t/rename.test:
  To avoid scheduling effects wait for the tables to be renamed in a loop with small sleeps
  before continuing with tests
mysql-test/include/wait_for_query_to_suceed.inc:
  New BitKeeper file ``mysql-test/include/wait_for_query_to_suceed.inc''
2006-10-30 14:42:28 +01:00
unknown
e948c64ff5 Improve comments around FLUSH STATUS
It's not possible to flush the global status variables in 5.0
Update test case so it works by recording the value of handle_rollback
before and compare it to the value after


mysql-test/r/innodb_mysql.result:
  Update result file
mysql-test/t/innodb_mysql.test:
  It's not possible to reset the global status variables in 5.0 so intead its value
  is recorded and compared to the after value.
  It should not have changed.
sql/mysqld.cc:
  Improve comments
sql/set_var.cc:
  Improve comments
sql/sql_class.cc:
  Improve comments
sql/sql_class.h:
  Improve comments
2006-10-30 13:35:57 +01:00
unknown
e463ee9421 Bug#20404: SHOW CREATE TABLE fails with Turkish I
Problem: SHOW CREATE TABLE printed garbage in table
  name for tables having TURKISH I
  (i.e. LATIN CAPITABLE LETTER I WITH DOT ABOVE)
  when lower-case-table-name=1.
  
  Reason: In some cases during lower/upper conversion in utf8,
  the result string can be shorter the original string
  (including the above letter). Old implementation of caseup_str()
  and casedn_str() didn't handle the result length properly,
  assuming that length cannot change.
  
  This fix changes the result type of cs->cset->casedn_str()
  and cs->cset->caseup_str() from VOID to UINT, to return
  the result length, as well as put '\0' terminator on a 
  proper place.
  
  Also, my_caseup_str_utf8() and my_casedn_str_utf8() were 
  rewritten not to use strlen() for performance purposes.
  It was done with help of adding of new functions - my_utf8_uni_no_range()
  and my_uni_utf8_no_range() - for null terminated strings.



include/m_ctype.h:
  Changeing return type from void to int for caseup_str() and casedn_str()
mysql-test/r/lowercase_table.result:
  Adding test case
mysql-test/t/lowercase_table.test:
  Adding test case
sql/sql_parse.cc:
  Set table->table.length to result of my_casedn_str().
strings/ctype-bin.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-mb.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-simple.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-ucs2.c:
  Changeing return type from void to int for caseup_str() and casedn_str()
strings/ctype-utf8.c:
  Changeing return type from void to int for caseup_str() and casedn_str().
      Optimization, to get rid of strlen():
      Adding my_utf8_uni_no_range() and my_uni_utf8_no_range() - for null
      terninated strings.
2006-10-30 14:40:15 +04:00
unknown
f00e6bd75d Bug #8663 (cant use bigint as input to CAST)
decimal->ulong conversion fixed to assign max possible ULONG if decimal
is bigger
Item_func_unsigned now handles DECIMAL parameter separately as we can't
rely on decimal::val_int result here.


mysql-test/r/type_newdecimal.result:
  result fixed
mysql-test/t/type_newdecimal.test:
  testcase
sql/item_func.cc:
  DECIMAL_RESULT should be handled separately here as it's
  always signed.
strings/decimal.c:
  here we assign max possible ULONG if the decimal value is bigger
2006-10-30 09:52:50 +04:00
unknown
ab40b627e3 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-10-28 00:01:24 +02:00
unknown
5d10a44537 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb


mysql-test/r/ctype_utf8.result:
  Auto merged
mysql-test/t/ctype_utf8.test:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/table.cc:
  Auto merged
2006-10-27 23:59:04 +02:00
unknown
142a448594 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb


sql/sql_select.cc:
  Auto merged
2006-10-27 23:56:51 +02:00
unknown
d2c90fcb8e Fix for bug #23412: delete rows with null date field
Backport of the fix for bug #8143: A date with value 0 is treated as a NULL value


mysql-test/r/delete.result:
  Fix for bug #23412: delete rows with null date field
    - test result
mysql-test/t/delete.test:
  Fix for bug #23412: delete rows with null date field
    - test case
sql/sql_delete.cc:
  Fix for bug #23412: delete rows with null date field
    - during SELECT queries processing we convert 'date[time]_field is null'                   
      conditions into 'date[time]_field = 0000-00-00[ 00:00:00]' for not null                  
      DATE and DATETIME fields. To be consistent, we have to do the same for DELETE            
      queries. So we should call remove_eq_conds() in the mysql_delete() as well.              
      Also it may simplify and speed up DELETE queries execution.
2006-10-27 18:08:50 +05:00
unknown
e37aaba096 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  chilla.local:/home/mydev/mysql-5.1-merge


mysql-test/r/myisam.result:
  Auto merged
2006-10-27 15:07:45 +02:00
unknown
aa137976f2 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug22584


mysql-test/r/view.result:
  Manual merge.
mysql-test/t/view.test:
  Manual merge.
2006-10-27 13:47:45 +04:00
unknown
3ce0cadd05 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug22584
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.1-bug22584


mysql-test/r/view.result:
  Manual merge.
mysql-test/t/view.test:
  Manual merge.
sql/sql_parse.cc:
  Manual merge.
2006-10-27 13:40:28 +04:00
unknown
532735e6c8 BUG#22584: last_insert_id not updated after inserting a record through
a updatable view.

When there's a VIEW on a base table that have AUTO_INCREMENT column, and
this VIEW doesn't provide an access such column, after INSERT to such
VIEW LAST_INSERT_ID() did not return the value just generated.

This behaviour is intended and correct, because if the VIEW doesn't list
some columns then these columns are effectively hidden from the user,
and so any side effects of inserting default values to them.

However, there was a bug that such statement inserting into a view would
reset LAST_INSERT_ID() instead of leaving it unchanged.

This patch restores the original value of LAST_INSERT_ID() instead of
resetting it to zero.


mysql-test/r/view.result:
  Add result for bug#22584: last_insert_id not updated after inserting
  a record through a updatable view.
mysql-test/t/view.test:
  Add test case for bug#22584: last_insert_id not updated after inserting
  a record through a updatable view.
sql/sql_parse.cc:
  When we have inserted into a view, and AUTO_INCREMENT column is not
  accessed from this view, instead of setting LAST_INSERT_ID to zero set
  it to the value it had before this statement was executed.
2006-10-27 13:32:41 +04:00
unknown
b2ea3624e3 Merge bk-internal:/home/bk/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint


mysql-test/t/ctype_utf8.test:
  Auto merged
2006-10-26 22:54:25 +02:00
unknown
159226b52d Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0-maint
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint


client/mysql.cc:
  Auto merged
mysql-test/r/mysql.result:
  Auto merged
mysql-test/t/mysql.test:
  Auto merged
2006-10-26 20:11:13 +02:00
unknown
08d43705a6 Bug#20894 Reproducible MySQL client segmentation fault
- Add two null bytes in  "buff" variable allowing us to call
   get_arg two times also for strings longer than sizeof(buff) 


client/mysql.cc:
  Make sure there are _two_ zero bytes at the end of buff, to allow 'get_arg' to be
  called twice on long strings. The first time it will mark end of string with a
  zero and the second time it will "skip ahead" to the first zero, and the find the
  second one indicating end of buff.
mysql-test/r/mysql.result:
  Update test results
mysql-test/t/mysql.test:
  Add tests for "com_connect" function in mysql
  Add test reported in bug
2006-10-26 19:51:29 +02:00
unknown
d2709b7a6b Merge 192.168.0.4:mysql/my51-m-bug18888
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1-new-maint
2006-10-26 19:15:47 +02:00
unknown
ed53c394f9 Bug#18888 Trying to overwrite sql/lex_hash.h during build
- As a sideeffect of the patch to generate lex_hash.h only once
on the machine where the source dist was produced, a problem
was found when compiling a mysqld without partition support - it 
would crash when looking up the lex symbols due to mismatch between
lex.h and the generated lex_hash.h

 - Remove the ifdef for partition in lex.h 
 - Fix minor problem with"EXPLAIN PARTITION" when not compiled with
   partition(existed also without the above patch)
 - Add test case that will be run when we don't have partition
   support compiled into mysqld
 - Return error ER_FEATURE_DISABLED if user tries to use PARTITION
   when there is no support for it.


sql/lex.h:
  There should be no ifdefs of features in lex.h
sql/sql_class.cc:
  In line with the comment in sql_yacc.yy that we want the same output
  from "EXPLAIN PARTITIONS.." regardless of wheter we have compiled in
  support for partition  or not, remove the ifdef so the extra field
  is added to output if the DESCRIBE_PARTITIONS bit it set. Without
  this patch we get a crash as the code in select_describe believes the
  field is there.
sql/sql_select.cc:
  Use "const" for the variable as it's a ssigned once and never changes
sql/sql_yacc.yy:
  Don't allow PARTITION syntax oif there is no suport for partitioning
mysql-test/r/not_partition.require:
  New BitKeeper file ``mysql-test/r/not_partition.require''
mysql-test/r/not_partition.result:
  New BitKeeper file ``mysql-test/r/not_partition.result''
mysql-test/t/not_partition.test:
  New BitKeeper file ``mysql-test/t/not_partition.test''
2006-10-26 19:11:09 +02:00
unknown
1444edfcef Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  siva.hindu.god:/usr/home/tim/m/bk/50


configure.in:
  Auto merged
2006-10-25 16:28:42 -06:00
unknown
853fb1ebfe Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18819


mysql-test/r/innodb_mysql.result:
  Auto merged
mysql-test/t/innodb_mysql.test:
  Auto merged
sql/sql_delete.cc:
  Auto merged
2006-10-25 20:16:39 +04:00
unknown
722d433018 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-runtime
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug18819
2006-10-25 20:13:07 +04:00
unknown
e171a36efb Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug18819
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug18819


mysql-test/r/innodb_mysql.result:
  Manual merge.
mysql-test/t/innodb_mysql.test:
  Manual merge.
sql/sql_delete.cc:
  Manual merge.
2006-10-25 20:00:51 +04:00