• Olivier Bertrand's avatar
    This commit brings many changes, in particular two important ones: · 19042843
    Olivier Bertrand authored
    1) Support of partitioning by connect. A table can be partitioned
       by files, this is an enhanced MULTIPLE table. It can be also
       partitioned by sub-tables like TBL and this enables table sharding.
    2) Handling a CONNECT bug that causes in some cases extraneous rows
       to remain in the table after an UPDATE or DELETE when the command
       uses indexing (for not fixed file tables). Until a real fix is
       done, CONNECT tries to ignore indexing and if it cannot do it
       abort the command with an error message.
    
    - Add tests on partitioning
    added:
      storage/connect/mysql-test/connect/r/part_file.result
      storage/connect/mysql-test/connect/r/part_table.result
      storage/connect/mysql-test/connect/t/part_file.test
      storage/connect/mysql-test/connect/t/part_table.test
    
    - Temporary fix
    modified:
      sql/sql_partition.cc
    
    - Add partition support
    modified:
      storage/connect/ha_connect.cc
      storage/connect/ha_connect.h
      storage/connect/reldef.cpp
      storage/connect/reldef.h
      storage/connect/tabdos.cpp
    
    - Add functions ha_connect::IsUnique and ha_connect::CheckColumnList
    modified:
      storage/connect/ha_connect.cc
      storage/connect/ha_connect.h
    
    - Prevent updating a partition table column that is part of
      the partition function (outward tables only)
    modified:
      storage/connect/ha_connect.cc
    
    - Support INSERT/UPDATE/DELETE for PROXY tables
    modified:
      storage/connect/tabutil.cpp
    
    - Handle the bug on updating rows via indexing. Waiting for a real fix,
      Don't use indexing when possible else raise an error and abort.
    modified:
      storage/connect/ha_connect.cc
    
    - dbuserp->UseTemp set to TMP_AUTO
    modified:
      storage/connect/connect.cc
    
    - Add members nox, abort and only
    modified:
      storage/connect/ha_connect.cc
      storage/connect/ha_connect.h
    
    - Add arguments nox and abort to CntCloseTable
    modified:
      storage/connect/connect.cc
      storage/connect/connect.h
      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/filamzip.cpp
      storage/connect/filamzip.h
      storage/connect/ha_connect.cc
    
    - Add arguments abort to CloseTableFile and RenameTempFile
    modified:
      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/filamzip.cpp
      storage/connect/filamzip.h
      storage/connect/tabdos.cpp
      storage/connect/tabdos.h
      storage/connect/tabvct.cpp
      storage/connect/xtable.h
    
    - Fix info->records when file does not exists
    modified:
      storage/connect/connect.cc
    
    - Close XML table when opened for info
    modified:
      storage/connect/connect.cc
    
    - Add function VCTFAM::GetFileLength
    modified:
      storage/connect/filamvct.cpp
      storage/connect/filamvct.h
    
    - Column option DISTRIB -> ENUM
    modified:
      storage/connect/ha_connect.cc
    
    - Options connect, query_string and partname allways available
    modified:
      storage/connect/ha_connect.cc
    
    - Add function MYSQLC::GetTableSize
    modified:
      storage/connect/myconn.cpp
      storage/connect/myconn.h
    
    - Add new special columns (PARTNAME, FNAME, FPATH, FTYPE and FDISK)
    modified:
      storage/connect/colblk.cpp
      storage/connect/colblk.h
      storage/connect/plgdbsem.h
      storage/connect/table.cpp
    
    - Add function ExtractFromPath
    modified:
      storage/connect/colblk.cpp
      storage/connect/plgdbsem.h
      storage/connect/plgdbutl.cpp
    
    - Enhance Cardinality for some table types
    modified:
      storage/connect/tabdos.cpp
      storage/connect/tabmysql.cpp
      storage/connect/tabmysql.h
      storage/connect/tabodbc.cpp
      storage/connect/tabodbc.h
      storage/connect/tabsys.cpp
      storage/connect/tabsys.h
      storage/connect/xindex.cpp
      storage/connect/xindex.h
      storage/connect/xtable.h
    
    - Add test on special column
    modified:
      storage/connect/tabfmt.cpp
    
    - Add new files (added for block indexing)
    modified:
      storage/connect/CMakeLists.txt
    19042843
tabdos.h 11.1 KB