1. 09 Feb, 2011 15 commits
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · bdc90542
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3527.3.1
      > revision-id: mattias.jonsson@oracle.com-20101222095036-2lpx0gqu4i45jtkz
      > parent: sven.sandberg@oracle.com-20101220090735-psae11j9nwuj8vzl
      > committer: Mattias Jonsson <mattias.jonsson@oracle.com>
      > branch nick: b54483-51-bt_2
      > timestamp: Wed 2010-12-22 10:50:36 +0100
      > message:
      >   Bug#54483: valgrind errors when making warnings for multiline inserts into partition
      >   Bug#57071: EXTRACT(WEEK from date_col) cannot be allowed as partitioning function
      >   
      >   There were functions allowed as partitioning functions
      >   that implicit allowed cast. That could result in unacceptable
      >   behaviour.
      >   
      >   Solution was to check that the arguments of date and time functions
      >   have allowed types (field and date/datetime/time depending on function).
      bdc90542
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 0b054706
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3520
      > revision-id: sergey.glukhov@oracle.com-20101214093303-wmo9mqcb8rz0wv9f
      > parent: tor.didriksen@oracle.com-20101213161301-81lprlbune7r98dl
      > committer: Sergey Glukhov <sergey.glukhov@oracle.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Tue 2010-12-14 12:33:03 +0300
      > message:
      >   Fixed following problems:
      >   --Bug#52157 various crashes and assertions with multi-table update, stored function
      >   --Bug#54475 improper error handling causes cascading crashing failures in innodb/ndb
      >   --Bug#57703 create view cause Assertion failed: 0, file .\item_subselect.cc, line 846
      >   --Bug#57352 valgrind warnings when creating view
      >   --Recently discovered problem when a nested materialized derived table is used
      >     before being populated and it leads to incorrect result
      >   
      >   We have several modes when we should disable subquery evaluation.
      >   The reasons for disabling are different. It could be
      >   uselessness of the evaluation as in case of 'CREATE VIEW'
      >   or 'PREPARE stmt', or we should disable subquery evaluation
      >   if tables are not locked yet as it happens in bug#54475, or
      >   too early evaluation of subqueries can lead to wrong result
      >   as it happened in Bug#19077.
      >   Main problem is that if subquery items are treated as const
      >   they are evaluated in ::fix_fields(), ::fix_length_and_dec()
      >   of the parental items as a lot of these methods have
      >   Item::val_...() calls inside.
      >   We have to make subqueries non-const to prevent unnecessary
      >   subquery evaluation. At the moment we have different methods
      >   for this. Here is a list of these modes:
      >   
      >   1. PREPARE stmt;
      >   We use UNCACHEABLE_PREPARE flag.
      >   It is set during parsing in sql_parse.cc, mysql_new_select() for
      >   each SELECT_LEX object and cleared at the end of PREPARE in
      >   sql_prepare.cc, init_stmt_after_parse(). If this flag is set
      >   subquery becomes non-const and evaluation does not happen.
      >   
      >   2. CREATE|ALTER VIEW, SHOW CREATE VIEW, I_S tables which
      >      process FRM files
      >   We use LEX::view_prepare_mode field. We set it before
      >   view preparation and check this flag in
      >   ::fix_fields(), ::fix_length_and_dec().
      >   Some bugs are fixed using this approach,
      >   some are not(Bug#57352, Bug#57703). The problem here is
      >   that we have a lot of ::fix_fields(), ::fix_length_and_dec()
      >   where we use Item::val_...() calls for const items.
      >   
      >   3. Derived tables with subquery = wrong result(Bug19077)
      >   The reason of this bug is too early subquery evaluation.
      >   It was fixed by adding Item::with_subselect field
      >   The check of this field in appropriate places prevents
      >   const item evaluation if the item have subquery.
      >   The fix for Bug19077 fixes only the problem with
      >   convert_constant_item() function and does not cover
      >   other places(::fix_fields(), ::fix_length_and_dec() again)
      >   where subqueries could be evaluated.
      >   
      >   Example:
      >   CREATE TABLE t1 (i INT, j BIGINT);
      >   INSERT INTO t1 VALUES (1, 2), (2, 2), (3, 2);
      >   SELECT * FROM (SELECT MIN(i) FROM t1
      >   WHERE j = SUBSTRING('12', (SELECT * FROM (SELECT MIN(j) FROM t1) t2))) t3;
      >   DROP TABLE t1;
      >   
      >   4. Derived tables with subquery where subquery
      >      is evaluated before table locking(Bug#54475, Bug#52157)
      >   
      >   Suggested solution is following:
      >   
      >   -Introduce new field LEX::context_analysis_only with the following
      >    possible flags:
      >    #define CONTEXT_ANALYSIS_ONLY_PREPARE 1
      >    #define CONTEXT_ANALYSIS_ONLY_VIEW    2
      >    #define CONTEXT_ANALYSIS_ONLY_DERIVED 4
      >   -Set/clean these flags when we perform
      >    context analysis operation
      >   -Item_subselect::const_item() returns
      >    result depending on LEX::context_analysis_only.
      >    If context_analysis_only is set then we return
      >    FALSE that means that subquery is non-const.
      >    As all subquery types are wrapped by Item_subselect
      >    it allow as to make subquery non-const when
      >    it's necessary.
      0b054706
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · d27ac61f
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3518
      > revision-id: sergey.glukhov@oracle.com-20101213114812-kaq7sh0s623128lv
      > parent: sergey.glukhov@oracle.com-20101213103926-okypkn10adeeyns8
      > committer: Sergey Glukhov <sergey.glukhov@oracle.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Mon 2010-12-13 14:48:12 +0300
      > message:
      >   Bug#39828 : Autoinc wraps around when offset and increment > 1
      >   Auto increment value wraps when performing a bulk insert with
      >   auto_increment_increment and auto_increment_offset greater than
      >   one.
      >   The fix:
      >   If overflow happened then return MAX_ULONGLONG value as an
      >   indication of overflow and check this before storing the
      >   value into the field in update_auto_increment().
      d27ac61f
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 1cdbb177
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3517
      > revision-id: sergey.glukhov@oracle.com-20101213103926-okypkn10adeeyns8
      > parent: davi.arnaut@oracle.com-20101207150620-s49dstok48oy585o
      > committer: Sergey Glukhov <sergey.glukhov@oracle.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Mon 2010-12-13 13:39:26 +0300
      > message:
      >   Bug#58396 group_concat and explain extended are still crashy
      >   Explain fails at fix_fields stage and some items are left unfixed,
      >   particulary Item_group_concat. Item_group_concat::orig_args field
      >   is uninitialized in this case and Item_group_concat::print call 
      >   leads to crash.
      >   The fix:
      >   move the initialization of Item_group_concat::orig_args
      >   into constructor.
      1cdbb177
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · e92dff84
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3507.1.7
      > revision-id: guilhem@mysql.com-20101122085759-53uuoyqyjkh4em2m
      > parent: davi.arnaut@oracle.com-20101120142951-l0f3bxmcwibcplxq
      > committer: Guilhem Bichot <guilhem@mysql.com>
      > branch nick: mysql-5.1-bugteam
      > timestamp: Mon 2010-11-22 09:57:59 +0100
      > message:
      >   Fix for Bug#56138 "valgrind errors about overlapping memory when double-assigning same variable",
      >   and related small fixes.
      e92dff84
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 8bde9ad2
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3507.1.26
      > revision-id: mattias.jonsson@oracle.com-20101201112046-2ugtweya0dltcrys
      > parent: nirbhay.choubey@sun.com-20101201065531-w2f0j3g5yzok8z9x
      > committer: Mattias Jonsson <mattias.jonsson@oracle.com>
      > branch nick: b56380-51-bt
      > timestamp: Wed 2010-12-01 12:20:46 +0100
      > message:
      >   Bug#56380: valgrind memory leak warning from partition tests
      >   
      >   There could be memory leaks if ALTER ... PARTITION command fails.
      >   
      >   Problem was that the list of items to free was not set in
      >   the partition info structure when fix_partition_func call failed
      >   during ALTER ... PARTITION.
      >   
      >   Solved by always setting the list in the partition info struct.
      8bde9ad2
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · d0943a3d
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3504
      > revision-id: svoj@oracle.com-20101111100317-3bjzbj6c2ihfzb9t
      > parent: dmitry.shulga@oracle.com-20101111045251-jl1spfh3xjti1sll
      > committer: Sergey Vojtovich <svoj@oracle.com>
      > branch nick: mysql-5.1-bugteam-bug58079
      > timestamp: Thu 2010-11-11 13:03:17 +0300
      > message:
      >   BUG#58079 - Remove the IBM DB2 storage engine
      d0943a3d
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 4630acc2
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3496.1.39
      > revision-id: jon.hauglid@oracle.com-20101019081957-zf2ohl7wgnhvnnb0
      > parent: tor.didriksen@oracle.com-20101019070648-jhi9ezq3b5qk4wcm
      > committer: Jon Olav Hauglid <jon.hauglid@oracle.com>
      > branch nick: mysql-5.1-bugteam-bug57274
      > timestamp: Tue 2010-10-19 10:19:57 +0200
      > message:
      >   Bug #57274 SET GLOBAL debug crashes on Solaris in embedded server mode
      >              (variables_debug fails)
      >   
      >   The problem was that "SET GLOBAL debug" could cause a crash on Solaris.
      >   The crash happened if the server failed to open the trace file given in 
      >   the "SET GLOBAL debug" statement. This caused an error message to be
      >   printed to stderr containing the process name. However, printing to
      >   stderr crashed the server since the pointer to the process name had
      >   not been initialized.
      >   
      >   This patch fixes the problem by initializing the process name 
      >   properly when doing "SET GLOBAL debug".
      >   
      >   No test case added as this bug was repeatable with existing test
      >   coverage in variables_debug.test.
      4630acc2
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 3f3947a4
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3452.17.1
      > revision-id: mattias.jonsson@oracle.com-20101005125751-ds92svhhb13ds8ri
      > parent: sergey.glukhov@sun.com-20101004085126-ia6veky4w6j87i43
      > committer: Mattias Jonsson <mattias.jonsson@oracle.com>
      > branch nick: b55091-51-security
      > timestamp: Tue 2010-10-05 14:57:51 +0200
      > message:
      >   Bug#55091: Server crashes on ADD PARTITION after a failed attempt
      >   
      >   In case of failure in ALTER ... PARTITION under LOCK TABLE
      >   the server could crash, due to it had modified the locked
      >   table object, which was not reverted in case of failure,
      >   resulting in a bad table definition used after the failed
      >   command.
      >   
      >   Solved by always closing the LOCKED TABLE, even in case
      >   of error.
      >   
      >   Note: this is a 5.1-only fix, bug#56172 fixed it in 5.5+
      3f3947a4
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · c293f037
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3452.13.54
      > revision-id: oystein.grovlen@oracle.com-20110112093715-tc076voaxwblqk8v
      > parent: georgi.kodinov@oracle.com-20110110130833-1c9q21mr7zoq07vg
      > committer: Oystein Grovlen <oystein.grovlen@oracle.com>
      > branch nick: mysql-5.1-security
      > timestamp: Wed 2011-01-12 10:37:15 +0100
      > message:
      >   Bug#59211: Select Returns Different Value for min(year) Function
      >   
      >   get_year_value() contains code to convert 2-digits year to
      >   4-digits.  The fix for Bug#49910 added a check on the size of
      >   the underlying field so that this conversion is not done for
      >   YEAR(4) values. (Since otherwise one would convert invalid
      >   YEAR(4) values to valid ones.)
      >   
      >   The existing check does not work when Item_cache is used, since
      >   it is not detected when the cache is based on a Field.  The
      >   reported change in behavior is due to Bug#58030 which added
      >   extra cached items in min/max computations.
      >   
      >   The elegant solution would be to implement
      >   Item_cache::real_item() to return the underlying Item.
      >   However, some side effects are observed (change in explain
      >   output) that indicates that such a change is not straight-
      >   forward, and definitely not appropriate for an MRU.
      >   
      >   Instead, a Item_cache::field() method has been added in order
      >   to get access to the underlying field.  (This field() method
      >   eliminates the need for Item_cache::eq_def() used in
      >   test_if_ref(), but in order to limit the scope of this fix,
      >   that code has been left as is.)
      c293f037
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 0d3f2543
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3452.13.4 [merge]
      > revision-id: mmakela@bk-internal.mysql.com-20101011192851-u3bdt7erjkrgn90t
      > parent: marko.makela@oracle.com-20101011081800-sby6kmb8n1mnryfq
      > parent: jimmy.yang@oracle.com-20101011123613-guz1qgdktywmel1g
      > committer: Marko Makela <mmakela@bk-internal.mysql.com>
      > branch nick: mysql-5.1-security
      > timestamp: Mon 2010-10-11 21:28:51 +0200
      > message:
      >   Merge Bug #57345, Bug #56982, Bug#53307 test from mysql-5.1-innodb
      > ------------------------------------------------------------
      > Use --include-merges or -n0 to see merged revisions.
      0d3f2543
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · a0dfae25
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 3351.14.280
      > revision-id: inaam.rana@oracle.com-20101026205418-aq835zpvxdskdf4c
      > parent: jimmy.yang@oracle.com-20101025055121-j319j363abfgdh6n
      > committer: Inaam Rana <inaam.rana@oracle.com>
      > branch nick: mysql-5.1-innodb
      > timestamp: Tue 2010-10-26 16:54:18 -0400
      > message:
      >   Bug #57611	ibdata file and continuous growing undo logs
      >   rb://498
      >   
      >   Fix handling of update_undo_logs at trx commit. Previously, when
      >   rseg->update_undo_list grows beyond 500 the update_undo_logs were
      >   marked with state TRX_UNDO_TO_FREE which should have been
      >   TRX_UNDO_TO_PURGE.
      >   
      >   Approved by: Sunny Bains
      a0dfae25
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 10fd22ad
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 1810.3987.44
      > revision-id: alexander.nozdrin@oracle.com-20101124095339-oatpqq684jpbbso2
      > parent: alexander.nozdrin@oracle.com-20101122132749-tl6m39zsfgvzi2mf
      > committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
      > branch nick: mysql-5.0-bugteam
      > timestamp: Wed 2010-11-24 12:53:39 +0300
      > message:
      >   A follow-up for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file) -- remove all
      >   EXCEPTIONS-CLIENT from all the places.
      10fd22ad
    • MySQL Build Team's avatar
      Backport into build-201102032246-5.1.52sp1 · 1103ac98
      MySQL Build Team authored
      > ------------------------------------------------------------
      > revno: 1810.3987.43
      > revision-id: alexander.nozdrin@oracle.com-20101122132749-tl6m39zsfgvzi2mf
      > parent: alexander.nozdrin@oracle.com-20101122132550-hcu608iuq5un9k0q
      > committer: Alexander Nozdrin <alexander.nozdrin@oracle.com>
      > branch nick: mysql-5.0-bugteam
      > timestamp: Mon 2010-11-22 16:27:49 +0300
      > message:
      >   Patch for Bug#58340 (Remove Server GPL EXCEPTIONS-CLIENT file).
      1103ac98
    • hery.ramilison@oracle.com's avatar
  2. 11 Oct, 2010 1 commit
  3. 06 Oct, 2010 2 commits
  4. 05 Oct, 2010 8 commits
  5. 04 Oct, 2010 5 commits
  6. 03 Oct, 2010 2 commits
  7. 01 Oct, 2010 7 commits
    • Alexey Kopytov's avatar
      Automerge. · e1e83816
      Alexey Kopytov authored
      e1e83816
    • Mattias Jonsson's avatar
      merge · c0c524c3
      Mattias Jonsson authored
      c0c524c3
    • Mattias Jonsson's avatar
      merge · cddd0d68
      Mattias Jonsson authored
      cddd0d68
    • Vasil Dimov's avatar
      Merge mysql-5.1-innodb -> mysql-5.1-bugteam · 1ca8c7b5
      Vasil Dimov authored
      1ca8c7b5
    • Mattias Jonsson's avatar
      merge · 460fcf7c
      Mattias Jonsson authored
      460fcf7c
    • Mattias Jonsson's avatar
      Bug#51851: Server with SBR locks mutex twice on · a01773db
      Mattias Jonsson authored
      LOAD DATA into partitioned MyISAM table
      
      Problem was that both partitioning and myisam
      used the same table_share->mutex for different protections
      (auto inc and repair).
      
      Solved by adding a specific mutex for the partitioning
      auto_increment.
      
      Also adding destroying the ha_data structure in
      free_table_share (which is to be propagated
      into 5.5).
      
      This is a 5.1 ONLY patch, already fixed in 5.5+.
      a01773db
    • Sergey Glukhov's avatar
      Bug#54488 crash when using explain and prepared statements with subqueries · 86ef2332
      Sergey Glukhov authored
      The crash happens because original join table is replaced with temporary table
      at execution stage and later we attempt to use this temporary table in
      select_describe. It might happen that
      Item_subselect::update_used_tables() method which sets const_item flag
      is not called by some reasons (no where/having conditon in subquery for example).
      It prevents JOIN::join_tmp creation and breaks original join.
      The fix is to call ::update_used_tables() before ::const_item() check.
      86ef2332