1. 28 Jun, 2007 3 commits
    • antony@ppcg5.local's avatar
      Bug#25513 · fc241de3
      antony@ppcg5.local authored
        "Federared Transactions Failure"
        Bug occurs when the user performs an operation which inserts more than 
        one row into the federated table and the federated table references a 
        remote table stored within a transactional storage engine. When the
        insert operation for any one row in the statement fails due to 
        constraint violation, the federated engine is unable to perform 
        statement rollback and so the remote table contains a partial commit. 
        The user would expect a statement to perform the same so a statement 
        rollback is expected.
        This bug was fixed by implementing  bulk-insert handling into the
        federated storage engine. This will relieve the bug for most common
        situations by enabling the generation of a multi-row insert into the
        remote table and thus permitting the remote table to perform 
        statement rollback when neccessary.
        The multi-row insert is limited to the maximum packet size between 
        servers and should the size overflow, more than one insert statement 
        will be sent and this bug will reappear. Multi-row insert is disabled
        when an "INSERT...ON DUPLICATE KEY UPDATE" is being performed.
        The bulk-insert handling will offer a significant performance boost 
        when inserting a large number of small rows.
      This patch builds on Bug29019 and Bug25511
      fc241de3
    • antony@ppcg5.local's avatar
      Bug#25511 · b0b0b0fb
      antony@ppcg5.local authored
        "Federated INSERT failures"
        Federated does not correctly handle "INSERT...ON DUPLICATE KEY UPDATE"
        However, implementing such support is not reasonably possible without
        increasing complexity of the storage engine: checking that constraints
        on remote server match local server and parsing error messages.
        This patch causes 'ON DUPLICATE KEY' to fail with ER_DUP_KEY message
        if a conflict occurs and not to fail silently.
      b0b0b0fb
    • antony@ppcg5.local's avatar
      Bug#29019 · b3e29fbd
      antony@ppcg5.local authored
        "REPLACE/INSERT IGNORE/UPDATE IGNORE doesn't work"
        Federated does not record neccessary HA_EXTRA flags in order to
        support REPLACE/INSERT IGNORE/UPDATE IGNORE.
        Implement ::extra() to capture flags neccessary for functionality.
      New function append_ident() to better escape identifiers consistantly.
      b3e29fbd
  2. 25 Jun, 2007 3 commits
  3. 24 Jun, 2007 3 commits
    • igor@olga.mysql.com's avatar
      Merge olga.mysql.com:/home/igor/mysql-5.0-opt · da416060
      igor@olga.mysql.com authored
      into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug25602
      da416060
    • gshchepa/uchum@gleb.loc's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0 · 684d0ced
      gshchepa/uchum@gleb.loc authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      684d0ced
    • igor@olga.mysql.com's avatar
      Fixed bug #25602. A query with DISTINCT in the select list to which · 59b9077c
      igor@olga.mysql.com authored
      the loose scan optimization for grouping queries was applied returned 
      a wrong result set when the query was used with the SQL_BIG_RESULT
      option.
      
      The SQL_BIG_RESULT option forces to use sorting algorithm for grouping
      queries instead of employing a suitable index. The current loose scan
      optimization is applied only for one table queries when the suitable
      index is covering. It does not make sense to use sort algorithm in this
      case. However the create_sort_index function does not take into account
      the possible choice of the loose scan to implement the DISTINCT operator
      which makes sorting unnecessary. Moreover the current implementation of
      the loose scan for queries with distinct assumes that sorting will
      never happen. Thus in this case create_sort_index should not call
      the function filesort.
      59b9077c
  4. 23 Jun, 2007 3 commits
  5. 22 Jun, 2007 9 commits
  6. 21 Jun, 2007 17 commits
  7. 20 Jun, 2007 2 commits
    • gshchepa/uchum@gleb.loc's avatar
      Fixed bug #28293. · 1b5d8931
      gshchepa/uchum@gleb.loc authored
      Occasionally mysqlbinlog --hexdump failed with error:
        ERROR 1064 (42000) at line ...: You have an error in your
        SQL syntax; check the manual that corresponds to your MySQL
        server version for the right syntax to use near
        'Query thread_id=... exec_time=... error_code=...
      
      When the length of hexadecimal dump of binlog header was
      divisible by 16, commentary sign '#' after header was lost.
      The Log_event::print_header function has been modified to always
      finish hexadecimal binlog header with "\n# ".
      1b5d8931
    • igor@olga.mysql.com's avatar
      Fixed bug #29104: assertion abort for grouping queries using views. · c6cc5096
      igor@olga.mysql.com authored
      The abort happened when a query contained a conjunctive predicate
      of the form 'view column = constant' in the WHERE condition and 
      the grouping list also contained a reference to a view column yet
      a different one.
      
      Removed the failing assertion as invalid in a general case.
      
      Also fixed a bug that prevented applying some optimization for grouping
      queries using views. If the WHERE condition of such a query contains
      a conjunctive condition of the form 'view column = constant' and
      this view column is used in the grouping list then grouping by this
      column can be eliminated. The bug blocked performing this elimination.
      c6cc5096