1. 22 Aug, 2014 1 commit
    • Olivier Bertrand's avatar
      - Add a new CONNECT global variable allowing to tell whether or not · f930f4ed
      Olivier Bertrand authored
        a temporary file should be used for UPDATE/DELETE of file tables.
        Also use the "sorted" argument of index_init to help decide if
        sorting of positions must be done.
      modified:
        storage/connect/checklvl.h
        storage/connect/connect.cc
        storage/connect/connect.h
        storage/connect/filamdbf.cpp
        storage/connect/filamfix.cpp
        storage/connect/filamfix.h
        storage/connect/filamtxt.cpp
        storage/connect/ha_connect.cc
        storage/connect/mysql-test/connect/r/part_table.result
        storage/connect/plgdbsem.h
        storage/connect/plgdbutl.cpp
        storage/connect/reldef.cpp
        storage/connect/tabdos.cpp
        storage/connect/tabdos.h
        storage/connect/tabfix.cpp
        storage/connect/tabfmt.cpp
        storage/connect/tabvct.cpp
        storage/connect/tabvct.h
        storage/connect/xindex.cpp
      
      - Fix a bug in TDBASE::ColDB that caused some special columns not to
        be found in the column list and reallocated without their Value
        causing a crash of some queries.
      modified:
        storage/connect/table.cpp
      
      - Fix a bug causing RestoreNrec to be called before closing a table
        causing a wrong value given to Spos
      modified:
        storage/connect/tabdos.cpp
        storage/connect/xindex.cpp
      
      - Add a new CONNECT global variable connect_exact_info. Set to ON, it
        tells CONNECT to return exact record numbers on info queries. If OFF
        it just gives an estimate. In version 10.0.13 this was unconditionally
        ON and caused info queries on remote tables to be extremely long and
        was the subject of MDEV-6612.
      modified:
        storage/connect/ha_connect.cc
        storage/connect/tabdos.cpp
        storage/connect/tabmysql.cpp
        storage/connect/tabodbc.cpp
      f930f4ed
  2. 15 Aug, 2014 1 commit
  3. 16 Aug, 2014 1 commit
    • Olivier Bertrand's avatar
      - Modifies the way indexed UPDATE/DELETE are sorted in order to execute · 3a69c854
      Olivier Bertrand authored
        them sorted by file position. Firstly a new value is stored in indexes
        to know if they are sorted, preventing to do the sorting when it is not
        needed. Secondly, almost all in now done in connect instead of being
        done by the different file access method classes. This pepares the future
        use of temporary files for all table types and also fix the bug that was
        occuring when partially using a multi-column index because of false MRR
        like call of position followed by unsorted rnd_pos no more using indexing.
      modified:
        storage/connect/connect.cc
        storage/connect/filamap.cpp
        storage/connect/filamap.h
        storage/connect/filamdbf.cpp
        storage/connect/filamdbf.h
        storage/connect/filamfix.cpp
        storage/connect/filamfix.h
        storage/connect/filamtxt.cpp
        storage/connect/filamtxt.h
        storage/connect/filamvct.cpp
        storage/connect/filamvct.h
        storage/connect/tabdos.cpp
        storage/connect/tabdos.h
        storage/connect/tabfix.h
        storage/connect/tabfmt.cpp
        storage/connect/tabfmt.h
        storage/connect/xindex.cpp
        storage/connect/xindex.h
        storage/connect/xtable.h
      3a69c854
  4. 08 Aug, 2014 2 commits
  5. 07 Aug, 2014 2 commits
    • Olivier Bertrand's avatar
      - Commiting merge files · f835588c
      Olivier Bertrand authored
      f835588c
    • Olivier Bertrand's avatar
      This is a major update that fixes most of the issues and bugs that · 0219ac1e
      Olivier Bertrand authored
      have been created by the last addition of new CONNECT features.
      The version previous to this one is a preliminary test version and
      should not be distributed.
      
      - Handle indexed UPDATE/DELETE. Previously this was just tested and
        an error message send when it could not be done. Now CONNECT can
        do it in all the cases. It is done by a MRR like tchnique by making
        a list of all update or delete to do, sort them, then execute them.
      modified:
        storage/connect/array.cpp
        storage/connect/array.h
        storage/connect/filamap.cpp
        storage/connect/filamap.h
        storage/connect/filamdbf.cpp
        storage/connect/filamfix.cpp
        storage/connect/filamfix.h
        storage/connect/filamtxt.cpp
        storage/connect/filamtxt.h
        storage/connect/filamvct.cpp
        storage/connect/filamvct.h
        storage/connect/filamzip.cpp
        storage/connect/filamzip.h
        storage/connect/global.h
        storage/connect/ha_connect.cc
        storage/connect/ha_connect.h
      
      - Differenciate Cardinality that returns a true or estimated table size
        and GetMaxSize that return a value equal or greater than the table
        row number. This fixes the errors of non matching opt files.
      modified:
        storage/connect/connect.cc
        storage/connect/tabdos.cpp
        storage/connect/tabdos.h
        storage/connect/tabfix.cpp
        storage/connect/table.cpp
        storage/connect/tabmac.h
        storage/connect/tabmysql.cpp
        storage/connect/tabmysql.h
        storage/connect/tabodbc.cpp
        storage/connect/tabodbc.h
        storage/connect/tabpivot.h
        storage/connect/tabtbl.cpp
        storage/connect/tabtbl.h
        storage/connect/tabutil.cpp
        storage/connect/tabutil.h
        storage/connect/tabwmi.h
        storage/connect/xtable.h
      
      - Fix some errors and issues when making index and opt files.
        Erase opt and index files for void tables.
        Fix wrong calculation of Block and Last in MakeBlockValues.
        Invalidate indexes before making opt file.
        Fully handle blocked variable tables. Make opt file for blocked
        variable tables even when they have no optimised colums.
      modified:
        storage/connect/tabdos.cpp
        storage/connect/xindex.h
      
      - Fix some errors making index
        Return an error when the allocation is too small (should not
        really occur now that GetMaxSize is sure)
        Don't use XXROW index for DBF tables because of soft deleted lines.
      modified:
        storage/connect/xindex.cpp
      
      - Typo
      modified:
        storage/connect/macutil.cpp
        storage/connect/tabdos.h
        storage/connect/tabsys.cpp
        storage/connect/tabsys.h
      0219ac1e
  6. 05 Aug, 2014 1 commit
  7. 04 Aug, 2014 2 commits
  8. 31 Jul, 2014 7 commits
  9. 30 Jul, 2014 4 commits
  10. 27 Jul, 2014 1 commit
  11. 26 Jul, 2014 1 commit
  12. 25 Jul, 2014 3 commits
    • Sergey Vojtovich's avatar
      MDEV-6489 - rpl.rpl_insert, rpl.rpl_insert_delayed and · 35c78a1f
      Sergey Vojtovich authored
                  main.mysqlslap fail on PPC64
      
      There seem to be a bug on Power8 which doesn't guarantee
      a signal to be delivered to waiting thread if broadcast
      is called outside of mutex.
      
      For now workaround it by calling broadcast while mutex is
      still held.
      35c78a1f
    • Olivier Bertrand's avatar
      - Fix an error pointed out by Valgrind due to uninitialised Correlated · 4d0587c3
      Olivier Bertrand authored
        variable. This variable is not to be used by CONNECT.
      modified:
        storage/connect/array.cpp
        storage/connect/array.h
      4d0587c3
    • Jan Lindström's avatar
      Merge InnoDB fixes from 5.5 revisions 4229, 4230, 4233, 4237 and 4238 i.e. · a3acd725
      Jan Lindström authored
      4229: MDEV-5670: Assertion failure in file buf0lru.c line 2355
            Add more status information if repeatable.
      
      4230: MDEV-5673: Crash while parallel dropping multiple tables under heavy load
            Improve long semaphore wait output to include all semaphore waits
            and try to find out if there is a sequence of waiters.
      
      4233: Fix compiler errors on product build.
      
      4237: Fix too agressive long semaphore wait output and add guard against introducing
            compression failures on insert buffer.
      
      4238: Fix test failure caused by simulated compression failure on
            IBUF_DUMMY table.
      a3acd725
  13. 24 Jul, 2014 2 commits
    • Sergey Vojtovich's avatar
      MDEV-6483 - Deadlock around rw_lock_debug_mutex on PPC64 · 6192f0bf
      Sergey Vojtovich authored
      This problem affects only debug builds on PPC64.
      
      There are at least two race conditions around
      rw_lock_debug_mutex_enter and rw_lock_debug_mutex_exit:
      
      - rw_lock_debug_waiters was loaded/stored without setting
        appropriate locks/memory barriers.
      - there is a gap between calls to os_event_reset() and
        os_event_wait() and in such case we're supposed to pass
        return value of the former to the latter.
      
      Fixed by replacing self-cooked spinlocks with system mutexes.
      These days system mutexes offer much better performance. OTOH
      performance is not that critical for debug builds.
      6192f0bf
    • Olivier Bertrand's avatar
      - Try to fix some test failure · de3ee460
      Olivier Bertrand authored
      modified:
        storage/connect/mysql-test/connect/t/part_table.test
      de3ee460
  14. 23 Jul, 2014 1 commit
    • Sergey Vojtovich's avatar
      MDEV-6473 - main.statistics fails on PPC64 · d466ed90
      Sergey Vojtovich authored
      mysql.column_stats wasn't stored/restored properly on big-endian
      with histogram_type=DOUBLE_PREC_HB.
      
      Store histogram values using int2store()/uint2korr().
      
      Note that this patch invalidates previously calculated histogram
      values on big-endian.
      d466ed90
  15. 22 Jul, 2014 9 commits
  16. 21 Jul, 2014 2 commits