1. 27 Sep, 2014 2 commits
    • Olivier Bertrand's avatar
      - Add some new tests · ed72d2d2
      Olivier Bertrand authored
      added:
        storage/connect/mysql-test/connect/r/datest.result
        storage/connect/mysql-test/connect/r/mrr.result
        storage/connect/mysql-test/connect/r/updelx2.result
        storage/connect/mysql-test/connect/t/datest.test
        storage/connect/mysql-test/connect/t/mrr.test
        storage/connect/mysql-test/connect/t/updelx2.test
      ed72d2d2
    • Olivier Bertrand's avatar
      - Fix: Crash of an XCOL table when the Colname column size is too small. · 8585a6b5
      Olivier Bertrand authored
        Was because of buffer overrun in XCLCOL::ReadColumn.
        The Cbuf buffer was unconditionally filled Now it is limited to its size.
        This happened because this buffer was allocated according to the XCOL
        column size. It is now allocated according to the source column size.
      modified:
        storage/connect/plgdbsem.h
        storage/connect/tabutil.h
        storage/connect/tabxcl.cpp
        storage/connect/tabxcl.h
      8585a6b5
  2. 16 Sep, 2014 1 commit
  3. 06 Sep, 2014 1 commit
    • Olivier Bertrand's avatar
      - Fix MDEV-6624 (indexing on void table) · a1c3656e
      Olivier Bertrand authored
      modified:
        storage/connect/ha_connect.cc
      
      - Suppress "Position array is null" warning.
      modified:
        storage/connect/filamtxt.cpp
        storage/connect/mysql-test/connect/r/part_table.result
      a1c3656e
  4. 05 Sep, 2014 1 commit
  5. 01 Sep, 2014 1 commit
  6. 29 Aug, 2014 1 commit
  7. 27 Aug, 2014 1 commit
  8. 26 Aug, 2014 1 commit
    • Olivier Bertrand's avatar
      - Fix a test failure. Due to mmap on void file being accepted on Windows · 66ffa094
      Olivier Bertrand authored
        while returning an error on Linux. Now accepted on linux.
      modified:
        storage/connect/maputil.cpp
      
      - Fix a BUG in the XHUGE class. lseek64 was wrongly regarded as in error
        when returning 0 instead of -1. This produced wrong index files.
      modified:
        storage/connect/filamfix.cpp
        storage/connect/maputil.cpp
        storage/connect/xindex.cpp
      
      - Fix length mismatch (tab instead of blanks?)
      modified:
        storage/connect/mysql-test/connect/r/updelx.result
      66ffa094
  9. 25 Aug, 2014 2 commits
  10. 24 Aug, 2014 1 commit
  11. 23 Aug, 2014 1 commit
    • Olivier Bertrand's avatar
      - Move DataPath from the MYCAT catalog to the ha_connect handler. Indeed · 74a46726
      Olivier Bertrand authored
        it belongs to each tables and the catalog being share between several
        instances of CONNECT, when a query implied several tables belonging to
        different databases, some where pointing on the wrong database. This
        fix bugs occuring in queries such as:
        INSERT into db1.t1 select * from db2.t2;
        Where the t1 data file was made in db2.
      modified:
        storage/connect/catalog.h
        storage/connect/connect.cc
        storage/connect/filamdbf.cpp
        storage/connect/filamdbf.h
        storage/connect/ha_connect.cc
        storage/connect/ha_connect.h
        storage/connect/mycat.cc
        storage/connect/mycat.h
        storage/connect/plgdbsem.h
        storage/connect/plgdbutl.cpp
        storage/connect/reldef.cpp
        storage/connect/reldef.h
        storage/connect/tabfix.h
        storage/connect/tabfmt.cpp
        storage/connect/tabfmt.h
        storage/connect/tabmul.cpp
      74a46726
  12. 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
  13. 15 Aug, 2014 1 commit
  14. 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
  15. 08 Aug, 2014 2 commits
  16. 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
  17. 05 Aug, 2014 1 commit
  18. 04 Aug, 2014 2 commits
  19. 31 Jul, 2014 7 commits
  20. 30 Jul, 2014 4 commits
  21. 27 Jul, 2014 1 commit
  22. 26 Jul, 2014 1 commit
  23. 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
  24. 24 Jul, 2014 1 commit
    • 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