You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6356 lines
188 KiB

This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
Fixing compilation problems on Unix: 1. Conflicting declarations: In file included from /usr/include/sql.h:19:0, from <path>/storage/connect/odbconn.h:15, from <path>/storage/connect/ha_connect.cc:117: /usr/include/sqltypes.h:98:23: error: conflicting declaration ‘typedef unsigned int DWORD’ os.h and unixODBC's sqltypes.h (included from sql.h) have conflicting declarations, because unixODBC for some reasons incorrectly defines DWORD as "unsigned int", while we define DWORD as "unsigned long" (which is the Microsoft way). We should never include os.h and odbconn.h from the same file. Inside tabodbc.cpp DWORD must be seen as sql.h defines it. In all other files DWORD must be seen as os.h defines it. Fix: Moving ODBC catalog function prototypes into a separate file odbccat.h. Fixing ha_connect.cc to include odbccat.h instead of odbcon.h 2. Use of ambiguous overloaded function in myconn.cpp: There's no a method SetValue(const char *fmt, int i); There's only a method SetValue(char *fmt, int i); Fixing the call accordingly: - crp->Kdata->SetValue((fmt) ? fmt : "", i); + crp->Kdata->SetValue((fmt) ? fmt : (char*) "", i); Note, this is a quick hack. The correct fix would be to change the method prototype to have the "fmt" argument as "const char *". However, it is tightly related to about 300 other places where "char*" is used instead of "const char *". We'll need to fix all of them gradually (in separate changes). added: storage/connect/odbccat.h modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/odbconn.h storage/connect/tabodbc.cpp
13 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
"mtr --suite=connect --embedded" tests did not work for two reasons: 1. The Connect engine code assumed that mysql_home_directory is always "./", which is not the fact in case of embedded server. Fixing the routines creating file names to add the mysql_home_directory prefix. 2. FILE privilege is not checked in embedded server. Moving FILE related tests into separate files. Skipping the FILE related tests when running with --embedded. added: storage/connect/mysql-test/connect/r/grant.result storage/connect/mysql-test/connect/r/ini_grant.result storage/connect/mysql-test/connect/r/mysql_grant.result storage/connect/mysql-test/connect/r/xml_grant.result storage/connect/mysql-test/connect/t/grant.test storage/connect/mysql-test/connect/t/ini_grant.test storage/connect/mysql-test/connect/t/mysql_grant.test storage/connect/mysql-test/connect/t/xml_grant.test modified: storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/mysql.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/r/xml.result storage/connect/mysql-test/connect/t/bin.test storage/connect/mysql-test/connect/t/csv.test storage/connect/mysql-test/connect/t/dbf.test storage/connect/mysql-test/connect/t/dir.test storage/connect/mysql-test/connect/t/fix.test storage/connect/mysql-test/connect/t/ini.test storage/connect/mysql-test/connect/t/mysql.test storage/connect/mysql-test/connect/t/vec.test storage/connect/mysql-test/connect/t/xml.test storage/connect/plgdbsem.h storage/connect/plugutil.c
13 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
13 years ago
13 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
13 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
"mtr --suite=connect --embedded" tests did not work for two reasons: 1. The Connect engine code assumed that mysql_home_directory is always "./", which is not the fact in case of embedded server. Fixing the routines creating file names to add the mysql_home_directory prefix. 2. FILE privilege is not checked in embedded server. Moving FILE related tests into separate files. Skipping the FILE related tests when running with --embedded. added: storage/connect/mysql-test/connect/r/grant.result storage/connect/mysql-test/connect/r/ini_grant.result storage/connect/mysql-test/connect/r/mysql_grant.result storage/connect/mysql-test/connect/r/xml_grant.result storage/connect/mysql-test/connect/t/grant.test storage/connect/mysql-test/connect/t/ini_grant.test storage/connect/mysql-test/connect/t/mysql_grant.test storage/connect/mysql-test/connect/t/xml_grant.test modified: storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/mysql.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/r/xml.result storage/connect/mysql-test/connect/t/bin.test storage/connect/mysql-test/connect/t/csv.test storage/connect/mysql-test/connect/t/dbf.test storage/connect/mysql-test/connect/t/dir.test storage/connect/mysql-test/connect/t/fix.test storage/connect/mysql-test/connect/t/ini.test storage/connect/mysql-test/connect/t/mysql.test storage/connect/mysql-test/connect/t/vec.test storage/connect/mysql-test/connect/t/xml.test storage/connect/plgdbsem.h storage/connect/plugutil.c
13 years ago
"mtr --suite=connect --embedded" tests did not work for two reasons: 1. The Connect engine code assumed that mysql_home_directory is always "./", which is not the fact in case of embedded server. Fixing the routines creating file names to add the mysql_home_directory prefix. 2. FILE privilege is not checked in embedded server. Moving FILE related tests into separate files. Skipping the FILE related tests when running with --embedded. added: storage/connect/mysql-test/connect/r/grant.result storage/connect/mysql-test/connect/r/ini_grant.result storage/connect/mysql-test/connect/r/mysql_grant.result storage/connect/mysql-test/connect/r/xml_grant.result storage/connect/mysql-test/connect/t/grant.test storage/connect/mysql-test/connect/t/ini_grant.test storage/connect/mysql-test/connect/t/mysql_grant.test storage/connect/mysql-test/connect/t/xml_grant.test modified: storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/mysql.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/r/xml.result storage/connect/mysql-test/connect/t/bin.test storage/connect/mysql-test/connect/t/csv.test storage/connect/mysql-test/connect/t/dbf.test storage/connect/mysql-test/connect/t/dir.test storage/connect/mysql-test/connect/t/fix.test storage/connect/mysql-test/connect/t/ini.test storage/connect/mysql-test/connect/t/mysql.test storage/connect/mysql-test/connect/t/vec.test storage/connect/mysql-test/connect/t/xml.test storage/connect/plgdbsem.h storage/connect/plugutil.c
13 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
"mtr --suite=connect --embedded" tests did not work for two reasons: 1. The Connect engine code assumed that mysql_home_directory is always "./", which is not the fact in case of embedded server. Fixing the routines creating file names to add the mysql_home_directory prefix. 2. FILE privilege is not checked in embedded server. Moving FILE related tests into separate files. Skipping the FILE related tests when running with --embedded. added: storage/connect/mysql-test/connect/r/grant.result storage/connect/mysql-test/connect/r/ini_grant.result storage/connect/mysql-test/connect/r/mysql_grant.result storage/connect/mysql-test/connect/r/xml_grant.result storage/connect/mysql-test/connect/t/grant.test storage/connect/mysql-test/connect/t/ini_grant.test storage/connect/mysql-test/connect/t/mysql_grant.test storage/connect/mysql-test/connect/t/xml_grant.test modified: storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/mysql.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/r/xml.result storage/connect/mysql-test/connect/t/bin.test storage/connect/mysql-test/connect/t/csv.test storage/connect/mysql-test/connect/t/dbf.test storage/connect/mysql-test/connect/t/dir.test storage/connect/mysql-test/connect/t/fix.test storage/connect/mysql-test/connect/t/ini.test storage/connect/mysql-test/connect/t/mysql.test storage/connect/mysql-test/connect/t/vec.test storage/connect/mysql-test/connect/t/xml.test storage/connect/plgdbsem.h storage/connect/plugutil.c
13 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
"mtr --suite=connect --embedded" tests did not work for two reasons: 1. The Connect engine code assumed that mysql_home_directory is always "./", which is not the fact in case of embedded server. Fixing the routines creating file names to add the mysql_home_directory prefix. 2. FILE privilege is not checked in embedded server. Moving FILE related tests into separate files. Skipping the FILE related tests when running with --embedded. added: storage/connect/mysql-test/connect/r/grant.result storage/connect/mysql-test/connect/r/ini_grant.result storage/connect/mysql-test/connect/r/mysql_grant.result storage/connect/mysql-test/connect/r/xml_grant.result storage/connect/mysql-test/connect/t/grant.test storage/connect/mysql-test/connect/t/ini_grant.test storage/connect/mysql-test/connect/t/mysql_grant.test storage/connect/mysql-test/connect/t/xml_grant.test modified: storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/mysql.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/r/xml.result storage/connect/mysql-test/connect/t/bin.test storage/connect/mysql-test/connect/t/csv.test storage/connect/mysql-test/connect/t/dbf.test storage/connect/mysql-test/connect/t/dir.test storage/connect/mysql-test/connect/t/fix.test storage/connect/mysql-test/connect/t/ini.test storage/connect/mysql-test/connect/t/mysql.test storage/connect/mysql-test/connect/t/vec.test storage/connect/mysql-test/connect/t/xml.test storage/connect/plgdbsem.h storage/connect/plugutil.c
13 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
13 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This is a major update that fixes most of the issues and bugs that 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
MDEV-5241: Collation incompatibilities with MySQL-5.6 - Character set code & tests from Alexander Barkov - Integration with ALTER TABLE, REPAIR and open_table from Monty The problem was that MySQL 5.6 added some croatian and vitanamese character set collations that are incompatible with MariaDB. The fix is to move the MariaDB conflicting collation numbers out of the region that MySQL is likely to use. mysql_upgrade, REPAIR TABLE or ALTER TABLE will fix the collations. If one tries to access and old incompatible table, one will get the error "Table upgrade required...." After this patch, MariaDB supports all the MySQL character set collations and the old MariaDB croatian collations, which are closer to the latest standard than the MySQL versions. New character sets: ucs2_croatian_mysql561_uca_ci utf8_croatian_mysql561_uca_ci utf16_croatian_mysql561_uca_ci utf32_croatian_mysql561_uca_ci utf8mb4_croatian_mysql561_uca_ci Other things: - Fixed some compiler warnings - mysql_upgrade prints information about repaired tables. - Increased version number VERSION: Increased VERSION number client/mysqlcheck.c: Print repaired table name when using --verbose include/m_ctype.h: Add new MariaDB collation regions that are not likely to conflict with MySQL include/my_base.h: Added flag to detect if table was opened for ALTER TABLE mysql-test/r/ctype_ldml.result: Updated result mysql-test/r/ctype_uca.result: Updated result mysql-test/r/ctype_upgrade.result: Updated result mysql-test/r/ctype_utf16_uca.result: Updated result mysql-test/r/ctype_utf32_uca.result: Updated result mysql-test/r/ctype_utf8mb4_uca.result: Updated result mysql-test/std_data/ctype_upgrade: Test files for testing upgrading of conflicting collations mysql-test/suite/engines/funcs/r/db_alter_collate_ascii.result: New collations added mysql-test/suite/engines/funcs/r/db_alter_collate_utf8.result: New collations added mysql-test/suite/innodb/r/innodb_ctype_ldml.result: Updated test result mysql-test/suite/innodb/t/innodb_ctype_ldml.test: Updated test result mysql-test/suite/plugins/r/show_all_plugins.result: Updated version number mysql-test/suite/roles/create_and_drop_role_invalid_user_table.result: Updated version number mysql-test/t/ctype_ldml.test: Updated test mysql-test/t/ctype_uca.test: Testing of new collations mysql-test/t/ctype_upgrade.test: Testing of upgrading tables with old collations The test ensures that: - We will get an error if we try to open a table with old collations. - CHECK TABLE will detect that the table needs to be upgraded. - ALTER TABLE and REPAIR will fix the table. - mysql_upgrade works as expected mysql-test/t/ctype_utf16_uca.test: Testing of new collations mysql-test/t/ctype_utf32_uca.test: Testing of new collations mysql-test/t/ctype_utf8mb4_uca.test: Testing of new collations mysys/charset-def.c: Added new character sets mysys/charset.c: Always give an error, if requested, if a character set didn't exist sql/handler.cc: - Added upgrade_collation() to check if collation is compatible with old version - check_collation_compatibility() checks if we are using an old collation from MariaDB 5.5 or MySQL 5.6 - ha_check_for_upgrade() returns HA_ADMIN_NEEDS_ALTER if we have an incompatible collation sql/handler.h: Added new prototypes sql/sql_table.cc: - Mark that tables are opened for ALTER TABLE - If table needs to be upgraded, ensure we are not using online alter table. sql/table.cc: - If we are using an old incompatible collation, change to use the new one and mark table as incompatible. - Give an error if we try to open an incompatible table. sql/table.h: Added error that table needs to be rebuild storage/connect/ha_connect.cc: Fixed compiler warning strings/ctype-uca.c: New character sets
12 years ago
Fixes to get valgrind to work with jemalloc - Added MALLOC_LIBRARY variable to hold name of malloc library - Back ported valgrind related fixes from jemalloc 3.4.1 to the included jemalloc 3.3.1 - Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1 - Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc - Show version related variables in mysqld --help -- Added SHOW_VALUE_IN_HELP marker Increased back_log to 150 as the original value was a bit too small CMakeLists.txt: Added MALLOC_LIBRARY variable to hold name of malloc library cmake/jemalloc.cmake: Added MALLOC_LIBRARY variable to hold name of malloc library config.h.cmake: Added MALLOC_LIBRARY variable to hold name of malloc library extra/jemalloc/ChangeLog: Updates changelog extra/jemalloc/include/jemalloc/internal/arena.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/jemalloc_internal.h.in: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/private_namespace.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/tcache.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/src/arena.c: Backported valgrind fixes from jemalloc 3.4.1 include/my_bitmap.h: Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1 mysql-test/mysql-test-run.pl: Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc mysql-test/valgrind.supp: Supression of memory leak in OpenSuse 12.3 mysys/my_bitmap.c: Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() sql/ha_ndbcluster_binlog.cc: Renames sql/ha_ndbcluster_cond.h: Renames sql/ha_partition.cc: Renames sql/handler.cc: Renames sql/item_subselect.cc: Renames sql/log_event.cc: Renames sql/log_event_old.cc: Renames sql/mysqld.cc: Renames Show version related variables in mysqld --help sql/opt_range.cc: Renames sql/opt_table_elimination.cc: Renames sql/partition_info.cc: Renames sql/rpl_injector.h: Renames sql/set_var.h: Renames sql/slave.cc: Renames sql/sql_bitmap.h: Renames sql/sql_insert.cc: Renames sql/sql_lex.h: Renames sql/sql_parse.cc: Renames sql/sql_partition.cc: Renames sql/sql_select.cc: Renames sql/sql_show.cc: Renames sql/sql_update.cc: Renames sql/sys_vars.cc: Show version related variables in mysqld --help sql/sys_vars.h: Added SHOW_VALUE_IN_HELP marker for variables that should be shown in --help sql/table.cc: Renames sql/table.h: Removed not used bitmap_init_value storage/connect/ha_connect.cc: Removed compiler warning storage/maria/ma_open.c: Renames unittest/mysys/bitmap-t.c: Renames
12 years ago
Fixes to get valgrind to work with jemalloc - Added MALLOC_LIBRARY variable to hold name of malloc library - Back ported valgrind related fixes from jemalloc 3.4.1 to the included jemalloc 3.3.1 - Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1 - Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc - Show version related variables in mysqld --help -- Added SHOW_VALUE_IN_HELP marker Increased back_log to 150 as the original value was a bit too small CMakeLists.txt: Added MALLOC_LIBRARY variable to hold name of malloc library cmake/jemalloc.cmake: Added MALLOC_LIBRARY variable to hold name of malloc library config.h.cmake: Added MALLOC_LIBRARY variable to hold name of malloc library extra/jemalloc/ChangeLog: Updates changelog extra/jemalloc/include/jemalloc/internal/arena.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/jemalloc_internal.h.in: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/private_namespace.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/include/jemalloc/internal/tcache.h: Backported valgrind fixes from jemalloc 3.4.1 extra/jemalloc/src/arena.c: Backported valgrind fixes from jemalloc 3.4.1 include/my_bitmap.h: Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() to avoid clash with jemalloc 3.4.1 mysql-test/mysql-test-run.pl: Use option --soname-synonyms=somalloc=NON to valgrind when using jemalloc mysql-test/valgrind.supp: Supression of memory leak in OpenSuse 12.3 mysys/my_bitmap.c: Renamed bitmap_init() and bitmap_free() to my_bitmap_init() and my_bitmap_free() sql/ha_ndbcluster_binlog.cc: Renames sql/ha_ndbcluster_cond.h: Renames sql/ha_partition.cc: Renames sql/handler.cc: Renames sql/item_subselect.cc: Renames sql/log_event.cc: Renames sql/log_event_old.cc: Renames sql/mysqld.cc: Renames Show version related variables in mysqld --help sql/opt_range.cc: Renames sql/opt_table_elimination.cc: Renames sql/partition_info.cc: Renames sql/rpl_injector.h: Renames sql/set_var.h: Renames sql/slave.cc: Renames sql/sql_bitmap.h: Renames sql/sql_insert.cc: Renames sql/sql_lex.h: Renames sql/sql_parse.cc: Renames sql/sql_partition.cc: Renames sql/sql_select.cc: Renames sql/sql_show.cc: Renames sql/sql_update.cc: Renames sql/sys_vars.cc: Show version related variables in mysqld --help sql/sys_vars.h: Added SHOW_VALUE_IN_HELP marker for variables that should be shown in --help sql/table.cc: Renames sql/table.h: Removed not used bitmap_init_value storage/connect/ha_connect.cc: Removed compiler warning storage/maria/ma_open.c: Renames unittest/mysys/bitmap-t.c: Renames
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
- NOTE: an experimental implementation of MRR was done but not kept in this version. Sure enough, it never caused any improvement in the execution speed and rather caused a small increase of execution time. This is probably because values are sorted by rowid in each range of CONNECT indexes. This could be reconsidered if a customer have a need for processing very big files. - Fix a bug in ha_connect::CheckCond. The negated form of BETWEEN and IS NULL operators was not recognized. modified: storage/connect/ha_connect.cc - Add long jump initialization in CntReadNext. This was causing a server crash when an error occured in a ReadColumn. modified: storage/connect/connect.cc - General cleanup of CONNECT source code eliminating all code not used by CONNECT, including the MRR test code (saved separately). modified: storage/connect/catalog.h storage/connect/colblk.cpp storage/connect/colblk.h storage/connect/connect.cc storage/connect/connect.h storage/connect/domdoc.h storage/connect/filamap.cpp storage/connect/filamap.h 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/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/myconn.h storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/plugutil.c storage/connect/preparse.h storage/connect/reldef.cpp storage/connect/reldef.h storage/connect/tabcol.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabfix.cpp storage/connect/tabfmt.cpp storage/connect/tabfmt.h storage/connect/table.cpp storage/connect/tabmac.h storage/connect/tabmul.h storage/connect/tabmysql.cpp storage/connect/tabmysql.h storage/connect/taboccur.h storage/connect/tabodbc.cpp storage/connect/tabodbc.h storage/connect/tabsys.cpp storage/connect/tabsys.h storage/connect/tabtbl.cpp storage/connect/tabtbl.h storage/connect/tabutil.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/tabwmi.cpp storage/connect/tabwmi.h storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/user_connect.cc storage/connect/user_connect.h storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp storage/connect/value.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xobject.cpp storage/connect/xobject.h storage/connect/xtable.h
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This commit brings many changes, in particular two important ones: 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
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a new version of the CONNECT storage engine. It was developed in a sub-branch of this one and merged by pushing all the changes from it. This version adds the following to CONNECT: - MRR support (similar to the MyISAM one) - Block, Remote and dynamic indexing - Partitioning support (using the PARTITION engine) Here is a list of the commited changes made in the sub-branch: ======================================================================== ------------------------------------------------------------ revno: 4009 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Thu 2014-07-17 18:13:51 +0200 message: This commit brings many changes, in particular two important ones: 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 ------------------------------------------------------------ revno: 4007 [merge] committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-31 12:31:26 +0200 message: - Begin adding support of partition tables modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - Add INSERT/UPDATE support to PROXY tables modified: storage/connect/tabutil.cpp storage/connect/tabutil.h - Take care of SPECIAL columns modified: storage/connect/filamdbf.cpp storage/connect/reldef.h storage/connect/tabfmt.cpp -Typo and misc modified: storage/connect/odbconn.cpp storage/connect/tabfix.cpp storage/connect/xindex.cpp ------------------------------------------------------------ revno: 4006 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-05-10 12:21:08 +0200 message: - FIX some MAP and XMAP errors (such as mapped indexes not closed) Do not put version in XML files header Remove HTON_NO_PARTITION for testing Fix a wrong return (instead of DBUG_RETURN) in index_init Plus a few typos modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/ha_connect.cc storage/connect/maputil.cpp storage/connect/mysql-test/connect/r/alter_xml.result storage/connect/mysql-test/connect/r/xml.result storage/connect/table.cpp storage/connect/tabxml.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4005 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Fri 2014-05-02 15:55:45 +0200 message: - Adding fetched columns to Dynamic index key (unique only) Fix two bugs concerning added KXYCOL's: 1 - Not set during reading 2 - Val_K not set in FastFind modified: storage/connect/connect.cc storage/connect/filamtxt.h storage/connect/tabdos.cpp storage/connect/tabfix.cpp storage/connect/table.cpp storage/connect/valblk.h storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 4003 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Wed 2014-04-30 10:48:29 +0200 message: - Implementation of adding selected columns to dynamic indexes. modified: storage/connect/connect.cc storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/tabvct.cpp storage/connect/tabvct.h storage/connect/xindex.cpp storage/connect/xindex.h ------------------------------------------------------------ revno: 4001 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sat 2014-04-26 00:17:26 +0200 message: - Implement dynamic indexing modified: storage/connect/connect.cc storage/connect/filter.cpp storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/tabdos.cpp storage/connect/tabdos.h storage/connect/table.cpp storage/connect/xindex.cpp storage/connect/xindex.h storage/connect/xtable.h ------------------------------------------------------------ revno: 3995 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Sun 2014-03-23 18:49:19 +0100 message: - Work in progress modified: storage/connect/filter.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result ------------------------------------------------------------ revno: 3991 committer: Olivier Bertrand <bertrandop@gmail.com> branch nick: 10.0-connect timestamp: Mon 2014-03-10 18:59:36 +0100 message: - Adding files needed for block indexing added: storage/connect/array.cpp storage/connect/array.h storage/connect/blkfil.cpp storage/connect/blkfil.h storage/connect/filter.cpp storage/connect/filter.h ======================================================================== This commit of the main branch adds: - A change needed to have the engine function check_if_supported_inplace_alter called for partition tables (was done manually in the sub-branch) by adding the preparser define: PARTITION_SUPPORTS_INPLACE_ALTER modified: sql/CMakeLists.txt - A fix concerning the FileExists function. It was needed to force the function table_flags to return the same flags for all partitions. This is tested by the partition engine and raises an error if flags are not equal. The way file name, table name and connection string are retrieved has been modified to cope with it. modified: storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/reldef.cpp - A few typos, such as the version string. modified: storage/connect/ha_connect.cc - Updating some test result files because some warnings are no more raised. modified: storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/part_file.result storage/connect/mysql-test/connect/r/pivot.result
11 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
This is a major update of CONNECT that goes from version 1.1 to 1.2 =================================================================== - Implement a first support of the ALTER TABLE command. This fixes MDEV-5440 but does much more than only that. See the details of how ALTER is supported in the new documentation and also in MDEV-5440 comment. This is done principally by implementing for CONNECT the virtual function check_if_supported_inplace_alter. modified: storage/connect/connect.cc storage/connect/global.h storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/mysql-test/connect/r/bin.result storage/connect/mysql-test/connect/r/csv.result storage/connect/mysql-test/connect/r/dbf.result storage/connect/mysql-test/connect/r/dir.result storage/connect/mysql-test/connect/r/fix.result storage/connect/mysql-test/connect/r/index.result storage/connect/mysql-test/connect/r/ini.result storage/connect/mysql-test/connect/r/occur.result storage/connect/mysql-test/connect/r/pivot.result storage/connect/mysql-test/connect/r/vec.result storage/connect/mysql-test/connect/t/dbf.test storage/connect/plugutil.c storage/connect/user_connect.cc - Fixes the tabname/table_name issue for XML tables. Implement multiple files XML tables. modified: storage/connect/tabxml.cpp storage/connect/tabxml.h - Set to varchar(256) the fields of catalog tables stored as STRBLK's (had length 0 --> CHAR(1)) Add the GetCharString function to the VALBLK class modified: storage/connect/ha_connect.cc storage/connect/valblk.cpp storage/connect/valblk.h storage/connect/value.cpp - Translate CONNECT error messages to system_charset to avoid truncation on not ASCII characters. modified: storage/connect/ha_connect.cc - Update version number modified: storage/connect/ha_connect.cc storage/connect/mysql-test/connect/r/xml.result - Move the TDBASE::data_charset body from xtable.h to table.cpp. (dont' remember why) modified: storage/connect/table.cpp storage/connect/xtable.h - Other modifications are to enhance the support of OEM tables. In particular, they can now provide column definition in dicovery. modified: storage/connect/colblk.h storage/connect/global.h storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/plgcnx.h storage/connect/plgdbsem.h storage/connect/xtable.h - Or to add or modify tracing. modified: storage/connect/filamtxt.cpp storage/connect/ha_connect.cc storage/connect/plgdbutl.cpp storage/connect/tabfix.cpp storage/connect/tabmysql.cpp
12 years ago
- Commit merged files removed: libmysql/libmysql.ver.in libmysql/rpm_support.cc mysql-test/r/backup.result mysql-test/r/binlog_tx_isolation.result mysql-test/r/isam.result mysql-test/r/rpl_colSize.result mysql-test/r/rpl_extraColmaster_innodb.result mysql-test/r/rpl_extraColmaster_myisam.result mysql-test/r/slave-running.result mysql-test/r/slave-stopped.result storage/test_sql_discovery/mysql-test/archive/discover.rdiff storage/test_sql_discovery/mysql-test/main/r/plugin.rdiff storage/tokudb/ft-index/portability/tests/test-fair-rwlock.cc storage/tokudb/ft-index/portability/toku_fair_rwlock.cc storage/tokudb/ft-index/portability/toku_fair_rwlock.h storage/tokudb/scripts/run.tests.7.0.3.bash added: cmake/CPackRPM.cmake cmake/pcre.cmake mysql-test/include/have_metadata_lock_info.inc mysql-test/include/have_metadata_lock_info.opt mysql-test/include/have_rbr_triggers.inc mysql-test/include/have_unix_socket.inc mysql-test/include/save_master_gtid.inc mysql-test/include/sync_with_master_gtid.inc mysql-test/r/create_or_replace.result mysql-test/r/create_or_replace2.result mysql-test/r/failed_auth_unixsocket.result mysql-test/r/locked_temporary-5955.result mysql-test/r/lowercase_table5.result mysql-test/r/selectivity_no_engine.result mysql-test/r/stack-crash.result mysql-test/r/udf_debug_sync.result mysql-test/r/union_crash-714.result mysql-test/std_data/mariadb-5.5-binlog.000001 mysql-test/suite/archive/archive_no_symlink-master.opt mysql-test/suite/archive/archive_no_symlink.result mysql-test/suite/archive/archive_no_symlink.test mysql-test/suite/archive/archive_symlink.result mysql-test/suite/archive/archive_symlink.test mysql-test/suite/federated/federated_maybe_16324629.result mysql-test/suite/federated/federated_maybe_16324629.test mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result mysql-test/suite/innodb/r/row_lock.result mysql-test/suite/innodb/t/innodb-change-buffer-recovery-master.opt mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test mysql-test/suite/innodb/t/row_lock.test mysql-test/suite/innodb_zip/ mysql-test/suite/innodb_zip/r/ mysql-test/suite/innodb_zip/t/ mysql-test/suite/multi_source/gtid_ignore_duplicates.cnf mysql-test/suite/multi_source/gtid_ignore_duplicates.result mysql-test/suite/multi_source/gtid_ignore_duplicates.test mysql-test/suite/plugins/r/server_audit.result mysql-test/suite/plugins/t/server_audit.opt mysql-test/suite/plugins/t/server_audit.test mysql-test/suite/roles/grant-5771.result mysql-test/suite/roles/grant-5771.test mysql-test/suite/rpl/r/create_or_replace_mix.result mysql-test/suite/rpl/r/create_or_replace_row.result mysql-test/suite/rpl/r/create_or_replace_statement.result mysql-test/suite/rpl/r/rpl_old_master.result mysql-test/suite/rpl/r/rpl_parallel2.result mysql-test/suite/rpl/r/rpl_row_triggers.result mysql-test/suite/rpl/r/rpl_row_triggers_sbr.result mysql-test/suite/rpl/t/create_or_replace.inc mysql-test/suite/rpl/t/create_or_replace_mix.cnf mysql-test/suite/rpl/t/create_or_replace_mix.test mysql-test/suite/rpl/t/create_or_replace_row.cnf mysql-test/suite/rpl/t/create_or_replace_row.test mysql-test/suite/rpl/t/create_or_replace_statement.cnf mysql-test/suite/rpl/t/create_or_replace_statement.test mysql-test/suite/rpl/t/rpl_000011-slave.opt mysql-test/suite/rpl/t/rpl_old_master.test mysql-test/suite/rpl/t/rpl_parallel2.test mysql-test/suite/rpl/t/rpl_row_triggers.test mysql-test/suite/rpl/t/rpl_row_triggers_sbr.test mysql-test/suite/sys_vars/r/gtid_ignore_duplicates_basic.result mysql-test/suite/sys_vars/r/last_gtid_basic.result mysql-test/suite/sys_vars/r/slave_ddl_exec_mode_basic.result mysql-test/suite/sys_vars/r/slave_domain_parallel_threads_basic.result mysql-test/suite/sys_vars/r/version_malloc_library_basic.result mysql-test/suite/sys_vars/t/gtid_ignore_duplicates_basic.test mysql-test/suite/sys_vars/t/last_gtid_basic.test mysql-test/suite/sys_vars/t/slave_ddl_exec_mode_basic.test mysql-test/suite/sys_vars/t/slave_domain_parallel_threads_basic.test mysql-test/suite/sys_vars/t/version_malloc_library_basic.test mysql-test/t/create_or_replace-master.opt mysql-test/t/create_or_replace.test mysql-test/t/create_or_replace2.test mysql-test/t/failed_auth_unixsocket.test mysql-test/t/locked_temporary-5955.test mysql-test/t/lowercase_table5.test mysql-test/t/selectivity_no_engine.test mysql-test/t/stack-crash.test mysql-test/t/udf_debug_sync.test mysql-test/t/union_crash-714.test packaging/rpm-oel/ packaging/rpm-oel/CMakeLists.txt packaging/rpm-oel/filter-provides.sh packaging/rpm-oel/filter-requires.sh packaging/rpm-oel/my.cnf packaging/rpm-oel/my_config.h packaging/rpm-oel/mysql-embedded-check.c packaging/rpm-oel/mysql-systemd-start packaging/rpm-oel/mysql.conf packaging/rpm-oel/mysql.init packaging/rpm-oel/mysql.spec.in packaging/rpm-oel/mysql_config.sh packaging/rpm-oel/mysqld.service plugin/server_audit/ plugin/server_audit/CMakeLists.txt plugin/server_audit/COPYING plugin/server_audit/server_audit.c storage/connect/mysql-test/connect/r/xml_mult.result storage/connect/mysql-test/connect/std_data/bookstore.xml storage/connect/mysql-test/connect/t/xml_mult.test storage/oqgraph/mysql-test/oqgraph/connections_mdev5748.result storage/oqgraph/mysql-test/oqgraph/connections_mdev5748.test storage/oqgraph/mysql-test/oqgraph/regression_mdev5744.opt storage/oqgraph/mysql-test/oqgraph/regression_mdev5744.result storage/oqgraph/mysql-test/oqgraph/regression_mdev5744.test storage/sphinx/mysql-test/sphinx/union-5539.result storage/sphinx/mysql-test/sphinx/union-5539.test storage/tokudb/ft-index/ft/tests/mempool-115.cc storage/tokudb/ft-index/locktree/tests/lock_request_killed.cc storage/tokudb/ft-index/locktree/tests/lock_request_not_killed.cc storage/tokudb/ft-index/locktree/tests/lock_request_wait_time_callback.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_1big7lt_1small.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_2big_1lt.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_2big_2lt.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_impossible.cc storage/tokudb/ft-index/src/tests/env_nproc.cc storage/tokudb/ft-index/src/tests/get_last_key.cc storage/tokudb/ft-index/src/tests/locktree_escalation_stalls.cc storage/tokudb/ft-index/src/tests/recover-child-rollback.cc storage/tokudb/ft-index/src/tests/test_bad_implicit_promotion.cc storage/tokudb/ft-index/src/tests/test_cursor_interrupt.cc storage/tokudb/ft-index/src/tests/test_insert_many_gc.cc storage/tokudb/ft-index/util/context.cc storage/tokudb/ft-index/util/context.h storage/tokudb/ft-index/util/scoped_malloc.cc storage/tokudb/ft-index/util/scoped_malloc.h storage/tokudb/ft-index/util/tests/test-frwlock-fair-writers.cc storage/tokudb/ft-index/util/tests/test-rwlock-unfair-writers.cc storage/tokudb/mysql-test/tokudb_alter_table/r/drop_pk_with_prefix.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcad_drop_char0_t6.result storage/tokudb/mysql-test/tokudb_alter_table/r/mod_enum.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_add_key.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_col_rename.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_drop_default.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_drop_key.result storage/tokudb/mysql-test/tokudb_alter_table/t/drop_pk_with_prefix.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_drop_char0_t6.test storage/tokudb/mysql-test/tokudb_alter_table/t/mod_enum.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_add_key.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_col_rename.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_drop_default.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_drop_key.test storage/tokudb/mysql-test/tokudb_bugs/include/not_5_5.inc storage/tokudb/mysql-test/tokudb_bugs/r/alter_external_lock_assert.result storage/tokudb/mysql-test/tokudb_bugs/r/alter_part_tokudb_bug_155.result storage/tokudb/mysql-test/tokudb_bugs/r/alter_table_copy_table.result storage/tokudb/mysql-test/tokudb_bugs/r/commit_index_end_1.result storage/tokudb/mysql-test/tokudb_bugs/r/commit_index_end_2.result storage/tokudb/mysql-test/tokudb_bugs/r/leak172.result storage/tokudb/mysql-test/tokudb_bugs/r/optimize_temp_table_tokudb.result storage/tokudb/mysql-test/tokudb_bugs/r/subselect_index_next_same_bug_157.result storage/tokudb/mysql-test/tokudb_bugs/std_data/ storage/tokudb/mysql-test/tokudb_bugs/std_data/leak172_t1.data storage/tokudb/mysql-test/tokudb_bugs/std_data/leak172_t2.data storage/tokudb/mysql-test/tokudb_bugs/t/alter_external_lock_assert.test storage/tokudb/mysql-test/tokudb_bugs/t/alter_part_tokudb_bug_155.test storage/tokudb/mysql-test/tokudb_bugs/t/alter_table_copy_table.test storage/tokudb/mysql-test/tokudb_bugs/t/commit_index_end_1.test storage/tokudb/mysql-test/tokudb_bugs/t/commit_index_end_2.test storage/tokudb/mysql-test/tokudb_bugs/t/leak172.test storage/tokudb/mysql-test/tokudb_bugs/t/optimize_temp_table_tokudb.test storage/tokudb/mysql-test/tokudb_bugs/t/subselect_index_next_same_bug_157.test storage/tokudb/mysql-test/tokudb_mariadb/r/create_or_replace.result storage/tokudb/mysql-test/tokudb_mariadb/r/discover_names.result storage/tokudb/mysql-test/tokudb_mariadb/t/create_or_replace.test storage/tokudb/mysql-test/tokudb_mariadb/t/discover_names.test renamed: libmysql/libmysql_rpm_version.in => libmysql/libmysql_versions.ld.in mysql-test/suite/innodb/r/innodb-create-options.result => mysql-test/suite/innodb_zip/r/innodb-create-options.result mysql-test/suite/innodb/r/innodb-zip.result => mysql-test/suite/innodb_zip/r/innodb-zip.result mysql-test/suite/innodb/r/innodb_bug36169.result => mysql-test/suite/innodb_zip/r/innodb_bug36169.result mysql-test/suite/innodb/r/innodb_bug36172.result => mysql-test/suite/innodb_zip/r/innodb_bug36172.result mysql-test/suite/innodb/r/innodb_bug52745.result => mysql-test/suite/innodb_zip/r/innodb_bug52745.result mysql-test/suite/innodb/r/innodb_bug53591.result => mysql-test/suite/innodb_zip/r/innodb_bug53591.result mysql-test/suite/innodb/r/innodb_bug56680.result => mysql-test/suite/innodb_zip/r/innodb_bug56680.result mysql-test/suite/innodb/r/innodb_cmp_drop_table.result => mysql-test/suite/innodb_zip/r/innodb_cmp_drop_table.result mysql-test/suite/innodb/r/innodb_index_large_prefix.result => mysql-test/suite/innodb_zip/r/innodb_index_large_prefix.result mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result => mysql-test/suite/innodb_zip/r/innodb_prefix_index_liftedlimit.result mysql-test/suite/innodb/t/innodb-create-options.test => mysql-test/suite/innodb_zip/t/innodb-create-options.test mysql-test/suite/innodb/t/innodb-zip.test => mysql-test/suite/innodb_zip/t/innodb-zip.test mysql-test/suite/innodb/t/innodb_bug36169.test => mysql-test/suite/innodb_zip/t/innodb_bug36169.test mysql-test/suite/innodb/t/innodb_bug36172.test => mysql-test/suite/innodb_zip/t/innodb_bug36172.test mysql-test/suite/innodb/t/innodb_bug52745.test => mysql-test/suite/innodb_zip/t/innodb_bug52745.test mysql-test/suite/innodb/t/innodb_bug53591.test => mysql-test/suite/innodb_zip/t/innodb_bug53591.test mysql-test/suite/innodb/t/innodb_bug56680.test => mysql-test/suite/innodb_zip/t/innodb_bug56680.test mysql-test/suite/innodb/t/innodb_cmp_drop_table-master.opt => mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table-master.opt mysql-test/suite/innodb/t/innodb_cmp_drop_table.test => mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table.test mysql-test/suite/innodb/t/innodb_index_large_prefix.test => mysql-test/suite/innodb_zip/t/innodb_index_large_prefix.test mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test => mysql-test/suite/innodb_zip/t/innodb_prefix_index_liftedlimit.test mysql-test/suite/roles/show_grants_anon-5238.result => mysql-test/suite/roles/grant_empty.result mysql-test/suite/roles/show_grants_anon-5238.test => mysql-test/suite/roles/grant_empty.test modified: .bzrignore CMakeLists.txt CREDITS VERSION client/CMakeLists.txt client/mysql.cc client/mysql_plugin.c client/mysqlcheck.c client/mysqldump.c client/mysqltest.cc cmake/cpack_rpm.cmake cmake/install_macros.cmake cmake/jemalloc.cmake cmake/mysql_add_executable.cmake cmake/plugin.cmake cmake/versioninfo.rc.in cmake/zlib.cmake config.h.cmake dbug/dbug.c debian/dist/Debian/mariadb-server-10.0.files.in debian/dist/Ubuntu/mariadb-server-10.0.files.in debian/po/it.po debian/po/sv.po extra/jemalloc/ChangeLog extra/jemalloc/include/jemalloc/internal/arena.h extra/jemalloc/include/jemalloc/internal/jemalloc_internal.h.in extra/jemalloc/include/jemalloc/internal/private_namespace.h extra/jemalloc/include/jemalloc/internal/tcache.h extra/jemalloc/src/arena.c extra/replace.c extra/yassl/CMakeLists.txt extra/yassl/include/yassl_error.hpp extra/yassl/include/yassl_types.hpp extra/yassl/src/handshake.cpp extra/yassl/src/yassl_error.cpp extra/yassl/src/yassl_imp.cpp extra/yassl/taocrypt/CMakeLists.txt include/atomic/gcc_builtins.h include/hash.h include/heap.h include/ma_dyncol.h include/maria.h include/my_bitmap.h include/my_getopt.h include/my_global.h include/my_net.h include/my_pthread.h include/my_sys.h include/my_time.h include/my_valgrind.h include/myisam.h include/mysql/plugin.h include/mysql/plugin_audit.h include/mysql/plugin_audit.h.pp include/mysql/plugin_auth.h.pp include/mysql/plugin_ftparser.h.pp include/mysql/psi/mysql_thread.h include/queues.h include/welcome_copyright_notice.h libmysql/CMakeLists.txt libmysql/conf_to_src.c libmysql/libmysql.c libmysqld/CMakeLists.txt libmysqld/examples/CMakeLists.txt libmysqld/lib_sql.cc mysql-test/CMakeLists.txt mysql-test/collections/default.weekly mysql-test/extra/rpl_tests/rpl_ddl.test mysql-test/extra/rpl_tests/rpl_log.test mysql-test/extra/rpl_tests/rpl_stop_slave.test mysql-test/include/commit.inc mysql-test/include/ctype_filesort2.inc mysql-test/include/have_innodb.combinations mysql-test/include/index_merge_ror_cpk.inc mysql-test/include/mtr_check.sql mysql-test/include/type_hrtime.inc mysql-test/lib/My/Config.pm mysql-test/lib/My/SafeProcess/safe_process.cc mysql-test/lib/My/SysInfo.pm mysql-test/lib/mtr_cases.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/blackhole.result mysql-test/r/cast.result mysql-test/r/comment_column.result mysql-test/r/comments.result mysql-test/r/commit_1innodb.result mysql-test/r/contributors.result mysql-test/r/create-big.result mysql-test/r/create.result mysql-test/r/ctype_binary.result mysql-test/r/ctype_cp1250_ch.result mysql-test/r/ctype_cp1251.result mysql-test/r/ctype_latin1.result mysql-test/r/ctype_ucs.result mysql-test/r/ctype_utf16.result mysql-test/r/ctype_utf16le.result mysql-test/r/ctype_utf32.result mysql-test/r/ctype_utf8.result mysql-test/r/ctype_utf8mb4.result mysql-test/r/derived_view.result mysql-test/r/distinct.result mysql-test/r/drop.result mysql-test/r/dyncol.result mysql-test/r/error_simulation.result mysql-test/r/events_trans.result mysql-test/r/func_compress.result mysql-test/r/func_group.result mysql-test/r/func_math.result mysql-test/r/func_misc.result mysql-test/r/func_regexp.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/gis-precise.result mysql-test/r/gis.result mysql-test/r/index_intersect_innodb.result mysql-test/r/index_merge_innodb.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema-big.result mysql-test/r/information_schema.result mysql-test/r/information_schema_all_engines.result mysql-test/r/innodb_ext_key.result mysql-test/r/join.result mysql-test/r/join_outer.result mysql-test/r/join_outer_jcl6.result mysql-test/r/key.result mysql-test/r/lowercase_fs_off.result mysql-test/r/lowercase_table.result mysql-test/r/lowercase_table2.result mysql-test/r/lowercase_view.result mysql-test/r/merge.result mysql-test/r/multi_update.result mysql-test/r/myisampack.result mysql-test/r/mysqld--help.result mysql-test/r/mysqldump.result mysql-test/r/not_embedded_server.result mysql-test/r/not_partition.result mysql-test/r/old-mode.result mysql-test/r/partition.result mysql-test/r/partition_debug_sync.result mysql-test/r/partition_disabled.result mysql-test/r/partition_error.result mysql-test/r/partition_exchange.result mysql-test/r/partition_innodb.result mysql-test/r/partition_order.result mysql-test/r/partition_windows.result mysql-test/r/plugin.result mysql-test/r/plugin_auth_qa_3.result mysql-test/r/ps.result mysql-test/r/ps_ddl.result mysql-test/r/range.result mysql-test/r/range_mrr_icp.result mysql-test/r/range_vs_index_merge.result mysql-test/r/range_vs_index_merge_innodb.result mysql-test/r/rpl_mysqldump_slave.result mysql-test/r/select.result mysql-test/r/select_found.result mysql-test/r/select_jcl6.result mysql-test/r/select_pkeycache.result mysql-test/r/selectivity.result mysql-test/r/selectivity_innodb.result mysql-test/r/show_check.result mysql-test/r/sp-security.result mysql-test/r/ssl.result mysql-test/r/stat_tables.result mysql-test/r/stat_tables_innodb.result mysql-test/r/stat_tables_par.result mysql-test/r/stat_tables_par_innodb.result mysql-test/r/stat_tables_partition.result mysql-test/r/stat_tables_rbr.result mysql-test/r/stat_tables_repl.result mysql-test/r/statistics.result mysql-test/r/subselect.result mysql-test/r/subselect2.result mysql-test/r/subselect4.result mysql-test/r/subselect_exists2in.result mysql-test/r/subselect_exists_to_in.result mysql-test/r/subselect_extra.result mysql-test/r/subselect_innodb.result mysql-test/r/subselect_mat.result mysql-test/r/subselect_no_mat.result mysql-test/r/subselect_no_opts.result mysql-test/r/subselect_no_scache.result mysql-test/r/subselect_no_semijoin.result mysql-test/r/subselect_sj.result mysql-test/r/subselect_sj2.result mysql-test/r/subselect_sj2_jcl6.result mysql-test/r/subselect_sj2_mat.result mysql-test/r/subselect_sj_jcl6.result mysql-test/r/subselect_sj_mat.result mysql-test/r/temporal_literal.result mysql-test/r/timezone2.result mysql-test/r/trigger.result mysql-test/r/type_datetime.result mysql-test/r/type_datetime_hires.result mysql-test/r/type_float.result mysql-test/r/type_time.result mysql-test/r/type_time_hires.result mysql-test/r/type_timestamp_hires.result mysql-test/r/update.result mysql-test/r/variables.result mysql-test/r/view.result mysql-test/r/view_grant.result mysql-test/r/xml.result mysql-test/std_data/cacert.pem mysql-test/std_data/client-cert.pem mysql-test/std_data/client-key.pem mysql-test/std_data/server-cert.pem mysql-test/std_data/server-key.pem mysql-test/std_data/server8k-cert.pem mysql-test/std_data/server8k-key.pem mysql-test/suite.pm mysql-test/suite/archive/discover.result mysql-test/suite/archive/discover.test mysql-test/suite/binlog/r/binlog_checkpoint.result mysql-test/suite/binlog/t/binlog_checkpoint.test mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_options.test mysql-test/suite/csv/csv.result mysql-test/suite/csv/csv.test mysql-test/suite/federated/federated.test mysql-test/suite/funcs_1/r/innodb_func_view.result mysql-test/suite/funcs_1/r/innodb_views.result mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/memory_func_view.result mysql-test/suite/funcs_1/r/memory_views.result mysql-test/suite/funcs_1/r/myisam_func_view.result mysql-test/suite/funcs_1/r/myisam_views-big.result mysql-test/suite/funcs_1/views/func_view.inc mysql-test/suite/heap/heap.result mysql-test/suite/heap/heap.test mysql-test/suite/innodb/r/innodb_bug54044.result mysql-test/suite/innodb/r/innodb_information_schema.result mysql-test/suite/innodb/r/innodb_mysql.result mysql-test/suite/innodb/t/innodb_bug54044.test mysql-test/suite/innodb/t/innodb_bug60196-master.opt mysql-test/suite/innodb/t/innodb_mysql.test mysql-test/suite/maria/icp.result mysql-test/suite/maria/maria-preload.result mysql-test/suite/maria/maria.result mysql-test/suite/maria/maria.test mysql-test/suite/multi_source/skip_counter.result mysql-test/suite/multi_source/skip_counter.test mysql-test/suite/optimizer_unfixed_bugs/t/bug42991.test mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result mysql-test/suite/parts/r/partition_mgm_lc2_memory.result mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result mysql-test/suite/perfschema/r/dml_setup_instruments.result mysql-test/suite/perfschema/r/func_mutex.result mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result mysql-test/suite/perfschema/r/server_init.result mysql-test/suite/perfschema/t/func_mutex.test mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test mysql-test/suite/perfschema/t/server_init.test mysql-test/suite/plugins/t/unix_socket.test mysql-test/suite/roles/recursive_dbug.result mysql-test/suite/rpl/disabled.def mysql-test/suite/rpl/r/rpl_000011.result mysql-test/suite/rpl/r/rpl_ddl.result mysql-test/suite/rpl/r/rpl_drop_view.result mysql-test/suite/rpl/r/rpl_gtid_basic.result mysql-test/suite/rpl/r/rpl_gtid_crash.result mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result mysql-test/suite/rpl/r/rpl_gtid_ignored.result mysql-test/suite/rpl/r/rpl_gtid_nobinlog.result mysql-test/suite/rpl/r/rpl_gtid_startpos.result mysql-test/suite/rpl/r/rpl_gtid_stop_start.result mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result mysql-test/suite/rpl/r/rpl_mdev382.result mysql-test/suite/rpl/r/rpl_parallel.result mysql-test/suite/rpl/r/rpl_parallel_no_log_slave_updates.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_row_log.result mysql-test/suite/rpl/r/rpl_row_log_innodb.result mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result mysql-test/suite/rpl/r/rpl_stm_log.result mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result mysql-test/suite/rpl/t/rpl_000011.test mysql-test/suite/rpl/t/rpl_bug37426.test mysql-test/suite/rpl/t/rpl_connection.test mysql-test/suite/rpl/t/rpl_create_if_not_exists.test mysql-test/suite/rpl/t/rpl_drop_db.test mysql-test/suite/rpl/t/rpl_gtid_basic.test mysql-test/suite/rpl/t/rpl_gtid_crash.test mysql-test/suite/rpl/t/rpl_gtid_errorhandling.test mysql-test/suite/rpl/t/rpl_gtid_ignored.test mysql-test/suite/rpl/t/rpl_gtid_mdev4485.test mysql-test/suite/rpl/t/rpl_gtid_nobinlog.test mysql-test/suite/rpl/t/rpl_gtid_startpos.test mysql-test/suite/rpl/t/rpl_gtid_stop_start.test mysql-test/suite/rpl/t/rpl_heartbeat_basic.test mysql-test/suite/rpl/t/rpl_known_bugs_detection.test mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test mysql-test/suite/rpl/t/rpl_mix_found_rows.test mysql-test/suite/rpl/t/rpl_parallel.test mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_row_find_row_debug.test mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test mysql-test/suite/rpl/t/rpl_row_utf32.test mysql-test/suite/rpl/t/rpl_stm_log.test mysql-test/suite/rpl/t/rpl_stm_sql_mode.test mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test mysql-test/suite/sys_vars/r/back_log_basic.result mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result mysql-test/suite/sys_vars/r/old_mode_basic.result mysql-test/suite/sys_vars/r/optimizer_switch_basic.result mysql-test/suite/sys_vars/r/progress_report_time_basic.result mysql-test/suite/sys_vars/t/old_mode_basic.test mysql-test/suite/vcol/r/vcol_misc.result mysql-test/suite/vcol/t/vcol_misc.test mysql-test/t/aborted_clients.test mysql-test/t/alter_table.test mysql-test/t/auth_rpl.test mysql-test/t/blackhole.test mysql-test/t/cast.test mysql-test/t/comment_column.test mysql-test/t/comments.test mysql-test/t/create-big.test mysql-test/t/create.test mysql-test/t/derived_view.test mysql-test/t/distinct.test mysql-test/t/drop.test mysql-test/t/dyncol.test mysql-test/t/error_simulation.test mysql-test/t/events_trans.test mysql-test/t/func_compress.test mysql-test/t/func_gconcat.test mysql-test/t/func_group.test mysql-test/t/func_math.test mysql-test/t/func_misc.test mysql-test/t/func_regexp.test mysql-test/t/func_time.test mysql-test/t/gis-precise.test mysql-test/t/gis.test mysql-test/t/information_schema.test mysql-test/t/join.test mysql-test/t/key.test mysql-test/t/lowercase_table.test mysql-test/t/lowercase_table2.test mysql-test/t/lowercase_table4-master.opt mysql-test/t/lowercase_table4.test mysql-test/t/multi_update.test mysql-test/t/myisampack.test mysql-test/t/mysqld--help.test mysql-test/t/mysqldump.test mysql-test/t/not_embedded_server.test mysql-test/t/not_partition.test mysql-test/t/old-mode.test mysql-test/t/partition.test mysql-test/t/partition_debug_sync.test mysql-test/t/partition_disabled.test mysql-test/t/partition_error.test mysql-test/t/partition_exchange.test mysql-test/t/partition_innodb.test mysql-test/t/plugin.test mysql-test/t/ps.test mysql-test/t/ps_ddl.test mysql-test/t/range.test mysql-test/t/range_vs_index_merge.test mysql-test/t/rpl_mysqldump_slave.test mysql-test/t/select.test mysql-test/t/select_found.test mysql-test/t/selectivity.test mysql-test/t/show_check.test mysql-test/t/sp-security.test mysql-test/t/stat_tables_par.test mysql-test/t/statistics.test mysql-test/t/subselect4.test mysql-test/t/subselect_exists2in.test mysql-test/t/subselect_innodb.test mysql-test/t/subselect_sj.test mysql-test/t/subselect_sj2.test mysql-test/t/subselect_sj_mat.test mysql-test/t/temporal_literal.test mysql-test/t/timezone2.test mysql-test/t/type_float.test mysql-test/t/type_time.test mysql-test/t/update.test mysql-test/t/view.test mysql-test/t/view_grant.test mysql-test/t/xml.test mysql-test/valgrind.supp mysys/array.c mysys/file_logger.c mysys/hash.c mysys/ma_dyncol.c mysys/md5.c.THIS mysys/mf_iocache.c mysys/mf_keycache.c mysys/mf_qsort.c mysys/mf_radix.c mysys/mf_same.c mysys/mf_soundex.c mysys/mf_tempdir.c mysys/mf_tempfile.c mysys/mf_wcomp.c mysys/mulalloc.c mysys/my_access.c mysys/my_aes.c.THIS mysys/my_alloc.c mysys/my_bitmap.c mysys/my_conio.c mysys/my_copy.c mysys/my_crc32.c mysys/my_delete.c mysys/my_div.c mysys/my_error.c mysys/my_fopen.c mysys/my_gethwaddr.c mysys/my_getpagesize.c mysys/my_getwd.c mysys/my_libwrap.c mysys/my_lockmem.c mysys/my_malloc.c mysys/my_memmem.c mysys/my_mkdir.c mysys/my_once.c mysys/my_rename.c mysys/my_symlink2.c mysys/my_wincond.c mysys/my_winthread.c mysys/safemalloc.c mysys/test_dir.c mysys/test_xml.c mysys/thr_alarm.c mysys/thr_mutex.c mysys/tree.c packaging/WiX/CPackWixConfig.cmake packaging/WiX/custom_ui.wxs packaging/WiX/mysql_server.wxs.in plugin/auth_pam/auth_pam.c plugin/auth_socket/auth_socket.c plugin/daemon_example/daemon_example.cc plugin/feedback/CMakeLists.txt plugin/feedback/feedback.cc plugin/handler_socket/libhsclient/auto_file.hpp plugin/locale_info/locale_info.cc plugin/metadata_lock_info/metadata_lock_info.cc plugin/metadata_lock_info/mysql-test/metadata_lock_info/r/user_lock.result plugin/qc_info/CMakeLists.txt plugin/qc_info/qc_info.cc plugin/query_response_time/mysql-test/query_response_time/basic.result plugin/query_response_time/plugin.cc plugin/sql_errlog/sql_errlog.c plugin/win_auth_client/CMakeLists.txt scripts/CMakeLists.txt scripts/mysql_config.pl.in scripts/mysql_config.sh scripts/mysql_install_db.pl.in scripts/mysql_install_db.sh scripts/mysql_system_tables.sql scripts/mysql_system_tables_fix.sql scripts/mysqlaccess.sh sql-bench/innotest1.sh sql-bench/innotest1a.sh sql-bench/innotest1b.sh sql-bench/innotest2.sh sql-bench/innotest2a.sh sql-bench/innotest2b.sh sql-bench/limits/access_odbc.cfg sql-common/client.c sql-common/my_time.c sql-common/mysql_async.c sql-common/pack.c sql/CMakeLists.txt sql/authors.h sql/contributors.h sql/create_options.cc sql/custom_conf.h sql/event_db_repository.cc sql/event_scheduler.cc sql/event_scheduler.h sql/events.cc sql/events.h sql/field.cc sql/field.h sql/field_conv.cc sql/filesort.cc sql/filesort_utils.h sql/ha_ndbcluster_binlog.cc sql/ha_ndbcluster_cond.cc sql/ha_ndbcluster_cond.h sql/ha_ndbcluster_tables.h sql/ha_partition.cc sql/ha_partition.h sql/handler.cc sql/handler.h sql/hash_filo.h sql/hostname.cc sql/item.cc sql/item.h sql/item_cmpfunc.cc sql/item_cmpfunc.h sql/item_create.cc sql/item_func.cc sql/item_func.h sql/item_geofunc.cc sql/item_strfunc.cc sql/item_strfunc.h sql/item_subselect.cc sql/item_subselect.h sql/item_sum.cc sql/item_sum.h sql/item_timefunc.cc sql/item_xmlfunc.cc sql/item_xmlfunc.h sql/key.cc sql/key.h sql/lex_symbol.h sql/lock.cc sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/log_event_old.cc sql/log_event_old.h sql/mdl.cc sql/mdl.h sql/mem_root_array.h sql/message.h sql/multi_range_read.cc sql/my_apc.h sql/my_decimal.h sql/mysqld.cc sql/mysqld.h sql/net_serv.cc sql/opt_index_cond_pushdown.cc sql/opt_range.cc sql/opt_range.h sql/opt_subselect.cc sql/opt_subselect.h sql/opt_sum.cc sql/opt_table_elimination.cc sql/partition_element.h sql/partition_info.cc sql/partition_info.h sql/password.c sql/rpl_filter.cc sql/rpl_gtid.cc sql/rpl_gtid.h sql/rpl_injector.h sql/rpl_mi.cc sql/rpl_parallel.cc sql/rpl_parallel.h sql/rpl_record.cc sql/rpl_record.h sql/rpl_rli.cc sql/rpl_rli.h sql/rpl_utility.cc sql/rpl_utility.h sql/scheduler.cc sql/scheduler.h sql/set_var.cc sql/set_var.h sql/share/charsets/Index.xml sql/share/charsets/armscii8.xml sql/share/charsets/ascii.xml sql/share/charsets/cp1250.xml sql/share/charsets/cp852.xml sql/share/charsets/hebrew.xml sql/share/charsets/latin1.xml sql/share/charsets/latin2.xml sql/share/charsets/latin5.xml sql/share/errmsg-utf8.txt sql/signal_handler.cc sql/slave.cc sql/sp_head.cc sql/sp_head.h sql/sp_rcontext.h sql/spatial.cc sql/sql_acl.cc sql/sql_admin.cc sql/sql_admin.h sql/sql_alter.cc sql/sql_analyse.cc sql/sql_analyse.h sql/sql_audit.cc sql/sql_audit.h sql/sql_base.cc sql/sql_base.h sql/sql_binlog.cc sql/sql_bitmap.h sql/sql_cache.cc sql/sql_class.cc sql/sql_class.h sql/sql_connect.cc sql/sql_db.cc sql/sql_delete.cc sql/sql_derived.cc sql/sql_error.cc sql/sql_handler.cc sql/sql_help.cc sql/sql_insert.cc sql/sql_insert.h sql/sql_join_cache.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_lifo_buffer.h sql/sql_list.h sql/sql_load.cc sql/sql_manager.cc sql/sql_parse.cc sql/sql_parse.h sql/sql_partition.cc sql/sql_partition_admin.cc sql/sql_plugin.cc sql/sql_prepare.cc sql/sql_prepare.h sql/sql_priv.h sql/sql_rename.cc sql/sql_repl.cc sql/sql_repl.h sql/sql_select.cc sql/sql_select.h sql/sql_servers.cc sql/sql_show.cc sql/sql_show.h sql/sql_statistics.cc sql/sql_statistics.h sql/sql_string.cc sql/sql_string.h sql/sql_table.cc sql/sql_table.h sql/sql_test.cc sql/sql_time.cc sql/sql_time.h sql/sql_trigger.cc sql/sql_truncate.cc sql/sql_udf.cc sql/sql_union.cc sql/sql_update.cc sql/sql_view.cc sql/sql_yacc.yy sql/strfunc.cc sql/sys_vars.cc sql/sys_vars.h sql/table.cc sql/table.h sql/table_cache.cc sql/table_cache.h sql/threadpool_unix.cc sql/transaction.cc sql/transaction.h sql/tztime.cc sql/uniques.cc sql/unireg.cc storage/archive/ha_archive.cc storage/cassandra/ha_cassandra.cc storage/connect/csort.cpp storage/connect/domdoc.cpp storage/connect/filamfix.cpp storage/connect/filamtxt.cpp storage/connect/filamvct.cpp storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/inihandl.c storage/connect/myconn.cpp storage/connect/odbconn.cpp storage/connect/os.h storage/connect/osutil.h storage/connect/plgdbutl.cpp storage/connect/reldef.cpp storage/connect/tabdos.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/taboccur.cpp storage/connect/tabodbc.cpp storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp storage/example/ha_example.cc storage/example/ha_example.h storage/federated/ha_federated.cc storage/federated/ha_federated.h storage/federatedx/CMakeLists.txt storage/federatedx/federatedx_io_mysql.cc storage/federatedx/ha_federatedx.cc storage/heap/_check.c storage/heap/_rectest.c storage/heap/ha_heap.cc storage/heap/ha_heap.h storage/heap/hp_create.c storage/heap/hp_delete.c storage/heap/hp_extra.c storage/heap/hp_hash.c storage/heap/hp_open.c storage/heap/hp_rfirst.c storage/heap/hp_rlast.c storage/heap/hp_rnext.c storage/heap/hp_rprev.c storage/heap/hp_rrnd.c storage/heap/hp_rsame.c storage/heap/hp_scan.c storage/heap/hp_update.c storage/heap/hp_write.c storage/innobase/CMakeLists.txt storage/innobase/api/api0api.cc storage/innobase/btr/btr0btr.cc storage/innobase/btr/btr0cur.cc storage/innobase/btr/btr0pcur.cc storage/innobase/compile-innodb* storage/innobase/dict/dict0crea.cc storage/innobase/dict/dict0dict.cc storage/innobase/dict/dict0load.cc storage/innobase/dict/dict0mem.cc storage/innobase/dict/dict0stats.cc storage/innobase/fil/fil0fil.cc storage/innobase/fts/fts0config.cc storage/innobase/fts/fts0fts.cc storage/innobase/fts/fts0opt.cc storage/innobase/fts/fts0que.cc storage/innobase/handler/ha_innodb.cc storage/innobase/handler/handler0alter.cc storage/innobase/handler/i_s.cc storage/innobase/ibuf/ibuf0ibuf.cc storage/innobase/include/api0api.h storage/innobase/include/btr0cur.h storage/innobase/include/btr0pcur.h storage/innobase/include/btr0pcur.ic storage/innobase/include/btr0sea.h storage/innobase/include/db0err.h storage/innobase/include/dict0stats.ic storage/innobase/include/dict0types.h storage/innobase/include/fts0fts.h storage/innobase/include/fts0types.h storage/innobase/include/ibuf0ibuf.h storage/innobase/include/log0log.h storage/innobase/include/mtr0mtr.h storage/innobase/include/mtr0mtr.ic storage/innobase/include/os0file.h storage/innobase/include/row0ftsort.h storage/innobase/include/srv0conc.h storage/innobase/include/srv0mon.h storage/innobase/include/srv0mon.ic storage/innobase/include/sync0arr.h storage/innobase/include/sync0arr.ic storage/innobase/include/sync0sync.h storage/innobase/include/trx0trx.h storage/innobase/include/univ.i storage/innobase/include/ut0bh.h storage/innobase/include/ut0bh.ic storage/innobase/log/log0log.cc storage/innobase/mtr/mtr0mtr.cc storage/innobase/os/os0file.cc storage/innobase/os/os0thread.cc storage/innobase/pars/make_bison.sh* storage/innobase/pars/make_flex.sh* storage/innobase/row/row0ftsort.cc storage/innobase/row/row0log.cc storage/innobase/row/row0merge.cc storage/innobase/row/row0mysql.cc storage/innobase/row/row0quiesce.cc storage/innobase/row/row0sel.cc storage/innobase/srv/srv0mon.cc storage/innobase/srv/srv0start.cc storage/innobase/sync/sync0arr.cc storage/innobase/sync/sync0rw.cc storage/innobase/sync/sync0sync.cc storage/innobase/trx/trx0purge.cc storage/innobase/trx/trx0sys.cc storage/innobase/trx/trx0trx.cc storage/innobase/ut/ut0ut.cc storage/maria/ha_maria.cc storage/maria/ha_maria.h storage/maria/ma_blockrec.c storage/maria/ma_check.c storage/maria/ma_create.c storage/maria/ma_delete_table.c storage/maria/ma_dynrec.c storage/maria/ma_extra.c storage/maria/ma_ft_boolean_search.c storage/maria/ma_locking.c storage/maria/ma_loghandler.c storage/maria/ma_open.c storage/maria/ma_packrec.c storage/maria/ma_pagecache.c storage/maria/ma_pagecrc.c storage/maria/ma_range.c storage/maria/ma_recovery.c storage/maria/ma_static.c storage/maria/ma_test1.c storage/maria/ma_test2.c storage/maria/ma_test_force_start.pl storage/maria/ma_unique.c storage/maria/maria_chk.c storage/maria/maria_def.h storage/maria/maria_pack.c storage/maria/maria_read_log.c storage/maria/unittest/ma_pagecache_single.c storage/maria/unittest/ma_test_loghandler-t.c storage/maria/unittest/ma_test_loghandler_multigroup-t.c storage/myisam/ft_boolean_search.c storage/myisam/ft_stopwords.c storage/myisam/ftbench/Ecompare.pl storage/myisam/ftbench/Ecreate.pl storage/myisam/ftbench/Ereport.pl storage/myisam/ftbench/ft-test-run.sh storage/myisam/ha_myisam.cc storage/myisam/mi_check.c storage/myisam/mi_checksum.c storage/myisam/mi_create.c storage/myisam/mi_delete.c storage/myisam/mi_delete_table.c storage/myisam/mi_dynrec.c storage/myisam/mi_extra.c storage/myisam/mi_locking.c storage/myisam/mi_open.c storage/myisam/mi_rfirst.c storage/myisam/mi_rlast.c storage/myisam/mi_rrnd.c storage/myisam/mi_rsamepos.c storage/myisam/mi_scan.c storage/myisam/mi_search.c storage/myisam/mi_test1.c storage/myisam/mi_write.c storage/myisam/myisamchk.c storage/myisam/myisampack.c storage/myisam/rt_index.h storage/myisam/rt_key.c storage/myisam/rt_key.h storage/myisam/rt_mbr.c storage/myisam/rt_mbr.h storage/myisam/sp_defs.h storage/myisammrg/myrg_delete.c storage/myisammrg/myrg_locking.c storage/myisammrg/myrg_panic.c storage/myisammrg/myrg_range.c storage/myisammrg/myrg_rfirst.c storage/myisammrg/myrg_rlast.c storage/myisammrg/myrg_rnext.c storage/myisammrg/myrg_rnext_same.c storage/myisammrg/myrg_rprev.c storage/myisammrg/myrg_rrnd.c storage/myisammrg/myrg_rsame.c storage/myisammrg/myrg_update.c storage/myisammrg/myrg_write.c storage/ndb/config/win-includes storage/ndb/config/win-libraries storage/ndb/config/win-name storage/ndb/config/win-sources storage/ndb/include/debugger/DebuggerNames.hpp storage/ndb/include/debugger/EventLogger.hpp storage/ndb/include/debugger/GrepError.hpp storage/ndb/include/debugger/SignalLoggerManager.hpp storage/ndb/include/editline/editline.h storage/ndb/include/kernel/AttributeDescriptor.hpp storage/ndb/include/kernel/AttributeHeader.hpp storage/ndb/include/kernel/AttributeList.hpp storage/ndb/include/kernel/BlockNumbers.h storage/ndb/include/kernel/GlobalSignalNumbers.h storage/ndb/include/kernel/GrepEvent.hpp storage/ndb/include/kernel/Interpreter.hpp storage/ndb/include/kernel/LogLevel.hpp storage/ndb/include/kernel/NodeBitmask.hpp storage/ndb/include/kernel/NodeInfo.hpp storage/ndb/include/kernel/NodeState.hpp storage/ndb/include/kernel/RefConvert.hpp storage/ndb/include/kernel/kernel_types.h storage/ndb/include/kernel/ndb_limits.h storage/ndb/include/kernel/signaldata/AbortAll.hpp storage/ndb/include/kernel/signaldata/AccFrag.hpp storage/ndb/include/kernel/signaldata/AccLock.hpp storage/ndb/include/kernel/signaldata/AccScan.hpp storage/ndb/include/kernel/signaldata/AccSizeAltReq.hpp storage/ndb/include/kernel/signaldata/AllocNodeId.hpp storage/ndb/include/kernel/signaldata/AlterIndx.hpp storage/ndb/include/kernel/signaldata/AlterTab.hpp storage/ndb/include/kernel/signaldata/AlterTable.hpp storage/ndb/include/kernel/signaldata/AlterTrig.hpp storage/ndb/include/kernel/signaldata/ApiBroadcast.hpp storage/ndb/include/kernel/signaldata/ApiRegSignalData.hpp storage/ndb/include/kernel/signaldata/ApiVersion.hpp storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp storage/ndb/include/kernel/signaldata/AttrInfo.hpp storage/ndb/include/kernel/signaldata/BackupContinueB.hpp storage/ndb/include/kernel/signaldata/BackupImpl.hpp storage/ndb/include/kernel/signaldata/BackupSignalData.hpp storage/ndb/include/kernel/signaldata/BlockCommitOrd.hpp storage/ndb/include/kernel/signaldata/BuildIndx.hpp storage/ndb/include/kernel/signaldata/CheckNodeGroups.hpp storage/ndb/include/kernel/signaldata/CloseComReqConf.hpp storage/ndb/include/kernel/signaldata/CmInit.hpp storage/ndb/include/kernel/signaldata/CmRegSignalData.hpp storage/ndb/include/kernel/signaldata/CmvmiCfgConf.hpp storage/ndb/include/kernel/signaldata/CntrMasterConf.hpp storage/ndb/include/kernel/signaldata/CntrMasterReq.hpp storage/ndb/include/kernel/signaldata/ConfigParamId.hpp storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp storage/ndb/include/kernel/signaldata/CopyActive.hpp storage/ndb/include/kernel/signaldata/CopyFrag.hpp storage/ndb/include/kernel/signaldata/CopyGCIReq.hpp storage/ndb/include/kernel/signaldata/CreateEvnt.hpp storage/ndb/include/kernel/signaldata/CreateFilegroup.hpp storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp storage/ndb/include/kernel/signaldata/CreateFrag.hpp storage/ndb/include/kernel/signaldata/CreateFragmentation.hpp storage/ndb/include/kernel/signaldata/CreateIndx.hpp storage/ndb/include/kernel/signaldata/CreateObj.hpp storage/ndb/include/kernel/signaldata/CreateTab.hpp storage/ndb/include/kernel/signaldata/CreateTable.hpp storage/ndb/include/kernel/signaldata/CreateTrig.hpp storage/ndb/include/kernel/signaldata/DiAddTab.hpp storage/ndb/include/kernel/signaldata/DiGetNodes.hpp storage/ndb/include/kernel/signaldata/DictLock.hpp storage/ndb/include/kernel/signaldata/DictObjOp.hpp storage/ndb/include/kernel/signaldata/DictSchemaInfo.hpp storage/ndb/include/kernel/signaldata/DictSizeAltReq.hpp storage/ndb/include/kernel/signaldata/DictStart.hpp storage/ndb/include/kernel/signaldata/DictTabInfo.hpp storage/ndb/include/kernel/signaldata/DihAddFrag.hpp storage/ndb/include/kernel/signaldata/DihContinueB.hpp storage/ndb/include/kernel/signaldata/DihSizeAltReq.hpp storage/ndb/include/kernel/signaldata/DihStartTab.hpp storage/ndb/include/kernel/signaldata/DihSwitchReplica.hpp storage/ndb/include/kernel/signaldata/DisconnectRep.hpp storage/ndb/include/kernel/signaldata/DropFilegroup.hpp storage/ndb/include/kernel/signaldata/DropFilegroupImpl.hpp storage/ndb/include/kernel/signaldata/DropIndx.hpp storage/ndb/include/kernel/signaldata/DropObj.hpp storage/ndb/include/kernel/signaldata/DropTab.hpp storage/ndb/include/kernel/signaldata/DropTabFile.hpp storage/ndb/include/kernel/signaldata/DropTable.hpp storage/ndb/include/kernel/signaldata/DropTrig.hpp storage/ndb/include/kernel/signaldata/DumpStateOrd.hpp storage/ndb/include/kernel/signaldata/EmptyLcp.hpp storage/ndb/include/kernel/signaldata/EndTo.hpp storage/ndb/include/kernel/signaldata/EventReport.hpp storage/ndb/include/kernel/signaldata/EventSubscribeReq.hpp storage/ndb/include/kernel/signaldata/ExecFragReq.hpp storage/ndb/include/kernel/signaldata/Extent.hpp storage/ndb/include/kernel/signaldata/FailRep.hpp storage/ndb/include/kernel/signaldata/FireTrigOrd.hpp storage/ndb/include/kernel/signaldata/FsAppendReq.hpp storage/ndb/include/kernel/signaldata/FsCloseReq.hpp storage/ndb/include/kernel/signaldata/FsConf.hpp storage/ndb/include/kernel/signaldata/FsOpenReq.hpp storage/ndb/include/kernel/signaldata/FsReadWriteReq.hpp storage/ndb/include/kernel/signaldata/FsRef.hpp storage/ndb/include/kernel/signaldata/FsRemoveReq.hpp storage/ndb/include/kernel/signaldata/GCPSave.hpp storage/ndb/include/kernel/signaldata/GetTabInfo.hpp storage/ndb/include/kernel/signaldata/GetTableId.hpp storage/ndb/include/kernel/signaldata/GrepImpl.hpp storage/ndb/include/kernel/signaldata/HotSpareRep.hpp storage/ndb/include/kernel/signaldata/IndxAttrInfo.hpp storage/ndb/include/kernel/signaldata/IndxKeyInfo.hpp storage/ndb/include/kernel/signaldata/InvalidateNodeLCPConf.hpp storage/ndb/include/kernel/signaldata/InvalidateNodeLCPReq.hpp storage/ndb/include/kernel/signaldata/KeyInfo.hpp storage/ndb/include/kernel/signaldata/LCP.hpp storage/ndb/include/kernel/signaldata/LgmanContinueB.hpp storage/ndb/include/kernel/signaldata/ListTables.hpp storage/ndb/include/kernel/signaldata/LqhFrag.hpp storage/ndb/include/kernel/signaldata/LqhKey.hpp storage/ndb/include/kernel/signaldata/LqhSizeAltReq.hpp storage/ndb/include/kernel/signaldata/LqhTransConf.hpp storage/ndb/include/kernel/signaldata/ManagementServer.hpp storage/ndb/include/kernel/signaldata/MasterGCP.hpp storage/ndb/include/kernel/signaldata/MasterLCP.hpp storage/ndb/include/kernel/signaldata/NFCompleteRep.hpp storage/ndb/include/kernel/signaldata/NdbSttor.hpp storage/ndb/include/kernel/signaldata/NdbfsContinueB.hpp storage/ndb/include/kernel/signaldata/NextScan.hpp storage/ndb/include/kernel/signaldata/NodeFailRep.hpp storage/ndb/include/kernel/signaldata/NodeStateSignalData.hpp storage/ndb/include/kernel/signaldata/PackedSignal.hpp storage/ndb/include/kernel/signaldata/PgmanContinueB.hpp storage/ndb/include/kernel/signaldata/PrepDropTab.hpp storage/ndb/include/kernel/signaldata/PrepFailReqRef.hpp storage/ndb/include/kernel/signaldata/ReadNodesConf.hpp storage/ndb/include/kernel/signaldata/RelTabMem.hpp storage/ndb/include/kernel/signaldata/RepImpl.hpp storage/ndb/include/kernel/signaldata/RestoreContinueB.hpp storage/ndb/include/kernel/signaldata/RestoreImpl.hpp storage/ndb/include/kernel/signaldata/ResumeReq.hpp storage/ndb/include/kernel/signaldata/RouteOrd.hpp storage/ndb/include/kernel/signaldata/ScanFrag.hpp storage/ndb/include/kernel/signaldata/ScanTab.hpp storage/ndb/include/kernel/signaldata/SetLogLevelOrd.hpp storage/ndb/include/kernel/signaldata/SetVarReq.hpp storage/ndb/include/kernel/signaldata/SignalData.hpp storage/ndb/include/kernel/signaldata/SignalDataPrint.hpp storage/ndb/include/kernel/signaldata/SignalDroppedRep.hpp storage/ndb/include/kernel/signaldata/SrFragidConf.hpp storage/ndb/include/kernel/signaldata/StartFragReq.hpp storage/ndb/include/kernel/signaldata/StartInfo.hpp storage/ndb/include/kernel/signaldata/StartMe.hpp storage/ndb/include/kernel/signaldata/StartOrd.hpp storage/ndb/include/kernel/signaldata/StartPerm.hpp storage/ndb/include/kernel/signaldata/StartRec.hpp storage/ndb/include/kernel/signaldata/StartTo.hpp storage/ndb/include/kernel/signaldata/StopMe.hpp storage/ndb/include/kernel/signaldata/StopPerm.hpp storage/ndb/include/kernel/signaldata/StopReq.hpp storage/ndb/include/kernel/signaldata/SumaImpl.hpp storage/ndb/include/kernel/signaldata/SystemError.hpp storage/ndb/include/kernel/signaldata/TamperOrd.hpp storage/ndb/include/kernel/signaldata/TcCommit.hpp storage/ndb/include/kernel/signaldata/TcContinueB.hpp storage/ndb/include/kernel/signaldata/TcHbRep.hpp storage/ndb/include/kernel/signaldata/TcIndx.hpp storage/ndb/include/kernel/signaldata/TcKeyConf.hpp storage/ndb/include/kernel/signaldata/TcKeyFailConf.hpp storage/ndb/include/kernel/signaldata/TcKeyRef.hpp storage/ndb/include/kernel/signaldata/TcKeyReq.hpp storage/ndb/include/kernel/signaldata/TcRollbackRep.hpp storage/ndb/include/kernel/signaldata/TcSizeAltReq.hpp storage/ndb/include/kernel/signaldata/TestOrd.hpp storage/ndb/include/kernel/signaldata/TransIdAI.hpp storage/ndb/include/kernel/signaldata/TrigAttrInfo.hpp storage/ndb/include/kernel/signaldata/TsmanContinueB.hpp storage/ndb/include/kernel/signaldata/TupCommit.hpp storage/ndb/include/kernel/signaldata/TupFrag.hpp storage/ndb/include/kernel/signaldata/TupKey.hpp storage/ndb/include/kernel/signaldata/TupSizeAltReq.hpp storage/ndb/include/kernel/signaldata/TuxBound.hpp storage/ndb/include/kernel/signaldata/TuxContinueB.hpp storage/ndb/include/kernel/signaldata/TuxMaint.hpp storage/ndb/include/kernel/signaldata/TuxSizeAltReq.hpp storage/ndb/include/kernel/signaldata/UpdateTo.hpp storage/ndb/include/kernel/signaldata/UtilDelete.hpp storage/ndb/include/kernel/signaldata/UtilExecute.hpp storage/ndb/include/kernel/signaldata/UtilLock.hpp storage/ndb/include/kernel/signaldata/UtilPrepare.hpp storage/ndb/include/kernel/signaldata/UtilRelease.hpp storage/ndb/include/kernel/signaldata/UtilSequence.hpp storage/ndb/include/kernel/signaldata/WaitGCP.hpp storage/ndb/include/kernel/trigger_definitions.h storage/ndb/include/logger/ConsoleLogHandler.hpp storage/ndb/include/logger/FileLogHandler.hpp storage/ndb/include/logger/LogHandler.hpp storage/ndb/include/logger/Logger.hpp storage/ndb/include/logger/SysLogHandler.hpp storage/ndb/include/mgmapi/mgmapi.h storage/ndb/include/mgmapi/mgmapi_debug.h storage/ndb/include/mgmapi/mgmapi_error.h storage/ndb/include/mgmapi/ndb_logevent.h storage/ndb/include/mgmapi/ndbd_exit_codes.h storage/ndb/include/mgmcommon/ConfigRetriever.hpp storage/ndb/include/mgmcommon/IPCConfig.hpp storage/ndb/include/mgmcommon/MgmtErrorReporter.hpp storage/ndb/include/ndb_constants.h storage/ndb/include/ndb_global.h.in storage/ndb/include/ndb_init.h storage/ndb/include/ndb_types.h.in storage/ndb/include/ndb_version.h.in storage/ndb/include/ndbapi/Ndb.hpp storage/ndb/include/ndbapi/NdbApi.hpp storage/ndb/include/ndbapi/NdbBlob.hpp storage/ndb/include/ndbapi/NdbDictionary.hpp storage/ndb/include/ndbapi/NdbError.hpp storage/ndb/include/ndbapi/NdbEventOperation.hpp storage/ndb/include/ndbapi/NdbIndexOperation.hpp storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp storage/ndb/include/ndbapi/NdbIndexStat.hpp storage/ndb/include/ndbapi/NdbOperation.hpp storage/ndb/include/ndbapi/NdbPool.hpp storage/ndb/include/ndbapi/NdbRecAttr.hpp storage/ndb/include/ndbapi/NdbReceiver.hpp storage/ndb/include/ndbapi/NdbScanFilter.hpp storage/ndb/include/ndbapi/NdbScanOperation.hpp storage/ndb/include/ndbapi/NdbTransaction.hpp storage/ndb/include/ndbapi/ndb_cluster_connection.hpp storage/ndb/include/ndbapi/ndb_opt_defaults.h storage/ndb/include/ndbapi/ndbapi_limits.h storage/ndb/include/ndbapi/ndberror.h storage/ndb/include/newtonapi/dba.h storage/ndb/include/newtonapi/defs/pcn_types.h storage/ndb/include/portlib/NdbCondition.h storage/ndb/include/portlib/NdbConfig.h storage/ndb/include/portlib/NdbDaemon.h storage/ndb/include/portlib/NdbEnv.h storage/ndb/include/portlib/NdbHost.h storage/ndb/include/portlib/NdbMain.h storage/ndb/include/portlib/NdbMem.h storage/ndb/include/portlib/NdbMutex.h storage/ndb/include/portlib/NdbSleep.h storage/ndb/include/portlib/NdbTCP.h storage/ndb/include/portlib/NdbThread.h storage/ndb/include/portlib/NdbTick.h storage/ndb/include/portlib/PortDefs.h storage/ndb/include/portlib/prefetch.h storage/ndb/include/transporter/TransporterCallback.hpp storage/ndb/include/transporter/TransporterDefinitions.hpp storage/ndb/include/transporter/TransporterRegistry.hpp storage/ndb/include/util/BaseString.hpp storage/ndb/include/util/Bitmask.hpp storage/ndb/include/util/File.hpp storage/ndb/include/util/InputStream.hpp storage/ndb/include/util/NdbAutoPtr.hpp storage/ndb/include/util/NdbOut.hpp storage/ndb/include/util/NdbSqlUtil.hpp storage/ndb/include/util/OutputStream.hpp storage/ndb/include/util/Parser.hpp storage/ndb/include/util/Properties.hpp storage/ndb/include/util/SimpleProperties.hpp storage/ndb/include/util/SocketAuthenticator.hpp storage/ndb/include/util/SocketClient.hpp storage/ndb/include/util/SocketServer.hpp storage/ndb/include/util/UtilBuffer.hpp storage/ndb/include/util/Vector.hpp storage/ndb/include/util/basestring_vsnprintf.h storage/ndb/include/util/md5_hash.hpp storage/ndb/include/util/ndb_opts.h storage/ndb/include/util/ndb_rand.h storage/ndb/include/util/random.h storage/ndb/include/util/socket_io.h storage/ndb/include/util/uucode.h storage/ndb/include/util/version.h storage/ndb/ndbapi-examples/mgmapi_logevent/main.cpp storage/ndb/ndbapi-examples/mgmapi_logevent2/main.cpp storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async.cpp storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1.cpp storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event.cpp storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries.cpp storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan.cpp storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple.cpp storage/ndb/ndbapi-examples/ndbapi_simple_dual/main.cpp storage/ndb/ndbapi-examples/ndbapi_simple_index/main.cpp storage/ndb/src/common/debugger/BlockNames.cpp storage/ndb/src/common/debugger/DebuggerNames.cpp storage/ndb/src/common/debugger/EventLogger.cpp storage/ndb/src/common/debugger/GrepError.cpp storage/ndb/src/common/debugger/SignalLoggerManager.cpp storage/ndb/src/common/debugger/signaldata/AccLock.cpp storage/ndb/src/common/debugger/signaldata/AlterIndx.cpp storage/ndb/src/common/debugger/signaldata/AlterTab.cpp storage/ndb/src/common/debugger/signaldata/AlterTable.cpp storage/ndb/src/common/debugger/signaldata/AlterTrig.cpp storage/ndb/src/common/debugger/signaldata/BackupImpl.cpp storage/ndb/src/common/debugger/signaldata/BackupSignalData.cpp storage/ndb/src/common/debugger/signaldata/CloseComReqConf.cpp storage/ndb/src/common/debugger/signaldata/ContinueB.cpp storage/ndb/src/common/debugger/signaldata/CopyGCI.cpp storage/ndb/src/common/debugger/signaldata/CreateEvnt.cpp storage/ndb/src/common/debugger/signaldata/CreateFragmentation.cpp storage/ndb/src/common/debugger/signaldata/CreateIndx.cpp storage/ndb/src/common/debugger/signaldata/CreateTrig.cpp storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp storage/ndb/src/common/debugger/signaldata/DihContinueB.cpp storage/ndb/src/common/debugger/signaldata/DihSwitchReplicaReq.cpp storage/ndb/src/common/debugger/signaldata/DisconnectRep.cpp storage/ndb/src/common/debugger/signaldata/DropIndx.cpp storage/ndb/src/common/debugger/signaldata/DropTab.cpp storage/ndb/src/common/debugger/signaldata/DropTrig.cpp storage/ndb/src/common/debugger/signaldata/FailRep.cpp storage/ndb/src/common/debugger/signaldata/FireTrigOrd.cpp storage/ndb/src/common/debugger/signaldata/FsAppendReq.cpp storage/ndb/src/common/debugger/signaldata/FsCloseReq.cpp storage/ndb/src/common/debugger/signaldata/FsConf.cpp storage/ndb/src/common/debugger/signaldata/FsOpenReq.cpp storage/ndb/src/common/debugger/signaldata/FsReadWriteReq.cpp storage/ndb/src/common/debugger/signaldata/FsRef.cpp storage/ndb/src/common/debugger/signaldata/GCPSave.cpp storage/ndb/src/common/debugger/signaldata/IndxAttrInfo.cpp storage/ndb/src/common/debugger/signaldata/IndxKeyInfo.cpp storage/ndb/src/common/debugger/signaldata/LCP.cpp storage/ndb/src/common/debugger/signaldata/LqhFrag.cpp storage/ndb/src/common/debugger/signaldata/LqhKey.cpp storage/ndb/src/common/debugger/signaldata/LqhTrans.cpp storage/ndb/src/common/debugger/signaldata/MasterLCP.cpp storage/ndb/src/common/debugger/signaldata/NFCompleteRep.cpp storage/ndb/src/common/debugger/signaldata/NdbSttor.cpp storage/ndb/src/common/debugger/signaldata/NdbfsContinueB.cpp storage/ndb/src/common/debugger/signaldata/PackedSignal.cpp storage/ndb/src/common/debugger/signaldata/PrepDropTab.cpp storage/ndb/src/common/debugger/signaldata/PrepFailReqRef.cpp storage/ndb/src/common/debugger/signaldata/ScanFrag.cpp storage/ndb/src/common/debugger/signaldata/ScanTab.cpp storage/ndb/src/common/debugger/signaldata/SignalDataPrint.cpp storage/ndb/src/common/debugger/signaldata/SignalDroppedRep.cpp storage/ndb/src/common/debugger/signaldata/SignalNames.cpp storage/ndb/src/common/debugger/signaldata/StartRec.cpp storage/ndb/src/common/debugger/signaldata/SumaImpl.cpp storage/ndb/src/common/debugger/signaldata/SystemError.cpp storage/ndb/src/common/debugger/signaldata/TcIndx.cpp storage/ndb/src/common/debugger/signaldata/TcKeyConf.cpp storage/ndb/src/common/debugger/signaldata/TcKeyRef.cpp storage/ndb/src/common/debugger/signaldata/TcKeyReq.cpp storage/ndb/src/common/debugger/signaldata/TcRollbackRep.cpp storage/ndb/src/common/debugger/signaldata/TrigAttrInfo.cpp storage/ndb/src/common/debugger/signaldata/TupCommit.cpp storage/ndb/src/common/debugger/signaldata/TupKey.cpp storage/ndb/src/common/debugger/signaldata/TuxMaint.cpp storage/ndb/src/common/debugger/signaldata/UtilDelete.cpp storage/ndb/src/common/debugger/signaldata/UtilExecute.cpp storage/ndb/src/common/debugger/signaldata/UtilLock.cpp storage/ndb/src/common/debugger/signaldata/UtilPrepare.cpp storage/ndb/src/common/debugger/signaldata/UtilSequence.cpp storage/ndb/src/common/logger/ConsoleLogHandler.cpp storage/ndb/src/common/logger/FileLogHandler.cpp storage/ndb/src/common/logger/LogHandler.cpp storage/ndb/src/common/logger/LogHandlerList.cpp storage/ndb/src/common/logger/LogHandlerList.hpp storage/ndb/src/common/logger/Logger.cpp storage/ndb/src/common/logger/SysLogHandler.cpp storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.cpp storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.hpp storage/ndb/src/common/logger/loggertest/LoggerUnitTest.cpp storage/ndb/src/common/logger/loggertest/LoggerUnitTest.hpp storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp storage/ndb/src/common/mgmcommon/IPCConfig.cpp storage/ndb/src/common/mgmcommon/printConfig/printConfig.cpp storage/ndb/src/common/portlib/NdbCondition.c storage/ndb/src/common/portlib/NdbConfig.c storage/ndb/src/common/portlib/NdbDaemon.c storage/ndb/src/common/portlib/NdbEnv.c storage/ndb/src/common/portlib/NdbHost.c storage/ndb/src/common/portlib/NdbMem.c storage/ndb/src/common/portlib/NdbMutex.c storage/ndb/src/common/portlib/NdbPortLibTest.cpp storage/ndb/src/common/portlib/NdbSleep.c storage/ndb/src/common/portlib/NdbTCP.cpp storage/ndb/src/common/portlib/NdbThread.c storage/ndb/src/common/portlib/NdbTick.c storage/ndb/src/common/portlib/memtest.c storage/ndb/src/common/portlib/mmstest.cpp storage/ndb/src/common/portlib/munmaptest.cpp storage/ndb/src/common/portlib/win32/NdbCondition.c storage/ndb/src/common/portlib/win32/NdbDaemon.c storage/ndb/src/common/portlib/win32/NdbEnv.c storage/ndb/src/common/portlib/win32/NdbHost.c storage/ndb/src/common/portlib/win32/NdbMem.c storage/ndb/src/common/portlib/win32/NdbMutex.c storage/ndb/src/common/portlib/win32/NdbSleep.c storage/ndb/src/common/portlib/win32/NdbTCP.c storage/ndb/src/common/portlib/win32/NdbThread.c storage/ndb/src/common/portlib/win32/NdbTick.c storage/ndb/src/common/transporter/Packer.cpp storage/ndb/src/common/transporter/Packer.hpp storage/ndb/src/common/transporter/SCI_Transporter.cpp storage/ndb/src/common/transporter/SCI_Transporter.hpp storage/ndb/src/common/transporter/SHM_Buffer.hpp storage/ndb/src/common/transporter/SHM_Transporter.cpp storage/ndb/src/common/transporter/SHM_Transporter.hpp storage/ndb/src/common/transporter/SHM_Transporter.unix.cpp storage/ndb/src/common/transporter/SHM_Transporter.win32.cpp storage/ndb/src/common/transporter/SendBuffer.cpp storage/ndb/src/common/transporter/SendBuffer.hpp storage/ndb/src/common/transporter/TCP_Transporter.cpp storage/ndb/src/common/transporter/TCP_Transporter.hpp storage/ndb/src/common/transporter/Transporter.cpp storage/ndb/src/common/transporter/Transporter.hpp storage/ndb/src/common/transporter/TransporterInternalDefinitions.hpp storage/ndb/src/common/transporter/TransporterRegistry.cpp storage/ndb/src/common/transporter/basictest/basicTransporterTest.cpp storage/ndb/src/common/transporter/buddy.cpp storage/ndb/src/common/transporter/buddy.hpp storage/ndb/src/common/transporter/failoverSCI/failoverSCI.cpp storage/ndb/src/common/transporter/perftest/perfTransporterTest.cpp storage/ndb/src/common/transporter/priotest/prioSCI/prioSCI.cpp storage/ndb/src/common/transporter/priotest/prioSHM/prioSHM.cpp storage/ndb/src/common/transporter/priotest/prioTCP/prioTCP.cpp storage/ndb/src/common/transporter/priotest/prioTransporterTest.cpp storage/ndb/src/common/transporter/priotest/prioTransporterTest.hpp storage/ndb/src/common/util/BaseString.cpp storage/ndb/src/common/util/File.cpp storage/ndb/src/common/util/InputStream.cpp storage/ndb/src/common/util/NdbOut.cpp storage/ndb/src/common/util/NdbSqlUtil.cpp storage/ndb/src/common/util/OutputStream.cpp storage/ndb/src/common/util/Parser.cpp storage/ndb/src/common/util/Properties.cpp storage/ndb/src/common/util/SimpleProperties.cpp storage/ndb/src/common/util/SocketAuthenticator.cpp storage/ndb/src/common/util/SocketClient.cpp storage/ndb/src/common/util/SocketServer.cpp storage/ndb/src/common/util/basestring_vsnprintf.c storage/ndb/src/common/util/filetest/FileUnitTest.cpp storage/ndb/src/common/util/filetest/FileUnitTest.hpp storage/ndb/src/common/util/md5_hash.cpp storage/ndb/src/common/util/ndb_init.c storage/ndb/src/common/util/ndb_rand.c storage/ndb/src/common/util/random.c storage/ndb/src/common/util/socket_io.cpp storage/ndb/src/common/util/strdup.c storage/ndb/src/common/util/testProperties/testProperties.cpp storage/ndb/src/common/util/testSimpleProperties/sp_test.cpp storage/ndb/src/common/util/uucode.c storage/ndb/src/common/util/version.c storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.cpp storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.h storage/ndb/src/cw/cpcc-win32/C++/NdbControls.cpp storage/ndb/src/cw/cpcc-win32/C++/StdAfx.cpp storage/ndb/src/cw/cpcc-win32/C++/StdAfx.h storage/ndb/src/cw/cpcc-win32/C++/TreeView.cpp storage/ndb/src/cw/cpcc-win32/C++/TreeView.h storage/ndb/src/cw/cpcc-win32/C++/resource.h storage/ndb/src/cw/cpcc-win32/csharp/CPC_Form.cs storage/ndb/src/cw/cpcc-win32/csharp/Computer.cs storage/ndb/src/cw/cpcc-win32/csharp/ComputerAddDialog.cs storage/ndb/src/cw/cpcc-win32/csharp/ComputerRemoveDialog.cs storage/ndb/src/cw/cpcc-win32/csharp/Database.cs storage/ndb/src/cw/cpcc-win32/csharp/PanelWizard.cs storage/ndb/src/cw/cpcc-win32/csharp/Process.cs storage/ndb/src/cw/cpcc-win32/csharp/ProcessDefineDialog.cs storage/ndb/src/cw/cpcc-win32/csharp/fileaccess/FileMgmt.cs storage/ndb/src/cw/cpcc-win32/csharp/simpleparser/SimpleCPCParser.cs storage/ndb/src/cw/cpcc-win32/csharp/socketcomm/SocketComm.cs storage/ndb/src/cw/cpcc-win32/csharp/socketcomm/myTcpClient.cs storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs storage/ndb/src/cw/cpcc-win32/csharp/telnetclient/telnetClient.cs storage/ndb/src/cw/cpcd/APIService.cpp storage/ndb/src/cw/cpcd/APIService.hpp storage/ndb/src/cw/cpcd/CPCD.cpp storage/ndb/src/cw/cpcd/CPCD.hpp storage/ndb/src/cw/cpcd/Monitor.cpp storage/ndb/src/cw/cpcd/Process.cpp storage/ndb/src/cw/cpcd/common.cpp storage/ndb/src/cw/cpcd/common.hpp storage/ndb/src/cw/cpcd/main.cpp storage/ndb/src/cw/test/socketclient/socketClientTest.cpp storage/ndb/src/cw/util/ClientInterface.cpp storage/ndb/src/cw/util/ClientInterface.hpp storage/ndb/src/cw/util/SocketRegistry.cpp storage/ndb/src/cw/util/SocketRegistry.hpp storage/ndb/src/cw/util/SocketService.cpp storage/ndb/src/cw/util/SocketService.hpp storage/ndb/src/kernel/SimBlockList.cpp storage/ndb/src/kernel/blocks/backup/Backup.cpp storage/ndb/src/kernel/blocks/backup/Backup.hpp storage/ndb/src/kernel/blocks/backup/BackupFormat.hpp storage/ndb/src/kernel/blocks/backup/BackupInit.cpp storage/ndb/src/kernel/blocks/backup/FsBuffer.hpp storage/ndb/src/kernel/blocks/backup/read.cpp storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp storage/ndb/src/kernel/blocks/dbacc/DbaccInit.cpp storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp storage/ndb/src/kernel/blocks/dbdict/SchemaFile.hpp storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp storage/ndb/src/kernel/blocks/dbdih/DbdihInit.cpp storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp storage/ndb/src/kernel/blocks/dbdih/Sysfile.hpp storage/ndb/src/kernel/blocks/dbdih/printSysfile.cpp storage/ndb/src/kernel/blocks/dbdih/printSysfile/printSysfile.cpp storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp storage/ndb/src/kernel/blocks/dblqh/redoLogReader/reader.cpp storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.cpp storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.hpp storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp storage/ndb/src/kernel/blocks/dbtc/DbtcInit.cpp storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp storage/ndb/src/kernel/blocks/dbtup/AttributeOffset.hpp storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.cpp storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.hpp storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp storage/ndb/src/kernel/blocks/dbtux/Dbtux.hpp storage/ndb/src/kernel/blocks/dbtux/DbtuxCmp.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxMaint.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp storage/ndb/src/kernel/blocks/dbutil/DbUtil.cpp storage/ndb/src/kernel/blocks/dbutil/DbUtil.hpp storage/ndb/src/kernel/blocks/diskpage.hpp storage/ndb/src/kernel/blocks/lgman.hpp storage/ndb/src/kernel/blocks/mutexes.hpp storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrSysTable.cpp storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/AsyncFileTest.cpp storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.cpp storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.hpp storage/ndb/src/kernel/blocks/ndbfs/Filename.cpp storage/ndb/src/kernel/blocks/ndbfs/Filename.hpp storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.cpp storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.hpp storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/MemoryChannelTest.cpp storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.hpp storage/ndb/src/kernel/blocks/ndbfs/OpenFiles.hpp storage/ndb/src/kernel/blocks/ndbfs/Pool.hpp storage/ndb/src/kernel/blocks/ndbfs/VoidFs.cpp storage/ndb/src/kernel/blocks/pgman.cpp storage/ndb/src/kernel/blocks/pgman.hpp storage/ndb/src/kernel/blocks/print_file.cpp storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp storage/ndb/src/kernel/blocks/qmgr/QmgrInit.cpp storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp storage/ndb/src/kernel/blocks/qmgr/timer.hpp storage/ndb/src/kernel/blocks/record_types.hpp storage/ndb/src/kernel/blocks/restore.cpp storage/ndb/src/kernel/blocks/restore.hpp storage/ndb/src/kernel/blocks/suma/Suma.cpp storage/ndb/src/kernel/blocks/suma/Suma.hpp storage/ndb/src/kernel/blocks/suma/SumaInit.cpp storage/ndb/src/kernel/blocks/trix/Trix.cpp storage/ndb/src/kernel/blocks/trix/Trix.hpp storage/ndb/src/kernel/blocks/tsman.cpp storage/ndb/src/kernel/blocks/tsman.hpp storage/ndb/src/kernel/error/ErrorHandlingMacros.hpp storage/ndb/src/kernel/error/ErrorReporter.cpp storage/ndb/src/kernel/error/ErrorReporter.hpp storage/ndb/src/kernel/error/TimeModule.cpp storage/ndb/src/kernel/error/TimeModule.hpp storage/ndb/src/kernel/error/ndbd_exit_codes.c storage/ndb/src/kernel/main.cpp storage/ndb/src/kernel/vm/Array.hpp storage/ndb/src/kernel/vm/ArrayPool.hpp storage/ndb/src/kernel/vm/CArray.hpp storage/ndb/src/kernel/vm/Callback.hpp storage/ndb/src/kernel/vm/ClusterConfiguration.cpp storage/ndb/src/kernel/vm/ClusterConfiguration.hpp storage/ndb/src/kernel/vm/Configuration.cpp storage/ndb/src/kernel/vm/Configuration.hpp storage/ndb/src/kernel/vm/DLCFifoList.hpp storage/ndb/src/kernel/vm/DLCHashTable.hpp storage/ndb/src/kernel/vm/DLFifoList.hpp storage/ndb/src/kernel/vm/DLHashTable.hpp storage/ndb/src/kernel/vm/DLHashTable2.hpp storage/ndb/src/kernel/vm/DLList.hpp storage/ndb/src/kernel/vm/DataBuffer.hpp storage/ndb/src/kernel/vm/DynArr256.cpp storage/ndb/src/kernel/vm/DynArr256.hpp storage/ndb/src/kernel/vm/Emulator.cpp storage/ndb/src/kernel/vm/Emulator.hpp storage/ndb/src/kernel/vm/FastScheduler.cpp storage/ndb/src/kernel/vm/FastScheduler.hpp storage/ndb/src/kernel/vm/GlobalData.hpp storage/ndb/src/kernel/vm/KeyDescriptor.hpp storage/ndb/src/kernel/vm/KeyTable.hpp storage/ndb/src/kernel/vm/KeyTable2.hpp storage/ndb/src/kernel/vm/KeyTable2Ref.hpp storage/ndb/src/kernel/vm/LinearPool.hpp storage/ndb/src/kernel/vm/LongSignal.hpp storage/ndb/src/kernel/vm/Mutex.cpp storage/ndb/src/kernel/vm/Mutex.hpp storage/ndb/src/kernel/vm/NdbdSuperPool.cpp storage/ndb/src/kernel/vm/NdbdSuperPool.hpp storage/ndb/src/kernel/vm/Pool.cpp storage/ndb/src/kernel/vm/Pool.hpp storage/ndb/src/kernel/vm/Prio.hpp storage/ndb/src/kernel/vm/RWPool.cpp storage/ndb/src/kernel/vm/RWPool.hpp storage/ndb/src/kernel/vm/RequestTracker.hpp storage/ndb/src/kernel/vm/Rope.hpp storage/ndb/src/kernel/vm/SLFifoList.hpp storage/ndb/src/kernel/vm/SLList.hpp storage/ndb/src/kernel/vm/SafeCounter.cpp storage/ndb/src/kernel/vm/SafeCounter.hpp storage/ndb/src/kernel/vm/SectionReader.cpp storage/ndb/src/kernel/vm/SectionReader.hpp storage/ndb/src/kernel/vm/SignalCounter.hpp storage/ndb/src/kernel/vm/SimBlockList.hpp storage/ndb/src/kernel/vm/SimplePropertiesSection.cpp storage/ndb/src/kernel/vm/SimulatedBlock.cpp storage/ndb/src/kernel/vm/SimulatedBlock.hpp storage/ndb/src/kernel/vm/SuperPool.cpp storage/ndb/src/kernel/vm/SuperPool.hpp storage/ndb/src/kernel/vm/ThreadConfig.cpp storage/ndb/src/kernel/vm/ThreadConfig.hpp storage/ndb/src/kernel/vm/TimeQueue.cpp storage/ndb/src/kernel/vm/TimeQueue.hpp storage/ndb/src/kernel/vm/TransporterCallback.cpp storage/ndb/src/kernel/vm/VMSignal.cpp storage/ndb/src/kernel/vm/VMSignal.hpp storage/ndb/src/kernel/vm/WOPool.cpp storage/ndb/src/kernel/vm/WOPool.hpp storage/ndb/src/kernel/vm/WaitQueue.hpp storage/ndb/src/kernel/vm/WatchDog.cpp storage/ndb/src/kernel/vm/WatchDog.hpp storage/ndb/src/kernel/vm/al_test/arrayListTest.cpp storage/ndb/src/kernel/vm/al_test/arrayPoolTest.cpp storage/ndb/src/kernel/vm/al_test/main.cpp storage/ndb/src/kernel/vm/bench_pool.cpp storage/ndb/src/kernel/vm/ndbd_malloc.cpp storage/ndb/src/kernel/vm/ndbd_malloc.hpp storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp storage/ndb/src/kernel/vm/pc.hpp storage/ndb/src/kernel/vm/testCopy/rr.cpp storage/ndb/src/kernel/vm/testCopy/testCopy.cpp storage/ndb/src/kernel/vm/testDataBuffer/testDataBuffer.cpp storage/ndb/src/kernel/vm/testLongSig/testLongSig.cpp storage/ndb/src/kernel/vm/testSimplePropertiesSection/test.cpp storage/ndb/src/kernel/vm/testSuperPool.cpp storage/ndb/src/mgmapi/LocalConfig.cpp storage/ndb/src/mgmapi/LocalConfig.hpp storage/ndb/src/mgmapi/mgmapi.cpp storage/ndb/src/mgmapi/mgmapi_configuration.hpp storage/ndb/src/mgmapi/mgmapi_internal.h storage/ndb/src/mgmapi/ndb_logevent.cpp storage/ndb/src/mgmapi/ndb_logevent.hpp storage/ndb/src/mgmapi/test/keso.c storage/ndb/src/mgmapi/test/mgmSrvApi.cpp storage/ndb/src/mgmclient/CommandInterpreter.cpp storage/ndb/src/mgmclient/main.cpp storage/ndb/src/mgmclient/ndb_mgmclient.h storage/ndb/src/mgmclient/ndb_mgmclient.hpp storage/ndb/src/mgmclient/test_cpcd/test_cpcd.cpp storage/ndb/src/mgmsrv/Config.cpp storage/ndb/src/mgmsrv/Config.hpp storage/ndb/src/mgmsrv/ConfigInfo.cpp storage/ndb/src/mgmsrv/ConfigInfo.hpp storage/ndb/src/mgmsrv/InitConfigFileParser.cpp storage/ndb/src/mgmsrv/InitConfigFileParser.hpp storage/ndb/src/mgmsrv/MgmtSrvr.cpp storage/ndb/src/mgmsrv/MgmtSrvr.hpp storage/ndb/src/mgmsrv/MgmtSrvrConfig.cpp storage/ndb/src/mgmsrv/MgmtSrvrGeneralSignalHandling.cpp storage/ndb/src/mgmsrv/Services.cpp storage/ndb/src/mgmsrv/Services.hpp storage/ndb/src/mgmsrv/SignalQueue.cpp storage/ndb/src/mgmsrv/SignalQueue.hpp storage/ndb/src/mgmsrv/convertStrToInt.cpp storage/ndb/src/mgmsrv/convertStrToInt.hpp storage/ndb/src/mgmsrv/main.cpp storage/ndb/src/mgmsrv/mkconfig/mkconfig.cpp storage/ndb/src/ndbapi/API.hpp storage/ndb/src/ndbapi/ClusterMgr.cpp storage/ndb/src/ndbapi/ClusterMgr.hpp storage/ndb/src/ndbapi/DictCache.cpp storage/ndb/src/ndbapi/DictCache.hpp storage/ndb/src/ndbapi/Ndb.cpp storage/ndb/src/ndbapi/NdbApiSignal.cpp storage/ndb/src/ndbapi/NdbApiSignal.hpp storage/ndb/src/ndbapi/NdbBlob.cpp storage/ndb/src/ndbapi/NdbBlobImpl.hpp storage/ndb/src/ndbapi/NdbDictionary.cpp storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp storage/ndb/src/ndbapi/NdbErrorOut.cpp storage/ndb/src/ndbapi/NdbEventOperation.cpp storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp storage/ndb/src/ndbapi/NdbImpl.hpp storage/ndb/src/ndbapi/NdbIndexOperation.cpp storage/ndb/src/ndbapi/NdbIndexStat.cpp storage/ndb/src/ndbapi/NdbLinHash.hpp storage/ndb/src/ndbapi/NdbOperation.cpp storage/ndb/src/ndbapi/NdbOperationDefine.cpp storage/ndb/src/ndbapi/NdbOperationExec.cpp storage/ndb/src/ndbapi/NdbOperationInt.cpp storage/ndb/src/ndbapi/NdbOperationScan.cpp storage/ndb/src/ndbapi/NdbOperationSearch.cpp storage/ndb/src/ndbapi/NdbPool.cpp storage/ndb/src/ndbapi/NdbPoolImpl.cpp storage/ndb/src/ndbapi/NdbPoolImpl.hpp storage/ndb/src/ndbapi/NdbRecAttr.cpp storage/ndb/src/ndbapi/NdbReceiver.cpp storage/ndb/src/ndbapi/NdbScanFilter.cpp storage/ndb/src/ndbapi/NdbScanOperation.cpp storage/ndb/src/ndbapi/NdbTransaction.cpp storage/ndb/src/ndbapi/NdbTransactionScan.cpp storage/ndb/src/ndbapi/NdbUtil.cpp storage/ndb/src/ndbapi/NdbUtil.hpp storage/ndb/src/ndbapi/NdbWaiter.hpp storage/ndb/src/ndbapi/Ndberr.cpp storage/ndb/src/ndbapi/Ndbif.cpp storage/ndb/src/ndbapi/Ndbinit.cpp storage/ndb/src/ndbapi/Ndblist.cpp storage/ndb/src/ndbapi/ObjectMap.cpp storage/ndb/src/ndbapi/ObjectMap.hpp storage/ndb/src/ndbapi/SignalSender.cpp storage/ndb/src/ndbapi/SignalSender.hpp storage/ndb/src/ndbapi/TransporterFacade.cpp storage/ndb/src/ndbapi/TransporterFacade.hpp storage/ndb/src/ndbapi/ndb_cluster_connection.cpp storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp storage/ndb/src/ndbapi/ndberror.c storage/ndb/src/ndbapi/signal-sender/SignalSender.cpp storage/ndb/src/ndbapi/signal-sender/SignalSender.hpp storage/ndb/test/include/AtrtClient.hpp storage/ndb/test/include/CpcClient.hpp storage/ndb/test/include/DbUtil.hpp storage/ndb/test/include/HugoAsynchTransactions.hpp storage/ndb/test/include/HugoCalculator.hpp storage/ndb/test/include/HugoOperations.hpp storage/ndb/test/include/HugoTransactions.hpp storage/ndb/test/include/NDBT.hpp storage/ndb/test/include/NDBT_DataSet.hpp storage/ndb/test/include/NDBT_DataSetTransaction.hpp storage/ndb/test/include/NDBT_Error.hpp storage/ndb/test/include/NDBT_Output.hpp storage/ndb/test/include/NDBT_ResultRow.hpp storage/ndb/test/include/NDBT_ReturnCodes.h storage/ndb/test/include/NDBT_Stats.hpp storage/ndb/test/include/NDBT_Table.hpp storage/ndb/test/include/NDBT_Tables.hpp storage/ndb/test/include/NDBT_Test.hpp storage/ndb/test/include/NDBT_Thread.hpp storage/ndb/test/include/NdbBackup.hpp storage/ndb/test/include/NdbConfig.hpp storage/ndb/test/include/NdbGrep.hpp storage/ndb/test/include/NdbMixRestarter.hpp storage/ndb/test/include/NdbRestarter.hpp storage/ndb/test/include/NdbRestarts.hpp storage/ndb/test/include/NdbSchemaCon.hpp storage/ndb/test/include/NdbSchemaOp.hpp storage/ndb/test/include/NdbTest.hpp storage/ndb/test/include/NdbTimer.hpp storage/ndb/test/include/TestNdbEventOperation.hpp storage/ndb/test/include/UtilTransactions.hpp storage/ndb/test/include/getarg.h storage/ndb/test/ndbapi/InsertRecs.cpp storage/ndb/test/ndbapi/ScanFilter.hpp storage/ndb/test/ndbapi/ScanFunctions.hpp storage/ndb/test/ndbapi/ScanInterpretTest.hpp storage/ndb/test/ndbapi/TraceNdbApi.cpp storage/ndb/test/ndbapi/VerifyNdbApi.cpp storage/ndb/test/ndbapi/acid.cpp storage/ndb/test/ndbapi/acid2.cpp storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp storage/ndb/test/ndbapi/adoInsertRecs.cpp storage/ndb/test/ndbapi/asyncGenerator.cpp storage/ndb/test/ndbapi/bank/Bank.cpp storage/ndb/test/ndbapi/bank/Bank.hpp storage/ndb/test/ndbapi/bank/BankLoad.cpp storage/ndb/test/ndbapi/bank/bankCreator.cpp storage/ndb/test/ndbapi/bank/bankMakeGL.cpp storage/ndb/test/ndbapi/bank/bankSumAccounts.cpp storage/ndb/test/ndbapi/bank/bankTimer.cpp storage/ndb/test/ndbapi/bank/bankTransactionMaker.cpp storage/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp storage/ndb/test/ndbapi/bank/testBank.cpp storage/ndb/test/ndbapi/bench/asyncGenerator.cpp storage/ndb/test/ndbapi/bench/dbGenerator.h storage/ndb/test/ndbapi/bench/dbPopulate.cpp storage/ndb/test/ndbapi/bench/dbPopulate.h storage/ndb/test/ndbapi/bench/macros.h storage/ndb/test/ndbapi/bench/mainAsyncGenerator.cpp storage/ndb/test/ndbapi/bench/mainPopulate.cpp storage/ndb/test/ndbapi/bench/ndb_async1.cpp storage/ndb/test/ndbapi/bench/ndb_async2.cpp storage/ndb/test/ndbapi/bench/ndb_error.hpp storage/ndb/test/ndbapi/bench/ndb_schema.hpp storage/ndb/test/ndbapi/bench/ndb_user_transaction.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction2.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction3.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction4.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction5.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction6.cpp storage/ndb/test/ndbapi/bench/testData.h storage/ndb/test/ndbapi/bench/testDefinitions.h storage/ndb/test/ndbapi/bench/userInterface.cpp storage/ndb/test/ndbapi/bench/userInterface.h storage/ndb/test/ndbapi/benchronja.cpp storage/ndb/test/ndbapi/bulk_copy.cpp storage/ndb/test/ndbapi/cdrserver.cpp storage/ndb/test/ndbapi/celloDb.cpp storage/ndb/test/ndbapi/create_all_tabs.cpp storage/ndb/test/ndbapi/create_tab.cpp storage/ndb/test/ndbapi/drop_all_tabs.cpp storage/ndb/test/ndbapi/flexAsynch.cpp storage/ndb/test/ndbapi/flexBench.cpp storage/ndb/test/ndbapi/flexHammer.cpp storage/ndb/test/ndbapi/flexScan.cpp storage/ndb/test/ndbapi/flexTT.cpp storage/ndb/test/ndbapi/flexTimedAsynch.cpp storage/ndb/test/ndbapi/flex_bench_mysql.cpp storage/ndb/test/ndbapi/index.cpp storage/ndb/test/ndbapi/index2.cpp storage/ndb/test/ndbapi/initronja.cpp storage/ndb/test/ndbapi/interpreterInTup.cpp storage/ndb/test/ndbapi/mainAsyncGenerator.cpp storage/ndb/test/ndbapi/msa.cpp storage/ndb/test/ndbapi/ndb_async1.cpp storage/ndb/test/ndbapi/ndb_async2.cpp storage/ndb/test/ndbapi/ndb_user_populate.cpp storage/ndb/test/ndbapi/ndb_user_transaction.cpp storage/ndb/test/ndbapi/ndb_user_transaction2.cpp storage/ndb/test/ndbapi/ndb_user_transaction3.cpp storage/ndb/test/ndbapi/ndb_user_transaction4.cpp storage/ndb/test/ndbapi/ndb_user_transaction5.cpp storage/ndb/test/ndbapi/ndb_user_transaction6.cpp storage/ndb/test/ndbapi/restarter.cpp storage/ndb/test/ndbapi/restarter2.cpp storage/ndb/test/ndbapi/restarts.cpp storage/ndb/test/ndbapi/size.cpp storage/ndb/test/ndbapi/testBackup.cpp storage/ndb/test/ndbapi/testBasic.cpp storage/ndb/test/ndbapi/testBasicAsynch.cpp storage/ndb/test/ndbapi/testBlobs.cpp storage/ndb/test/ndbapi/testDataBuffers.cpp storage/ndb/test/ndbapi/testDeadlock.cpp storage/ndb/test/ndbapi/testDict.cpp storage/ndb/test/ndbapi/testGrepVerify.cpp storage/ndb/test/ndbapi/testIndex.cpp storage/ndb/test/ndbapi/testIndexStat.cpp storage/ndb/test/ndbapi/testInterpreter.cpp storage/ndb/test/ndbapi/testMgm.cpp storage/ndb/test/ndbapi/testNDBT.cpp storage/ndb/test/ndbapi/testNdbApi.cpp storage/ndb/test/ndbapi/testNodeRestart.cpp storage/ndb/test/ndbapi/testOIBasic.cpp storage/ndb/test/ndbapi/testOperations.cpp storage/ndb/test/ndbapi/testOrderedIndex.cpp storage/ndb/test/ndbapi/testPartitioning.cpp storage/ndb/test/ndbapi/testReadPerf.cpp storage/ndb/test/ndbapi/testRestartGci.cpp storage/ndb/test/ndbapi/testSRBank.cpp storage/ndb/test/ndbapi/testScan.cpp storage/ndb/test/ndbapi/testScanInterpreter.cpp storage/ndb/test/ndbapi/testScanPerf.cpp storage/ndb/test/ndbapi/testSystemRestart.cpp storage/ndb/test/ndbapi/testTimeout.cpp storage/ndb/test/ndbapi/testTransactions.cpp storage/ndb/test/ndbapi/test_event.cpp storage/ndb/test/ndbapi/test_event_merge.cpp storage/ndb/test/ndbapi/test_event_multi_table.cpp storage/ndb/test/ndbapi/userInterface.cpp storage/ndb/test/ndbnet/test.run storage/ndb/test/ndbnet/testError.run storage/ndb/test/ndbnet/testMNF.run storage/ndb/test/ndbnet/testNR.run storage/ndb/test/ndbnet/testNR1.run storage/ndb/test/ndbnet/testNR4.run storage/ndb/test/ndbnet/testSRhang.run storage/ndb/test/ndbnet/testTR295.run storage/ndb/test/newtonapi/basic_test/basic/basic.cpp storage/ndb/test/newtonapi/basic_test/bulk_read/br_test.cpp storage/ndb/test/newtonapi/basic_test/common.cpp storage/ndb/test/newtonapi/basic_test/common.hpp storage/ndb/test/newtonapi/basic_test/ptr_binding/ptr_binding_test.cpp storage/ndb/test/newtonapi/basic_test/too_basic.cpp storage/ndb/test/newtonapi/perf_test/perf.cpp storage/ndb/test/odbc/SQL99_test/SQL99_test.cpp storage/ndb/test/odbc/SQL99_test/SQL99_test.h storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE.cpp storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE_HDBC.cpp storage/ndb/test/odbc/client/NDBT_SQLConnect.cpp storage/ndb/test/odbc/client/NDBT_SQLPrepare.cpp storage/ndb/test/odbc/client/SQLAllocEnvTest.cpp storage/ndb/test/odbc/client/SQLAllocHandleTest.cpp storage/ndb/test/odbc/client/SQLAllocHandleTest_bf.cpp storage/ndb/test/odbc/client/SQLBindColTest.cpp storage/ndb/test/odbc/client/SQLBindParameterTest.cpp storage/ndb/test/odbc/client/SQLCancelTest.cpp storage/ndb/test/odbc/client/SQLCloseCursorTest.cpp storage/ndb/test/odbc/client/SQLColAttributeTest.cpp storage/ndb/test/odbc/client/SQLColAttributeTest1.cpp storage/ndb/test/odbc/client/SQLColAttributeTest2.cpp storage/ndb/test/odbc/client/SQLColAttributeTest3.cpp storage/ndb/test/odbc/client/SQLConnectTest.cpp storage/ndb/test/odbc/client/SQLCopyDescTest.cpp storage/ndb/test/odbc/client/SQLDescribeColTest.cpp storage/ndb/test/odbc/client/SQLDisconnectTest.cpp storage/ndb/test/odbc/client/SQLDriverConnectTest.cpp storage/ndb/test/odbc/client/SQLEndTranTest.cpp storage/ndb/test/odbc/client/SQLErrorTest.cpp storage/ndb/test/odbc/client/SQLExecDirectTest.cpp storage/ndb/test/odbc/client/SQLExecuteTest.cpp storage/ndb/test/odbc/client/SQLFetchScrollTest.cpp storage/ndb/test/odbc/client/SQLFetchTest.cpp storage/ndb/test/odbc/client/SQLFreeHandleTest.cpp storage/ndb/test/odbc/client/SQLFreeStmtTest.cpp storage/ndb/test/odbc/client/SQLGetConnectAttrTest.cpp storage/ndb/test/odbc/client/SQLGetCursorNameTest.cpp storage/ndb/test/odbc/client/SQLGetDataTest.cpp storage/ndb/test/odbc/client/SQLGetDescFieldTest.cpp storage/ndb/test/odbc/client/SQLGetDescRecTest.cpp storage/ndb/test/odbc/client/SQLGetDiagFieldTest.cpp storage/ndb/test/odbc/client/SQLGetDiagRecSimpleTest.cpp storage/ndb/test/odbc/client/SQLGetDiagRecTest.cpp storage/ndb/test/odbc/client/SQLGetEnvAttrTest.cpp storage/ndb/test/odbc/client/SQLGetFunctionsTest.cpp storage/ndb/test/odbc/client/SQLGetInfoTest.cpp storage/ndb/test/odbc/client/SQLGetStmtAttrTest.cpp storage/ndb/test/odbc/client/SQLGetTypeInfoTest.cpp storage/ndb/test/odbc/client/SQLMoreResultsTest.cpp storage/ndb/test/odbc/client/SQLNumResultColsTest.cpp storage/ndb/test/odbc/client/SQLParamDataTest.cpp storage/ndb/test/odbc/client/SQLPrepareTest.cpp storage/ndb/test/odbc/client/SQLPutDataTest.cpp storage/ndb/test/odbc/client/SQLRowCountTest.cpp storage/ndb/test/odbc/client/SQLSetConnectAttrTest.cpp storage/ndb/test/odbc/client/SQLSetCursorNameTest.cpp storage/ndb/test/odbc/client/SQLSetDescFieldTest.cpp storage/ndb/test/odbc/client/SQLSetDescRecTest.cpp storage/ndb/test/odbc/client/SQLSetEnvAttrTest.cpp storage/ndb/test/odbc/client/SQLSetStmtAttrTest.cpp storage/ndb/test/odbc/client/SQLTablesTest.cpp storage/ndb/test/odbc/client/SQLTransactTest.cpp storage/ndb/test/odbc/client/common.hpp storage/ndb/test/odbc/client/main.cpp storage/ndb/test/odbc/driver/testOdbcDriver.cpp storage/ndb/test/odbc/test_compiler/test_compiler.cpp storage/ndb/test/run-test/atrt-analyze-result.sh storage/ndb/test/run-test/atrt-clear-result.sh storage/ndb/test/run-test/atrt-gather-result.sh storage/ndb/test/run-test/atrt-setup.sh storage/ndb/test/run-test/atrt-testBackup storage/ndb/test/run-test/atrt.hpp storage/ndb/test/run-test/main.cpp storage/ndb/test/run-test/make-index.sh storage/ndb/test/src/CpcClient.cpp storage/ndb/test/src/DbUtil.cpp storage/ndb/test/src/HugoAsynchTransactions.cpp storage/ndb/test/src/HugoCalculator.cpp storage/ndb/test/src/HugoOperations.cpp storage/ndb/test/src/HugoTransactions.cpp storage/ndb/test/src/NDBT_Error.cpp storage/ndb/test/src/NDBT_Output.cpp storage/ndb/test/src/NDBT_ResultRow.cpp storage/ndb/test/src/NDBT_ReturnCodes.cpp storage/ndb/test/src/NDBT_Table.cpp storage/ndb/test/src/NDBT_Tables.cpp storage/ndb/test/src/NDBT_Test.cpp storage/ndb/test/src/NDBT_Thread.cpp storage/ndb/test/src/NdbBackup.cpp storage/ndb/test/src/NdbConfig.cpp storage/ndb/test/src/NdbGrep.cpp storage/ndb/test/src/NdbMixRestarter.cpp storage/ndb/test/src/NdbRestarter.cpp storage/ndb/test/src/NdbRestarts.cpp storage/ndb/test/src/NdbSchemaCon.cpp storage/ndb/test/src/NdbSchemaOp.cpp storage/ndb/test/src/UtilTransactions.cpp storage/ndb/test/tools/connect.cpp storage/ndb/test/tools/copy_tab.cpp storage/ndb/test/tools/cpcc.cpp storage/ndb/test/tools/create_index.cpp storage/ndb/test/tools/hugoCalculator.cpp storage/ndb/test/tools/hugoFill.cpp storage/ndb/test/tools/hugoLoad.cpp storage/ndb/test/tools/hugoLockRecords.cpp storage/ndb/test/tools/hugoPkDelete.cpp storage/ndb/test/tools/hugoPkRead.cpp storage/ndb/test/tools/hugoPkReadRecord.cpp storage/ndb/test/tools/hugoPkUpdate.cpp storage/ndb/test/tools/hugoScanRead.cpp storage/ndb/test/tools/hugoScanUpdate.cpp storage/ndb/test/tools/listen.cpp storage/ndb/test/tools/rep_latency.cpp storage/ndb/test/tools/restart.cpp storage/ndb/test/tools/transproxy.cpp storage/ndb/test/tools/verify_index.cpp storage/ndb/tools/clean-links.sh storage/ndb/tools/delete_all.cpp storage/ndb/tools/desc.cpp storage/ndb/tools/drop_index.cpp storage/ndb/tools/drop_tab.cpp storage/ndb/tools/listTables.cpp storage/ndb/tools/make-errors.pl storage/ndb/tools/make-links.sh storage/ndb/tools/ndb_config.cpp storage/ndb/tools/ndb_error_reporter storage/ndb/tools/ndb_test_platform.cpp storage/ndb/tools/ndbsql.cpp storage/ndb/tools/restore/Restore.cpp storage/ndb/tools/restore/Restore.hpp storage/ndb/tools/restore/consumer.cpp storage/ndb/tools/restore/consumer.hpp storage/ndb/tools/restore/consumer_printer.cpp storage/ndb/tools/restore/consumer_printer.hpp storage/ndb/tools/restore/consumer_restore.cpp storage/ndb/tools/restore/consumer_restore.hpp storage/ndb/tools/restore/consumer_restorem.cpp storage/ndb/tools/restore/ndb_nodegroup_map.h storage/ndb/tools/restore/restore_main.cpp storage/ndb/tools/rgrep storage/ndb/tools/select_all.cpp storage/ndb/tools/select_count.cpp storage/ndb/tools/waiter.cpp storage/oqgraph/CMakeLists.txt storage/oqgraph/ha_oqgraph.cc storage/oqgraph/ha_oqgraph.h storage/oqgraph/mysql-test/oqgraph/boundary_conditions.result storage/oqgraph/mysql-test/oqgraph/boundary_conditions.test storage/oqgraph/mysql-test/oqgraph/invalid_operations.result storage/oqgraph/mysql-test/oqgraph/invalid_operations.test storage/oqgraph/mysql-test/oqgraph/isnull.result storage/oqgraph/mysql-test/oqgraph/isnull.test storage/oqgraph/mysql-test/oqgraph/regression_1233113.result storage/oqgraph/mysql-test/oqgraph/regression_1233113.test storage/oqgraph/mysql-test/oqgraph/regression_drop_after.result storage/oqgraph/mysql-test/oqgraph/regression_drop_after.test storage/oqgraph/mysql-test/oqgraph/suite.pm storage/perfschema/CMakeLists.txt storage/perfschema/pfs_check.cc storage/perfschema/pfs_events_waits.cc storage/perfschema/pfs_global.cc storage/perfschema/table_events_waits.cc storage/perfschema/unittest/CMakeLists.txt storage/sequence/mysql-test/sequence/simple.result storage/sequence/mysql-test/sequence/simple.test storage/sequence/sequence.cc storage/sphinx/ha_sphinx.cc storage/sphinx/mysql-test/sphinx/suite.pm storage/spider/ha_spider.cc storage/spider/ha_spider.h storage/spider/mysql-test/spider/bg/suite.opt storage/spider/scripts/install_spider.sql storage/spider/spd_conn.cc storage/spider/spd_conn.h storage/spider/spd_copy_tables.cc storage/spider/spd_copy_tables.h storage/spider/spd_db_conn.cc storage/spider/spd_db_conn.h storage/spider/spd_db_handlersocket.cc storage/spider/spd_db_handlersocket.h storage/spider/spd_db_include.h storage/spider/spd_db_mysql.cc storage/spider/spd_db_mysql.h storage/spider/spd_db_oracle.cc storage/spider/spd_db_oracle.h storage/spider/spd_direct_sql.cc storage/spider/spd_direct_sql.h storage/spider/spd_err.h storage/spider/spd_i_s.cc storage/spider/spd_include.h storage/spider/spd_malloc.cc storage/spider/spd_malloc.h storage/spider/spd_param.cc storage/spider/spd_param.h storage/spider/spd_ping_table.cc storage/spider/spd_ping_table.h storage/spider/spd_sys_table.cc storage/spider/spd_sys_table.h storage/spider/spd_table.cc storage/spider/spd_table.h storage/spider/spd_trx.cc storage/spider/spd_trx.h storage/spider/spd_udf.cc storage/spider/spd_udf.h storage/tokudb/CMakeLists.txt storage/tokudb/README.md storage/tokudb/ft-index/CMakeLists.txt storage/tokudb/ft-index/README.md storage/tokudb/ft-index/buildheader/CMakeLists.txt storage/tokudb/ft-index/buildheader/make_tdb.cc storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake storage/tokudb/ft-index/examples/CMakeLists.txt storage/tokudb/ft-index/ft/CMakeLists.txt storage/tokudb/ft-index/ft/bndata.cc storage/tokudb/ft-index/ft/bndata.h storage/tokudb/ft-index/ft/cachetable-internal.h storage/tokudb/ft-index/ft/cachetable.cc storage/tokudb/ft-index/ft/cachetable.h storage/tokudb/ft-index/ft/checkpoint.cc storage/tokudb/ft-index/ft/compress.cc storage/tokudb/ft-index/ft/fifo.cc storage/tokudb/ft-index/ft/fifo.h storage/tokudb/ft-index/ft/ft-cachetable-wrappers.cc storage/tokudb/ft-index/ft/ft-flusher.cc storage/tokudb/ft-index/ft/ft-flusher.h storage/tokudb/ft-index/ft/ft-hot-flusher.cc storage/tokudb/ft-index/ft/ft-internal.h storage/tokudb/ft-index/ft/ft-ops.cc storage/tokudb/ft-index/ft/ft-ops.h storage/tokudb/ft-index/ft/ft-serialize.cc storage/tokudb/ft-index/ft/ft-test-helpers.cc storage/tokudb/ft-index/ft/ft.cc storage/tokudb/ft-index/ft/ft.h storage/tokudb/ft-index/ft/ft_layout_version.h storage/tokudb/ft-index/ft/ft_node-serialize.cc storage/tokudb/ft-index/ft/ftloader-internal.h storage/tokudb/ft-index/ft/ftloader.cc storage/tokudb/ft-index/ft/fttypes.h storage/tokudb/ft-index/ft/leafentry.h storage/tokudb/ft-index/ft/log-internal.h storage/tokudb/ft-index/ft/logformat.cc storage/tokudb/ft-index/ft/logger.cc storage/tokudb/ft-index/ft/logger.h storage/tokudb/ft-index/ft/roll.cc storage/tokudb/ft-index/ft/rollback-apply.cc storage/tokudb/ft-index/ft/rollback-ct-callbacks.cc storage/tokudb/ft-index/ft/rollback-ct-callbacks.h storage/tokudb/ft-index/ft/rollback.cc storage/tokudb/ft-index/ft/rollback.h storage/tokudb/ft-index/ft/rollback_log_node_cache.cc storage/tokudb/ft-index/ft/rollback_log_node_cache.h storage/tokudb/ft-index/ft/tests/cachetable-5097.cc storage/tokudb/ft-index/ft/tests/cachetable-5978.cc storage/tokudb/ft-index/ft/tests/cachetable-clock-eviction2.cc storage/tokudb/ft-index/ft/tests/cachetable-clock-eviction3.cc storage/tokudb/ft-index/ft/tests/cachetable-clock-eviction4.cc storage/tokudb/ft-index/ft/tests/cachetable-eviction-close-test2.cc storage/tokudb/ft-index/ft/tests/cachetable-eviction-getandpin-test2.cc storage/tokudb/ft-index/ft/tests/cachetable-evictor-class.cc storage/tokudb/ft-index/ft/tests/ft-bfe-query.cc storage/tokudb/ft-index/ft/tests/ft-clock-test.cc storage/tokudb/ft-index/ft/tests/ft-serialize-benchmark.cc storage/tokudb/ft-index/ft/tests/ft-serialize-test.cc storage/tokudb/ft-index/ft/tests/ftloader-test-bad-generate.cc storage/tokudb/ft-index/ft/tests/ftloader-test-extractor-errors.cc storage/tokudb/ft-index/ft/tests/ftloader-test-extractor.cc storage/tokudb/ft-index/ft/tests/ftloader-test-merge-files-dbufio.cc storage/tokudb/ft-index/ft/tests/ftloader-test-open.cc storage/tokudb/ft-index/ft/tests/ftloader-test-writer-errors.cc storage/tokudb/ft-index/ft/tests/ftloader-test-writer.cc storage/tokudb/ft-index/ft/tests/ftloader-test.cc storage/tokudb/ft-index/ft/tests/make-tree.cc storage/tokudb/ft-index/ft/tests/msnfilter.cc storage/tokudb/ft-index/ft/tests/orthopush-flush.cc storage/tokudb/ft-index/ft/tests/test-flushes-on-cleaner.cc storage/tokudb/ft-index/ft/tests/test-hot-with-bounds.cc storage/tokudb/ft-index/ft/tests/test-inc-split.cc storage/tokudb/ft-index/ft/tests/test-leafentry-nested.cc storage/tokudb/ft-index/ft/tests/test-pick-child-to-flush.cc storage/tokudb/ft-index/ft/tests/test.h storage/tokudb/ft-index/ft/tests/upgrade_test_simple.cc storage/tokudb/ft-index/ft/tests/verify-bad-msn.cc storage/tokudb/ft-index/ft/tests/verify-bad-pivots.cc storage/tokudb/ft-index/ft/tests/verify-dup-in-leaf.cc storage/tokudb/ft-index/ft/tests/verify-dup-pivots.cc storage/tokudb/ft-index/ft/tests/verify-misrouted-msgs.cc storage/tokudb/ft-index/ft/tests/verify-unsorted-leaf.cc storage/tokudb/ft-index/ft/tests/verify-unsorted-pivots.cc storage/tokudb/ft-index/ft/txn.cc storage/tokudb/ft-index/ft/txn_manager.cc storage/tokudb/ft-index/ft/txn_manager.h storage/tokudb/ft-index/ft/ule.cc storage/tokudb/ft-index/ft/ule.h storage/tokudb/ft-index/locktree/lock_request.cc storage/tokudb/ft-index/locktree/lock_request.h storage/tokudb/ft-index/locktree/locktree.cc storage/tokudb/ft-index/locktree/locktree.h storage/tokudb/ft-index/locktree/manager.cc storage/tokudb/ft-index/locktree/tests/lock_request_create_set.cc storage/tokudb/ft-index/locktree/tests/lock_request_get_set_keys.cc storage/tokudb/ft-index/locktree/tests/lock_request_start_deadlock.cc storage/tokudb/ft-index/locktree/tests/lock_request_start_pending.cc storage/tokudb/ft-index/locktree/tests/lock_request_unit_test.h storage/tokudb/ft-index/locktree/tests/locktree_conflicts.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_stalls.cc storage/tokudb/ft-index/locktree/tests/locktree_infinity.cc storage/tokudb/ft-index/locktree/tests/locktree_overlapping_relock.cc storage/tokudb/ft-index/locktree/tests/locktree_simple_lock.cc storage/tokudb/ft-index/locktree/tests/locktree_single_txnid_optimization.cc storage/tokudb/ft-index/locktree/tests/manager_create_destroy.cc storage/tokudb/ft-index/locktree/tests/manager_params.cc storage/tokudb/ft-index/locktree/tests/manager_status.cc storage/tokudb/ft-index/portability/CMakeLists.txt storage/tokudb/ft-index/portability/file.cc storage/tokudb/ft-index/portability/os_malloc.cc storage/tokudb/ft-index/scripts/run.stress-tests.py storage/tokudb/ft-index/src/CMakeLists.txt storage/tokudb/ft-index/src/export.map storage/tokudb/ft-index/src/indexer-undo-do.cc storage/tokudb/ft-index/src/loader.cc storage/tokudb/ft-index/src/tests/CMakeLists.txt storage/tokudb/ft-index/src/tests/blocking-first-empty.cc storage/tokudb/ft-index/src/tests/blocking-first.cc storage/tokudb/ft-index/src/tests/blocking-last.cc storage/tokudb/ft-index/src/tests/blocking-next-prev-deadlock.cc storage/tokudb/ft-index/src/tests/blocking-prelock-range.cc storage/tokudb/ft-index/src/tests/blocking-put-timeout.cc storage/tokudb/ft-index/src/tests/blocking-put-wakeup.cc storage/tokudb/ft-index/src/tests/blocking-put.cc storage/tokudb/ft-index/src/tests/blocking-set-range-0.cc storage/tokudb/ft-index/src/tests/blocking-set-range-n.cc storage/tokudb/ft-index/src/tests/blocking-set-range-reverse-0.cc storage/tokudb/ft-index/src/tests/blocking-set.cc storage/tokudb/ft-index/src/tests/blocking-table-lock.cc storage/tokudb/ft-index/src/tests/db-put-simple-deadlock-threads.cc storage/tokudb/ft-index/src/tests/db-put-simple-lockwait.cc storage/tokudb/ft-index/src/tests/db-put-update-deadlock.cc storage/tokudb/ft-index/src/tests/env_loader_memory.cc storage/tokudb/ft-index/src/tests/filesize.cc storage/tokudb/ft-index/src/tests/hot-optimize-table-tests.cc storage/tokudb/ft-index/src/tests/test_4368.cc storage/tokudb/ft-index/src/tests/test_iterate_pending_lock_requests.cc storage/tokudb/ft-index/src/tests/test_kv_gen.h storage/tokudb/ft-index/src/tests/test_lock_timeout_callback.cc storage/tokudb/ft-index/src/tests/test_stress5.cc storage/tokudb/ft-index/src/tests/threaded_stress_test_helpers.h storage/tokudb/ft-index/src/tests/update-multiple-with-indexer-array.cc storage/tokudb/ft-index/src/ydb-internal.h storage/tokudb/ft-index/src/ydb.cc storage/tokudb/ft-index/src/ydb_cursor.cc storage/tokudb/ft-index/src/ydb_db.cc storage/tokudb/ft-index/src/ydb_env_func.cc storage/tokudb/ft-index/src/ydb_row_lock.cc storage/tokudb/ft-index/src/ydb_txn.cc storage/tokudb/ft-index/src/ydb_txn.h storage/tokudb/ft-index/toku_include/CMakeLists.txt storage/tokudb/ft-index/util/CMakeLists.txt storage/tokudb/ft-index/util/frwlock.cc storage/tokudb/ft-index/util/frwlock.h storage/tokudb/ft-index/util/kibbutz.cc storage/tokudb/ft-index/util/kibbutz.h storage/tokudb/ft-index/util/mempool.cc storage/tokudb/ft-index/util/mempool.h storage/tokudb/ft-index/util/tests/test-kibbutz.cc storage/tokudb/ft-index/util/tests/test-kibbutz2.cc storage/tokudb/ft-index/util/tests/test-rwlock-cheapness.cc storage/tokudb/ft-index/util/tests/test-rwlock.cc storage/tokudb/ha_tokudb.cc storage/tokudb/ha_tokudb.h storage/tokudb/ha_tokudb_admin.cc storage/tokudb/ha_tokudb_alter_56.cc storage/tokudb/ha_tokudb_alter_common.cc storage/tokudb/ha_tokudb_update.cc storage/tokudb/hatoku_cmp.cc storage/tokudb/hatoku_cmp.h storage/tokudb/hatoku_defines.h storage/tokudb/hatoku_hton.cc storage/tokudb/hatoku_hton.h storage/tokudb/mysql-test/tokudb/locks-blocking-row-locks-testgen.py storage/tokudb/mysql-test/tokudb/r/auto_increment.result storage/tokudb/mysql-test/tokudb/r/auto_increment_boundary.result storage/tokudb/mysql-test/tokudb/r/auto_increment_boundary_traditional.result storage/tokudb/mysql-test/tokudb/r/change_column_char_default.result storage/tokudb/mysql-test/tokudb/r/change_column_int_default.result storage/tokudb/mysql-test/tokudb/r/change_column_varbin.result storage/tokudb/mysql-test/tokudb/r/change_column_varbin_default.result storage/tokudb/mysql-test/tokudb/r/change_column_varbin_multiple.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_default.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_prefix_a.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_prefix_b.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_sum_cross256.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-0.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-1.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-2.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-3.result storage/tokudb/mysql-test/tokudb/r/cluster_create_table.result storage/tokudb/mysql-test/tokudb/r/cluster_filter_unpack_varchar_and_int_hidden.result storage/tokudb/mysql-test/tokudb/r/ctype_collate.result storage/tokudb/mysql-test/tokudb/r/ctype_cp1250_ch.result storage/tokudb/mysql-test/tokudb/r/hotindex-del-fast.result storage/tokudb/mysql-test/tokudb/r/hotindex-del-slow.result storage/tokudb/mysql-test/tokudb/r/information-schema-global-status.result storage/tokudb/mysql-test/tokudb/r/locks-blocking-row-locks-getset.result storage/tokudb/mysql-test/tokudb/r/locks-blocking-row-locks.result storage/tokudb/mysql-test/tokudb/r/mvcc-10.result storage/tokudb/mysql-test/tokudb/r/mvcc-11.result storage/tokudb/mysql-test/tokudb/r/mvcc-12.result storage/tokudb/mysql-test/tokudb/r/mvcc-13.result storage/tokudb/mysql-test/tokudb/r/mvcc-14.result storage/tokudb/mysql-test/tokudb/r/mvcc-15.result storage/tokudb/mysql-test/tokudb/r/mvcc-16.result storage/tokudb/mysql-test/tokudb/r/mvcc-17.result storage/tokudb/mysql-test/tokudb/r/mvcc-18.result storage/tokudb/mysql-test/tokudb/r/mvcc-21.result storage/tokudb/mysql-test/tokudb/r/mvcc-22.result storage/tokudb/mysql-test/tokudb/r/mvcc-23.result storage/tokudb/mysql-test/tokudb/r/mvcc-25.result storage/tokudb/mysql-test/tokudb/r/mvcc-3.result storage/tokudb/mysql-test/tokudb/r/mvcc-33.result storage/tokudb/mysql-test/tokudb/r/mvcc-34.result storage/tokudb/mysql-test/tokudb/r/mvcc-35.result storage/tokudb/mysql-test/tokudb/r/mvcc-36.result storage/tokudb/mysql-test/tokudb/r/mvcc-37.result storage/tokudb/mysql-test/tokudb/r/mvcc-38.result storage/tokudb/mysql-test/tokudb/r/mvcc-39.result storage/tokudb/mysql-test/tokudb/r/mvcc-4.result storage/tokudb/mysql-test/tokudb/r/mvcc-40.result storage/tokudb/mysql-test/tokudb/r/mvcc-5.result storage/tokudb/mysql-test/tokudb/r/mvcc-6.result storage/tokudb/mysql-test/tokudb/r/mvcc-7.result storage/tokudb/mysql-test/tokudb/r/mvcc-8.result storage/tokudb/mysql-test/tokudb/r/mvcc-9.result storage/tokudb/mysql-test/tokudb/r/mvcc-checksum-locks.result storage/tokudb/mysql-test/tokudb/r/type_binary.result storage/tokudb/mysql-test/tokudb/r/type_bit.result storage/tokudb/mysql-test/tokudb/r/type_blob.result storage/tokudb/mysql-test/tokudb/r/type_datetime.result storage/tokudb/mysql-test/tokudb/r/type_decimal.result storage/tokudb/mysql-test/tokudb/r/type_enum.result storage/tokudb/mysql-test/tokudb/r/type_float.result storage/tokudb/mysql-test/tokudb/r/type_nchar.result storage/tokudb/mysql-test/tokudb/r/type_newdecimal.result storage/tokudb/mysql-test/tokudb/r/type_set.result storage/tokudb/mysql-test/tokudb/r/type_timestamp.result storage/tokudb/mysql-test/tokudb/r/type_varchar.result storage/tokudb/mysql-test/tokudb/t/auto_increment.test storage/tokudb/mysql-test/tokudb/t/auto_increment_boundary.test storage/tokudb/mysql-test/tokudb/t/auto_increment_boundary_traditional.test storage/tokudb/mysql-test/tokudb/t/bulk-fetch.test storage/tokudb/mysql-test/tokudb/t/bulk-fetch2.test storage/tokudb/mysql-test/tokudb/t/change_column_all_1000_1.test storage/tokudb/mysql-test/tokudb/t/change_column_all_1000_10.test storage/tokudb/mysql-test/tokudb/t/change_column_auto_inc.test storage/tokudb/mysql-test/tokudb/t/change_column_bin.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_pad.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_blob.test storage/tokudb/mysql-test/tokudb/t/change_column_char.test storage/tokudb/mysql-test/tokudb/t/change_column_char_binary.test storage/tokudb/mysql-test/tokudb/t/change_column_char_charbinary.test storage/tokudb/mysql-test/tokudb/t/change_column_char_charset.test storage/tokudb/mysql-test/tokudb/t/change_column_char_default.test storage/tokudb/mysql-test/tokudb/t/change_column_char_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_char_key.test storage/tokudb/mysql-test/tokudb/t/change_column_char_null.test storage/tokudb/mysql-test/tokudb/t/change_column_char_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_int.test storage/tokudb/mysql-test/tokudb/t/change_column_int_default.test storage/tokudb/mysql-test/tokudb/t/change_column_int_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_int_key.test storage/tokudb/mysql-test/tokudb/t/change_column_int_not_supported.test storage/tokudb/mysql-test/tokudb/t/change_column_int_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_multiple_columns.test storage/tokudb/mysql-test/tokudb/t/change_column_text.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_cross256.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_default.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_key.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_multiple.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_null.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_varchar.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_charset.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_cross256.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_default.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_key.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_null.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_prefix_a.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_prefix_b.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_sum_cross256.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_varbin.test storage/tokudb/mysql-test/tokudb/t/cluster_1829.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-0.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-1.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-2.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-3.test storage/tokudb/mysql-test/tokudb/t/cluster_create_table.test storage/tokudb/mysql-test/tokudb/t/cluster_delete.test storage/tokudb/mysql-test/tokudb/t/cluster_delete2.test storage/tokudb/mysql-test/tokudb/t/cluster_filter.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_hidden.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_key.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_unpack_varchar.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_unpack_varchar_and_int_hidden.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_unpack_varchar_hidden.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_varchar_prefix.test storage/tokudb/mysql-test/tokudb/t/cluster_key.test storage/tokudb/mysql-test/tokudb/t/cluster_query_plan.test storage/tokudb/mysql-test/tokudb/t/cluster_tokudb_bug_993.test storage/tokudb/mysql-test/tokudb/t/cluster_tokudb_bug_993_2.test storage/tokudb/mysql-test/tokudb/t/cluster_update.test storage/tokudb/mysql-test/tokudb/t/cluster_update2.test storage/tokudb/mysql-test/tokudb/t/ctype_ascii.test storage/tokudb/mysql-test/tokudb/t/ctype_collate.test storage/tokudb/mysql-test/tokudb/t/ctype_cp1250_ch.test storage/tokudb/mysql-test/tokudb/t/ctype_cp1251.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-0.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-1.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-fast.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-slow.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-0.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-1.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-2.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-bigchar.test storage/tokudb/mysql-test/tokudb/t/hotindex-update-0.test storage/tokudb/mysql-test/tokudb/t/hotindex-update-1.test storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_timeout.test storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test storage/tokudb/mysql-test/tokudb/t/information-schema-global-status.test storage/tokudb/mysql-test/tokudb/t/lockretry-insert.writelocktable.test storage/tokudb/mysql-test/tokudb/t/lockretry-writelocktable.insert.test storage/tokudb/mysql-test/tokudb/t/lockretry-writelocktable.insert2.test storage/tokudb/mysql-test/tokudb/t/locks-blocking-row-locks-getset.test storage/tokudb/mysql-test/tokudb/t/locks-blocking-row-locks.test storage/tokudb/mysql-test/tokudb/t/locks-delete-deadlock-1.test storage/tokudb/mysql-test/tokudb/t/locks-no-read-lock-serializable-autocommit.test storage/tokudb/mysql-test/tokudb/t/locks-select-update-1.test storage/tokudb/mysql-test/tokudb/t/locks-select-update-2.test storage/tokudb/mysql-test/tokudb/t/locks-select-update-3.test storage/tokudb/mysql-test/tokudb/t/locks-update-deadlock-1.test storage/tokudb/mysql-test/tokudb/t/mvcc-1.test storage/tokudb/mysql-test/tokudb/t/mvcc-10.test storage/tokudb/mysql-test/tokudb/t/mvcc-11.test storage/tokudb/mysql-test/tokudb/t/mvcc-12.test storage/tokudb/mysql-test/tokudb/t/mvcc-13.test storage/tokudb/mysql-test/tokudb/t/mvcc-14.test storage/tokudb/mysql-test/tokudb/t/mvcc-15.test storage/tokudb/mysql-test/tokudb/t/mvcc-16.test storage/tokudb/mysql-test/tokudb/t/mvcc-17.test storage/tokudb/mysql-test/tokudb/t/mvcc-18.test storage/tokudb/mysql-test/tokudb/t/mvcc-19.test storage/tokudb/mysql-test/tokudb/t/mvcc-2.test storage/tokudb/mysql-test/tokudb/t/mvcc-20.test storage/tokudb/mysql-test/tokudb/t/mvcc-21.test storage/tokudb/mysql-test/tokudb/t/mvcc-22.test storage/tokudb/mysql-test/tokudb/t/mvcc-23.test storage/tokudb/mysql-test/tokudb/t/mvcc-24.test storage/tokudb/mysql-test/tokudb/t/mvcc-25.test storage/tokudb/mysql-test/tokudb/t/mvcc-26.test storage/tokudb/mysql-test/tokudb/t/mvcc-27.test storage/tokudb/mysql-test/tokudb/t/mvcc-28.test storage/tokudb/mysql-test/tokudb/t/mvcc-2808-read-committed.test storage/tokudb/mysql-test/tokudb/t/mvcc-2808-read-uncommitted.test storage/tokudb/mysql-test/tokudb/t/mvcc-29.test storage/tokudb/mysql-test/tokudb/t/mvcc-3.test storage/tokudb/mysql-test/tokudb/t/mvcc-30.test storage/tokudb/mysql-test/tokudb/t/mvcc-31.test storage/tokudb/mysql-test/tokudb/t/mvcc-33.test storage/tokudb/mysql-test/tokudb/t/mvcc-34.test storage/tokudb/mysql-test/tokudb/t/mvcc-35.test storage/tokudb/mysql-test/tokudb/t/mvcc-36.test storage/tokudb/mysql-test/tokudb/t/mvcc-37.test storage/tokudb/mysql-test/tokudb/t/mvcc-38.test storage/tokudb/mysql-test/tokudb/t/mvcc-39.test storage/tokudb/mysql-test/tokudb/t/mvcc-4.test storage/tokudb/mysql-test/tokudb/t/mvcc-40.test storage/tokudb/mysql-test/tokudb/t/mvcc-5.test storage/tokudb/mysql-test/tokudb/t/mvcc-6.test storage/tokudb/mysql-test/tokudb/t/mvcc-7.test storage/tokudb/mysql-test/tokudb/t/mvcc-8.test storage/tokudb/mysql-test/tokudb/t/mvcc-9.test storage/tokudb/mysql-test/tokudb/t/mvcc-checksum-locks.test storage/tokudb/mysql-test/tokudb/t/nested_txn_autocommit.test storage/tokudb/mysql-test/tokudb/t/nested_txn_begin.test storage/tokudb/mysql-test/tokudb/t/nested_txn_implicit_commit.test storage/tokudb/mysql-test/tokudb/t/prim_key_1.test storage/tokudb/mysql-test/tokudb/t/prim_key_2.test storage/tokudb/mysql-test/tokudb/t/prim_key_3.test storage/tokudb/mysql-test/tokudb/t/prim_key_4.test storage/tokudb/mysql-test/tokudb/t/prim_key_5.test storage/tokudb/mysql-test/tokudb/t/prim_key_6.test storage/tokudb/mysql-test/tokudb/t/replace-ignore.test storage/tokudb/mysql-test/tokudb/t/rows-32m-0.test storage/tokudb/mysql-test/tokudb/t/rows-32m-1.test storage/tokudb/mysql-test/tokudb/t/rows-32m-rand-insert.test storage/tokudb/mysql-test/tokudb/t/rows-32m-seq-insert.test storage/tokudb/mysql-test/tokudb/t/savepoint-3.test storage/tokudb/mysql-test/tokudb/t/simple_delete_all.test storage/tokudb/mysql-test/tokudb/t/simple_join_tokudb_myisam.test storage/tokudb/mysql-test/tokudb/t/simple_truncate.test storage/tokudb/mysql-test/tokudb/t/truncate_row_count.test storage/tokudb/mysql-test/tokudb/t/truncate_txn_commit.test storage/tokudb/mysql-test/tokudb/t/truncate_txn_rollback.test storage/tokudb/mysql-test/tokudb/t/type_varchar.test storage/tokudb/mysql-test/tokudb_add_index/r/hot_create_unique_index.result storage/tokudb/mysql-test/tokudb_add_index/t/1522.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_1.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_10.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_11.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_12.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_13.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_14.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_16.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_17.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_18.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_2.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_3.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_4.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_6.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_7.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_8.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_9.test storage/tokudb/mysql-test/tokudb_add_index/t/falcon_bug_23691.test storage/tokudb/mysql-test/tokudb_add_index/t/falcon_bug_23692.test storage/tokudb/mysql-test/tokudb_add_index/t/hot_create_unique_index.test storage/tokudb/mysql-test/tokudb_add_index/t/tokudb_bug_1152.test storage/tokudb/mysql-test/tokudb_alter_table/r/ai_part.result storage/tokudb/mysql-test/tokudb_alter_table/r/alter_column_default.result storage/tokudb/mysql-test/tokudb_alter_table/r/auto_inc.result storage/tokudb/mysql-test/tokudb_alter_table/r/fractional_time_alter_table.result storage/tokudb/mysql-test/tokudb_alter_table/r/frm_discover.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcad_and_rename_table.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcad_part.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcr.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcr3.result storage/tokudb/mysql-test/tokudb_alter_table/r/other_alter.result storage/tokudb/mysql-test/tokudb_alter_table/r/other_alter2.result storage/tokudb/mysql-test/tokudb_alter_table/r/row_format_alter.result storage/tokudb/mysql-test/tokudb_alter_table/r/test_field_same_detection.result storage/tokudb/mysql-test/tokudb_alter_table/t/5260.test storage/tokudb/mysql-test/tokudb_alter_table/t/ai_di.test storage/tokudb/mysql-test/tokudb_alter_table/t/auto_inc.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_add3.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_blob_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_blob_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_fixed_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_fixed_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_var_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_var_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_and_rename_table.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_clustering.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_clustering2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_diff_num_offset_bytes.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedblob_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedblob_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedblob_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedvar_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedvar_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedvar_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_indexing_mix.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_null_bits.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_pk.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_pk2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_template.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_tmp_tables.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_tmp_tables_56.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_varblob_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_varblob_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_varblob_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_with_dels.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_with_lock_sps.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_with_locks.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcr.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcr2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcr3.test storage/tokudb/mysql-test/tokudb_alter_table/t/hot_row_format_alter.test storage/tokudb/mysql-test/tokudb_alter_table/t/other_alter.test storage/tokudb/mysql-test/tokudb_alter_table/t/other_alter2.test storage/tokudb/mysql-test/tokudb_alter_table/t/row_format_alter.test storage/tokudb/mysql-test/tokudb_alter_table/t/test_field_same_detection.test storage/tokudb/mysql-test/tokudb_alter_table/t/virtual_columns.test storage/tokudb/mysql-test/tokudb_bugs/disabled.def storage/tokudb/mysql-test/tokudb_bugs/r/2952.result storage/tokudb/mysql-test/tokudb_bugs/r/2970.result storage/tokudb/mysql-test/tokudb_bugs/r/4676.result storage/tokudb/mysql-test/tokudb_bugs/r/5089.result storage/tokudb/mysql-test/tokudb_bugs/r/checkpoint_lock.result storage/tokudb/mysql-test/tokudb_bugs/r/checkpoint_lock_3.result storage/tokudb/mysql-test/tokudb_bugs/r/dict_leak_3518.result storage/tokudb/mysql-test/tokudb_bugs/r/expand_tinytext_text.result storage/tokudb/mysql-test/tokudb_bugs/r/fractional_time.result storage/tokudb/mysql-test/tokudb_bugs/r/frm_store.result storage/tokudb/mysql-test/tokudb_bugs/r/frm_store2.result storage/tokudb/mysql-test/tokudb_bugs/r/frm_store3.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_drop_part_table_668.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_drop_simple_table_668.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_mrr.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_mrr2.result storage/tokudb/mysql-test/tokudb_bugs/t/1913.test storage/tokudb/mysql-test/tokudb_bugs/t/1938.test storage/tokudb/mysql-test/tokudb_bugs/t/1949.test storage/tokudb/mysql-test/tokudb_bugs/t/2043.test storage/tokudb/mysql-test/tokudb_bugs/t/2219.test storage/tokudb/mysql-test/tokudb_bugs/t/2262.test storage/tokudb/mysql-test/tokudb_bugs/t/2383.test storage/tokudb/mysql-test/tokudb_bugs/t/2458.test storage/tokudb/mysql-test/tokudb_bugs/t/2548.test storage/tokudb/mysql-test/tokudb_bugs/t/2641.test storage/tokudb/mysql-test/tokudb_bugs/t/2952.test storage/tokudb/mysql-test/tokudb_bugs/t/2970.test storage/tokudb/mysql-test/tokudb_bugs/t/3014.test storage/tokudb/mysql-test/tokudb_bugs/t/3015.test storage/tokudb/mysql-test/tokudb_bugs/t/3083.test storage/tokudb/mysql-test/tokudb_bugs/t/4472.test storage/tokudb/mysql-test/tokudb_bugs/t/4656.test storage/tokudb/mysql-test/tokudb_bugs/t/4656_2.test storage/tokudb/mysql-test/tokudb_bugs/t/5089.test storage/tokudb/mysql-test/tokudb_bugs/t/5733_innodb.test storage/tokudb/mysql-test/tokudb_bugs/t/6053.test storage/tokudb/mysql-test/tokudb_bugs/t/6684.test storage/tokudb/mysql-test/tokudb_bugs/t/checkpoint_lock.test storage/tokudb/mysql-test/tokudb_bugs/t/checkpoint_lock_3.test storage/tokudb/mysql-test/tokudb_bugs/t/expand_tinytext_text.test storage/tokudb/mysql-test/tokudb_bugs/t/fileops-4.test storage/tokudb/mysql-test/tokudb_bugs/t/ft-index-40.test storage/tokudb/mysql-test/tokudb_bugs/t/index_read.test storage/tokudb/mysql-test/tokudb_bugs/t/tokudb_drop_part_table_668.test storage/tokudb/mysql-test/tokudb_bugs/t/tokudb_drop_simple_table_668.test storage/tokudb/mysql-test/tokudb_bugs/t/xa-1.test storage/tokudb/mysql-test/tokudb_bugs/t/xa-2.test storage/tokudb/mysql-test/tokudb_bugs/t/xa-6.test storage/tokudb/mysql-test/tokudb_mariadb/r/alter.result storage/tokudb/mysql-test/tokudb_mariadb/r/clustering.result storage/tokudb/mysql-test/tokudb_mariadb/r/compression.result storage/tokudb/mysql-test/tokudb_mariadb/t/compression.test storage/tokudb/scripts/common.sh storage/tokudb/scripts/make.mysql.bash storage/tokudb/scripts/make.mysql.debug.env.bash storage/tokudb/scripts/nightly.mysql.build.and.test.bash storage/tokudb/scripts/run.atc.ontime.bash storage/tokudb/scripts/run.mysql.tests.bash storage/tokudb/scripts/run.sql.bench.bash storage/tokudb/scripts/run.tpch.bash storage/tokudb/scripts/setup.mysql.bash storage/tokudb/scripts/tokutek.make.mysql.bash storage/tokudb/tokudb_card.h storage/tokudb/tokudb_update_fun.cc storage/xtradb/CMakeLists.txt storage/xtradb/api/api0api.cc storage/xtradb/btr/btr0btr.cc storage/xtradb/btr/btr0cur.cc storage/xtradb/btr/btr0pcur.cc storage/xtradb/buf/buf0buf.cc storage/xtradb/buf/buf0flu.cc storage/xtradb/dict/dict0crea.cc storage/xtradb/dict/dict0dict.cc storage/xtradb/dict/dict0load.cc storage/xtradb/dict/dict0mem.cc storage/xtradb/dict/dict0stats.cc storage/xtradb/fil/fil0fil.cc storage/xtradb/fts/fts0config.cc storage/xtradb/fts/fts0fts.cc storage/xtradb/fts/fts0opt.cc storage/xtradb/fts/fts0que.cc storage/xtradb/handler/ha_innodb.cc storage/xtradb/handler/handler0alter.cc storage/xtradb/handler/i_s.cc storage/xtradb/handler/xtradb_i_s.cc storage/xtradb/ibuf/ibuf0ibuf.cc storage/xtradb/include/api0api.h storage/xtradb/include/btr0cur.h storage/xtradb/include/btr0pcur.h storage/xtradb/include/btr0pcur.ic storage/xtradb/include/btr0sea.h storage/xtradb/include/buf0flu.h storage/xtradb/include/buf0flu.ic storage/xtradb/include/db0err.h storage/xtradb/include/dict0stats.ic storage/xtradb/include/dict0types.h storage/xtradb/include/fts0fts.h storage/xtradb/include/fts0types.h storage/xtradb/include/ibuf0ibuf.h storage/xtradb/include/log0log.h storage/xtradb/include/mtr0mtr.h storage/xtradb/include/mtr0mtr.ic storage/xtradb/include/os0file.h storage/xtradb/include/row0ftsort.h storage/xtradb/include/srv0conc.h storage/xtradb/include/srv0mon.h storage/xtradb/include/srv0mon.ic storage/xtradb/include/sync0arr.h storage/xtradb/include/sync0arr.ic storage/xtradb/include/sync0rw.h storage/xtradb/include/sync0rw.ic storage/xtradb/include/sync0sync.h storage/xtradb/include/sync0sync.ic storage/xtradb/include/sync0types.h storage/xtradb/include/trx0trx.h storage/xtradb/include/univ.i storage/xtradb/include/ut0bh.h storage/xtradb/include/ut0bh.ic storage/xtradb/log/log0log.cc storage/xtradb/log/log0online.cc storage/xtradb/log/log0recv.cc storage/xtradb/mtr/mtr0mtr.cc storage/xtradb/os/os0file.cc storage/xtradb/os/os0thread.cc storage/xtradb/row/row0ftsort.cc storage/xtradb/row/row0log.cc storage/xtradb/row/row0merge.cc storage/xtradb/row/row0mysql.cc storage/xtradb/row/row0quiesce.cc storage/xtradb/row/row0sel.cc storage/xtradb/srv/srv0mon.cc storage/xtradb/srv/srv0start.cc storage/xtradb/sync/sync0arr.cc storage/xtradb/sync/sync0rw.cc storage/xtradb/sync/sync0sync.cc storage/xtradb/trx/trx0purge.cc storage/xtradb/trx/trx0sys.cc storage/xtradb/trx/trx0trx.cc storage/xtradb/ut/ut0ut.cc strings/CMakeLists.txt strings/ctype-bin.c strings/ctype-mb.c strings/ctype-simple.c strings/ctype-uca.c strings/ctype-ucs2.c strings/ctype-utf8.c strings/ctype-win1250ch.c strings/ctype.c strings/decimal.c strings/dtoa.c strings/t_ctype.h support-files/MySQL-shared-compat.spec.sh support-files/compiler_warnings.supp support-files/mysql.server.sh support-files/rpm/server-postun.sh support-files/rpm/server-prein.sh tests/connect_test.c tests/fork_big.pl tests/fork_big2.pl tests/insert_test.c tests/list_test.c tests/mysql_client_test.c tests/select_test.c tests/showdb_test.c tests/ssl_test.c unittest/mysys/CMakeLists.txt unittest/mysys/bitmap-t.c unittest/mysys/ma_dyncol-t.c vio/CMakeLists.txt vio/vio.c vio/viosocket.c vio/viossl.c vio/viosslfactories.c zlib/CMakeLists.txt libmysql/libmysql_versions.ld.in mysql-test/suite/roles/grant_empty.result mysql-test/suite/roles/grant_empty.test pending merges: Olivier Bertrand 2014-04-22 - FIX a bug causing libxml2 not retrieving expanded multiple co...
12 years ago
- Commit merged files removed: libmysql/libmysql.ver.in libmysql/rpm_support.cc mysql-test/r/backup.result mysql-test/r/binlog_tx_isolation.result mysql-test/r/isam.result mysql-test/r/rpl_colSize.result mysql-test/r/rpl_extraColmaster_innodb.result mysql-test/r/rpl_extraColmaster_myisam.result mysql-test/r/slave-running.result mysql-test/r/slave-stopped.result storage/test_sql_discovery/mysql-test/archive/discover.rdiff storage/test_sql_discovery/mysql-test/main/r/plugin.rdiff storage/tokudb/ft-index/portability/tests/test-fair-rwlock.cc storage/tokudb/ft-index/portability/toku_fair_rwlock.cc storage/tokudb/ft-index/portability/toku_fair_rwlock.h storage/tokudb/scripts/run.tests.7.0.3.bash added: cmake/CPackRPM.cmake cmake/pcre.cmake mysql-test/include/have_metadata_lock_info.inc mysql-test/include/have_metadata_lock_info.opt mysql-test/include/have_rbr_triggers.inc mysql-test/include/have_unix_socket.inc mysql-test/include/save_master_gtid.inc mysql-test/include/sync_with_master_gtid.inc mysql-test/r/create_or_replace.result mysql-test/r/create_or_replace2.result mysql-test/r/failed_auth_unixsocket.result mysql-test/r/locked_temporary-5955.result mysql-test/r/lowercase_table5.result mysql-test/r/selectivity_no_engine.result mysql-test/r/stack-crash.result mysql-test/r/udf_debug_sync.result mysql-test/r/union_crash-714.result mysql-test/std_data/mariadb-5.5-binlog.000001 mysql-test/suite/archive/archive_no_symlink-master.opt mysql-test/suite/archive/archive_no_symlink.result mysql-test/suite/archive/archive_no_symlink.test mysql-test/suite/archive/archive_symlink.result mysql-test/suite/archive/archive_symlink.test mysql-test/suite/federated/federated_maybe_16324629.result mysql-test/suite/federated/federated_maybe_16324629.test mysql-test/suite/innodb/r/innodb-change-buffer-recovery.result mysql-test/suite/innodb/r/row_lock.result mysql-test/suite/innodb/t/innodb-change-buffer-recovery-master.opt mysql-test/suite/innodb/t/innodb-change-buffer-recovery.test mysql-test/suite/innodb/t/row_lock.test mysql-test/suite/innodb_zip/ mysql-test/suite/innodb_zip/r/ mysql-test/suite/innodb_zip/t/ mysql-test/suite/multi_source/gtid_ignore_duplicates.cnf mysql-test/suite/multi_source/gtid_ignore_duplicates.result mysql-test/suite/multi_source/gtid_ignore_duplicates.test mysql-test/suite/plugins/r/server_audit.result mysql-test/suite/plugins/t/server_audit.opt mysql-test/suite/plugins/t/server_audit.test mysql-test/suite/roles/grant-5771.result mysql-test/suite/roles/grant-5771.test mysql-test/suite/rpl/r/create_or_replace_mix.result mysql-test/suite/rpl/r/create_or_replace_row.result mysql-test/suite/rpl/r/create_or_replace_statement.result mysql-test/suite/rpl/r/rpl_old_master.result mysql-test/suite/rpl/r/rpl_parallel2.result mysql-test/suite/rpl/r/rpl_row_triggers.result mysql-test/suite/rpl/r/rpl_row_triggers_sbr.result mysql-test/suite/rpl/t/create_or_replace.inc mysql-test/suite/rpl/t/create_or_replace_mix.cnf mysql-test/suite/rpl/t/create_or_replace_mix.test mysql-test/suite/rpl/t/create_or_replace_row.cnf mysql-test/suite/rpl/t/create_or_replace_row.test mysql-test/suite/rpl/t/create_or_replace_statement.cnf mysql-test/suite/rpl/t/create_or_replace_statement.test mysql-test/suite/rpl/t/rpl_000011-slave.opt mysql-test/suite/rpl/t/rpl_old_master.test mysql-test/suite/rpl/t/rpl_parallel2.test mysql-test/suite/rpl/t/rpl_row_triggers.test mysql-test/suite/rpl/t/rpl_row_triggers_sbr.test mysql-test/suite/sys_vars/r/gtid_ignore_duplicates_basic.result mysql-test/suite/sys_vars/r/last_gtid_basic.result mysql-test/suite/sys_vars/r/slave_ddl_exec_mode_basic.result mysql-test/suite/sys_vars/r/slave_domain_parallel_threads_basic.result mysql-test/suite/sys_vars/r/version_malloc_library_basic.result mysql-test/suite/sys_vars/t/gtid_ignore_duplicates_basic.test mysql-test/suite/sys_vars/t/last_gtid_basic.test mysql-test/suite/sys_vars/t/slave_ddl_exec_mode_basic.test mysql-test/suite/sys_vars/t/slave_domain_parallel_threads_basic.test mysql-test/suite/sys_vars/t/version_malloc_library_basic.test mysql-test/t/create_or_replace-master.opt mysql-test/t/create_or_replace.test mysql-test/t/create_or_replace2.test mysql-test/t/failed_auth_unixsocket.test mysql-test/t/locked_temporary-5955.test mysql-test/t/lowercase_table5.test mysql-test/t/selectivity_no_engine.test mysql-test/t/stack-crash.test mysql-test/t/udf_debug_sync.test mysql-test/t/union_crash-714.test packaging/rpm-oel/ packaging/rpm-oel/CMakeLists.txt packaging/rpm-oel/filter-provides.sh packaging/rpm-oel/filter-requires.sh packaging/rpm-oel/my.cnf packaging/rpm-oel/my_config.h packaging/rpm-oel/mysql-embedded-check.c packaging/rpm-oel/mysql-systemd-start packaging/rpm-oel/mysql.conf packaging/rpm-oel/mysql.init packaging/rpm-oel/mysql.spec.in packaging/rpm-oel/mysql_config.sh packaging/rpm-oel/mysqld.service plugin/server_audit/ plugin/server_audit/CMakeLists.txt plugin/server_audit/COPYING plugin/server_audit/server_audit.c storage/connect/mysql-test/connect/r/xml_mult.result storage/connect/mysql-test/connect/std_data/bookstore.xml storage/connect/mysql-test/connect/t/xml_mult.test storage/oqgraph/mysql-test/oqgraph/connections_mdev5748.result storage/oqgraph/mysql-test/oqgraph/connections_mdev5748.test storage/oqgraph/mysql-test/oqgraph/regression_mdev5744.opt storage/oqgraph/mysql-test/oqgraph/regression_mdev5744.result storage/oqgraph/mysql-test/oqgraph/regression_mdev5744.test storage/sphinx/mysql-test/sphinx/union-5539.result storage/sphinx/mysql-test/sphinx/union-5539.test storage/tokudb/ft-index/ft/tests/mempool-115.cc storage/tokudb/ft-index/locktree/tests/lock_request_killed.cc storage/tokudb/ft-index/locktree/tests/lock_request_not_killed.cc storage/tokudb/ft-index/locktree/tests/lock_request_wait_time_callback.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_1big7lt_1small.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_2big_1lt.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_2big_2lt.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_impossible.cc storage/tokudb/ft-index/src/tests/env_nproc.cc storage/tokudb/ft-index/src/tests/get_last_key.cc storage/tokudb/ft-index/src/tests/locktree_escalation_stalls.cc storage/tokudb/ft-index/src/tests/recover-child-rollback.cc storage/tokudb/ft-index/src/tests/test_bad_implicit_promotion.cc storage/tokudb/ft-index/src/tests/test_cursor_interrupt.cc storage/tokudb/ft-index/src/tests/test_insert_many_gc.cc storage/tokudb/ft-index/util/context.cc storage/tokudb/ft-index/util/context.h storage/tokudb/ft-index/util/scoped_malloc.cc storage/tokudb/ft-index/util/scoped_malloc.h storage/tokudb/ft-index/util/tests/test-frwlock-fair-writers.cc storage/tokudb/ft-index/util/tests/test-rwlock-unfair-writers.cc storage/tokudb/mysql-test/tokudb_alter_table/r/drop_pk_with_prefix.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcad_drop_char0_t6.result storage/tokudb/mysql-test/tokudb_alter_table/r/mod_enum.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_add_key.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_col_rename.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_drop_default.result storage/tokudb/mysql-test/tokudb_alter_table/r/null_bytes_drop_key.result storage/tokudb/mysql-test/tokudb_alter_table/t/drop_pk_with_prefix.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_drop_char0_t6.test storage/tokudb/mysql-test/tokudb_alter_table/t/mod_enum.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_add_key.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_col_rename.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_drop_default.test storage/tokudb/mysql-test/tokudb_alter_table/t/null_bytes_drop_key.test storage/tokudb/mysql-test/tokudb_bugs/include/not_5_5.inc storage/tokudb/mysql-test/tokudb_bugs/r/alter_external_lock_assert.result storage/tokudb/mysql-test/tokudb_bugs/r/alter_part_tokudb_bug_155.result storage/tokudb/mysql-test/tokudb_bugs/r/alter_table_copy_table.result storage/tokudb/mysql-test/tokudb_bugs/r/commit_index_end_1.result storage/tokudb/mysql-test/tokudb_bugs/r/commit_index_end_2.result storage/tokudb/mysql-test/tokudb_bugs/r/leak172.result storage/tokudb/mysql-test/tokudb_bugs/r/optimize_temp_table_tokudb.result storage/tokudb/mysql-test/tokudb_bugs/r/subselect_index_next_same_bug_157.result storage/tokudb/mysql-test/tokudb_bugs/std_data/ storage/tokudb/mysql-test/tokudb_bugs/std_data/leak172_t1.data storage/tokudb/mysql-test/tokudb_bugs/std_data/leak172_t2.data storage/tokudb/mysql-test/tokudb_bugs/t/alter_external_lock_assert.test storage/tokudb/mysql-test/tokudb_bugs/t/alter_part_tokudb_bug_155.test storage/tokudb/mysql-test/tokudb_bugs/t/alter_table_copy_table.test storage/tokudb/mysql-test/tokudb_bugs/t/commit_index_end_1.test storage/tokudb/mysql-test/tokudb_bugs/t/commit_index_end_2.test storage/tokudb/mysql-test/tokudb_bugs/t/leak172.test storage/tokudb/mysql-test/tokudb_bugs/t/optimize_temp_table_tokudb.test storage/tokudb/mysql-test/tokudb_bugs/t/subselect_index_next_same_bug_157.test storage/tokudb/mysql-test/tokudb_mariadb/r/create_or_replace.result storage/tokudb/mysql-test/tokudb_mariadb/r/discover_names.result storage/tokudb/mysql-test/tokudb_mariadb/t/create_or_replace.test storage/tokudb/mysql-test/tokudb_mariadb/t/discover_names.test renamed: libmysql/libmysql_rpm_version.in => libmysql/libmysql_versions.ld.in mysql-test/suite/innodb/r/innodb-create-options.result => mysql-test/suite/innodb_zip/r/innodb-create-options.result mysql-test/suite/innodb/r/innodb-zip.result => mysql-test/suite/innodb_zip/r/innodb-zip.result mysql-test/suite/innodb/r/innodb_bug36169.result => mysql-test/suite/innodb_zip/r/innodb_bug36169.result mysql-test/suite/innodb/r/innodb_bug36172.result => mysql-test/suite/innodb_zip/r/innodb_bug36172.result mysql-test/suite/innodb/r/innodb_bug52745.result => mysql-test/suite/innodb_zip/r/innodb_bug52745.result mysql-test/suite/innodb/r/innodb_bug53591.result => mysql-test/suite/innodb_zip/r/innodb_bug53591.result mysql-test/suite/innodb/r/innodb_bug56680.result => mysql-test/suite/innodb_zip/r/innodb_bug56680.result mysql-test/suite/innodb/r/innodb_cmp_drop_table.result => mysql-test/suite/innodb_zip/r/innodb_cmp_drop_table.result mysql-test/suite/innodb/r/innodb_index_large_prefix.result => mysql-test/suite/innodb_zip/r/innodb_index_large_prefix.result mysql-test/suite/innodb/r/innodb_prefix_index_liftedlimit.result => mysql-test/suite/innodb_zip/r/innodb_prefix_index_liftedlimit.result mysql-test/suite/innodb/t/innodb-create-options.test => mysql-test/suite/innodb_zip/t/innodb-create-options.test mysql-test/suite/innodb/t/innodb-zip.test => mysql-test/suite/innodb_zip/t/innodb-zip.test mysql-test/suite/innodb/t/innodb_bug36169.test => mysql-test/suite/innodb_zip/t/innodb_bug36169.test mysql-test/suite/innodb/t/innodb_bug36172.test => mysql-test/suite/innodb_zip/t/innodb_bug36172.test mysql-test/suite/innodb/t/innodb_bug52745.test => mysql-test/suite/innodb_zip/t/innodb_bug52745.test mysql-test/suite/innodb/t/innodb_bug53591.test => mysql-test/suite/innodb_zip/t/innodb_bug53591.test mysql-test/suite/innodb/t/innodb_bug56680.test => mysql-test/suite/innodb_zip/t/innodb_bug56680.test mysql-test/suite/innodb/t/innodb_cmp_drop_table-master.opt => mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table-master.opt mysql-test/suite/innodb/t/innodb_cmp_drop_table.test => mysql-test/suite/innodb_zip/t/innodb_cmp_drop_table.test mysql-test/suite/innodb/t/innodb_index_large_prefix.test => mysql-test/suite/innodb_zip/t/innodb_index_large_prefix.test mysql-test/suite/innodb/t/innodb_prefix_index_liftedlimit.test => mysql-test/suite/innodb_zip/t/innodb_prefix_index_liftedlimit.test mysql-test/suite/roles/show_grants_anon-5238.result => mysql-test/suite/roles/grant_empty.result mysql-test/suite/roles/show_grants_anon-5238.test => mysql-test/suite/roles/grant_empty.test modified: .bzrignore CMakeLists.txt CREDITS VERSION client/CMakeLists.txt client/mysql.cc client/mysql_plugin.c client/mysqlcheck.c client/mysqldump.c client/mysqltest.cc cmake/cpack_rpm.cmake cmake/install_macros.cmake cmake/jemalloc.cmake cmake/mysql_add_executable.cmake cmake/plugin.cmake cmake/versioninfo.rc.in cmake/zlib.cmake config.h.cmake dbug/dbug.c debian/dist/Debian/mariadb-server-10.0.files.in debian/dist/Ubuntu/mariadb-server-10.0.files.in debian/po/it.po debian/po/sv.po extra/jemalloc/ChangeLog extra/jemalloc/include/jemalloc/internal/arena.h extra/jemalloc/include/jemalloc/internal/jemalloc_internal.h.in extra/jemalloc/include/jemalloc/internal/private_namespace.h extra/jemalloc/include/jemalloc/internal/tcache.h extra/jemalloc/src/arena.c extra/replace.c extra/yassl/CMakeLists.txt extra/yassl/include/yassl_error.hpp extra/yassl/include/yassl_types.hpp extra/yassl/src/handshake.cpp extra/yassl/src/yassl_error.cpp extra/yassl/src/yassl_imp.cpp extra/yassl/taocrypt/CMakeLists.txt include/atomic/gcc_builtins.h include/hash.h include/heap.h include/ma_dyncol.h include/maria.h include/my_bitmap.h include/my_getopt.h include/my_global.h include/my_net.h include/my_pthread.h include/my_sys.h include/my_time.h include/my_valgrind.h include/myisam.h include/mysql/plugin.h include/mysql/plugin_audit.h include/mysql/plugin_audit.h.pp include/mysql/plugin_auth.h.pp include/mysql/plugin_ftparser.h.pp include/mysql/psi/mysql_thread.h include/queues.h include/welcome_copyright_notice.h libmysql/CMakeLists.txt libmysql/conf_to_src.c libmysql/libmysql.c libmysqld/CMakeLists.txt libmysqld/examples/CMakeLists.txt libmysqld/lib_sql.cc mysql-test/CMakeLists.txt mysql-test/collections/default.weekly mysql-test/extra/rpl_tests/rpl_ddl.test mysql-test/extra/rpl_tests/rpl_log.test mysql-test/extra/rpl_tests/rpl_stop_slave.test mysql-test/include/commit.inc mysql-test/include/ctype_filesort2.inc mysql-test/include/have_innodb.combinations mysql-test/include/index_merge_ror_cpk.inc mysql-test/include/mtr_check.sql mysql-test/include/type_hrtime.inc mysql-test/lib/My/Config.pm mysql-test/lib/My/SafeProcess/safe_process.cc mysql-test/lib/My/SysInfo.pm mysql-test/lib/mtr_cases.pm mysql-test/mysql-test-run.pl mysql-test/r/alter_table.result mysql-test/r/blackhole.result mysql-test/r/cast.result mysql-test/r/comment_column.result mysql-test/r/comments.result mysql-test/r/commit_1innodb.result mysql-test/r/contributors.result mysql-test/r/create-big.result mysql-test/r/create.result mysql-test/r/ctype_binary.result mysql-test/r/ctype_cp1250_ch.result mysql-test/r/ctype_cp1251.result mysql-test/r/ctype_latin1.result mysql-test/r/ctype_ucs.result mysql-test/r/ctype_utf16.result mysql-test/r/ctype_utf16le.result mysql-test/r/ctype_utf32.result mysql-test/r/ctype_utf8.result mysql-test/r/ctype_utf8mb4.result mysql-test/r/derived_view.result mysql-test/r/distinct.result mysql-test/r/drop.result mysql-test/r/dyncol.result mysql-test/r/error_simulation.result mysql-test/r/events_trans.result mysql-test/r/func_compress.result mysql-test/r/func_group.result mysql-test/r/func_math.result mysql-test/r/func_misc.result mysql-test/r/func_regexp.result mysql-test/r/func_str.result mysql-test/r/func_time.result mysql-test/r/gis-precise.result mysql-test/r/gis.result mysql-test/r/index_intersect_innodb.result mysql-test/r/index_merge_innodb.result mysql-test/r/index_merge_myisam.result mysql-test/r/information_schema-big.result mysql-test/r/information_schema.result mysql-test/r/information_schema_all_engines.result mysql-test/r/innodb_ext_key.result mysql-test/r/join.result mysql-test/r/join_outer.result mysql-test/r/join_outer_jcl6.result mysql-test/r/key.result mysql-test/r/lowercase_fs_off.result mysql-test/r/lowercase_table.result mysql-test/r/lowercase_table2.result mysql-test/r/lowercase_view.result mysql-test/r/merge.result mysql-test/r/multi_update.result mysql-test/r/myisampack.result mysql-test/r/mysqld--help.result mysql-test/r/mysqldump.result mysql-test/r/not_embedded_server.result mysql-test/r/not_partition.result mysql-test/r/old-mode.result mysql-test/r/partition.result mysql-test/r/partition_debug_sync.result mysql-test/r/partition_disabled.result mysql-test/r/partition_error.result mysql-test/r/partition_exchange.result mysql-test/r/partition_innodb.result mysql-test/r/partition_order.result mysql-test/r/partition_windows.result mysql-test/r/plugin.result mysql-test/r/plugin_auth_qa_3.result mysql-test/r/ps.result mysql-test/r/ps_ddl.result mysql-test/r/range.result mysql-test/r/range_mrr_icp.result mysql-test/r/range_vs_index_merge.result mysql-test/r/range_vs_index_merge_innodb.result mysql-test/r/rpl_mysqldump_slave.result mysql-test/r/select.result mysql-test/r/select_found.result mysql-test/r/select_jcl6.result mysql-test/r/select_pkeycache.result mysql-test/r/selectivity.result mysql-test/r/selectivity_innodb.result mysql-test/r/show_check.result mysql-test/r/sp-security.result mysql-test/r/ssl.result mysql-test/r/stat_tables.result mysql-test/r/stat_tables_innodb.result mysql-test/r/stat_tables_par.result mysql-test/r/stat_tables_par_innodb.result mysql-test/r/stat_tables_partition.result mysql-test/r/stat_tables_rbr.result mysql-test/r/stat_tables_repl.result mysql-test/r/statistics.result mysql-test/r/subselect.result mysql-test/r/subselect2.result mysql-test/r/subselect4.result mysql-test/r/subselect_exists2in.result mysql-test/r/subselect_exists_to_in.result mysql-test/r/subselect_extra.result mysql-test/r/subselect_innodb.result mysql-test/r/subselect_mat.result mysql-test/r/subselect_no_mat.result mysql-test/r/subselect_no_opts.result mysql-test/r/subselect_no_scache.result mysql-test/r/subselect_no_semijoin.result mysql-test/r/subselect_sj.result mysql-test/r/subselect_sj2.result mysql-test/r/subselect_sj2_jcl6.result mysql-test/r/subselect_sj2_mat.result mysql-test/r/subselect_sj_jcl6.result mysql-test/r/subselect_sj_mat.result mysql-test/r/temporal_literal.result mysql-test/r/timezone2.result mysql-test/r/trigger.result mysql-test/r/type_datetime.result mysql-test/r/type_datetime_hires.result mysql-test/r/type_float.result mysql-test/r/type_time.result mysql-test/r/type_time_hires.result mysql-test/r/type_timestamp_hires.result mysql-test/r/update.result mysql-test/r/variables.result mysql-test/r/view.result mysql-test/r/view_grant.result mysql-test/r/xml.result mysql-test/std_data/cacert.pem mysql-test/std_data/client-cert.pem mysql-test/std_data/client-key.pem mysql-test/std_data/server-cert.pem mysql-test/std_data/server-key.pem mysql-test/std_data/server8k-cert.pem mysql-test/std_data/server8k-key.pem mysql-test/suite.pm mysql-test/suite/archive/discover.result mysql-test/suite/archive/discover.test mysql-test/suite/binlog/r/binlog_checkpoint.result mysql-test/suite/binlog/t/binlog_checkpoint.test mysql-test/suite/binlog/t/binlog_row_mysqlbinlog_options.test mysql-test/suite/csv/csv.result mysql-test/suite/csv/csv.test mysql-test/suite/federated/federated.test mysql-test/suite/funcs_1/r/innodb_func_view.result mysql-test/suite/funcs_1/r/innodb_views.result mysql-test/suite/funcs_1/r/is_columns_is.result mysql-test/suite/funcs_1/r/memory_func_view.result mysql-test/suite/funcs_1/r/memory_views.result mysql-test/suite/funcs_1/r/myisam_func_view.result mysql-test/suite/funcs_1/r/myisam_views-big.result mysql-test/suite/funcs_1/views/func_view.inc mysql-test/suite/heap/heap.result mysql-test/suite/heap/heap.test mysql-test/suite/innodb/r/innodb_bug54044.result mysql-test/suite/innodb/r/innodb_information_schema.result mysql-test/suite/innodb/r/innodb_mysql.result mysql-test/suite/innodb/t/innodb_bug54044.test mysql-test/suite/innodb/t/innodb_bug60196-master.opt mysql-test/suite/innodb/t/innodb_mysql.test mysql-test/suite/maria/icp.result mysql-test/suite/maria/maria-preload.result mysql-test/suite/maria/maria.result mysql-test/suite/maria/maria.test mysql-test/suite/multi_source/skip_counter.result mysql-test/suite/multi_source/skip_counter.test mysql-test/suite/optimizer_unfixed_bugs/t/bug42991.test mysql-test/suite/parts/r/partition_mgm_lc2_innodb.result mysql-test/suite/parts/r/partition_mgm_lc2_memory.result mysql-test/suite/parts/r/partition_mgm_lc2_myisam.result mysql-test/suite/perfschema/r/dml_setup_instruments.result mysql-test/suite/perfschema/r/func_mutex.result mysql-test/suite/perfschema/r/hostcache_ipv4_blocked.result mysql-test/suite/perfschema/r/hostcache_ipv6_blocked.result mysql-test/suite/perfschema/r/server_init.result mysql-test/suite/perfschema/t/func_mutex.test mysql-test/suite/perfschema/t/hostcache_ipv4_blocked.test mysql-test/suite/perfschema/t/hostcache_ipv6_blocked.test mysql-test/suite/perfschema/t/server_init.test mysql-test/suite/plugins/t/unix_socket.test mysql-test/suite/roles/recursive_dbug.result mysql-test/suite/rpl/disabled.def mysql-test/suite/rpl/r/rpl_000011.result mysql-test/suite/rpl/r/rpl_ddl.result mysql-test/suite/rpl/r/rpl_drop_view.result mysql-test/suite/rpl/r/rpl_gtid_basic.result mysql-test/suite/rpl/r/rpl_gtid_crash.result mysql-test/suite/rpl/r/rpl_gtid_errorhandling.result mysql-test/suite/rpl/r/rpl_gtid_ignored.result mysql-test/suite/rpl/r/rpl_gtid_nobinlog.result mysql-test/suite/rpl/r/rpl_gtid_startpos.result mysql-test/suite/rpl/r/rpl_gtid_stop_start.result mysql-test/suite/rpl/r/rpl_mariadb_slave_capability.result mysql-test/suite/rpl/r/rpl_mdev382.result mysql-test/suite/rpl/r/rpl_parallel.result mysql-test/suite/rpl/r/rpl_parallel_no_log_slave_updates.result mysql-test/suite/rpl/r/rpl_row_create_table.result mysql-test/suite/rpl/r/rpl_row_log.result mysql-test/suite/rpl/r/rpl_row_log_innodb.result mysql-test/suite/rpl/r/rpl_row_show_relaylog_events.result mysql-test/suite/rpl/r/rpl_stm_log.result mysql-test/suite/rpl/r/rpl_stm_mix_show_relaylog_events.result mysql-test/suite/rpl/r/rpl_temp_table_mix_row.result mysql-test/suite/rpl/t/rpl_000011.test mysql-test/suite/rpl/t/rpl_bug37426.test mysql-test/suite/rpl/t/rpl_connection.test mysql-test/suite/rpl/t/rpl_create_if_not_exists.test mysql-test/suite/rpl/t/rpl_drop_db.test mysql-test/suite/rpl/t/rpl_gtid_basic.test mysql-test/suite/rpl/t/rpl_gtid_crash.test mysql-test/suite/rpl/t/rpl_gtid_errorhandling.test mysql-test/suite/rpl/t/rpl_gtid_ignored.test mysql-test/suite/rpl/t/rpl_gtid_mdev4485.test mysql-test/suite/rpl/t/rpl_gtid_nobinlog.test mysql-test/suite/rpl/t/rpl_gtid_startpos.test mysql-test/suite/rpl/t/rpl_gtid_stop_start.test mysql-test/suite/rpl/t/rpl_heartbeat_basic.test mysql-test/suite/rpl/t/rpl_known_bugs_detection.test mysql-test/suite/rpl/t/rpl_mariadb_slave_capability.test mysql-test/suite/rpl/t/rpl_mix_found_rows.test mysql-test/suite/rpl/t/rpl_parallel.test mysql-test/suite/rpl/t/rpl_parallel_no_log_slave_updates.test mysql-test/suite/rpl/t/rpl_row_create_table.test mysql-test/suite/rpl/t/rpl_row_find_row_debug.test mysql-test/suite/rpl/t/rpl_row_unsafe_funcs.test mysql-test/suite/rpl/t/rpl_row_utf32.test mysql-test/suite/rpl/t/rpl_stm_log.test mysql-test/suite/rpl/t/rpl_stm_sql_mode.test mysql-test/suite/rpl/t/rpl_stm_stop_middle_group.test mysql-test/suite/rpl/t/rpl_tmp_table_and_DDL.test mysql-test/suite/sys_vars/r/back_log_basic.result mysql-test/suite/sys_vars/r/engine_condition_pushdown_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_disable_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_enable_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_reset_all_basic.result mysql-test/suite/sys_vars/r/innodb_monitor_reset_basic.result mysql-test/suite/sys_vars/r/old_mode_basic.result mysql-test/suite/sys_vars/r/optimizer_switch_basic.result mysql-test/suite/sys_vars/r/progress_report_time_basic.result mysql-test/suite/sys_vars/t/old_mode_basic.test mysql-test/suite/vcol/r/vcol_misc.result mysql-test/suite/vcol/t/vcol_misc.test mysql-test/t/aborted_clients.test mysql-test/t/alter_table.test mysql-test/t/auth_rpl.test mysql-test/t/blackhole.test mysql-test/t/cast.test mysql-test/t/comment_column.test mysql-test/t/comments.test mysql-test/t/create-big.test mysql-test/t/create.test mysql-test/t/derived_view.test mysql-test/t/distinct.test mysql-test/t/drop.test mysql-test/t/dyncol.test mysql-test/t/error_simulation.test mysql-test/t/events_trans.test mysql-test/t/func_compress.test mysql-test/t/func_gconcat.test mysql-test/t/func_group.test mysql-test/t/func_math.test mysql-test/t/func_misc.test mysql-test/t/func_regexp.test mysql-test/t/func_time.test mysql-test/t/gis-precise.test mysql-test/t/gis.test mysql-test/t/information_schema.test mysql-test/t/join.test mysql-test/t/key.test mysql-test/t/lowercase_table.test mysql-test/t/lowercase_table2.test mysql-test/t/lowercase_table4-master.opt mysql-test/t/lowercase_table4.test mysql-test/t/multi_update.test mysql-test/t/myisampack.test mysql-test/t/mysqld--help.test mysql-test/t/mysqldump.test mysql-test/t/not_embedded_server.test mysql-test/t/not_partition.test mysql-test/t/old-mode.test mysql-test/t/partition.test mysql-test/t/partition_debug_sync.test mysql-test/t/partition_disabled.test mysql-test/t/partition_error.test mysql-test/t/partition_exchange.test mysql-test/t/partition_innodb.test mysql-test/t/plugin.test mysql-test/t/ps.test mysql-test/t/ps_ddl.test mysql-test/t/range.test mysql-test/t/range_vs_index_merge.test mysql-test/t/rpl_mysqldump_slave.test mysql-test/t/select.test mysql-test/t/select_found.test mysql-test/t/selectivity.test mysql-test/t/show_check.test mysql-test/t/sp-security.test mysql-test/t/stat_tables_par.test mysql-test/t/statistics.test mysql-test/t/subselect4.test mysql-test/t/subselect_exists2in.test mysql-test/t/subselect_innodb.test mysql-test/t/subselect_sj.test mysql-test/t/subselect_sj2.test mysql-test/t/subselect_sj_mat.test mysql-test/t/temporal_literal.test mysql-test/t/timezone2.test mysql-test/t/type_float.test mysql-test/t/type_time.test mysql-test/t/update.test mysql-test/t/view.test mysql-test/t/view_grant.test mysql-test/t/xml.test mysql-test/valgrind.supp mysys/array.c mysys/file_logger.c mysys/hash.c mysys/ma_dyncol.c mysys/md5.c.THIS mysys/mf_iocache.c mysys/mf_keycache.c mysys/mf_qsort.c mysys/mf_radix.c mysys/mf_same.c mysys/mf_soundex.c mysys/mf_tempdir.c mysys/mf_tempfile.c mysys/mf_wcomp.c mysys/mulalloc.c mysys/my_access.c mysys/my_aes.c.THIS mysys/my_alloc.c mysys/my_bitmap.c mysys/my_conio.c mysys/my_copy.c mysys/my_crc32.c mysys/my_delete.c mysys/my_div.c mysys/my_error.c mysys/my_fopen.c mysys/my_gethwaddr.c mysys/my_getpagesize.c mysys/my_getwd.c mysys/my_libwrap.c mysys/my_lockmem.c mysys/my_malloc.c mysys/my_memmem.c mysys/my_mkdir.c mysys/my_once.c mysys/my_rename.c mysys/my_symlink2.c mysys/my_wincond.c mysys/my_winthread.c mysys/safemalloc.c mysys/test_dir.c mysys/test_xml.c mysys/thr_alarm.c mysys/thr_mutex.c mysys/tree.c packaging/WiX/CPackWixConfig.cmake packaging/WiX/custom_ui.wxs packaging/WiX/mysql_server.wxs.in plugin/auth_pam/auth_pam.c plugin/auth_socket/auth_socket.c plugin/daemon_example/daemon_example.cc plugin/feedback/CMakeLists.txt plugin/feedback/feedback.cc plugin/handler_socket/libhsclient/auto_file.hpp plugin/locale_info/locale_info.cc plugin/metadata_lock_info/metadata_lock_info.cc plugin/metadata_lock_info/mysql-test/metadata_lock_info/r/user_lock.result plugin/qc_info/CMakeLists.txt plugin/qc_info/qc_info.cc plugin/query_response_time/mysql-test/query_response_time/basic.result plugin/query_response_time/plugin.cc plugin/sql_errlog/sql_errlog.c plugin/win_auth_client/CMakeLists.txt scripts/CMakeLists.txt scripts/mysql_config.pl.in scripts/mysql_config.sh scripts/mysql_install_db.pl.in scripts/mysql_install_db.sh scripts/mysql_system_tables.sql scripts/mysql_system_tables_fix.sql scripts/mysqlaccess.sh sql-bench/innotest1.sh sql-bench/innotest1a.sh sql-bench/innotest1b.sh sql-bench/innotest2.sh sql-bench/innotest2a.sh sql-bench/innotest2b.sh sql-bench/limits/access_odbc.cfg sql-common/client.c sql-common/my_time.c sql-common/mysql_async.c sql-common/pack.c sql/CMakeLists.txt sql/authors.h sql/contributors.h sql/create_options.cc sql/custom_conf.h sql/event_db_repository.cc sql/event_scheduler.cc sql/event_scheduler.h sql/events.cc sql/events.h sql/field.cc sql/field.h sql/field_conv.cc sql/filesort.cc sql/filesort_utils.h sql/ha_ndbcluster_binlog.cc sql/ha_ndbcluster_cond.cc sql/ha_ndbcluster_cond.h sql/ha_ndbcluster_tables.h sql/ha_partition.cc sql/ha_partition.h sql/handler.cc sql/handler.h sql/hash_filo.h sql/hostname.cc sql/item.cc sql/item.h sql/item_cmpfunc.cc sql/item_cmpfunc.h sql/item_create.cc sql/item_func.cc sql/item_func.h sql/item_geofunc.cc sql/item_strfunc.cc sql/item_strfunc.h sql/item_subselect.cc sql/item_subselect.h sql/item_sum.cc sql/item_sum.h sql/item_timefunc.cc sql/item_xmlfunc.cc sql/item_xmlfunc.h sql/key.cc sql/key.h sql/lex_symbol.h sql/lock.cc sql/log.cc sql/log.h sql/log_event.cc sql/log_event.h sql/log_event_old.cc sql/log_event_old.h sql/mdl.cc sql/mdl.h sql/mem_root_array.h sql/message.h sql/multi_range_read.cc sql/my_apc.h sql/my_decimal.h sql/mysqld.cc sql/mysqld.h sql/net_serv.cc sql/opt_index_cond_pushdown.cc sql/opt_range.cc sql/opt_range.h sql/opt_subselect.cc sql/opt_subselect.h sql/opt_sum.cc sql/opt_table_elimination.cc sql/partition_element.h sql/partition_info.cc sql/partition_info.h sql/password.c sql/rpl_filter.cc sql/rpl_gtid.cc sql/rpl_gtid.h sql/rpl_injector.h sql/rpl_mi.cc sql/rpl_parallel.cc sql/rpl_parallel.h sql/rpl_record.cc sql/rpl_record.h sql/rpl_rli.cc sql/rpl_rli.h sql/rpl_utility.cc sql/rpl_utility.h sql/scheduler.cc sql/scheduler.h sql/set_var.cc sql/set_var.h sql/share/charsets/Index.xml sql/share/charsets/armscii8.xml sql/share/charsets/ascii.xml sql/share/charsets/cp1250.xml sql/share/charsets/cp852.xml sql/share/charsets/hebrew.xml sql/share/charsets/latin1.xml sql/share/charsets/latin2.xml sql/share/charsets/latin5.xml sql/share/errmsg-utf8.txt sql/signal_handler.cc sql/slave.cc sql/sp_head.cc sql/sp_head.h sql/sp_rcontext.h sql/spatial.cc sql/sql_acl.cc sql/sql_admin.cc sql/sql_admin.h sql/sql_alter.cc sql/sql_analyse.cc sql/sql_analyse.h sql/sql_audit.cc sql/sql_audit.h sql/sql_base.cc sql/sql_base.h sql/sql_binlog.cc sql/sql_bitmap.h sql/sql_cache.cc sql/sql_class.cc sql/sql_class.h sql/sql_connect.cc sql/sql_db.cc sql/sql_delete.cc sql/sql_derived.cc sql/sql_error.cc sql/sql_handler.cc sql/sql_help.cc sql/sql_insert.cc sql/sql_insert.h sql/sql_join_cache.cc sql/sql_lex.cc sql/sql_lex.h sql/sql_lifo_buffer.h sql/sql_list.h sql/sql_load.cc sql/sql_manager.cc sql/sql_parse.cc sql/sql_parse.h sql/sql_partition.cc sql/sql_partition_admin.cc sql/sql_plugin.cc sql/sql_prepare.cc sql/sql_prepare.h sql/sql_priv.h sql/sql_rename.cc sql/sql_repl.cc sql/sql_repl.h sql/sql_select.cc sql/sql_select.h sql/sql_servers.cc sql/sql_show.cc sql/sql_show.h sql/sql_statistics.cc sql/sql_statistics.h sql/sql_string.cc sql/sql_string.h sql/sql_table.cc sql/sql_table.h sql/sql_test.cc sql/sql_time.cc sql/sql_time.h sql/sql_trigger.cc sql/sql_truncate.cc sql/sql_udf.cc sql/sql_union.cc sql/sql_update.cc sql/sql_view.cc sql/sql_yacc.yy sql/strfunc.cc sql/sys_vars.cc sql/sys_vars.h sql/table.cc sql/table.h sql/table_cache.cc sql/table_cache.h sql/threadpool_unix.cc sql/transaction.cc sql/transaction.h sql/tztime.cc sql/uniques.cc sql/unireg.cc storage/archive/ha_archive.cc storage/cassandra/ha_cassandra.cc storage/connect/csort.cpp storage/connect/domdoc.cpp storage/connect/filamfix.cpp storage/connect/filamtxt.cpp storage/connect/filamvct.cpp storage/connect/ha_connect.cc storage/connect/ha_connect.h storage/connect/inihandl.c storage/connect/myconn.cpp storage/connect/odbconn.cpp storage/connect/os.h storage/connect/osutil.h storage/connect/plgdbutl.cpp storage/connect/reldef.cpp storage/connect/tabdos.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/taboccur.cpp storage/connect/tabodbc.cpp storage/connect/tabxml.cpp storage/connect/tabxml.h storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp storage/example/ha_example.cc storage/example/ha_example.h storage/federated/ha_federated.cc storage/federated/ha_federated.h storage/federatedx/CMakeLists.txt storage/federatedx/federatedx_io_mysql.cc storage/federatedx/ha_federatedx.cc storage/heap/_check.c storage/heap/_rectest.c storage/heap/ha_heap.cc storage/heap/ha_heap.h storage/heap/hp_create.c storage/heap/hp_delete.c storage/heap/hp_extra.c storage/heap/hp_hash.c storage/heap/hp_open.c storage/heap/hp_rfirst.c storage/heap/hp_rlast.c storage/heap/hp_rnext.c storage/heap/hp_rprev.c storage/heap/hp_rrnd.c storage/heap/hp_rsame.c storage/heap/hp_scan.c storage/heap/hp_update.c storage/heap/hp_write.c storage/innobase/CMakeLists.txt storage/innobase/api/api0api.cc storage/innobase/btr/btr0btr.cc storage/innobase/btr/btr0cur.cc storage/innobase/btr/btr0pcur.cc storage/innobase/compile-innodb* storage/innobase/dict/dict0crea.cc storage/innobase/dict/dict0dict.cc storage/innobase/dict/dict0load.cc storage/innobase/dict/dict0mem.cc storage/innobase/dict/dict0stats.cc storage/innobase/fil/fil0fil.cc storage/innobase/fts/fts0config.cc storage/innobase/fts/fts0fts.cc storage/innobase/fts/fts0opt.cc storage/innobase/fts/fts0que.cc storage/innobase/handler/ha_innodb.cc storage/innobase/handler/handler0alter.cc storage/innobase/handler/i_s.cc storage/innobase/ibuf/ibuf0ibuf.cc storage/innobase/include/api0api.h storage/innobase/include/btr0cur.h storage/innobase/include/btr0pcur.h storage/innobase/include/btr0pcur.ic storage/innobase/include/btr0sea.h storage/innobase/include/db0err.h storage/innobase/include/dict0stats.ic storage/innobase/include/dict0types.h storage/innobase/include/fts0fts.h storage/innobase/include/fts0types.h storage/innobase/include/ibuf0ibuf.h storage/innobase/include/log0log.h storage/innobase/include/mtr0mtr.h storage/innobase/include/mtr0mtr.ic storage/innobase/include/os0file.h storage/innobase/include/row0ftsort.h storage/innobase/include/srv0conc.h storage/innobase/include/srv0mon.h storage/innobase/include/srv0mon.ic storage/innobase/include/sync0arr.h storage/innobase/include/sync0arr.ic storage/innobase/include/sync0sync.h storage/innobase/include/trx0trx.h storage/innobase/include/univ.i storage/innobase/include/ut0bh.h storage/innobase/include/ut0bh.ic storage/innobase/log/log0log.cc storage/innobase/mtr/mtr0mtr.cc storage/innobase/os/os0file.cc storage/innobase/os/os0thread.cc storage/innobase/pars/make_bison.sh* storage/innobase/pars/make_flex.sh* storage/innobase/row/row0ftsort.cc storage/innobase/row/row0log.cc storage/innobase/row/row0merge.cc storage/innobase/row/row0mysql.cc storage/innobase/row/row0quiesce.cc storage/innobase/row/row0sel.cc storage/innobase/srv/srv0mon.cc storage/innobase/srv/srv0start.cc storage/innobase/sync/sync0arr.cc storage/innobase/sync/sync0rw.cc storage/innobase/sync/sync0sync.cc storage/innobase/trx/trx0purge.cc storage/innobase/trx/trx0sys.cc storage/innobase/trx/trx0trx.cc storage/innobase/ut/ut0ut.cc storage/maria/ha_maria.cc storage/maria/ha_maria.h storage/maria/ma_blockrec.c storage/maria/ma_check.c storage/maria/ma_create.c storage/maria/ma_delete_table.c storage/maria/ma_dynrec.c storage/maria/ma_extra.c storage/maria/ma_ft_boolean_search.c storage/maria/ma_locking.c storage/maria/ma_loghandler.c storage/maria/ma_open.c storage/maria/ma_packrec.c storage/maria/ma_pagecache.c storage/maria/ma_pagecrc.c storage/maria/ma_range.c storage/maria/ma_recovery.c storage/maria/ma_static.c storage/maria/ma_test1.c storage/maria/ma_test2.c storage/maria/ma_test_force_start.pl storage/maria/ma_unique.c storage/maria/maria_chk.c storage/maria/maria_def.h storage/maria/maria_pack.c storage/maria/maria_read_log.c storage/maria/unittest/ma_pagecache_single.c storage/maria/unittest/ma_test_loghandler-t.c storage/maria/unittest/ma_test_loghandler_multigroup-t.c storage/myisam/ft_boolean_search.c storage/myisam/ft_stopwords.c storage/myisam/ftbench/Ecompare.pl storage/myisam/ftbench/Ecreate.pl storage/myisam/ftbench/Ereport.pl storage/myisam/ftbench/ft-test-run.sh storage/myisam/ha_myisam.cc storage/myisam/mi_check.c storage/myisam/mi_checksum.c storage/myisam/mi_create.c storage/myisam/mi_delete.c storage/myisam/mi_delete_table.c storage/myisam/mi_dynrec.c storage/myisam/mi_extra.c storage/myisam/mi_locking.c storage/myisam/mi_open.c storage/myisam/mi_rfirst.c storage/myisam/mi_rlast.c storage/myisam/mi_rrnd.c storage/myisam/mi_rsamepos.c storage/myisam/mi_scan.c storage/myisam/mi_search.c storage/myisam/mi_test1.c storage/myisam/mi_write.c storage/myisam/myisamchk.c storage/myisam/myisampack.c storage/myisam/rt_index.h storage/myisam/rt_key.c storage/myisam/rt_key.h storage/myisam/rt_mbr.c storage/myisam/rt_mbr.h storage/myisam/sp_defs.h storage/myisammrg/myrg_delete.c storage/myisammrg/myrg_locking.c storage/myisammrg/myrg_panic.c storage/myisammrg/myrg_range.c storage/myisammrg/myrg_rfirst.c storage/myisammrg/myrg_rlast.c storage/myisammrg/myrg_rnext.c storage/myisammrg/myrg_rnext_same.c storage/myisammrg/myrg_rprev.c storage/myisammrg/myrg_rrnd.c storage/myisammrg/myrg_rsame.c storage/myisammrg/myrg_update.c storage/myisammrg/myrg_write.c storage/ndb/config/win-includes storage/ndb/config/win-libraries storage/ndb/config/win-name storage/ndb/config/win-sources storage/ndb/include/debugger/DebuggerNames.hpp storage/ndb/include/debugger/EventLogger.hpp storage/ndb/include/debugger/GrepError.hpp storage/ndb/include/debugger/SignalLoggerManager.hpp storage/ndb/include/editline/editline.h storage/ndb/include/kernel/AttributeDescriptor.hpp storage/ndb/include/kernel/AttributeHeader.hpp storage/ndb/include/kernel/AttributeList.hpp storage/ndb/include/kernel/BlockNumbers.h storage/ndb/include/kernel/GlobalSignalNumbers.h storage/ndb/include/kernel/GrepEvent.hpp storage/ndb/include/kernel/Interpreter.hpp storage/ndb/include/kernel/LogLevel.hpp storage/ndb/include/kernel/NodeBitmask.hpp storage/ndb/include/kernel/NodeInfo.hpp storage/ndb/include/kernel/NodeState.hpp storage/ndb/include/kernel/RefConvert.hpp storage/ndb/include/kernel/kernel_types.h storage/ndb/include/kernel/ndb_limits.h storage/ndb/include/kernel/signaldata/AbortAll.hpp storage/ndb/include/kernel/signaldata/AccFrag.hpp storage/ndb/include/kernel/signaldata/AccLock.hpp storage/ndb/include/kernel/signaldata/AccScan.hpp storage/ndb/include/kernel/signaldata/AccSizeAltReq.hpp storage/ndb/include/kernel/signaldata/AllocNodeId.hpp storage/ndb/include/kernel/signaldata/AlterIndx.hpp storage/ndb/include/kernel/signaldata/AlterTab.hpp storage/ndb/include/kernel/signaldata/AlterTable.hpp storage/ndb/include/kernel/signaldata/AlterTrig.hpp storage/ndb/include/kernel/signaldata/ApiBroadcast.hpp storage/ndb/include/kernel/signaldata/ApiRegSignalData.hpp storage/ndb/include/kernel/signaldata/ApiVersion.hpp storage/ndb/include/kernel/signaldata/ArbitSignalData.hpp storage/ndb/include/kernel/signaldata/AttrInfo.hpp storage/ndb/include/kernel/signaldata/BackupContinueB.hpp storage/ndb/include/kernel/signaldata/BackupImpl.hpp storage/ndb/include/kernel/signaldata/BackupSignalData.hpp storage/ndb/include/kernel/signaldata/BlockCommitOrd.hpp storage/ndb/include/kernel/signaldata/BuildIndx.hpp storage/ndb/include/kernel/signaldata/CheckNodeGroups.hpp storage/ndb/include/kernel/signaldata/CloseComReqConf.hpp storage/ndb/include/kernel/signaldata/CmInit.hpp storage/ndb/include/kernel/signaldata/CmRegSignalData.hpp storage/ndb/include/kernel/signaldata/CmvmiCfgConf.hpp storage/ndb/include/kernel/signaldata/CntrMasterConf.hpp storage/ndb/include/kernel/signaldata/CntrMasterReq.hpp storage/ndb/include/kernel/signaldata/ConfigParamId.hpp storage/ndb/include/kernel/signaldata/ContinueFragmented.hpp storage/ndb/include/kernel/signaldata/CopyActive.hpp storage/ndb/include/kernel/signaldata/CopyFrag.hpp storage/ndb/include/kernel/signaldata/CopyGCIReq.hpp storage/ndb/include/kernel/signaldata/CreateEvnt.hpp storage/ndb/include/kernel/signaldata/CreateFilegroup.hpp storage/ndb/include/kernel/signaldata/CreateFilegroupImpl.hpp storage/ndb/include/kernel/signaldata/CreateFrag.hpp storage/ndb/include/kernel/signaldata/CreateFragmentation.hpp storage/ndb/include/kernel/signaldata/CreateIndx.hpp storage/ndb/include/kernel/signaldata/CreateObj.hpp storage/ndb/include/kernel/signaldata/CreateTab.hpp storage/ndb/include/kernel/signaldata/CreateTable.hpp storage/ndb/include/kernel/signaldata/CreateTrig.hpp storage/ndb/include/kernel/signaldata/DiAddTab.hpp storage/ndb/include/kernel/signaldata/DiGetNodes.hpp storage/ndb/include/kernel/signaldata/DictLock.hpp storage/ndb/include/kernel/signaldata/DictObjOp.hpp storage/ndb/include/kernel/signaldata/DictSchemaInfo.hpp storage/ndb/include/kernel/signaldata/DictSizeAltReq.hpp storage/ndb/include/kernel/signaldata/DictStart.hpp storage/ndb/include/kernel/signaldata/DictTabInfo.hpp storage/ndb/include/kernel/signaldata/DihAddFrag.hpp storage/ndb/include/kernel/signaldata/DihContinueB.hpp storage/ndb/include/kernel/signaldata/DihSizeAltReq.hpp storage/ndb/include/kernel/signaldata/DihStartTab.hpp storage/ndb/include/kernel/signaldata/DihSwitchReplica.hpp storage/ndb/include/kernel/signaldata/DisconnectRep.hpp storage/ndb/include/kernel/signaldata/DropFilegroup.hpp storage/ndb/include/kernel/signaldata/DropFilegroupImpl.hpp storage/ndb/include/kernel/signaldata/DropIndx.hpp storage/ndb/include/kernel/signaldata/DropObj.hpp storage/ndb/include/kernel/signaldata/DropTab.hpp storage/ndb/include/kernel/signaldata/DropTabFile.hpp storage/ndb/include/kernel/signaldata/DropTable.hpp storage/ndb/include/kernel/signaldata/DropTrig.hpp storage/ndb/include/kernel/signaldata/DumpStateOrd.hpp storage/ndb/include/kernel/signaldata/EmptyLcp.hpp storage/ndb/include/kernel/signaldata/EndTo.hpp storage/ndb/include/kernel/signaldata/EventReport.hpp storage/ndb/include/kernel/signaldata/EventSubscribeReq.hpp storage/ndb/include/kernel/signaldata/ExecFragReq.hpp storage/ndb/include/kernel/signaldata/Extent.hpp storage/ndb/include/kernel/signaldata/FailRep.hpp storage/ndb/include/kernel/signaldata/FireTrigOrd.hpp storage/ndb/include/kernel/signaldata/FsAppendReq.hpp storage/ndb/include/kernel/signaldata/FsCloseReq.hpp storage/ndb/include/kernel/signaldata/FsConf.hpp storage/ndb/include/kernel/signaldata/FsOpenReq.hpp storage/ndb/include/kernel/signaldata/FsReadWriteReq.hpp storage/ndb/include/kernel/signaldata/FsRef.hpp storage/ndb/include/kernel/signaldata/FsRemoveReq.hpp storage/ndb/include/kernel/signaldata/GCPSave.hpp storage/ndb/include/kernel/signaldata/GetTabInfo.hpp storage/ndb/include/kernel/signaldata/GetTableId.hpp storage/ndb/include/kernel/signaldata/GrepImpl.hpp storage/ndb/include/kernel/signaldata/HotSpareRep.hpp storage/ndb/include/kernel/signaldata/IndxAttrInfo.hpp storage/ndb/include/kernel/signaldata/IndxKeyInfo.hpp storage/ndb/include/kernel/signaldata/InvalidateNodeLCPConf.hpp storage/ndb/include/kernel/signaldata/InvalidateNodeLCPReq.hpp storage/ndb/include/kernel/signaldata/KeyInfo.hpp storage/ndb/include/kernel/signaldata/LCP.hpp storage/ndb/include/kernel/signaldata/LgmanContinueB.hpp storage/ndb/include/kernel/signaldata/ListTables.hpp storage/ndb/include/kernel/signaldata/LqhFrag.hpp storage/ndb/include/kernel/signaldata/LqhKey.hpp storage/ndb/include/kernel/signaldata/LqhSizeAltReq.hpp storage/ndb/include/kernel/signaldata/LqhTransConf.hpp storage/ndb/include/kernel/signaldata/ManagementServer.hpp storage/ndb/include/kernel/signaldata/MasterGCP.hpp storage/ndb/include/kernel/signaldata/MasterLCP.hpp storage/ndb/include/kernel/signaldata/NFCompleteRep.hpp storage/ndb/include/kernel/signaldata/NdbSttor.hpp storage/ndb/include/kernel/signaldata/NdbfsContinueB.hpp storage/ndb/include/kernel/signaldata/NextScan.hpp storage/ndb/include/kernel/signaldata/NodeFailRep.hpp storage/ndb/include/kernel/signaldata/NodeStateSignalData.hpp storage/ndb/include/kernel/signaldata/PackedSignal.hpp storage/ndb/include/kernel/signaldata/PgmanContinueB.hpp storage/ndb/include/kernel/signaldata/PrepDropTab.hpp storage/ndb/include/kernel/signaldata/PrepFailReqRef.hpp storage/ndb/include/kernel/signaldata/ReadNodesConf.hpp storage/ndb/include/kernel/signaldata/RelTabMem.hpp storage/ndb/include/kernel/signaldata/RepImpl.hpp storage/ndb/include/kernel/signaldata/RestoreContinueB.hpp storage/ndb/include/kernel/signaldata/RestoreImpl.hpp storage/ndb/include/kernel/signaldata/ResumeReq.hpp storage/ndb/include/kernel/signaldata/RouteOrd.hpp storage/ndb/include/kernel/signaldata/ScanFrag.hpp storage/ndb/include/kernel/signaldata/ScanTab.hpp storage/ndb/include/kernel/signaldata/SetLogLevelOrd.hpp storage/ndb/include/kernel/signaldata/SetVarReq.hpp storage/ndb/include/kernel/signaldata/SignalData.hpp storage/ndb/include/kernel/signaldata/SignalDataPrint.hpp storage/ndb/include/kernel/signaldata/SignalDroppedRep.hpp storage/ndb/include/kernel/signaldata/SrFragidConf.hpp storage/ndb/include/kernel/signaldata/StartFragReq.hpp storage/ndb/include/kernel/signaldata/StartInfo.hpp storage/ndb/include/kernel/signaldata/StartMe.hpp storage/ndb/include/kernel/signaldata/StartOrd.hpp storage/ndb/include/kernel/signaldata/StartPerm.hpp storage/ndb/include/kernel/signaldata/StartRec.hpp storage/ndb/include/kernel/signaldata/StartTo.hpp storage/ndb/include/kernel/signaldata/StopMe.hpp storage/ndb/include/kernel/signaldata/StopPerm.hpp storage/ndb/include/kernel/signaldata/StopReq.hpp storage/ndb/include/kernel/signaldata/SumaImpl.hpp storage/ndb/include/kernel/signaldata/SystemError.hpp storage/ndb/include/kernel/signaldata/TamperOrd.hpp storage/ndb/include/kernel/signaldata/TcCommit.hpp storage/ndb/include/kernel/signaldata/TcContinueB.hpp storage/ndb/include/kernel/signaldata/TcHbRep.hpp storage/ndb/include/kernel/signaldata/TcIndx.hpp storage/ndb/include/kernel/signaldata/TcKeyConf.hpp storage/ndb/include/kernel/signaldata/TcKeyFailConf.hpp storage/ndb/include/kernel/signaldata/TcKeyRef.hpp storage/ndb/include/kernel/signaldata/TcKeyReq.hpp storage/ndb/include/kernel/signaldata/TcRollbackRep.hpp storage/ndb/include/kernel/signaldata/TcSizeAltReq.hpp storage/ndb/include/kernel/signaldata/TestOrd.hpp storage/ndb/include/kernel/signaldata/TransIdAI.hpp storage/ndb/include/kernel/signaldata/TrigAttrInfo.hpp storage/ndb/include/kernel/signaldata/TsmanContinueB.hpp storage/ndb/include/kernel/signaldata/TupCommit.hpp storage/ndb/include/kernel/signaldata/TupFrag.hpp storage/ndb/include/kernel/signaldata/TupKey.hpp storage/ndb/include/kernel/signaldata/TupSizeAltReq.hpp storage/ndb/include/kernel/signaldata/TuxBound.hpp storage/ndb/include/kernel/signaldata/TuxContinueB.hpp storage/ndb/include/kernel/signaldata/TuxMaint.hpp storage/ndb/include/kernel/signaldata/TuxSizeAltReq.hpp storage/ndb/include/kernel/signaldata/UpdateTo.hpp storage/ndb/include/kernel/signaldata/UtilDelete.hpp storage/ndb/include/kernel/signaldata/UtilExecute.hpp storage/ndb/include/kernel/signaldata/UtilLock.hpp storage/ndb/include/kernel/signaldata/UtilPrepare.hpp storage/ndb/include/kernel/signaldata/UtilRelease.hpp storage/ndb/include/kernel/signaldata/UtilSequence.hpp storage/ndb/include/kernel/signaldata/WaitGCP.hpp storage/ndb/include/kernel/trigger_definitions.h storage/ndb/include/logger/ConsoleLogHandler.hpp storage/ndb/include/logger/FileLogHandler.hpp storage/ndb/include/logger/LogHandler.hpp storage/ndb/include/logger/Logger.hpp storage/ndb/include/logger/SysLogHandler.hpp storage/ndb/include/mgmapi/mgmapi.h storage/ndb/include/mgmapi/mgmapi_debug.h storage/ndb/include/mgmapi/mgmapi_error.h storage/ndb/include/mgmapi/ndb_logevent.h storage/ndb/include/mgmapi/ndbd_exit_codes.h storage/ndb/include/mgmcommon/ConfigRetriever.hpp storage/ndb/include/mgmcommon/IPCConfig.hpp storage/ndb/include/mgmcommon/MgmtErrorReporter.hpp storage/ndb/include/ndb_constants.h storage/ndb/include/ndb_global.h.in storage/ndb/include/ndb_init.h storage/ndb/include/ndb_types.h.in storage/ndb/include/ndb_version.h.in storage/ndb/include/ndbapi/Ndb.hpp storage/ndb/include/ndbapi/NdbApi.hpp storage/ndb/include/ndbapi/NdbBlob.hpp storage/ndb/include/ndbapi/NdbDictionary.hpp storage/ndb/include/ndbapi/NdbError.hpp storage/ndb/include/ndbapi/NdbEventOperation.hpp storage/ndb/include/ndbapi/NdbIndexOperation.hpp storage/ndb/include/ndbapi/NdbIndexScanOperation.hpp storage/ndb/include/ndbapi/NdbIndexStat.hpp storage/ndb/include/ndbapi/NdbOperation.hpp storage/ndb/include/ndbapi/NdbPool.hpp storage/ndb/include/ndbapi/NdbRecAttr.hpp storage/ndb/include/ndbapi/NdbReceiver.hpp storage/ndb/include/ndbapi/NdbScanFilter.hpp storage/ndb/include/ndbapi/NdbScanOperation.hpp storage/ndb/include/ndbapi/NdbTransaction.hpp storage/ndb/include/ndbapi/ndb_cluster_connection.hpp storage/ndb/include/ndbapi/ndb_opt_defaults.h storage/ndb/include/ndbapi/ndbapi_limits.h storage/ndb/include/ndbapi/ndberror.h storage/ndb/include/newtonapi/dba.h storage/ndb/include/newtonapi/defs/pcn_types.h storage/ndb/include/portlib/NdbCondition.h storage/ndb/include/portlib/NdbConfig.h storage/ndb/include/portlib/NdbDaemon.h storage/ndb/include/portlib/NdbEnv.h storage/ndb/include/portlib/NdbHost.h storage/ndb/include/portlib/NdbMain.h storage/ndb/include/portlib/NdbMem.h storage/ndb/include/portlib/NdbMutex.h storage/ndb/include/portlib/NdbSleep.h storage/ndb/include/portlib/NdbTCP.h storage/ndb/include/portlib/NdbThread.h storage/ndb/include/portlib/NdbTick.h storage/ndb/include/portlib/PortDefs.h storage/ndb/include/portlib/prefetch.h storage/ndb/include/transporter/TransporterCallback.hpp storage/ndb/include/transporter/TransporterDefinitions.hpp storage/ndb/include/transporter/TransporterRegistry.hpp storage/ndb/include/util/BaseString.hpp storage/ndb/include/util/Bitmask.hpp storage/ndb/include/util/File.hpp storage/ndb/include/util/InputStream.hpp storage/ndb/include/util/NdbAutoPtr.hpp storage/ndb/include/util/NdbOut.hpp storage/ndb/include/util/NdbSqlUtil.hpp storage/ndb/include/util/OutputStream.hpp storage/ndb/include/util/Parser.hpp storage/ndb/include/util/Properties.hpp storage/ndb/include/util/SimpleProperties.hpp storage/ndb/include/util/SocketAuthenticator.hpp storage/ndb/include/util/SocketClient.hpp storage/ndb/include/util/SocketServer.hpp storage/ndb/include/util/UtilBuffer.hpp storage/ndb/include/util/Vector.hpp storage/ndb/include/util/basestring_vsnprintf.h storage/ndb/include/util/md5_hash.hpp storage/ndb/include/util/ndb_opts.h storage/ndb/include/util/ndb_rand.h storage/ndb/include/util/random.h storage/ndb/include/util/socket_io.h storage/ndb/include/util/uucode.h storage/ndb/include/util/version.h storage/ndb/ndbapi-examples/mgmapi_logevent/main.cpp storage/ndb/ndbapi-examples/mgmapi_logevent2/main.cpp storage/ndb/ndbapi-examples/ndbapi_async/ndbapi_async.cpp storage/ndb/ndbapi-examples/ndbapi_async1/ndbapi_async1.cpp storage/ndb/ndbapi-examples/ndbapi_event/ndbapi_event.cpp storage/ndb/ndbapi-examples/ndbapi_retries/ndbapi_retries.cpp storage/ndb/ndbapi-examples/ndbapi_scan/ndbapi_scan.cpp storage/ndb/ndbapi-examples/ndbapi_simple/ndbapi_simple.cpp storage/ndb/ndbapi-examples/ndbapi_simple_dual/main.cpp storage/ndb/ndbapi-examples/ndbapi_simple_index/main.cpp storage/ndb/src/common/debugger/BlockNames.cpp storage/ndb/src/common/debugger/DebuggerNames.cpp storage/ndb/src/common/debugger/EventLogger.cpp storage/ndb/src/common/debugger/GrepError.cpp storage/ndb/src/common/debugger/SignalLoggerManager.cpp storage/ndb/src/common/debugger/signaldata/AccLock.cpp storage/ndb/src/common/debugger/signaldata/AlterIndx.cpp storage/ndb/src/common/debugger/signaldata/AlterTab.cpp storage/ndb/src/common/debugger/signaldata/AlterTable.cpp storage/ndb/src/common/debugger/signaldata/AlterTrig.cpp storage/ndb/src/common/debugger/signaldata/BackupImpl.cpp storage/ndb/src/common/debugger/signaldata/BackupSignalData.cpp storage/ndb/src/common/debugger/signaldata/CloseComReqConf.cpp storage/ndb/src/common/debugger/signaldata/ContinueB.cpp storage/ndb/src/common/debugger/signaldata/CopyGCI.cpp storage/ndb/src/common/debugger/signaldata/CreateEvnt.cpp storage/ndb/src/common/debugger/signaldata/CreateFragmentation.cpp storage/ndb/src/common/debugger/signaldata/CreateIndx.cpp storage/ndb/src/common/debugger/signaldata/CreateTrig.cpp storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp storage/ndb/src/common/debugger/signaldata/DihContinueB.cpp storage/ndb/src/common/debugger/signaldata/DihSwitchReplicaReq.cpp storage/ndb/src/common/debugger/signaldata/DisconnectRep.cpp storage/ndb/src/common/debugger/signaldata/DropIndx.cpp storage/ndb/src/common/debugger/signaldata/DropTab.cpp storage/ndb/src/common/debugger/signaldata/DropTrig.cpp storage/ndb/src/common/debugger/signaldata/FailRep.cpp storage/ndb/src/common/debugger/signaldata/FireTrigOrd.cpp storage/ndb/src/common/debugger/signaldata/FsAppendReq.cpp storage/ndb/src/common/debugger/signaldata/FsCloseReq.cpp storage/ndb/src/common/debugger/signaldata/FsConf.cpp storage/ndb/src/common/debugger/signaldata/FsOpenReq.cpp storage/ndb/src/common/debugger/signaldata/FsReadWriteReq.cpp storage/ndb/src/common/debugger/signaldata/FsRef.cpp storage/ndb/src/common/debugger/signaldata/GCPSave.cpp storage/ndb/src/common/debugger/signaldata/IndxAttrInfo.cpp storage/ndb/src/common/debugger/signaldata/IndxKeyInfo.cpp storage/ndb/src/common/debugger/signaldata/LCP.cpp storage/ndb/src/common/debugger/signaldata/LqhFrag.cpp storage/ndb/src/common/debugger/signaldata/LqhKey.cpp storage/ndb/src/common/debugger/signaldata/LqhTrans.cpp storage/ndb/src/common/debugger/signaldata/MasterLCP.cpp storage/ndb/src/common/debugger/signaldata/NFCompleteRep.cpp storage/ndb/src/common/debugger/signaldata/NdbSttor.cpp storage/ndb/src/common/debugger/signaldata/NdbfsContinueB.cpp storage/ndb/src/common/debugger/signaldata/PackedSignal.cpp storage/ndb/src/common/debugger/signaldata/PrepDropTab.cpp storage/ndb/src/common/debugger/signaldata/PrepFailReqRef.cpp storage/ndb/src/common/debugger/signaldata/ScanFrag.cpp storage/ndb/src/common/debugger/signaldata/ScanTab.cpp storage/ndb/src/common/debugger/signaldata/SignalDataPrint.cpp storage/ndb/src/common/debugger/signaldata/SignalDroppedRep.cpp storage/ndb/src/common/debugger/signaldata/SignalNames.cpp storage/ndb/src/common/debugger/signaldata/StartRec.cpp storage/ndb/src/common/debugger/signaldata/SumaImpl.cpp storage/ndb/src/common/debugger/signaldata/SystemError.cpp storage/ndb/src/common/debugger/signaldata/TcIndx.cpp storage/ndb/src/common/debugger/signaldata/TcKeyConf.cpp storage/ndb/src/common/debugger/signaldata/TcKeyRef.cpp storage/ndb/src/common/debugger/signaldata/TcKeyReq.cpp storage/ndb/src/common/debugger/signaldata/TcRollbackRep.cpp storage/ndb/src/common/debugger/signaldata/TrigAttrInfo.cpp storage/ndb/src/common/debugger/signaldata/TupCommit.cpp storage/ndb/src/common/debugger/signaldata/TupKey.cpp storage/ndb/src/common/debugger/signaldata/TuxMaint.cpp storage/ndb/src/common/debugger/signaldata/UtilDelete.cpp storage/ndb/src/common/debugger/signaldata/UtilExecute.cpp storage/ndb/src/common/debugger/signaldata/UtilLock.cpp storage/ndb/src/common/debugger/signaldata/UtilPrepare.cpp storage/ndb/src/common/debugger/signaldata/UtilSequence.cpp storage/ndb/src/common/logger/ConsoleLogHandler.cpp storage/ndb/src/common/logger/FileLogHandler.cpp storage/ndb/src/common/logger/LogHandler.cpp storage/ndb/src/common/logger/LogHandlerList.cpp storage/ndb/src/common/logger/LogHandlerList.hpp storage/ndb/src/common/logger/Logger.cpp storage/ndb/src/common/logger/SysLogHandler.cpp storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.cpp storage/ndb/src/common/logger/listtest/LogHandlerListUnitTest.hpp storage/ndb/src/common/logger/loggertest/LoggerUnitTest.cpp storage/ndb/src/common/logger/loggertest/LoggerUnitTest.hpp storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp storage/ndb/src/common/mgmcommon/IPCConfig.cpp storage/ndb/src/common/mgmcommon/printConfig/printConfig.cpp storage/ndb/src/common/portlib/NdbCondition.c storage/ndb/src/common/portlib/NdbConfig.c storage/ndb/src/common/portlib/NdbDaemon.c storage/ndb/src/common/portlib/NdbEnv.c storage/ndb/src/common/portlib/NdbHost.c storage/ndb/src/common/portlib/NdbMem.c storage/ndb/src/common/portlib/NdbMutex.c storage/ndb/src/common/portlib/NdbPortLibTest.cpp storage/ndb/src/common/portlib/NdbSleep.c storage/ndb/src/common/portlib/NdbTCP.cpp storage/ndb/src/common/portlib/NdbThread.c storage/ndb/src/common/portlib/NdbTick.c storage/ndb/src/common/portlib/memtest.c storage/ndb/src/common/portlib/mmstest.cpp storage/ndb/src/common/portlib/munmaptest.cpp storage/ndb/src/common/portlib/win32/NdbCondition.c storage/ndb/src/common/portlib/win32/NdbDaemon.c storage/ndb/src/common/portlib/win32/NdbEnv.c storage/ndb/src/common/portlib/win32/NdbHost.c storage/ndb/src/common/portlib/win32/NdbMem.c storage/ndb/src/common/portlib/win32/NdbMutex.c storage/ndb/src/common/portlib/win32/NdbSleep.c storage/ndb/src/common/portlib/win32/NdbTCP.c storage/ndb/src/common/portlib/win32/NdbThread.c storage/ndb/src/common/portlib/win32/NdbTick.c storage/ndb/src/common/transporter/Packer.cpp storage/ndb/src/common/transporter/Packer.hpp storage/ndb/src/common/transporter/SCI_Transporter.cpp storage/ndb/src/common/transporter/SCI_Transporter.hpp storage/ndb/src/common/transporter/SHM_Buffer.hpp storage/ndb/src/common/transporter/SHM_Transporter.cpp storage/ndb/src/common/transporter/SHM_Transporter.hpp storage/ndb/src/common/transporter/SHM_Transporter.unix.cpp storage/ndb/src/common/transporter/SHM_Transporter.win32.cpp storage/ndb/src/common/transporter/SendBuffer.cpp storage/ndb/src/common/transporter/SendBuffer.hpp storage/ndb/src/common/transporter/TCP_Transporter.cpp storage/ndb/src/common/transporter/TCP_Transporter.hpp storage/ndb/src/common/transporter/Transporter.cpp storage/ndb/src/common/transporter/Transporter.hpp storage/ndb/src/common/transporter/TransporterInternalDefinitions.hpp storage/ndb/src/common/transporter/TransporterRegistry.cpp storage/ndb/src/common/transporter/basictest/basicTransporterTest.cpp storage/ndb/src/common/transporter/buddy.cpp storage/ndb/src/common/transporter/buddy.hpp storage/ndb/src/common/transporter/failoverSCI/failoverSCI.cpp storage/ndb/src/common/transporter/perftest/perfTransporterTest.cpp storage/ndb/src/common/transporter/priotest/prioSCI/prioSCI.cpp storage/ndb/src/common/transporter/priotest/prioSHM/prioSHM.cpp storage/ndb/src/common/transporter/priotest/prioTCP/prioTCP.cpp storage/ndb/src/common/transporter/priotest/prioTransporterTest.cpp storage/ndb/src/common/transporter/priotest/prioTransporterTest.hpp storage/ndb/src/common/util/BaseString.cpp storage/ndb/src/common/util/File.cpp storage/ndb/src/common/util/InputStream.cpp storage/ndb/src/common/util/NdbOut.cpp storage/ndb/src/common/util/NdbSqlUtil.cpp storage/ndb/src/common/util/OutputStream.cpp storage/ndb/src/common/util/Parser.cpp storage/ndb/src/common/util/Properties.cpp storage/ndb/src/common/util/SimpleProperties.cpp storage/ndb/src/common/util/SocketAuthenticator.cpp storage/ndb/src/common/util/SocketClient.cpp storage/ndb/src/common/util/SocketServer.cpp storage/ndb/src/common/util/basestring_vsnprintf.c storage/ndb/src/common/util/filetest/FileUnitTest.cpp storage/ndb/src/common/util/filetest/FileUnitTest.hpp storage/ndb/src/common/util/md5_hash.cpp storage/ndb/src/common/util/ndb_init.c storage/ndb/src/common/util/ndb_rand.c storage/ndb/src/common/util/random.c storage/ndb/src/common/util/socket_io.cpp storage/ndb/src/common/util/strdup.c storage/ndb/src/common/util/testProperties/testProperties.cpp storage/ndb/src/common/util/testSimpleProperties/sp_test.cpp storage/ndb/src/common/util/uucode.c storage/ndb/src/common/util/version.c storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.cpp storage/ndb/src/cw/cpcc-win32/C++/CPC_GUI.h storage/ndb/src/cw/cpcc-win32/C++/NdbControls.cpp storage/ndb/src/cw/cpcc-win32/C++/StdAfx.cpp storage/ndb/src/cw/cpcc-win32/C++/StdAfx.h storage/ndb/src/cw/cpcc-win32/C++/TreeView.cpp storage/ndb/src/cw/cpcc-win32/C++/TreeView.h storage/ndb/src/cw/cpcc-win32/C++/resource.h storage/ndb/src/cw/cpcc-win32/csharp/CPC_Form.cs storage/ndb/src/cw/cpcc-win32/csharp/Computer.cs storage/ndb/src/cw/cpcc-win32/csharp/ComputerAddDialog.cs storage/ndb/src/cw/cpcc-win32/csharp/ComputerRemoveDialog.cs storage/ndb/src/cw/cpcc-win32/csharp/Database.cs storage/ndb/src/cw/cpcc-win32/csharp/PanelWizard.cs storage/ndb/src/cw/cpcc-win32/csharp/Process.cs storage/ndb/src/cw/cpcc-win32/csharp/ProcessDefineDialog.cs storage/ndb/src/cw/cpcc-win32/csharp/fileaccess/FileMgmt.cs storage/ndb/src/cw/cpcc-win32/csharp/simpleparser/SimpleCPCParser.cs storage/ndb/src/cw/cpcc-win32/csharp/socketcomm/SocketComm.cs storage/ndb/src/cw/cpcc-win32/csharp/socketcomm/myTcpClient.cs storage/ndb/src/cw/cpcc-win32/csharp/startDatabaseDlg.cs storage/ndb/src/cw/cpcc-win32/csharp/telnetclient/telnetClient.cs storage/ndb/src/cw/cpcd/APIService.cpp storage/ndb/src/cw/cpcd/APIService.hpp storage/ndb/src/cw/cpcd/CPCD.cpp storage/ndb/src/cw/cpcd/CPCD.hpp storage/ndb/src/cw/cpcd/Monitor.cpp storage/ndb/src/cw/cpcd/Process.cpp storage/ndb/src/cw/cpcd/common.cpp storage/ndb/src/cw/cpcd/common.hpp storage/ndb/src/cw/cpcd/main.cpp storage/ndb/src/cw/test/socketclient/socketClientTest.cpp storage/ndb/src/cw/util/ClientInterface.cpp storage/ndb/src/cw/util/ClientInterface.hpp storage/ndb/src/cw/util/SocketRegistry.cpp storage/ndb/src/cw/util/SocketRegistry.hpp storage/ndb/src/cw/util/SocketService.cpp storage/ndb/src/cw/util/SocketService.hpp storage/ndb/src/kernel/SimBlockList.cpp storage/ndb/src/kernel/blocks/backup/Backup.cpp storage/ndb/src/kernel/blocks/backup/Backup.hpp storage/ndb/src/kernel/blocks/backup/BackupFormat.hpp storage/ndb/src/kernel/blocks/backup/BackupInit.cpp storage/ndb/src/kernel/blocks/backup/FsBuffer.hpp storage/ndb/src/kernel/blocks/backup/read.cpp storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.cpp storage/ndb/src/kernel/blocks/cmvmi/Cmvmi.hpp storage/ndb/src/kernel/blocks/dbacc/Dbacc.hpp storage/ndb/src/kernel/blocks/dbacc/DbaccInit.cpp storage/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp storage/ndb/src/kernel/blocks/dbdict/SchemaFile.hpp storage/ndb/src/kernel/blocks/dbdict/printSchemaFile.cpp storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp storage/ndb/src/kernel/blocks/dbdih/DbdihInit.cpp storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp storage/ndb/src/kernel/blocks/dbdih/Sysfile.hpp storage/ndb/src/kernel/blocks/dbdih/printSysfile.cpp storage/ndb/src/kernel/blocks/dbdih/printSysfile/printSysfile.cpp storage/ndb/src/kernel/blocks/dblqh/Dblqh.hpp storage/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp storage/ndb/src/kernel/blocks/dblqh/redoLogReader/reader.cpp storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.cpp storage/ndb/src/kernel/blocks/dblqh/redoLogReader/records.hpp storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp storage/ndb/src/kernel/blocks/dbtc/DbtcInit.cpp storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp storage/ndb/src/kernel/blocks/dbtup/AttributeOffset.hpp storage/ndb/src/kernel/blocks/dbtup/Dbtup.hpp storage/ndb/src/kernel/blocks/dbtup/DbtupAbort.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupBuffer.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupCommit.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupDebug.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupDiskAlloc.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupExecQuery.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupFixAlloc.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupIndex.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupRoutines.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupScan.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupStoredProcDef.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupTabDesMan.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupTrigger.cpp storage/ndb/src/kernel/blocks/dbtup/DbtupVarAlloc.cpp storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.cpp storage/ndb/src/kernel/blocks/dbtup/Undo_buffer.hpp storage/ndb/src/kernel/blocks/dbtup/tuppage.cpp storage/ndb/src/kernel/blocks/dbtup/tuppage.hpp storage/ndb/src/kernel/blocks/dbtux/Dbtux.hpp storage/ndb/src/kernel/blocks/dbtux/DbtuxCmp.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxMaint.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxNode.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxScan.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxSearch.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxStat.cpp storage/ndb/src/kernel/blocks/dbtux/DbtuxTree.cpp storage/ndb/src/kernel/blocks/dbutil/DbUtil.cpp storage/ndb/src/kernel/blocks/dbutil/DbUtil.hpp storage/ndb/src/kernel/blocks/diskpage.hpp storage/ndb/src/kernel/blocks/lgman.hpp storage/ndb/src/kernel/blocks/mutexes.hpp storage/ndb/src/kernel/blocks/ndbcntr/Ndbcntr.hpp storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrInit.cpp storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp storage/ndb/src/kernel/blocks/ndbcntr/NdbcntrSysTable.cpp storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.hpp storage/ndb/src/kernel/blocks/ndbfs/AsyncFileTest/AsyncFileTest.cpp storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.cpp storage/ndb/src/kernel/blocks/ndbfs/CircularIndex.hpp storage/ndb/src/kernel/blocks/ndbfs/Filename.cpp storage/ndb/src/kernel/blocks/ndbfs/Filename.hpp storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.cpp storage/ndb/src/kernel/blocks/ndbfs/MemoryChannel.hpp storage/ndb/src/kernel/blocks/ndbfs/MemoryChannelTest/MemoryChannelTest.cpp storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.cpp storage/ndb/src/kernel/blocks/ndbfs/Ndbfs.hpp storage/ndb/src/kernel/blocks/ndbfs/OpenFiles.hpp storage/ndb/src/kernel/blocks/ndbfs/Pool.hpp storage/ndb/src/kernel/blocks/ndbfs/VoidFs.cpp storage/ndb/src/kernel/blocks/pgman.cpp storage/ndb/src/kernel/blocks/pgman.hpp storage/ndb/src/kernel/blocks/print_file.cpp storage/ndb/src/kernel/blocks/qmgr/Qmgr.hpp storage/ndb/src/kernel/blocks/qmgr/QmgrInit.cpp storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp storage/ndb/src/kernel/blocks/qmgr/timer.hpp storage/ndb/src/kernel/blocks/record_types.hpp storage/ndb/src/kernel/blocks/restore.cpp storage/ndb/src/kernel/blocks/restore.hpp storage/ndb/src/kernel/blocks/suma/Suma.cpp storage/ndb/src/kernel/blocks/suma/Suma.hpp storage/ndb/src/kernel/blocks/suma/SumaInit.cpp storage/ndb/src/kernel/blocks/trix/Trix.cpp storage/ndb/src/kernel/blocks/trix/Trix.hpp storage/ndb/src/kernel/blocks/tsman.cpp storage/ndb/src/kernel/blocks/tsman.hpp storage/ndb/src/kernel/error/ErrorHandlingMacros.hpp storage/ndb/src/kernel/error/ErrorReporter.cpp storage/ndb/src/kernel/error/ErrorReporter.hpp storage/ndb/src/kernel/error/TimeModule.cpp storage/ndb/src/kernel/error/TimeModule.hpp storage/ndb/src/kernel/error/ndbd_exit_codes.c storage/ndb/src/kernel/main.cpp storage/ndb/src/kernel/vm/Array.hpp storage/ndb/src/kernel/vm/ArrayPool.hpp storage/ndb/src/kernel/vm/CArray.hpp storage/ndb/src/kernel/vm/Callback.hpp storage/ndb/src/kernel/vm/ClusterConfiguration.cpp storage/ndb/src/kernel/vm/ClusterConfiguration.hpp storage/ndb/src/kernel/vm/Configuration.cpp storage/ndb/src/kernel/vm/Configuration.hpp storage/ndb/src/kernel/vm/DLCFifoList.hpp storage/ndb/src/kernel/vm/DLCHashTable.hpp storage/ndb/src/kernel/vm/DLFifoList.hpp storage/ndb/src/kernel/vm/DLHashTable.hpp storage/ndb/src/kernel/vm/DLHashTable2.hpp storage/ndb/src/kernel/vm/DLList.hpp storage/ndb/src/kernel/vm/DataBuffer.hpp storage/ndb/src/kernel/vm/DynArr256.cpp storage/ndb/src/kernel/vm/DynArr256.hpp storage/ndb/src/kernel/vm/Emulator.cpp storage/ndb/src/kernel/vm/Emulator.hpp storage/ndb/src/kernel/vm/FastScheduler.cpp storage/ndb/src/kernel/vm/FastScheduler.hpp storage/ndb/src/kernel/vm/GlobalData.hpp storage/ndb/src/kernel/vm/KeyDescriptor.hpp storage/ndb/src/kernel/vm/KeyTable.hpp storage/ndb/src/kernel/vm/KeyTable2.hpp storage/ndb/src/kernel/vm/KeyTable2Ref.hpp storage/ndb/src/kernel/vm/LinearPool.hpp storage/ndb/src/kernel/vm/LongSignal.hpp storage/ndb/src/kernel/vm/Mutex.cpp storage/ndb/src/kernel/vm/Mutex.hpp storage/ndb/src/kernel/vm/NdbdSuperPool.cpp storage/ndb/src/kernel/vm/NdbdSuperPool.hpp storage/ndb/src/kernel/vm/Pool.cpp storage/ndb/src/kernel/vm/Pool.hpp storage/ndb/src/kernel/vm/Prio.hpp storage/ndb/src/kernel/vm/RWPool.cpp storage/ndb/src/kernel/vm/RWPool.hpp storage/ndb/src/kernel/vm/RequestTracker.hpp storage/ndb/src/kernel/vm/Rope.hpp storage/ndb/src/kernel/vm/SLFifoList.hpp storage/ndb/src/kernel/vm/SLList.hpp storage/ndb/src/kernel/vm/SafeCounter.cpp storage/ndb/src/kernel/vm/SafeCounter.hpp storage/ndb/src/kernel/vm/SectionReader.cpp storage/ndb/src/kernel/vm/SectionReader.hpp storage/ndb/src/kernel/vm/SignalCounter.hpp storage/ndb/src/kernel/vm/SimBlockList.hpp storage/ndb/src/kernel/vm/SimplePropertiesSection.cpp storage/ndb/src/kernel/vm/SimulatedBlock.cpp storage/ndb/src/kernel/vm/SimulatedBlock.hpp storage/ndb/src/kernel/vm/SuperPool.cpp storage/ndb/src/kernel/vm/SuperPool.hpp storage/ndb/src/kernel/vm/ThreadConfig.cpp storage/ndb/src/kernel/vm/ThreadConfig.hpp storage/ndb/src/kernel/vm/TimeQueue.cpp storage/ndb/src/kernel/vm/TimeQueue.hpp storage/ndb/src/kernel/vm/TransporterCallback.cpp storage/ndb/src/kernel/vm/VMSignal.cpp storage/ndb/src/kernel/vm/VMSignal.hpp storage/ndb/src/kernel/vm/WOPool.cpp storage/ndb/src/kernel/vm/WOPool.hpp storage/ndb/src/kernel/vm/WaitQueue.hpp storage/ndb/src/kernel/vm/WatchDog.cpp storage/ndb/src/kernel/vm/WatchDog.hpp storage/ndb/src/kernel/vm/al_test/arrayListTest.cpp storage/ndb/src/kernel/vm/al_test/arrayPoolTest.cpp storage/ndb/src/kernel/vm/al_test/main.cpp storage/ndb/src/kernel/vm/bench_pool.cpp storage/ndb/src/kernel/vm/ndbd_malloc.cpp storage/ndb/src/kernel/vm/ndbd_malloc.hpp storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp storage/ndb/src/kernel/vm/pc.hpp storage/ndb/src/kernel/vm/testCopy/rr.cpp storage/ndb/src/kernel/vm/testCopy/testCopy.cpp storage/ndb/src/kernel/vm/testDataBuffer/testDataBuffer.cpp storage/ndb/src/kernel/vm/testLongSig/testLongSig.cpp storage/ndb/src/kernel/vm/testSimplePropertiesSection/test.cpp storage/ndb/src/kernel/vm/testSuperPool.cpp storage/ndb/src/mgmapi/LocalConfig.cpp storage/ndb/src/mgmapi/LocalConfig.hpp storage/ndb/src/mgmapi/mgmapi.cpp storage/ndb/src/mgmapi/mgmapi_configuration.hpp storage/ndb/src/mgmapi/mgmapi_internal.h storage/ndb/src/mgmapi/ndb_logevent.cpp storage/ndb/src/mgmapi/ndb_logevent.hpp storage/ndb/src/mgmapi/test/keso.c storage/ndb/src/mgmapi/test/mgmSrvApi.cpp storage/ndb/src/mgmclient/CommandInterpreter.cpp storage/ndb/src/mgmclient/main.cpp storage/ndb/src/mgmclient/ndb_mgmclient.h storage/ndb/src/mgmclient/ndb_mgmclient.hpp storage/ndb/src/mgmclient/test_cpcd/test_cpcd.cpp storage/ndb/src/mgmsrv/Config.cpp storage/ndb/src/mgmsrv/Config.hpp storage/ndb/src/mgmsrv/ConfigInfo.cpp storage/ndb/src/mgmsrv/ConfigInfo.hpp storage/ndb/src/mgmsrv/InitConfigFileParser.cpp storage/ndb/src/mgmsrv/InitConfigFileParser.hpp storage/ndb/src/mgmsrv/MgmtSrvr.cpp storage/ndb/src/mgmsrv/MgmtSrvr.hpp storage/ndb/src/mgmsrv/MgmtSrvrConfig.cpp storage/ndb/src/mgmsrv/MgmtSrvrGeneralSignalHandling.cpp storage/ndb/src/mgmsrv/Services.cpp storage/ndb/src/mgmsrv/Services.hpp storage/ndb/src/mgmsrv/SignalQueue.cpp storage/ndb/src/mgmsrv/SignalQueue.hpp storage/ndb/src/mgmsrv/convertStrToInt.cpp storage/ndb/src/mgmsrv/convertStrToInt.hpp storage/ndb/src/mgmsrv/main.cpp storage/ndb/src/mgmsrv/mkconfig/mkconfig.cpp storage/ndb/src/ndbapi/API.hpp storage/ndb/src/ndbapi/ClusterMgr.cpp storage/ndb/src/ndbapi/ClusterMgr.hpp storage/ndb/src/ndbapi/DictCache.cpp storage/ndb/src/ndbapi/DictCache.hpp storage/ndb/src/ndbapi/Ndb.cpp storage/ndb/src/ndbapi/NdbApiSignal.cpp storage/ndb/src/ndbapi/NdbApiSignal.hpp storage/ndb/src/ndbapi/NdbBlob.cpp storage/ndb/src/ndbapi/NdbBlobImpl.hpp storage/ndb/src/ndbapi/NdbDictionary.cpp storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp storage/ndb/src/ndbapi/NdbErrorOut.cpp storage/ndb/src/ndbapi/NdbEventOperation.cpp storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp storage/ndb/src/ndbapi/NdbEventOperationImpl.hpp storage/ndb/src/ndbapi/NdbImpl.hpp storage/ndb/src/ndbapi/NdbIndexOperation.cpp storage/ndb/src/ndbapi/NdbIndexStat.cpp storage/ndb/src/ndbapi/NdbLinHash.hpp storage/ndb/src/ndbapi/NdbOperation.cpp storage/ndb/src/ndbapi/NdbOperationDefine.cpp storage/ndb/src/ndbapi/NdbOperationExec.cpp storage/ndb/src/ndbapi/NdbOperationInt.cpp storage/ndb/src/ndbapi/NdbOperationScan.cpp storage/ndb/src/ndbapi/NdbOperationSearch.cpp storage/ndb/src/ndbapi/NdbPool.cpp storage/ndb/src/ndbapi/NdbPoolImpl.cpp storage/ndb/src/ndbapi/NdbPoolImpl.hpp storage/ndb/src/ndbapi/NdbRecAttr.cpp storage/ndb/src/ndbapi/NdbReceiver.cpp storage/ndb/src/ndbapi/NdbScanFilter.cpp storage/ndb/src/ndbapi/NdbScanOperation.cpp storage/ndb/src/ndbapi/NdbTransaction.cpp storage/ndb/src/ndbapi/NdbTransactionScan.cpp storage/ndb/src/ndbapi/NdbUtil.cpp storage/ndb/src/ndbapi/NdbUtil.hpp storage/ndb/src/ndbapi/NdbWaiter.hpp storage/ndb/src/ndbapi/Ndberr.cpp storage/ndb/src/ndbapi/Ndbif.cpp storage/ndb/src/ndbapi/Ndbinit.cpp storage/ndb/src/ndbapi/Ndblist.cpp storage/ndb/src/ndbapi/ObjectMap.cpp storage/ndb/src/ndbapi/ObjectMap.hpp storage/ndb/src/ndbapi/SignalSender.cpp storage/ndb/src/ndbapi/SignalSender.hpp storage/ndb/src/ndbapi/TransporterFacade.cpp storage/ndb/src/ndbapi/TransporterFacade.hpp storage/ndb/src/ndbapi/ndb_cluster_connection.cpp storage/ndb/src/ndbapi/ndb_cluster_connection_impl.hpp storage/ndb/src/ndbapi/ndberror.c storage/ndb/src/ndbapi/signal-sender/SignalSender.cpp storage/ndb/src/ndbapi/signal-sender/SignalSender.hpp storage/ndb/test/include/AtrtClient.hpp storage/ndb/test/include/CpcClient.hpp storage/ndb/test/include/DbUtil.hpp storage/ndb/test/include/HugoAsynchTransactions.hpp storage/ndb/test/include/HugoCalculator.hpp storage/ndb/test/include/HugoOperations.hpp storage/ndb/test/include/HugoTransactions.hpp storage/ndb/test/include/NDBT.hpp storage/ndb/test/include/NDBT_DataSet.hpp storage/ndb/test/include/NDBT_DataSetTransaction.hpp storage/ndb/test/include/NDBT_Error.hpp storage/ndb/test/include/NDBT_Output.hpp storage/ndb/test/include/NDBT_ResultRow.hpp storage/ndb/test/include/NDBT_ReturnCodes.h storage/ndb/test/include/NDBT_Stats.hpp storage/ndb/test/include/NDBT_Table.hpp storage/ndb/test/include/NDBT_Tables.hpp storage/ndb/test/include/NDBT_Test.hpp storage/ndb/test/include/NDBT_Thread.hpp storage/ndb/test/include/NdbBackup.hpp storage/ndb/test/include/NdbConfig.hpp storage/ndb/test/include/NdbGrep.hpp storage/ndb/test/include/NdbMixRestarter.hpp storage/ndb/test/include/NdbRestarter.hpp storage/ndb/test/include/NdbRestarts.hpp storage/ndb/test/include/NdbSchemaCon.hpp storage/ndb/test/include/NdbSchemaOp.hpp storage/ndb/test/include/NdbTest.hpp storage/ndb/test/include/NdbTimer.hpp storage/ndb/test/include/TestNdbEventOperation.hpp storage/ndb/test/include/UtilTransactions.hpp storage/ndb/test/include/getarg.h storage/ndb/test/ndbapi/InsertRecs.cpp storage/ndb/test/ndbapi/ScanFilter.hpp storage/ndb/test/ndbapi/ScanFunctions.hpp storage/ndb/test/ndbapi/ScanInterpretTest.hpp storage/ndb/test/ndbapi/TraceNdbApi.cpp storage/ndb/test/ndbapi/VerifyNdbApi.cpp storage/ndb/test/ndbapi/acid.cpp storage/ndb/test/ndbapi/acid2.cpp storage/ndb/test/ndbapi/acrt/NdbRepStress.cpp storage/ndb/test/ndbapi/adoInsertRecs.cpp storage/ndb/test/ndbapi/asyncGenerator.cpp storage/ndb/test/ndbapi/bank/Bank.cpp storage/ndb/test/ndbapi/bank/Bank.hpp storage/ndb/test/ndbapi/bank/BankLoad.cpp storage/ndb/test/ndbapi/bank/bankCreator.cpp storage/ndb/test/ndbapi/bank/bankMakeGL.cpp storage/ndb/test/ndbapi/bank/bankSumAccounts.cpp storage/ndb/test/ndbapi/bank/bankTimer.cpp storage/ndb/test/ndbapi/bank/bankTransactionMaker.cpp storage/ndb/test/ndbapi/bank/bankValidateAllGLs.cpp storage/ndb/test/ndbapi/bank/testBank.cpp storage/ndb/test/ndbapi/bench/asyncGenerator.cpp storage/ndb/test/ndbapi/bench/dbGenerator.h storage/ndb/test/ndbapi/bench/dbPopulate.cpp storage/ndb/test/ndbapi/bench/dbPopulate.h storage/ndb/test/ndbapi/bench/macros.h storage/ndb/test/ndbapi/bench/mainAsyncGenerator.cpp storage/ndb/test/ndbapi/bench/mainPopulate.cpp storage/ndb/test/ndbapi/bench/ndb_async1.cpp storage/ndb/test/ndbapi/bench/ndb_async2.cpp storage/ndb/test/ndbapi/bench/ndb_error.hpp storage/ndb/test/ndbapi/bench/ndb_schema.hpp storage/ndb/test/ndbapi/bench/ndb_user_transaction.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction2.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction3.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction4.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction5.cpp storage/ndb/test/ndbapi/bench/ndb_user_transaction6.cpp storage/ndb/test/ndbapi/bench/testData.h storage/ndb/test/ndbapi/bench/testDefinitions.h storage/ndb/test/ndbapi/bench/userInterface.cpp storage/ndb/test/ndbapi/bench/userInterface.h storage/ndb/test/ndbapi/benchronja.cpp storage/ndb/test/ndbapi/bulk_copy.cpp storage/ndb/test/ndbapi/cdrserver.cpp storage/ndb/test/ndbapi/celloDb.cpp storage/ndb/test/ndbapi/create_all_tabs.cpp storage/ndb/test/ndbapi/create_tab.cpp storage/ndb/test/ndbapi/drop_all_tabs.cpp storage/ndb/test/ndbapi/flexAsynch.cpp storage/ndb/test/ndbapi/flexBench.cpp storage/ndb/test/ndbapi/flexHammer.cpp storage/ndb/test/ndbapi/flexScan.cpp storage/ndb/test/ndbapi/flexTT.cpp storage/ndb/test/ndbapi/flexTimedAsynch.cpp storage/ndb/test/ndbapi/flex_bench_mysql.cpp storage/ndb/test/ndbapi/index.cpp storage/ndb/test/ndbapi/index2.cpp storage/ndb/test/ndbapi/initronja.cpp storage/ndb/test/ndbapi/interpreterInTup.cpp storage/ndb/test/ndbapi/mainAsyncGenerator.cpp storage/ndb/test/ndbapi/msa.cpp storage/ndb/test/ndbapi/ndb_async1.cpp storage/ndb/test/ndbapi/ndb_async2.cpp storage/ndb/test/ndbapi/ndb_user_populate.cpp storage/ndb/test/ndbapi/ndb_user_transaction.cpp storage/ndb/test/ndbapi/ndb_user_transaction2.cpp storage/ndb/test/ndbapi/ndb_user_transaction3.cpp storage/ndb/test/ndbapi/ndb_user_transaction4.cpp storage/ndb/test/ndbapi/ndb_user_transaction5.cpp storage/ndb/test/ndbapi/ndb_user_transaction6.cpp storage/ndb/test/ndbapi/restarter.cpp storage/ndb/test/ndbapi/restarter2.cpp storage/ndb/test/ndbapi/restarts.cpp storage/ndb/test/ndbapi/size.cpp storage/ndb/test/ndbapi/testBackup.cpp storage/ndb/test/ndbapi/testBasic.cpp storage/ndb/test/ndbapi/testBasicAsynch.cpp storage/ndb/test/ndbapi/testBlobs.cpp storage/ndb/test/ndbapi/testDataBuffers.cpp storage/ndb/test/ndbapi/testDeadlock.cpp storage/ndb/test/ndbapi/testDict.cpp storage/ndb/test/ndbapi/testGrepVerify.cpp storage/ndb/test/ndbapi/testIndex.cpp storage/ndb/test/ndbapi/testIndexStat.cpp storage/ndb/test/ndbapi/testInterpreter.cpp storage/ndb/test/ndbapi/testMgm.cpp storage/ndb/test/ndbapi/testNDBT.cpp storage/ndb/test/ndbapi/testNdbApi.cpp storage/ndb/test/ndbapi/testNodeRestart.cpp storage/ndb/test/ndbapi/testOIBasic.cpp storage/ndb/test/ndbapi/testOperations.cpp storage/ndb/test/ndbapi/testOrderedIndex.cpp storage/ndb/test/ndbapi/testPartitioning.cpp storage/ndb/test/ndbapi/testReadPerf.cpp storage/ndb/test/ndbapi/testRestartGci.cpp storage/ndb/test/ndbapi/testSRBank.cpp storage/ndb/test/ndbapi/testScan.cpp storage/ndb/test/ndbapi/testScanInterpreter.cpp storage/ndb/test/ndbapi/testScanPerf.cpp storage/ndb/test/ndbapi/testSystemRestart.cpp storage/ndb/test/ndbapi/testTimeout.cpp storage/ndb/test/ndbapi/testTransactions.cpp storage/ndb/test/ndbapi/test_event.cpp storage/ndb/test/ndbapi/test_event_merge.cpp storage/ndb/test/ndbapi/test_event_multi_table.cpp storage/ndb/test/ndbapi/userInterface.cpp storage/ndb/test/ndbnet/test.run storage/ndb/test/ndbnet/testError.run storage/ndb/test/ndbnet/testMNF.run storage/ndb/test/ndbnet/testNR.run storage/ndb/test/ndbnet/testNR1.run storage/ndb/test/ndbnet/testNR4.run storage/ndb/test/ndbnet/testSRhang.run storage/ndb/test/ndbnet/testTR295.run storage/ndb/test/newtonapi/basic_test/basic/basic.cpp storage/ndb/test/newtonapi/basic_test/bulk_read/br_test.cpp storage/ndb/test/newtonapi/basic_test/common.cpp storage/ndb/test/newtonapi/basic_test/common.hpp storage/ndb/test/newtonapi/basic_test/ptr_binding/ptr_binding_test.cpp storage/ndb/test/newtonapi/basic_test/too_basic.cpp storage/ndb/test/newtonapi/perf_test/perf.cpp storage/ndb/test/odbc/SQL99_test/SQL99_test.cpp storage/ndb/test/odbc/SQL99_test/SQL99_test.h storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE.cpp storage/ndb/test/odbc/client/NDBT_ALLOCHANDLE_HDBC.cpp storage/ndb/test/odbc/client/NDBT_SQLConnect.cpp storage/ndb/test/odbc/client/NDBT_SQLPrepare.cpp storage/ndb/test/odbc/client/SQLAllocEnvTest.cpp storage/ndb/test/odbc/client/SQLAllocHandleTest.cpp storage/ndb/test/odbc/client/SQLAllocHandleTest_bf.cpp storage/ndb/test/odbc/client/SQLBindColTest.cpp storage/ndb/test/odbc/client/SQLBindParameterTest.cpp storage/ndb/test/odbc/client/SQLCancelTest.cpp storage/ndb/test/odbc/client/SQLCloseCursorTest.cpp storage/ndb/test/odbc/client/SQLColAttributeTest.cpp storage/ndb/test/odbc/client/SQLColAttributeTest1.cpp storage/ndb/test/odbc/client/SQLColAttributeTest2.cpp storage/ndb/test/odbc/client/SQLColAttributeTest3.cpp storage/ndb/test/odbc/client/SQLConnectTest.cpp storage/ndb/test/odbc/client/SQLCopyDescTest.cpp storage/ndb/test/odbc/client/SQLDescribeColTest.cpp storage/ndb/test/odbc/client/SQLDisconnectTest.cpp storage/ndb/test/odbc/client/SQLDriverConnectTest.cpp storage/ndb/test/odbc/client/SQLEndTranTest.cpp storage/ndb/test/odbc/client/SQLErrorTest.cpp storage/ndb/test/odbc/client/SQLExecDirectTest.cpp storage/ndb/test/odbc/client/SQLExecuteTest.cpp storage/ndb/test/odbc/client/SQLFetchScrollTest.cpp storage/ndb/test/odbc/client/SQLFetchTest.cpp storage/ndb/test/odbc/client/SQLFreeHandleTest.cpp storage/ndb/test/odbc/client/SQLFreeStmtTest.cpp storage/ndb/test/odbc/client/SQLGetConnectAttrTest.cpp storage/ndb/test/odbc/client/SQLGetCursorNameTest.cpp storage/ndb/test/odbc/client/SQLGetDataTest.cpp storage/ndb/test/odbc/client/SQLGetDescFieldTest.cpp storage/ndb/test/odbc/client/SQLGetDescRecTest.cpp storage/ndb/test/odbc/client/SQLGetDiagFieldTest.cpp storage/ndb/test/odbc/client/SQLGetDiagRecSimpleTest.cpp storage/ndb/test/odbc/client/SQLGetDiagRecTest.cpp storage/ndb/test/odbc/client/SQLGetEnvAttrTest.cpp storage/ndb/test/odbc/client/SQLGetFunctionsTest.cpp storage/ndb/test/odbc/client/SQLGetInfoTest.cpp storage/ndb/test/odbc/client/SQLGetStmtAttrTest.cpp storage/ndb/test/odbc/client/SQLGetTypeInfoTest.cpp storage/ndb/test/odbc/client/SQLMoreResultsTest.cpp storage/ndb/test/odbc/client/SQLNumResultColsTest.cpp storage/ndb/test/odbc/client/SQLParamDataTest.cpp storage/ndb/test/odbc/client/SQLPrepareTest.cpp storage/ndb/test/odbc/client/SQLPutDataTest.cpp storage/ndb/test/odbc/client/SQLRowCountTest.cpp storage/ndb/test/odbc/client/SQLSetConnectAttrTest.cpp storage/ndb/test/odbc/client/SQLSetCursorNameTest.cpp storage/ndb/test/odbc/client/SQLSetDescFieldTest.cpp storage/ndb/test/odbc/client/SQLSetDescRecTest.cpp storage/ndb/test/odbc/client/SQLSetEnvAttrTest.cpp storage/ndb/test/odbc/client/SQLSetStmtAttrTest.cpp storage/ndb/test/odbc/client/SQLTablesTest.cpp storage/ndb/test/odbc/client/SQLTransactTest.cpp storage/ndb/test/odbc/client/common.hpp storage/ndb/test/odbc/client/main.cpp storage/ndb/test/odbc/driver/testOdbcDriver.cpp storage/ndb/test/odbc/test_compiler/test_compiler.cpp storage/ndb/test/run-test/atrt-analyze-result.sh storage/ndb/test/run-test/atrt-clear-result.sh storage/ndb/test/run-test/atrt-gather-result.sh storage/ndb/test/run-test/atrt-setup.sh storage/ndb/test/run-test/atrt-testBackup storage/ndb/test/run-test/atrt.hpp storage/ndb/test/run-test/main.cpp storage/ndb/test/run-test/make-index.sh storage/ndb/test/src/CpcClient.cpp storage/ndb/test/src/DbUtil.cpp storage/ndb/test/src/HugoAsynchTransactions.cpp storage/ndb/test/src/HugoCalculator.cpp storage/ndb/test/src/HugoOperations.cpp storage/ndb/test/src/HugoTransactions.cpp storage/ndb/test/src/NDBT_Error.cpp storage/ndb/test/src/NDBT_Output.cpp storage/ndb/test/src/NDBT_ResultRow.cpp storage/ndb/test/src/NDBT_ReturnCodes.cpp storage/ndb/test/src/NDBT_Table.cpp storage/ndb/test/src/NDBT_Tables.cpp storage/ndb/test/src/NDBT_Test.cpp storage/ndb/test/src/NDBT_Thread.cpp storage/ndb/test/src/NdbBackup.cpp storage/ndb/test/src/NdbConfig.cpp storage/ndb/test/src/NdbGrep.cpp storage/ndb/test/src/NdbMixRestarter.cpp storage/ndb/test/src/NdbRestarter.cpp storage/ndb/test/src/NdbRestarts.cpp storage/ndb/test/src/NdbSchemaCon.cpp storage/ndb/test/src/NdbSchemaOp.cpp storage/ndb/test/src/UtilTransactions.cpp storage/ndb/test/tools/connect.cpp storage/ndb/test/tools/copy_tab.cpp storage/ndb/test/tools/cpcc.cpp storage/ndb/test/tools/create_index.cpp storage/ndb/test/tools/hugoCalculator.cpp storage/ndb/test/tools/hugoFill.cpp storage/ndb/test/tools/hugoLoad.cpp storage/ndb/test/tools/hugoLockRecords.cpp storage/ndb/test/tools/hugoPkDelete.cpp storage/ndb/test/tools/hugoPkRead.cpp storage/ndb/test/tools/hugoPkReadRecord.cpp storage/ndb/test/tools/hugoPkUpdate.cpp storage/ndb/test/tools/hugoScanRead.cpp storage/ndb/test/tools/hugoScanUpdate.cpp storage/ndb/test/tools/listen.cpp storage/ndb/test/tools/rep_latency.cpp storage/ndb/test/tools/restart.cpp storage/ndb/test/tools/transproxy.cpp storage/ndb/test/tools/verify_index.cpp storage/ndb/tools/clean-links.sh storage/ndb/tools/delete_all.cpp storage/ndb/tools/desc.cpp storage/ndb/tools/drop_index.cpp storage/ndb/tools/drop_tab.cpp storage/ndb/tools/listTables.cpp storage/ndb/tools/make-errors.pl storage/ndb/tools/make-links.sh storage/ndb/tools/ndb_config.cpp storage/ndb/tools/ndb_error_reporter storage/ndb/tools/ndb_test_platform.cpp storage/ndb/tools/ndbsql.cpp storage/ndb/tools/restore/Restore.cpp storage/ndb/tools/restore/Restore.hpp storage/ndb/tools/restore/consumer.cpp storage/ndb/tools/restore/consumer.hpp storage/ndb/tools/restore/consumer_printer.cpp storage/ndb/tools/restore/consumer_printer.hpp storage/ndb/tools/restore/consumer_restore.cpp storage/ndb/tools/restore/consumer_restore.hpp storage/ndb/tools/restore/consumer_restorem.cpp storage/ndb/tools/restore/ndb_nodegroup_map.h storage/ndb/tools/restore/restore_main.cpp storage/ndb/tools/rgrep storage/ndb/tools/select_all.cpp storage/ndb/tools/select_count.cpp storage/ndb/tools/waiter.cpp storage/oqgraph/CMakeLists.txt storage/oqgraph/ha_oqgraph.cc storage/oqgraph/ha_oqgraph.h storage/oqgraph/mysql-test/oqgraph/boundary_conditions.result storage/oqgraph/mysql-test/oqgraph/boundary_conditions.test storage/oqgraph/mysql-test/oqgraph/invalid_operations.result storage/oqgraph/mysql-test/oqgraph/invalid_operations.test storage/oqgraph/mysql-test/oqgraph/isnull.result storage/oqgraph/mysql-test/oqgraph/isnull.test storage/oqgraph/mysql-test/oqgraph/regression_1233113.result storage/oqgraph/mysql-test/oqgraph/regression_1233113.test storage/oqgraph/mysql-test/oqgraph/regression_drop_after.result storage/oqgraph/mysql-test/oqgraph/regression_drop_after.test storage/oqgraph/mysql-test/oqgraph/suite.pm storage/perfschema/CMakeLists.txt storage/perfschema/pfs_check.cc storage/perfschema/pfs_events_waits.cc storage/perfschema/pfs_global.cc storage/perfschema/table_events_waits.cc storage/perfschema/unittest/CMakeLists.txt storage/sequence/mysql-test/sequence/simple.result storage/sequence/mysql-test/sequence/simple.test storage/sequence/sequence.cc storage/sphinx/ha_sphinx.cc storage/sphinx/mysql-test/sphinx/suite.pm storage/spider/ha_spider.cc storage/spider/ha_spider.h storage/spider/mysql-test/spider/bg/suite.opt storage/spider/scripts/install_spider.sql storage/spider/spd_conn.cc storage/spider/spd_conn.h storage/spider/spd_copy_tables.cc storage/spider/spd_copy_tables.h storage/spider/spd_db_conn.cc storage/spider/spd_db_conn.h storage/spider/spd_db_handlersocket.cc storage/spider/spd_db_handlersocket.h storage/spider/spd_db_include.h storage/spider/spd_db_mysql.cc storage/spider/spd_db_mysql.h storage/spider/spd_db_oracle.cc storage/spider/spd_db_oracle.h storage/spider/spd_direct_sql.cc storage/spider/spd_direct_sql.h storage/spider/spd_err.h storage/spider/spd_i_s.cc storage/spider/spd_include.h storage/spider/spd_malloc.cc storage/spider/spd_malloc.h storage/spider/spd_param.cc storage/spider/spd_param.h storage/spider/spd_ping_table.cc storage/spider/spd_ping_table.h storage/spider/spd_sys_table.cc storage/spider/spd_sys_table.h storage/spider/spd_table.cc storage/spider/spd_table.h storage/spider/spd_trx.cc storage/spider/spd_trx.h storage/spider/spd_udf.cc storage/spider/spd_udf.h storage/tokudb/CMakeLists.txt storage/tokudb/README.md storage/tokudb/ft-index/CMakeLists.txt storage/tokudb/ft-index/README.md storage/tokudb/ft-index/buildheader/CMakeLists.txt storage/tokudb/ft-index/buildheader/make_tdb.cc storage/tokudb/ft-index/cmake_modules/TokuSetupCTest.cmake storage/tokudb/ft-index/cmake_modules/TokuSetupCompiler.cmake storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake storage/tokudb/ft-index/examples/CMakeLists.txt storage/tokudb/ft-index/ft/CMakeLists.txt storage/tokudb/ft-index/ft/bndata.cc storage/tokudb/ft-index/ft/bndata.h storage/tokudb/ft-index/ft/cachetable-internal.h storage/tokudb/ft-index/ft/cachetable.cc storage/tokudb/ft-index/ft/cachetable.h storage/tokudb/ft-index/ft/checkpoint.cc storage/tokudb/ft-index/ft/compress.cc storage/tokudb/ft-index/ft/fifo.cc storage/tokudb/ft-index/ft/fifo.h storage/tokudb/ft-index/ft/ft-cachetable-wrappers.cc storage/tokudb/ft-index/ft/ft-flusher.cc storage/tokudb/ft-index/ft/ft-flusher.h storage/tokudb/ft-index/ft/ft-hot-flusher.cc storage/tokudb/ft-index/ft/ft-internal.h storage/tokudb/ft-index/ft/ft-ops.cc storage/tokudb/ft-index/ft/ft-ops.h storage/tokudb/ft-index/ft/ft-serialize.cc storage/tokudb/ft-index/ft/ft-test-helpers.cc storage/tokudb/ft-index/ft/ft.cc storage/tokudb/ft-index/ft/ft.h storage/tokudb/ft-index/ft/ft_layout_version.h storage/tokudb/ft-index/ft/ft_node-serialize.cc storage/tokudb/ft-index/ft/ftloader-internal.h storage/tokudb/ft-index/ft/ftloader.cc storage/tokudb/ft-index/ft/fttypes.h storage/tokudb/ft-index/ft/leafentry.h storage/tokudb/ft-index/ft/log-internal.h storage/tokudb/ft-index/ft/logformat.cc storage/tokudb/ft-index/ft/logger.cc storage/tokudb/ft-index/ft/logger.h storage/tokudb/ft-index/ft/roll.cc storage/tokudb/ft-index/ft/rollback-apply.cc storage/tokudb/ft-index/ft/rollback-ct-callbacks.cc storage/tokudb/ft-index/ft/rollback-ct-callbacks.h storage/tokudb/ft-index/ft/rollback.cc storage/tokudb/ft-index/ft/rollback.h storage/tokudb/ft-index/ft/rollback_log_node_cache.cc storage/tokudb/ft-index/ft/rollback_log_node_cache.h storage/tokudb/ft-index/ft/tests/cachetable-5097.cc storage/tokudb/ft-index/ft/tests/cachetable-5978.cc storage/tokudb/ft-index/ft/tests/cachetable-clock-eviction2.cc storage/tokudb/ft-index/ft/tests/cachetable-clock-eviction3.cc storage/tokudb/ft-index/ft/tests/cachetable-clock-eviction4.cc storage/tokudb/ft-index/ft/tests/cachetable-eviction-close-test2.cc storage/tokudb/ft-index/ft/tests/cachetable-eviction-getandpin-test2.cc storage/tokudb/ft-index/ft/tests/cachetable-evictor-class.cc storage/tokudb/ft-index/ft/tests/ft-bfe-query.cc storage/tokudb/ft-index/ft/tests/ft-clock-test.cc storage/tokudb/ft-index/ft/tests/ft-serialize-benchmark.cc storage/tokudb/ft-index/ft/tests/ft-serialize-test.cc storage/tokudb/ft-index/ft/tests/ftloader-test-bad-generate.cc storage/tokudb/ft-index/ft/tests/ftloader-test-extractor-errors.cc storage/tokudb/ft-index/ft/tests/ftloader-test-extractor.cc storage/tokudb/ft-index/ft/tests/ftloader-test-merge-files-dbufio.cc storage/tokudb/ft-index/ft/tests/ftloader-test-open.cc storage/tokudb/ft-index/ft/tests/ftloader-test-writer-errors.cc storage/tokudb/ft-index/ft/tests/ftloader-test-writer.cc storage/tokudb/ft-index/ft/tests/ftloader-test.cc storage/tokudb/ft-index/ft/tests/make-tree.cc storage/tokudb/ft-index/ft/tests/msnfilter.cc storage/tokudb/ft-index/ft/tests/orthopush-flush.cc storage/tokudb/ft-index/ft/tests/test-flushes-on-cleaner.cc storage/tokudb/ft-index/ft/tests/test-hot-with-bounds.cc storage/tokudb/ft-index/ft/tests/test-inc-split.cc storage/tokudb/ft-index/ft/tests/test-leafentry-nested.cc storage/tokudb/ft-index/ft/tests/test-pick-child-to-flush.cc storage/tokudb/ft-index/ft/tests/test.h storage/tokudb/ft-index/ft/tests/upgrade_test_simple.cc storage/tokudb/ft-index/ft/tests/verify-bad-msn.cc storage/tokudb/ft-index/ft/tests/verify-bad-pivots.cc storage/tokudb/ft-index/ft/tests/verify-dup-in-leaf.cc storage/tokudb/ft-index/ft/tests/verify-dup-pivots.cc storage/tokudb/ft-index/ft/tests/verify-misrouted-msgs.cc storage/tokudb/ft-index/ft/tests/verify-unsorted-leaf.cc storage/tokudb/ft-index/ft/tests/verify-unsorted-pivots.cc storage/tokudb/ft-index/ft/txn.cc storage/tokudb/ft-index/ft/txn_manager.cc storage/tokudb/ft-index/ft/txn_manager.h storage/tokudb/ft-index/ft/ule.cc storage/tokudb/ft-index/ft/ule.h storage/tokudb/ft-index/locktree/lock_request.cc storage/tokudb/ft-index/locktree/lock_request.h storage/tokudb/ft-index/locktree/locktree.cc storage/tokudb/ft-index/locktree/locktree.h storage/tokudb/ft-index/locktree/manager.cc storage/tokudb/ft-index/locktree/tests/lock_request_create_set.cc storage/tokudb/ft-index/locktree/tests/lock_request_get_set_keys.cc storage/tokudb/ft-index/locktree/tests/lock_request_start_deadlock.cc storage/tokudb/ft-index/locktree/tests/lock_request_start_pending.cc storage/tokudb/ft-index/locktree/tests/lock_request_unit_test.h storage/tokudb/ft-index/locktree/tests/locktree_conflicts.cc storage/tokudb/ft-index/locktree/tests/locktree_escalation_stalls.cc storage/tokudb/ft-index/locktree/tests/locktree_infinity.cc storage/tokudb/ft-index/locktree/tests/locktree_overlapping_relock.cc storage/tokudb/ft-index/locktree/tests/locktree_simple_lock.cc storage/tokudb/ft-index/locktree/tests/locktree_single_txnid_optimization.cc storage/tokudb/ft-index/locktree/tests/manager_create_destroy.cc storage/tokudb/ft-index/locktree/tests/manager_params.cc storage/tokudb/ft-index/locktree/tests/manager_status.cc storage/tokudb/ft-index/portability/CMakeLists.txt storage/tokudb/ft-index/portability/file.cc storage/tokudb/ft-index/portability/os_malloc.cc storage/tokudb/ft-index/scripts/run.stress-tests.py storage/tokudb/ft-index/src/CMakeLists.txt storage/tokudb/ft-index/src/export.map storage/tokudb/ft-index/src/indexer-undo-do.cc storage/tokudb/ft-index/src/loader.cc storage/tokudb/ft-index/src/tests/CMakeLists.txt storage/tokudb/ft-index/src/tests/blocking-first-empty.cc storage/tokudb/ft-index/src/tests/blocking-first.cc storage/tokudb/ft-index/src/tests/blocking-last.cc storage/tokudb/ft-index/src/tests/blocking-next-prev-deadlock.cc storage/tokudb/ft-index/src/tests/blocking-prelock-range.cc storage/tokudb/ft-index/src/tests/blocking-put-timeout.cc storage/tokudb/ft-index/src/tests/blocking-put-wakeup.cc storage/tokudb/ft-index/src/tests/blocking-put.cc storage/tokudb/ft-index/src/tests/blocking-set-range-0.cc storage/tokudb/ft-index/src/tests/blocking-set-range-n.cc storage/tokudb/ft-index/src/tests/blocking-set-range-reverse-0.cc storage/tokudb/ft-index/src/tests/blocking-set.cc storage/tokudb/ft-index/src/tests/blocking-table-lock.cc storage/tokudb/ft-index/src/tests/db-put-simple-deadlock-threads.cc storage/tokudb/ft-index/src/tests/db-put-simple-lockwait.cc storage/tokudb/ft-index/src/tests/db-put-update-deadlock.cc storage/tokudb/ft-index/src/tests/env_loader_memory.cc storage/tokudb/ft-index/src/tests/filesize.cc storage/tokudb/ft-index/src/tests/hot-optimize-table-tests.cc storage/tokudb/ft-index/src/tests/test_4368.cc storage/tokudb/ft-index/src/tests/test_iterate_pending_lock_requests.cc storage/tokudb/ft-index/src/tests/test_kv_gen.h storage/tokudb/ft-index/src/tests/test_lock_timeout_callback.cc storage/tokudb/ft-index/src/tests/test_stress5.cc storage/tokudb/ft-index/src/tests/threaded_stress_test_helpers.h storage/tokudb/ft-index/src/tests/update-multiple-with-indexer-array.cc storage/tokudb/ft-index/src/ydb-internal.h storage/tokudb/ft-index/src/ydb.cc storage/tokudb/ft-index/src/ydb_cursor.cc storage/tokudb/ft-index/src/ydb_db.cc storage/tokudb/ft-index/src/ydb_env_func.cc storage/tokudb/ft-index/src/ydb_row_lock.cc storage/tokudb/ft-index/src/ydb_txn.cc storage/tokudb/ft-index/src/ydb_txn.h storage/tokudb/ft-index/toku_include/CMakeLists.txt storage/tokudb/ft-index/util/CMakeLists.txt storage/tokudb/ft-index/util/frwlock.cc storage/tokudb/ft-index/util/frwlock.h storage/tokudb/ft-index/util/kibbutz.cc storage/tokudb/ft-index/util/kibbutz.h storage/tokudb/ft-index/util/mempool.cc storage/tokudb/ft-index/util/mempool.h storage/tokudb/ft-index/util/tests/test-kibbutz.cc storage/tokudb/ft-index/util/tests/test-kibbutz2.cc storage/tokudb/ft-index/util/tests/test-rwlock-cheapness.cc storage/tokudb/ft-index/util/tests/test-rwlock.cc storage/tokudb/ha_tokudb.cc storage/tokudb/ha_tokudb.h storage/tokudb/ha_tokudb_admin.cc storage/tokudb/ha_tokudb_alter_56.cc storage/tokudb/ha_tokudb_alter_common.cc storage/tokudb/ha_tokudb_update.cc storage/tokudb/hatoku_cmp.cc storage/tokudb/hatoku_cmp.h storage/tokudb/hatoku_defines.h storage/tokudb/hatoku_hton.cc storage/tokudb/hatoku_hton.h storage/tokudb/mysql-test/tokudb/locks-blocking-row-locks-testgen.py storage/tokudb/mysql-test/tokudb/r/auto_increment.result storage/tokudb/mysql-test/tokudb/r/auto_increment_boundary.result storage/tokudb/mysql-test/tokudb/r/auto_increment_boundary_traditional.result storage/tokudb/mysql-test/tokudb/r/change_column_char_default.result storage/tokudb/mysql-test/tokudb/r/change_column_int_default.result storage/tokudb/mysql-test/tokudb/r/change_column_varbin.result storage/tokudb/mysql-test/tokudb/r/change_column_varbin_default.result storage/tokudb/mysql-test/tokudb/r/change_column_varbin_multiple.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_default.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_prefix_a.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_prefix_b.result storage/tokudb/mysql-test/tokudb/r/change_column_varchar_sum_cross256.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-0.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-1.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-2.result storage/tokudb/mysql-test/tokudb/r/cluster_2968-3.result storage/tokudb/mysql-test/tokudb/r/cluster_create_table.result storage/tokudb/mysql-test/tokudb/r/cluster_filter_unpack_varchar_and_int_hidden.result storage/tokudb/mysql-test/tokudb/r/ctype_collate.result storage/tokudb/mysql-test/tokudb/r/ctype_cp1250_ch.result storage/tokudb/mysql-test/tokudb/r/hotindex-del-fast.result storage/tokudb/mysql-test/tokudb/r/hotindex-del-slow.result storage/tokudb/mysql-test/tokudb/r/information-schema-global-status.result storage/tokudb/mysql-test/tokudb/r/locks-blocking-row-locks-getset.result storage/tokudb/mysql-test/tokudb/r/locks-blocking-row-locks.result storage/tokudb/mysql-test/tokudb/r/mvcc-10.result storage/tokudb/mysql-test/tokudb/r/mvcc-11.result storage/tokudb/mysql-test/tokudb/r/mvcc-12.result storage/tokudb/mysql-test/tokudb/r/mvcc-13.result storage/tokudb/mysql-test/tokudb/r/mvcc-14.result storage/tokudb/mysql-test/tokudb/r/mvcc-15.result storage/tokudb/mysql-test/tokudb/r/mvcc-16.result storage/tokudb/mysql-test/tokudb/r/mvcc-17.result storage/tokudb/mysql-test/tokudb/r/mvcc-18.result storage/tokudb/mysql-test/tokudb/r/mvcc-21.result storage/tokudb/mysql-test/tokudb/r/mvcc-22.result storage/tokudb/mysql-test/tokudb/r/mvcc-23.result storage/tokudb/mysql-test/tokudb/r/mvcc-25.result storage/tokudb/mysql-test/tokudb/r/mvcc-3.result storage/tokudb/mysql-test/tokudb/r/mvcc-33.result storage/tokudb/mysql-test/tokudb/r/mvcc-34.result storage/tokudb/mysql-test/tokudb/r/mvcc-35.result storage/tokudb/mysql-test/tokudb/r/mvcc-36.result storage/tokudb/mysql-test/tokudb/r/mvcc-37.result storage/tokudb/mysql-test/tokudb/r/mvcc-38.result storage/tokudb/mysql-test/tokudb/r/mvcc-39.result storage/tokudb/mysql-test/tokudb/r/mvcc-4.result storage/tokudb/mysql-test/tokudb/r/mvcc-40.result storage/tokudb/mysql-test/tokudb/r/mvcc-5.result storage/tokudb/mysql-test/tokudb/r/mvcc-6.result storage/tokudb/mysql-test/tokudb/r/mvcc-7.result storage/tokudb/mysql-test/tokudb/r/mvcc-8.result storage/tokudb/mysql-test/tokudb/r/mvcc-9.result storage/tokudb/mysql-test/tokudb/r/mvcc-checksum-locks.result storage/tokudb/mysql-test/tokudb/r/type_binary.result storage/tokudb/mysql-test/tokudb/r/type_bit.result storage/tokudb/mysql-test/tokudb/r/type_blob.result storage/tokudb/mysql-test/tokudb/r/type_datetime.result storage/tokudb/mysql-test/tokudb/r/type_decimal.result storage/tokudb/mysql-test/tokudb/r/type_enum.result storage/tokudb/mysql-test/tokudb/r/type_float.result storage/tokudb/mysql-test/tokudb/r/type_nchar.result storage/tokudb/mysql-test/tokudb/r/type_newdecimal.result storage/tokudb/mysql-test/tokudb/r/type_set.result storage/tokudb/mysql-test/tokudb/r/type_timestamp.result storage/tokudb/mysql-test/tokudb/r/type_varchar.result storage/tokudb/mysql-test/tokudb/t/auto_increment.test storage/tokudb/mysql-test/tokudb/t/auto_increment_boundary.test storage/tokudb/mysql-test/tokudb/t/auto_increment_boundary_traditional.test storage/tokudb/mysql-test/tokudb/t/bulk-fetch.test storage/tokudb/mysql-test/tokudb/t/bulk-fetch2.test storage/tokudb/mysql-test/tokudb/t/change_column_all_1000_1.test storage/tokudb/mysql-test/tokudb/t/change_column_all_1000_10.test storage/tokudb/mysql-test/tokudb/t/change_column_auto_inc.test storage/tokudb/mysql-test/tokudb/t/change_column_bin.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_key.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_pad.test storage/tokudb/mysql-test/tokudb/t/change_column_bin_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_blob.test storage/tokudb/mysql-test/tokudb/t/change_column_char.test storage/tokudb/mysql-test/tokudb/t/change_column_char_binary.test storage/tokudb/mysql-test/tokudb/t/change_column_char_charbinary.test storage/tokudb/mysql-test/tokudb/t/change_column_char_charset.test storage/tokudb/mysql-test/tokudb/t/change_column_char_default.test storage/tokudb/mysql-test/tokudb/t/change_column_char_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_char_key.test storage/tokudb/mysql-test/tokudb/t/change_column_char_null.test storage/tokudb/mysql-test/tokudb/t/change_column_char_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_int.test storage/tokudb/mysql-test/tokudb/t/change_column_int_default.test storage/tokudb/mysql-test/tokudb/t/change_column_int_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_int_key.test storage/tokudb/mysql-test/tokudb/t/change_column_int_not_supported.test storage/tokudb/mysql-test/tokudb/t/change_column_int_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_multiple_columns.test storage/tokudb/mysql-test/tokudb/t/change_column_text.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_cross256.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_default.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_key.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_multiple.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_null.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_varbin_varchar.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_charset.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_cross256.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_default.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_descriptor.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_key.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_null.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_prefix_a.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_prefix_b.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_rename.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_sum_cross256.test storage/tokudb/mysql-test/tokudb/t/change_column_varchar_varbin.test storage/tokudb/mysql-test/tokudb/t/cluster_1829.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-0.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-1.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-2.test storage/tokudb/mysql-test/tokudb/t/cluster_2968-3.test storage/tokudb/mysql-test/tokudb/t/cluster_create_table.test storage/tokudb/mysql-test/tokudb/t/cluster_delete.test storage/tokudb/mysql-test/tokudb/t/cluster_delete2.test storage/tokudb/mysql-test/tokudb/t/cluster_filter.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_hidden.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_key.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_unpack_varchar.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_unpack_varchar_and_int_hidden.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_unpack_varchar_hidden.test storage/tokudb/mysql-test/tokudb/t/cluster_filter_varchar_prefix.test storage/tokudb/mysql-test/tokudb/t/cluster_key.test storage/tokudb/mysql-test/tokudb/t/cluster_query_plan.test storage/tokudb/mysql-test/tokudb/t/cluster_tokudb_bug_993.test storage/tokudb/mysql-test/tokudb/t/cluster_tokudb_bug_993_2.test storage/tokudb/mysql-test/tokudb/t/cluster_update.test storage/tokudb/mysql-test/tokudb/t/cluster_update2.test storage/tokudb/mysql-test/tokudb/t/ctype_ascii.test storage/tokudb/mysql-test/tokudb/t/ctype_collate.test storage/tokudb/mysql-test/tokudb/t/ctype_cp1250_ch.test storage/tokudb/mysql-test/tokudb/t/ctype_cp1251.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-0.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-1.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-fast.test storage/tokudb/mysql-test/tokudb/t/hotindex-del-slow.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-0.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-1.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-2.test storage/tokudb/mysql-test/tokudb/t/hotindex-insert-bigchar.test storage/tokudb/mysql-test/tokudb/t/hotindex-update-0.test storage/tokudb/mysql-test/tokudb/t/hotindex-update-1.test storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_released.test storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_lock_waits_timeout.test storage/tokudb/mysql-test/tokudb/t/i_s_tokudb_locks_released.test storage/tokudb/mysql-test/tokudb/t/information-schema-global-status.test storage/tokudb/mysql-test/tokudb/t/lockretry-insert.writelocktable.test storage/tokudb/mysql-test/tokudb/t/lockretry-writelocktable.insert.test storage/tokudb/mysql-test/tokudb/t/lockretry-writelocktable.insert2.test storage/tokudb/mysql-test/tokudb/t/locks-blocking-row-locks-getset.test storage/tokudb/mysql-test/tokudb/t/locks-blocking-row-locks.test storage/tokudb/mysql-test/tokudb/t/locks-delete-deadlock-1.test storage/tokudb/mysql-test/tokudb/t/locks-no-read-lock-serializable-autocommit.test storage/tokudb/mysql-test/tokudb/t/locks-select-update-1.test storage/tokudb/mysql-test/tokudb/t/locks-select-update-2.test storage/tokudb/mysql-test/tokudb/t/locks-select-update-3.test storage/tokudb/mysql-test/tokudb/t/locks-update-deadlock-1.test storage/tokudb/mysql-test/tokudb/t/mvcc-1.test storage/tokudb/mysql-test/tokudb/t/mvcc-10.test storage/tokudb/mysql-test/tokudb/t/mvcc-11.test storage/tokudb/mysql-test/tokudb/t/mvcc-12.test storage/tokudb/mysql-test/tokudb/t/mvcc-13.test storage/tokudb/mysql-test/tokudb/t/mvcc-14.test storage/tokudb/mysql-test/tokudb/t/mvcc-15.test storage/tokudb/mysql-test/tokudb/t/mvcc-16.test storage/tokudb/mysql-test/tokudb/t/mvcc-17.test storage/tokudb/mysql-test/tokudb/t/mvcc-18.test storage/tokudb/mysql-test/tokudb/t/mvcc-19.test storage/tokudb/mysql-test/tokudb/t/mvcc-2.test storage/tokudb/mysql-test/tokudb/t/mvcc-20.test storage/tokudb/mysql-test/tokudb/t/mvcc-21.test storage/tokudb/mysql-test/tokudb/t/mvcc-22.test storage/tokudb/mysql-test/tokudb/t/mvcc-23.test storage/tokudb/mysql-test/tokudb/t/mvcc-24.test storage/tokudb/mysql-test/tokudb/t/mvcc-25.test storage/tokudb/mysql-test/tokudb/t/mvcc-26.test storage/tokudb/mysql-test/tokudb/t/mvcc-27.test storage/tokudb/mysql-test/tokudb/t/mvcc-28.test storage/tokudb/mysql-test/tokudb/t/mvcc-2808-read-committed.test storage/tokudb/mysql-test/tokudb/t/mvcc-2808-read-uncommitted.test storage/tokudb/mysql-test/tokudb/t/mvcc-29.test storage/tokudb/mysql-test/tokudb/t/mvcc-3.test storage/tokudb/mysql-test/tokudb/t/mvcc-30.test storage/tokudb/mysql-test/tokudb/t/mvcc-31.test storage/tokudb/mysql-test/tokudb/t/mvcc-33.test storage/tokudb/mysql-test/tokudb/t/mvcc-34.test storage/tokudb/mysql-test/tokudb/t/mvcc-35.test storage/tokudb/mysql-test/tokudb/t/mvcc-36.test storage/tokudb/mysql-test/tokudb/t/mvcc-37.test storage/tokudb/mysql-test/tokudb/t/mvcc-38.test storage/tokudb/mysql-test/tokudb/t/mvcc-39.test storage/tokudb/mysql-test/tokudb/t/mvcc-4.test storage/tokudb/mysql-test/tokudb/t/mvcc-40.test storage/tokudb/mysql-test/tokudb/t/mvcc-5.test storage/tokudb/mysql-test/tokudb/t/mvcc-6.test storage/tokudb/mysql-test/tokudb/t/mvcc-7.test storage/tokudb/mysql-test/tokudb/t/mvcc-8.test storage/tokudb/mysql-test/tokudb/t/mvcc-9.test storage/tokudb/mysql-test/tokudb/t/mvcc-checksum-locks.test storage/tokudb/mysql-test/tokudb/t/nested_txn_autocommit.test storage/tokudb/mysql-test/tokudb/t/nested_txn_begin.test storage/tokudb/mysql-test/tokudb/t/nested_txn_implicit_commit.test storage/tokudb/mysql-test/tokudb/t/prim_key_1.test storage/tokudb/mysql-test/tokudb/t/prim_key_2.test storage/tokudb/mysql-test/tokudb/t/prim_key_3.test storage/tokudb/mysql-test/tokudb/t/prim_key_4.test storage/tokudb/mysql-test/tokudb/t/prim_key_5.test storage/tokudb/mysql-test/tokudb/t/prim_key_6.test storage/tokudb/mysql-test/tokudb/t/replace-ignore.test storage/tokudb/mysql-test/tokudb/t/rows-32m-0.test storage/tokudb/mysql-test/tokudb/t/rows-32m-1.test storage/tokudb/mysql-test/tokudb/t/rows-32m-rand-insert.test storage/tokudb/mysql-test/tokudb/t/rows-32m-seq-insert.test storage/tokudb/mysql-test/tokudb/t/savepoint-3.test storage/tokudb/mysql-test/tokudb/t/simple_delete_all.test storage/tokudb/mysql-test/tokudb/t/simple_join_tokudb_myisam.test storage/tokudb/mysql-test/tokudb/t/simple_truncate.test storage/tokudb/mysql-test/tokudb/t/truncate_row_count.test storage/tokudb/mysql-test/tokudb/t/truncate_txn_commit.test storage/tokudb/mysql-test/tokudb/t/truncate_txn_rollback.test storage/tokudb/mysql-test/tokudb/t/type_varchar.test storage/tokudb/mysql-test/tokudb_add_index/r/hot_create_unique_index.result storage/tokudb/mysql-test/tokudb_add_index/t/1522.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_1.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_10.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_11.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_12.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_13.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_14.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_16.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_17.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_18.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_2.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_3.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_4.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_6.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_7.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_8.test storage/tokudb/mysql-test/tokudb_add_index/t/add_index_9.test storage/tokudb/mysql-test/tokudb_add_index/t/falcon_bug_23691.test storage/tokudb/mysql-test/tokudb_add_index/t/falcon_bug_23692.test storage/tokudb/mysql-test/tokudb_add_index/t/hot_create_unique_index.test storage/tokudb/mysql-test/tokudb_add_index/t/tokudb_bug_1152.test storage/tokudb/mysql-test/tokudb_alter_table/r/ai_part.result storage/tokudb/mysql-test/tokudb_alter_table/r/alter_column_default.result storage/tokudb/mysql-test/tokudb_alter_table/r/auto_inc.result storage/tokudb/mysql-test/tokudb_alter_table/r/fractional_time_alter_table.result storage/tokudb/mysql-test/tokudb_alter_table/r/frm_discover.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcad_and_rename_table.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcad_part.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcr.result storage/tokudb/mysql-test/tokudb_alter_table/r/hcr3.result storage/tokudb/mysql-test/tokudb_alter_table/r/other_alter.result storage/tokudb/mysql-test/tokudb_alter_table/r/other_alter2.result storage/tokudb/mysql-test/tokudb_alter_table/r/row_format_alter.result storage/tokudb/mysql-test/tokudb_alter_table/r/test_field_same_detection.result storage/tokudb/mysql-test/tokudb_alter_table/t/5260.test storage/tokudb/mysql-test/tokudb_alter_table/t/ai_di.test storage/tokudb/mysql-test/tokudb_alter_table/t/auto_inc.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_add3.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_blob_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_blob_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_fixed_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_fixed_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_var_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_all_var_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_and_rename_table.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_clustering.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_clustering2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_diff_num_offset_bytes.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedblob_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedblob_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedblob_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedvar_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedvar_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_fixedvar_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_indexing_mix.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_null_bits.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_pk.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_pk2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_template.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_tmp_tables.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_tmp_tables_56.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_varblob_add.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_varblob_add2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_varblob_drop.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_with_dels.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_with_lock_sps.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcad_with_locks.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcr.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcr2.test storage/tokudb/mysql-test/tokudb_alter_table/t/hcr3.test storage/tokudb/mysql-test/tokudb_alter_table/t/hot_row_format_alter.test storage/tokudb/mysql-test/tokudb_alter_table/t/other_alter.test storage/tokudb/mysql-test/tokudb_alter_table/t/other_alter2.test storage/tokudb/mysql-test/tokudb_alter_table/t/row_format_alter.test storage/tokudb/mysql-test/tokudb_alter_table/t/test_field_same_detection.test storage/tokudb/mysql-test/tokudb_alter_table/t/virtual_columns.test storage/tokudb/mysql-test/tokudb_bugs/disabled.def storage/tokudb/mysql-test/tokudb_bugs/r/2952.result storage/tokudb/mysql-test/tokudb_bugs/r/2970.result storage/tokudb/mysql-test/tokudb_bugs/r/4676.result storage/tokudb/mysql-test/tokudb_bugs/r/5089.result storage/tokudb/mysql-test/tokudb_bugs/r/checkpoint_lock.result storage/tokudb/mysql-test/tokudb_bugs/r/checkpoint_lock_3.result storage/tokudb/mysql-test/tokudb_bugs/r/dict_leak_3518.result storage/tokudb/mysql-test/tokudb_bugs/r/expand_tinytext_text.result storage/tokudb/mysql-test/tokudb_bugs/r/fractional_time.result storage/tokudb/mysql-test/tokudb_bugs/r/frm_store.result storage/tokudb/mysql-test/tokudb_bugs/r/frm_store2.result storage/tokudb/mysql-test/tokudb_bugs/r/frm_store3.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_drop_part_table_668.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_drop_simple_table_668.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_mrr.result storage/tokudb/mysql-test/tokudb_bugs/r/tokudb_mrr2.result storage/tokudb/mysql-test/tokudb_bugs/t/1913.test storage/tokudb/mysql-test/tokudb_bugs/t/1938.test storage/tokudb/mysql-test/tokudb_bugs/t/1949.test storage/tokudb/mysql-test/tokudb_bugs/t/2043.test storage/tokudb/mysql-test/tokudb_bugs/t/2219.test storage/tokudb/mysql-test/tokudb_bugs/t/2262.test storage/tokudb/mysql-test/tokudb_bugs/t/2383.test storage/tokudb/mysql-test/tokudb_bugs/t/2458.test storage/tokudb/mysql-test/tokudb_bugs/t/2548.test storage/tokudb/mysql-test/tokudb_bugs/t/2641.test storage/tokudb/mysql-test/tokudb_bugs/t/2952.test storage/tokudb/mysql-test/tokudb_bugs/t/2970.test storage/tokudb/mysql-test/tokudb_bugs/t/3014.test storage/tokudb/mysql-test/tokudb_bugs/t/3015.test storage/tokudb/mysql-test/tokudb_bugs/t/3083.test storage/tokudb/mysql-test/tokudb_bugs/t/4472.test storage/tokudb/mysql-test/tokudb_bugs/t/4656.test storage/tokudb/mysql-test/tokudb_bugs/t/4656_2.test storage/tokudb/mysql-test/tokudb_bugs/t/5089.test storage/tokudb/mysql-test/tokudb_bugs/t/5733_innodb.test storage/tokudb/mysql-test/tokudb_bugs/t/6053.test storage/tokudb/mysql-test/tokudb_bugs/t/6684.test storage/tokudb/mysql-test/tokudb_bugs/t/checkpoint_lock.test storage/tokudb/mysql-test/tokudb_bugs/t/checkpoint_lock_3.test storage/tokudb/mysql-test/tokudb_bugs/t/expand_tinytext_text.test storage/tokudb/mysql-test/tokudb_bugs/t/fileops-4.test storage/tokudb/mysql-test/tokudb_bugs/t/ft-index-40.test storage/tokudb/mysql-test/tokudb_bugs/t/index_read.test storage/tokudb/mysql-test/tokudb_bugs/t/tokudb_drop_part_table_668.test storage/tokudb/mysql-test/tokudb_bugs/t/tokudb_drop_simple_table_668.test storage/tokudb/mysql-test/tokudb_bugs/t/xa-1.test storage/tokudb/mysql-test/tokudb_bugs/t/xa-2.test storage/tokudb/mysql-test/tokudb_bugs/t/xa-6.test storage/tokudb/mysql-test/tokudb_mariadb/r/alter.result storage/tokudb/mysql-test/tokudb_mariadb/r/clustering.result storage/tokudb/mysql-test/tokudb_mariadb/r/compression.result storage/tokudb/mysql-test/tokudb_mariadb/t/compression.test storage/tokudb/scripts/common.sh storage/tokudb/scripts/make.mysql.bash storage/tokudb/scripts/make.mysql.debug.env.bash storage/tokudb/scripts/nightly.mysql.build.and.test.bash storage/tokudb/scripts/run.atc.ontime.bash storage/tokudb/scripts/run.mysql.tests.bash storage/tokudb/scripts/run.sql.bench.bash storage/tokudb/scripts/run.tpch.bash storage/tokudb/scripts/setup.mysql.bash storage/tokudb/scripts/tokutek.make.mysql.bash storage/tokudb/tokudb_card.h storage/tokudb/tokudb_update_fun.cc storage/xtradb/CMakeLists.txt storage/xtradb/api/api0api.cc storage/xtradb/btr/btr0btr.cc storage/xtradb/btr/btr0cur.cc storage/xtradb/btr/btr0pcur.cc storage/xtradb/buf/buf0buf.cc storage/xtradb/buf/buf0flu.cc storage/xtradb/dict/dict0crea.cc storage/xtradb/dict/dict0dict.cc storage/xtradb/dict/dict0load.cc storage/xtradb/dict/dict0mem.cc storage/xtradb/dict/dict0stats.cc storage/xtradb/fil/fil0fil.cc storage/xtradb/fts/fts0config.cc storage/xtradb/fts/fts0fts.cc storage/xtradb/fts/fts0opt.cc storage/xtradb/fts/fts0que.cc storage/xtradb/handler/ha_innodb.cc storage/xtradb/handler/handler0alter.cc storage/xtradb/handler/i_s.cc storage/xtradb/handler/xtradb_i_s.cc storage/xtradb/ibuf/ibuf0ibuf.cc storage/xtradb/include/api0api.h storage/xtradb/include/btr0cur.h storage/xtradb/include/btr0pcur.h storage/xtradb/include/btr0pcur.ic storage/xtradb/include/btr0sea.h storage/xtradb/include/buf0flu.h storage/xtradb/include/buf0flu.ic storage/xtradb/include/db0err.h storage/xtradb/include/dict0stats.ic storage/xtradb/include/dict0types.h storage/xtradb/include/fts0fts.h storage/xtradb/include/fts0types.h storage/xtradb/include/ibuf0ibuf.h storage/xtradb/include/log0log.h storage/xtradb/include/mtr0mtr.h storage/xtradb/include/mtr0mtr.ic storage/xtradb/include/os0file.h storage/xtradb/include/row0ftsort.h storage/xtradb/include/srv0conc.h storage/xtradb/include/srv0mon.h storage/xtradb/include/srv0mon.ic storage/xtradb/include/sync0arr.h storage/xtradb/include/sync0arr.ic storage/xtradb/include/sync0rw.h storage/xtradb/include/sync0rw.ic storage/xtradb/include/sync0sync.h storage/xtradb/include/sync0sync.ic storage/xtradb/include/sync0types.h storage/xtradb/include/trx0trx.h storage/xtradb/include/univ.i storage/xtradb/include/ut0bh.h storage/xtradb/include/ut0bh.ic storage/xtradb/log/log0log.cc storage/xtradb/log/log0online.cc storage/xtradb/log/log0recv.cc storage/xtradb/mtr/mtr0mtr.cc storage/xtradb/os/os0file.cc storage/xtradb/os/os0thread.cc storage/xtradb/row/row0ftsort.cc storage/xtradb/row/row0log.cc storage/xtradb/row/row0merge.cc storage/xtradb/row/row0mysql.cc storage/xtradb/row/row0quiesce.cc storage/xtradb/row/row0sel.cc storage/xtradb/srv/srv0mon.cc storage/xtradb/srv/srv0start.cc storage/xtradb/sync/sync0arr.cc storage/xtradb/sync/sync0rw.cc storage/xtradb/sync/sync0sync.cc storage/xtradb/trx/trx0purge.cc storage/xtradb/trx/trx0sys.cc storage/xtradb/trx/trx0trx.cc storage/xtradb/ut/ut0ut.cc strings/CMakeLists.txt strings/ctype-bin.c strings/ctype-mb.c strings/ctype-simple.c strings/ctype-uca.c strings/ctype-ucs2.c strings/ctype-utf8.c strings/ctype-win1250ch.c strings/ctype.c strings/decimal.c strings/dtoa.c strings/t_ctype.h support-files/MySQL-shared-compat.spec.sh support-files/compiler_warnings.supp support-files/mysql.server.sh support-files/rpm/server-postun.sh support-files/rpm/server-prein.sh tests/connect_test.c tests/fork_big.pl tests/fork_big2.pl tests/insert_test.c tests/list_test.c tests/mysql_client_test.c tests/select_test.c tests/showdb_test.c tests/ssl_test.c unittest/mysys/CMakeLists.txt unittest/mysys/bitmap-t.c unittest/mysys/ma_dyncol-t.c vio/CMakeLists.txt vio/vio.c vio/viosocket.c vio/viossl.c vio/viosslfactories.c zlib/CMakeLists.txt libmysql/libmysql_versions.ld.in mysql-test/suite/roles/grant_empty.result mysql-test/suite/roles/grant_empty.test pending merges: Olivier Bertrand 2014-04-22 - FIX a bug causing libxml2 not retrieving expanded multiple co...
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- Add a new CONNECT global variable allowing to tell whether or not 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
11 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
- FIX PIVOT bug MDEV-5869 caused by using fop (field option ptr) when NULL. modified: storage/connect/ha_connect.cc - Suppress the use of connect.in by adding the connect_xtrace system variable. modified: storage/connect/ha_connect.cc - Make column length, varchar, and temporal column types recognized in discovery when using SRCDEF,or PIVOT. modified: storage/connect/ha_connect.cc storage/connect/myconn.cpp storage/connect/myutil.cpp storage/connect/plgdbsem.h - Avoid (rare) crash when using DECIMAL type. (buf was too small) modified: storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/valblk.cpp storage/connect/value.cpp - General cleaning of unused code, standardize tracing, and update version number modified: storage/connect/block.h storage/connect/colblk.cpp storage/connect/connect.cc storage/connect/csort.h storage/connect/filamap.cpp storage/connect/filamdbf.cpp storage/connect/filamfix.cpp storage/connect/filamzip.cpp storage/connect/ha_connect.cc storage/connect/mycat.cc storage/connect/myconn.cpp storage/connect/mysql-test/connect/r/alter.result storage/connect/mysql-test/connect/r/xml.result storage/connect/myutil.cpp storage/connect/osutil.c storage/connect/plgdbsem.h storage/connect/plgdbutl.cpp storage/connect/plugutil.c storage/connect/reldef.cpp storage/connect/tabcol.cpp storage/connect/tabfmt.cpp storage/connect/tabmysql.cpp storage/connect/tabodbc.cpp storage/connect/tabpivot.cpp storage/connect/tabvct.cpp storage/connect/user_connect.cc storage/connect/valblk.cpp storage/connect/value.cpp storage/connect/xindex.cpp
12 years ago
  1. /* Copyright (C) Olivier Bertrand 2004 - 2014
  2. This program is free software; you can redistribute it and/or modify
  3. it under the terms of the GNU General Public License as published by
  4. the Free Software Foundation; version 2 of the License.
  5. This program is distributed in the hope that it will be useful,
  6. but WITHOUT ANY WARRANTY; without even the implied warranty of
  7. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  8. GNU General Public License for more details.
  9. You should have received a copy of the GNU General Public License
  10. along with this program; if not, write to the Free Software
  11. Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
  12. /**
  13. @file ha_connect.cc
  14. @brief
  15. The ha_connect engine is a stubbed storage engine that enables to create tables
  16. based on external data. Principally they are based on plain files of many
  17. different types, but also on collections of such files, collection of tables,
  18. local or remote MySQL/MariaDB tables retrieved via MySQL API,
  19. ODBC tables retrieving data from other DBMS having an ODBC server, and even
  20. virtual tables.
  21. @details
  22. ha_connect will let you create/open/delete tables, the created table can be
  23. done specifying an already existing file, the drop table command will just
  24. suppress the table definition but not the eventual data file.
  25. Indexes are not supported for all table types but data can be inserted,
  26. updated or deleted.
  27. You can enable the CONNECT storage engine in your build by doing the
  28. following during your build process:<br> ./configure
  29. --with-connect-storage-engine
  30. You can install the CONNECT handler as all other storage handlers.
  31. Once this is done, MySQL will let you create tables with:<br>
  32. CREATE TABLE <table name> (...) ENGINE=CONNECT;
  33. The example storage engine does not use table locks. It
  34. implements an example "SHARE" that is inserted into a hash by table
  35. name. This is not used yet.
  36. Please read the object definition in ha_connect.h before reading the rest
  37. of this file.
  38. @note
  39. This MariaDB CONNECT handler is currently an adaptation of the XDB handler
  40. that was written for MySQL version 4.1.2-alpha. Its overall design should
  41. be enhanced in the future to meet MariaDB requirements.
  42. @note
  43. It was written also from the Brian's ha_example handler and contains parts
  44. of it that are there, such as table and system variables.
  45. @note
  46. When you create an CONNECT table, the MySQL Server creates a table .frm
  47. (format) file in the database directory, using the table name as the file
  48. name as is customary with MySQL.
  49. For file based tables, if a file name is not specified, this is an inward
  50. table. An empty file is made in the current data directory that you can
  51. populate later like for other engine tables. This file modified on ALTER
  52. and is deleted when dropping the table.
  53. If a file name is specified, this in an outward table. The specified file
  54. will be used as representing the table data and will not be modified or
  55. deleted on command such as ALTER or DROP.
  56. To get an idea of what occurs, here is an example select that would do
  57. a scan of an entire table:
  58. @code
  59. ha-connect::open
  60. ha_connect::store_lock
  61. ha_connect::external_lock
  62. ha_connect::info
  63. ha_connect::rnd_init
  64. ha_connect::extra
  65. ENUM HA_EXTRA_CACHE Cache record in HA_rrnd()
  66. ha_connect::rnd_next
  67. ha_connect::rnd_next
  68. ha_connect::rnd_next
  69. ha_connect::rnd_next
  70. ha_connect::rnd_next
  71. ha_connect::rnd_next
  72. ha_connect::rnd_next
  73. ha_connect::rnd_next
  74. ha_connect::rnd_next
  75. ha_connect::extra
  76. ENUM HA_EXTRA_NO_CACHE End caching of records (def)
  77. ha_connect::external_lock
  78. ha_connect::extra
  79. ENUM HA_EXTRA_RESET Reset database to after open
  80. @endcode
  81. Here you see that the connect storage engine has 9 rows called before
  82. rnd_next signals that it has reached the end of its data. Calls to
  83. ha_connect::extra() are hints as to what will be occuring to the request.
  84. Happy use!<br>
  85. -Olivier
  86. */
  87. #ifdef USE_PRAGMA_IMPLEMENTATION
  88. #pragma implementation // gcc: Class implementation
  89. #endif
  90. #define MYSQL_SERVER 1
  91. #define DONT_DEFINE_VOID
  92. #include "sql_class.h"
  93. #include "create_options.h"
  94. #include "mysql_com.h"
  95. #include "field.h"
  96. #include "sql_parse.h"
  97. #include "sql_base.h"
  98. #include <sys/stat.h>
  99. #if defined(NEW_WAY)
  100. #include "sql_table.h"
  101. #endif // NEW_WAY
  102. #include "sql_partition.h"
  103. #undef OFFSET
  104. #define NOPARSE
  105. #if defined(UNIX)
  106. #include "osutil.h"
  107. #endif // UNIX
  108. #include "global.h"
  109. #include "plgdbsem.h"
  110. #if defined(ODBC_SUPPORT)
  111. #include "odbccat.h"
  112. #endif // ODBC_SUPPORT
  113. #if defined(MYSQL_SUPPORT)
  114. #include "xtable.h"
  115. #include "tabmysql.h"
  116. #endif // MYSQL_SUPPORT
  117. #include "filamdbf.h"
  118. #include "tabxcl.h"
  119. #include "tabfmt.h"
  120. #include "reldef.h"
  121. #include "tabcol.h"
  122. #include "xindex.h"
  123. #if defined(WIN32)
  124. #include <io.h>
  125. #include "tabwmi.h"
  126. #endif // WIN32
  127. #include "connect.h"
  128. #include "user_connect.h"
  129. #include "ha_connect.h"
  130. #include "mycat.h"
  131. #include "myutil.h"
  132. #include "preparse.h"
  133. #include "inihandl.h"
  134. #if defined(LIBXML2_SUPPORT)
  135. #include "libdoc.h"
  136. #endif // LIBXML2_SUPPORT
  137. #include "taboccur.h"
  138. #include "tabpivot.h"
  139. #define my_strupr(p) my_caseup_str(default_charset_info, (p));
  140. #define my_strlwr(p) my_casedn_str(default_charset_info, (p));
  141. #define my_stricmp(a,b) my_strcasecmp(default_charset_info, (a), (b))
  142. /***********************************************************************/
  143. /* Initialize the ha_connect static members. */
  144. /***********************************************************************/
  145. #define SZCONV 8192
  146. #define SZWORK 67108864 // Default work area size 64M
  147. #define SZWMIN 4194304 // Minimum work area size 4M
  148. extern "C" {
  149. char version[]= "Version 1.03.0003 August 22, 2014";
  150. char compver[]= "Version 1.03.0003 " __DATE__ " " __TIME__;
  151. #if defined(WIN32)
  152. char slash= '\\';
  153. #else // !WIN32
  154. char slash= '/';
  155. #endif // !WIN32
  156. #if defined(XMSG)
  157. char msglang[]; // Default message language
  158. #endif
  159. int trace= 0; // The general trace value
  160. int xconv= 0; // The type conversion option
  161. int zconv= SZCONV; // The text conversion size
  162. USETEMP Use_Temp= TMP_AUTO; // The temporary file use
  163. } // extern "C"
  164. #if defined(XMAP)
  165. bool xmap= false;
  166. #endif // XMAP
  167. bool xinfo= false;
  168. uint worksize= SZWORK;
  169. ulong ha_connect::num= 0;
  170. //int DTVAL::Shift= 0;
  171. /* CONNECT system variables */
  172. static int xtrace= 0;
  173. static int conv_size= SZCONV;
  174. static uint work_size= SZWORK;
  175. static ulong type_conv= 0;
  176. static ulong use_tempfile= 1;
  177. #if defined(XMAP)
  178. static my_bool indx_map= 0;
  179. #endif // XMAP
  180. static my_bool exact_info= 0;
  181. /***********************************************************************/
  182. /* Utility functions. */
  183. /***********************************************************************/
  184. PQRYRES OEMColumns(PGLOBAL g, PTOS topt, char *tab, char *db, bool info);
  185. void PushWarning(PGLOBAL g, THD *thd, int level);
  186. bool CheckSelf(PGLOBAL g, TABLE_SHARE *s, const char *host,
  187. const char *db, char *tab, const char *src, int port);
  188. static PCONNECT GetUser(THD *thd, PCONNECT xp);
  189. static PGLOBAL GetPlug(THD *thd, PCONNECT& lxp);
  190. static handler *connect_create_handler(handlerton *hton,
  191. TABLE_SHARE *table,
  192. MEM_ROOT *mem_root);
  193. static int connect_assisted_discovery(handlerton *hton, THD* thd,
  194. TABLE_SHARE *table_s,
  195. HA_CREATE_INFO *info);
  196. /***********************************************************************/
  197. /* Global variables update functions. */
  198. /***********************************************************************/
  199. static void update_connect_xtrace(MYSQL_THD thd,
  200. struct st_mysql_sys_var *var,
  201. void *var_ptr, const void *save)
  202. {
  203. trace= *(int *)var_ptr= *(int *)save;
  204. } // end of update_connect_xtrace
  205. static void update_connect_zconv(MYSQL_THD thd,
  206. struct st_mysql_sys_var *var,
  207. void *var_ptr, const void *save)
  208. {
  209. zconv= *(int *)var_ptr= *(int *)save;
  210. } // end of update_connect_zconv
  211. static void update_connect_xconv(MYSQL_THD thd,
  212. struct st_mysql_sys_var *var,
  213. void *var_ptr, const void *save)
  214. {
  215. xconv= (int)(*(ulong *)var_ptr= *(ulong *)save);
  216. } // end of update_connect_xconv
  217. static void update_connect_worksize(MYSQL_THD thd,
  218. struct st_mysql_sys_var *var,
  219. void *var_ptr, const void *save)
  220. {
  221. worksize= (uint)(*(ulong *)var_ptr= *(ulong *)save);
  222. } // end of update_connect_worksize
  223. static void update_connect_usetemp(MYSQL_THD thd,
  224. struct st_mysql_sys_var *var,
  225. void *var_ptr, const void *save)
  226. {
  227. Use_Temp= (USETEMP)(*(ulong *)var_ptr= *(ulong *)save);
  228. } // end of update_connect_usetemp
  229. #if defined(XMAP)
  230. static void update_connect_xmap(MYSQL_THD thd,
  231. struct st_mysql_sys_var *var,
  232. void *var_ptr, const void *save)
  233. {
  234. xmap= (bool)(*(my_bool *)var_ptr= *(my_bool *)save);
  235. } // end of update_connect_xmap
  236. #endif // XMAP
  237. static void update_connect_xinfo(MYSQL_THD thd,
  238. struct st_mysql_sys_var *var,
  239. void *var_ptr, const void *save)
  240. {
  241. xinfo= (bool)(*(my_bool *)var_ptr= *(my_bool *)save);
  242. } // end of update_connect_xinfo
  243. /***********************************************************************/
  244. /* The CONNECT handlerton object. */
  245. /***********************************************************************/
  246. handlerton *connect_hton;
  247. /**
  248. CREATE TABLE option list (table options)
  249. These can be specified in the CREATE TABLE:
  250. CREATE TABLE ( ... ) {...here...}
  251. */
  252. ha_create_table_option connect_table_option_list[]=
  253. {
  254. HA_TOPTION_STRING("TABLE_TYPE", type),
  255. HA_TOPTION_STRING("FILE_NAME", filename),
  256. HA_TOPTION_STRING("XFILE_NAME", optname),
  257. //HA_TOPTION_STRING("CONNECT_STRING", connect),
  258. HA_TOPTION_STRING("TABNAME", tabname),
  259. HA_TOPTION_STRING("TABLE_LIST", tablist),
  260. HA_TOPTION_STRING("DBNAME", dbname),
  261. HA_TOPTION_STRING("SEP_CHAR", separator),
  262. HA_TOPTION_STRING("QCHAR", qchar),
  263. HA_TOPTION_STRING("MODULE", module),
  264. HA_TOPTION_STRING("SUBTYPE", subtype),
  265. HA_TOPTION_STRING("CATFUNC", catfunc),
  266. HA_TOPTION_STRING("SRCDEF", srcdef),
  267. HA_TOPTION_STRING("COLIST", colist),
  268. HA_TOPTION_STRING("OPTION_LIST", oplist),
  269. HA_TOPTION_STRING("DATA_CHARSET", data_charset),
  270. HA_TOPTION_NUMBER("LRECL", lrecl, 0, 0, INT_MAX32, 1),
  271. HA_TOPTION_NUMBER("BLOCK_SIZE", elements, 0, 0, INT_MAX32, 1),
  272. //HA_TOPTION_NUMBER("ESTIMATE", estimate, 0, 0, INT_MAX32, 1),
  273. HA_TOPTION_NUMBER("MULTIPLE", multiple, 0, 0, 2, 1),
  274. HA_TOPTION_NUMBER("HEADER", header, 0, 0, 3, 1),
  275. HA_TOPTION_NUMBER("QUOTED", quoted, (ulonglong) -1, 0, 3, 1),
  276. HA_TOPTION_NUMBER("ENDING", ending, (ulonglong) -1, 0, INT_MAX32, 1),
  277. HA_TOPTION_NUMBER("COMPRESS", compressed, 0, 0, 2, 1),
  278. //HA_TOPTION_BOOL("COMPRESS", compressed, 0),
  279. HA_TOPTION_BOOL("MAPPED", mapped, 0),
  280. HA_TOPTION_BOOL("HUGE", huge, 0),
  281. HA_TOPTION_BOOL("SPLIT", split, 0),
  282. HA_TOPTION_BOOL("READONLY", readonly, 0),
  283. HA_TOPTION_BOOL("SEPINDEX", sepindex, 0),
  284. HA_TOPTION_END
  285. };
  286. /**
  287. CREATE TABLE option list (field options)
  288. These can be specified in the CREATE TABLE per field:
  289. CREATE TABLE ( field ... {...here...}, ... )
  290. */
  291. ha_create_table_option connect_field_option_list[]=
  292. {
  293. HA_FOPTION_NUMBER("FLAG", offset, (ulonglong) -1, 0, INT_MAX32, 1),
  294. HA_FOPTION_NUMBER("MAX_DIST", freq, 0, 0, INT_MAX32, 1), // BLK_INDX
  295. //HA_FOPTION_NUMBER("DISTRIB", opt, 0, 0, 2, 1), // used for BLK_INDX
  296. HA_FOPTION_NUMBER("FIELD_LENGTH", fldlen, 0, 0, INT_MAX32, 1),
  297. HA_FOPTION_STRING("DATE_FORMAT", dateformat),
  298. HA_FOPTION_STRING("FIELD_FORMAT", fieldformat),
  299. HA_FOPTION_STRING("SPECIAL", special),
  300. HA_FOPTION_ENUM("DISTRIB", opt, "scattered,clustered,sorted", 0),
  301. HA_FOPTION_END
  302. };
  303. /*
  304. CREATE TABLE option list (index options)
  305. These can be specified in the CREATE TABLE per index:
  306. CREATE TABLE ( field ..., .., INDEX .... *here*, ... )
  307. */
  308. ha_create_table_option connect_index_option_list[]=
  309. {
  310. HA_IOPTION_BOOL("DYNAM", dynamic, 0),
  311. HA_IOPTION_BOOL("MAPPED", mapped, 0),
  312. HA_IOPTION_END
  313. };
  314. /***********************************************************************/
  315. /* Push G->Message as a MySQL warning. */
  316. /***********************************************************************/
  317. bool PushWarning(PGLOBAL g, PTDBASE tdbp, int level)
  318. {
  319. PHC phc;
  320. THD *thd;
  321. MYCAT *cat= (MYCAT*)tdbp->GetDef()->GetCat();
  322. if (!cat || !(phc= cat->GetHandler()) || !phc->GetTable() ||
  323. !(thd= (phc->GetTable())->in_use))
  324. return true;
  325. PushWarning(g, thd, level);
  326. return false;
  327. } // end of PushWarning
  328. void PushWarning(PGLOBAL g, THD *thd, int level)
  329. {
  330. if (thd) {
  331. Sql_condition::enum_warning_level wlvl;
  332. wlvl= (Sql_condition::enum_warning_level)level;
  333. push_warning(thd, wlvl, 0, g->Message);
  334. } else
  335. htrc("%s\n", g->Message);
  336. } // end of PushWarning
  337. #ifdef HAVE_PSI_INTERFACE
  338. static PSI_mutex_key con_key_mutex_CONNECT_SHARE_mutex;
  339. static PSI_mutex_info all_connect_mutexes[]=
  340. {
  341. { &con_key_mutex_CONNECT_SHARE_mutex, "CONNECT_SHARE::mutex", 0}
  342. };
  343. static void init_connect_psi_keys()
  344. {
  345. const char* category= "connect";
  346. int count;
  347. if (PSI_server == NULL)
  348. return;
  349. count= array_elements(all_connect_mutexes);
  350. PSI_server->register_mutex(category, all_connect_mutexes, count);
  351. }
  352. #else
  353. static void init_connect_psi_keys() {}
  354. #endif
  355. DllExport LPCSTR PlugSetPath(LPSTR to, LPCSTR name, LPCSTR dir)
  356. {
  357. const char *res= PlugSetPath(to, mysql_data_home, name, dir);
  358. return res;
  359. }
  360. /**
  361. @brief
  362. If frm_error() is called then we will use this to determine
  363. the file extensions that exist for the storage engine. This is also
  364. used by the default rename_table and delete_table method in
  365. handler.cc.
  366. For engines that have two file name extentions (separate meta/index file
  367. and data file), the order of elements is relevant. First element of engine
  368. file name extentions array should be meta/index file extention. Second
  369. element - data file extention. This order is assumed by
  370. prepare_for_repair() when REPAIR TABLE ... USE_FRM is issued.
  371. @see
  372. rename_table method in handler.cc and
  373. delete_table method in handler.cc
  374. */
  375. static const char *ha_connect_exts[]= {
  376. ".dos", ".fix", ".csv", ".bin", ".fmt", ".dbf", ".xml", ".ini", ".vec",
  377. ".dnx", ".fnx", ".bnx", ".vnx", ".dbx", ".dop", ".fop", ".bop", ".vop",
  378. NULL};
  379. /**
  380. @brief
  381. Plugin initialization
  382. */
  383. static int connect_init_func(void *p)
  384. {
  385. DBUG_ENTER("connect_init_func");
  386. sql_print_information("CONNECT: %s", compver);
  387. // xtrace is now a system variable
  388. trace= xtrace;
  389. #ifdef LIBXML2_SUPPORT
  390. XmlInitParserLib();
  391. #endif // LIBXML2_SUPPORT
  392. init_connect_psi_keys();
  393. connect_hton= (handlerton *)p;
  394. connect_hton->state= SHOW_OPTION_YES;
  395. connect_hton->create= connect_create_handler;
  396. //connect_hton->flags= HTON_TEMPORARY_NOT_SUPPORTED | HTON_NO_PARTITION;
  397. connect_hton->flags= HTON_TEMPORARY_NOT_SUPPORTED;
  398. connect_hton->table_options= connect_table_option_list;
  399. connect_hton->field_options= connect_field_option_list;
  400. connect_hton->index_options= connect_index_option_list;
  401. connect_hton->tablefile_extensions= ha_connect_exts;
  402. connect_hton->discover_table_structure= connect_assisted_discovery;
  403. if (xtrace)
  404. sql_print_information("connect_init: hton=%p", p);
  405. DTVAL::SetTimeShift(); // Initialize time zone shift once for all
  406. DBUG_RETURN(0);
  407. } // end of connect_init_func
  408. /**
  409. @brief
  410. Plugin clean up
  411. */
  412. static int connect_done_func(void *p)
  413. {
  414. int error= 0;
  415. PCONNECT pc, pn;
  416. DBUG_ENTER("connect_done_func");
  417. #ifdef LIBXML2_SUPPORT
  418. XmlCleanupParserLib();
  419. #endif // LIBXML2_SUPPORT
  420. #if !defined(WIN32)
  421. //PROFILE_End(); Causes signal 11
  422. #endif // !WIN32
  423. for (pc= user_connect::to_users; pc; pc= pn) {
  424. if (pc->g)
  425. PlugCleanup(pc->g, true);
  426. pn= pc->next;
  427. delete pc;
  428. } // endfor pc
  429. DBUG_RETURN(error);
  430. } // end of connect_done_func
  431. /**
  432. @brief
  433. Example of simple lock controls. The "share" it creates is a
  434. structure we will pass to each CONNECT handler. Do you have to have
  435. one of these? Well, you have pieces that are used for locking, and
  436. they are needed to function.
  437. */
  438. CONNECT_SHARE *ha_connect::get_share()
  439. {
  440. CONNECT_SHARE *tmp_share;
  441. lock_shared_ha_data();
  442. if (!(tmp_share= static_cast<CONNECT_SHARE*>(get_ha_share_ptr()))) {
  443. tmp_share= new CONNECT_SHARE;
  444. if (!tmp_share)
  445. goto err;
  446. mysql_mutex_init(con_key_mutex_CONNECT_SHARE_mutex,
  447. &tmp_share->mutex, MY_MUTEX_INIT_FAST);
  448. set_ha_share_ptr(static_cast<Handler_share*>(tmp_share));
  449. } // endif tmp_share
  450. err:
  451. unlock_shared_ha_data();
  452. return tmp_share;
  453. } // end of get_share
  454. static handler* connect_create_handler(handlerton *hton,
  455. TABLE_SHARE *table,
  456. MEM_ROOT *mem_root)
  457. {
  458. handler *h= new (mem_root) ha_connect(hton, table);
  459. if (xtrace)
  460. htrc("New CONNECT %p, table: %s\n",
  461. h, table ? table->table_name.str : "<null>");
  462. return h;
  463. } // end of connect_create_handler
  464. /****************************************************************************/
  465. /* ha_connect constructor. */
  466. /****************************************************************************/
  467. ha_connect::ha_connect(handlerton *hton, TABLE_SHARE *table_arg)
  468. :handler(hton, table_arg)
  469. {
  470. hnum= ++num;
  471. xp= (table) ? GetUser(ha_thd(), NULL) : NULL;
  472. if (xp)
  473. xp->SetHandler(this);
  474. #if defined(WIN32)
  475. datapath= ".\\";
  476. #else // !WIN32
  477. datapath= "./";
  478. #endif // !WIN32
  479. tdbp= NULL;
  480. sdvalin= NULL;
  481. sdvalout= NULL;
  482. xmod= MODE_ANY;
  483. istable= false;
  484. *partname= 0;
  485. bzero((char*) &xinfo, sizeof(XINFO));
  486. valid_info= false;
  487. valid_query_id= 0;
  488. creat_query_id= (table && table->in_use) ? table->in_use->query_id : 0;
  489. stop= false;
  490. alter= false;
  491. mrr= false;
  492. nox= true;
  493. abort= false;
  494. indexing= -1;
  495. locked= 0;
  496. part_id= NULL;
  497. data_file_name= NULL;
  498. index_file_name= NULL;
  499. enable_activate_all_index= 0;
  500. int_table_flags= (HA_NO_TRANSACTIONS | HA_NO_PREFIX_CHAR_KEYS);
  501. ref_length= sizeof(int);
  502. share= NULL;
  503. tshp= NULL;
  504. } // end of ha_connect constructor
  505. /****************************************************************************/
  506. /* ha_connect destructor. */
  507. /****************************************************************************/
  508. ha_connect::~ha_connect(void)
  509. {
  510. if (xtrace)
  511. htrc("Delete CONNECT %p, table: %s, xp=%p count=%d\n", this,
  512. table ? table->s->table_name.str : "<null>",
  513. xp, xp ? xp->count : 0);
  514. if (xp) {
  515. PCONNECT p;
  516. xp->count--;
  517. for (p= user_connect::to_users; p; p= p->next)
  518. if (p == xp)
  519. break;
  520. if (p && !p->count) {
  521. if (p->next)
  522. p->next->previous= p->previous;
  523. if (p->previous)
  524. p->previous->next= p->next;
  525. else
  526. user_connect::to_users= p->next;
  527. } // endif p
  528. if (!xp->count) {
  529. PlugCleanup(xp->g, true);
  530. delete xp;
  531. } // endif count
  532. } // endif xp
  533. } // end of ha_connect destructor
  534. /****************************************************************************/
  535. /* Get a pointer to the user of this handler. */
  536. /****************************************************************************/
  537. static PCONNECT GetUser(THD *thd, PCONNECT xp)
  538. {
  539. const char *dbn= NULL;
  540. if (!thd)
  541. return NULL;
  542. if (xp && thd == xp->thdp)
  543. return xp;
  544. for (xp= user_connect::to_users; xp; xp= xp->next)
  545. if (thd == xp->thdp)
  546. break;
  547. if (!xp) {
  548. xp= new user_connect(thd, dbn);
  549. if (xp->user_init()) {
  550. delete xp;
  551. xp= NULL;
  552. } // endif user_init
  553. } else
  554. xp->count++;
  555. return xp;
  556. } // end of GetUser
  557. /****************************************************************************/
  558. /* Get the global pointer of the user of this handler. */
  559. /****************************************************************************/
  560. static PGLOBAL GetPlug(THD *thd, PCONNECT& lxp)
  561. {
  562. lxp= GetUser(thd, lxp);
  563. return (lxp) ? lxp->g : NULL;
  564. } // end of GetPlug
  565. /****************************************************************************/
  566. /* Get the implied table type. */
  567. /****************************************************************************/
  568. TABTYPE ha_connect::GetRealType(PTOS pos)
  569. {
  570. TABTYPE type;
  571. if (pos || (pos= GetTableOptionStruct())) {
  572. type= GetTypeID(pos->type);
  573. if (type == TAB_UNDEF)
  574. type= pos->srcdef ? TAB_MYSQL : pos->tabname ? TAB_PRX : TAB_DOS;
  575. } else
  576. type= TAB_UNDEF;
  577. return type;
  578. } // end of GetRealType
  579. /** @brief
  580. The name of the index type that will be used for display.
  581. Don't implement this method unless you really have indexes.
  582. */
  583. const char *ha_connect::index_type(uint inx)
  584. {
  585. switch (GetIndexType(GetRealType())) {
  586. case 1:
  587. if (table_share)
  588. return (GetIndexOption(&table_share->key_info[inx], "Dynamic"))
  589. ? "KINDEX" : "XINDEX";
  590. else
  591. return "XINDEX";
  592. case 2: return "REMOTE";
  593. } // endswitch
  594. return "Unknown";
  595. } // end of index_type
  596. /** @brief
  597. This is a bitmap of flags that indicates how the storage engine
  598. implements indexes. The current index flags are documented in
  599. handler.h. If you do not implement indexes, just return zero here.
  600. @details
  601. part is the key part to check. First key part is 0.
  602. If all_parts is set, MySQL wants to know the flags for the combined
  603. index, up to and including 'part'.
  604. */
  605. ulong ha_connect::index_flags(uint inx, uint part, bool all_parts) const
  606. {
  607. ulong flags= HA_READ_NEXT | HA_READ_RANGE |
  608. HA_KEYREAD_ONLY | HA_KEY_SCAN_NOT_ROR;
  609. ha_connect *hp= (ha_connect*)this;
  610. PTOS pos= hp->GetTableOptionStruct();
  611. if (pos) {
  612. TABTYPE type= hp->GetRealType(pos);
  613. switch (GetIndexType(type)) {
  614. case 1: flags|= (HA_READ_ORDER | HA_READ_PREV); break;
  615. case 2: flags|= HA_READ_AFTER_KEY; break;
  616. } // endswitch
  617. } // endif pos
  618. return flags;
  619. } // end of index_flags
  620. /** @brief
  621. This is a list of flags that indicate what functionality the storage
  622. engine implements. The current table flags are documented in handler.h
  623. */
  624. ulonglong ha_connect::table_flags() const
  625. {
  626. ulonglong flags= HA_CAN_VIRTUAL_COLUMNS | HA_REC_NOT_IN_SEQ |
  627. HA_NO_AUTO_INCREMENT | HA_NO_PREFIX_CHAR_KEYS |
  628. HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE |
  629. HA_PARTIAL_COLUMN_READ | HA_FILE_BASED |
  630. // HA_NULL_IN_KEY | not implemented yet
  631. // HA_FAST_KEY_READ | causes error when sorting (???)
  632. HA_NO_TRANSACTIONS | HA_DUPLICATE_KEY_NOT_IN_ORDER |
  633. HA_NO_BLOBS | HA_MUST_USE_TABLE_CONDITION_PUSHDOWN;
  634. ha_connect *hp= (ha_connect*)this;
  635. PTOS pos= hp->GetTableOptionStruct();
  636. if (pos) {
  637. TABTYPE type= hp->GetRealType(pos);
  638. if (IsFileType(type))
  639. flags|= HA_FILE_BASED;
  640. if (IsExactType(type))
  641. flags|= (HA_HAS_RECORDS | HA_STATS_RECORDS_IS_EXACT);
  642. // No data change on ALTER for outward tables
  643. if (!IsFileType(type) || hp->FileExists(pos->filename, true))
  644. flags|= HA_NO_COPY_ON_ALTER;
  645. } // endif pos
  646. return flags;
  647. } // end of table_flags
  648. /****************************************************************************/
  649. /* Return the value of an option specified in an option list. */
  650. /****************************************************************************/
  651. char *GetListOption(PGLOBAL g, const char *opname,
  652. const char *oplist, const char *def)
  653. {
  654. char key[16], val[256];
  655. char *pk, *pv, *pn;
  656. char *opval= (char*) def;
  657. int n;
  658. for (pk= (char*)oplist; pk; pk= ++pn) {
  659. pn= strchr(pk, ',');
  660. pv= strchr(pk, '=');
  661. if (pv && (!pn || pv < pn)) {
  662. n= pv - pk;
  663. memcpy(key, pk, n);
  664. key[n]= 0;
  665. pv++;
  666. if (pn) {
  667. n= pn - pv;
  668. memcpy(val, pv, n);
  669. val[n]= 0;
  670. } else
  671. strcpy(val, pv);
  672. } else {
  673. if (pn) {
  674. n= MY_MIN(pn - pk, 15);
  675. memcpy(key, pk, n);
  676. key[n]= 0;
  677. } else
  678. strcpy(key, pk);
  679. val[0]= 0;
  680. } // endif pv
  681. if (!stricmp(opname, key)) {
  682. opval= (char*)PlugSubAlloc(g, NULL, strlen(val) + 1);
  683. strcpy(opval, val);
  684. break;
  685. } else if (!pn)
  686. break;
  687. } // endfor pk
  688. return opval;
  689. } // end of GetListOption
  690. /****************************************************************************/
  691. /* Return the table option structure. */
  692. /****************************************************************************/
  693. PTOS ha_connect::GetTableOptionStruct(TABLE_SHARE *s)
  694. {
  695. TABLE_SHARE *tsp= (tshp) ? tshp : (s) ? s : table_share;
  696. return (tsp) ? tsp->option_struct : NULL;
  697. } // end of GetTableOptionStruct
  698. /****************************************************************************/
  699. /* Return the string eventually formatted with partition name. */
  700. /****************************************************************************/
  701. char *ha_connect::GetRealString(const char *s)
  702. {
  703. char *sv;
  704. if (IsPartitioned() && s) {
  705. sv= (char*)PlugSubAlloc(xp->g, NULL, strlen(s) + strlen(partname));
  706. sprintf(sv, s, partname);
  707. } else
  708. sv= (char*)s;
  709. return sv;
  710. } // end of GetRealString
  711. /****************************************************************************/
  712. /* Return the value of a string option or NULL if not specified. */
  713. /****************************************************************************/
  714. char *ha_connect::GetStringOption(char *opname, char *sdef)
  715. {
  716. char *opval= NULL;
  717. PTOS options= GetTableOptionStruct();
  718. if (!stricmp(opname, "Connect")) {
  719. LEX_STRING cnc= (tshp) ? tshp->connect_string : table->s->connect_string;
  720. if (cnc.length)
  721. opval= GetRealString(cnc.str);
  722. } else if (!stricmp(opname, "Query_String"))
  723. opval= thd_query_string(table->in_use)->str;
  724. else if (!stricmp(opname, "Partname"))
  725. opval= partname;
  726. else if (!options)
  727. ;
  728. else if (!stricmp(opname, "Type"))
  729. opval= (char*)options->type;
  730. else if (!stricmp(opname, "Filename"))
  731. opval= GetRealString(options->filename);
  732. else if (!stricmp(opname, "Optname"))
  733. opval= (char*)options->optname;
  734. else if (!stricmp(opname, "Tabname"))
  735. opval= GetRealString(options->tabname);
  736. else if (!stricmp(opname, "Tablist"))
  737. opval= (char*)options->tablist;
  738. else if (!stricmp(opname, "Database") ||
  739. !stricmp(opname, "DBname"))
  740. opval= (char*)options->dbname;
  741. else if (!stricmp(opname, "Separator"))
  742. opval= (char*)options->separator;
  743. else if (!stricmp(opname, "Qchar"))
  744. opval= (char*)options->qchar;
  745. else if (!stricmp(opname, "Module"))
  746. opval= (char*)options->module;
  747. else if (!stricmp(opname, "Subtype"))
  748. opval= (char*)options->subtype;
  749. else if (!stricmp(opname, "Catfunc"))
  750. opval= (char*)options->catfunc;
  751. else if (!stricmp(opname, "Srcdef"))
  752. opval= (char*)options->srcdef;
  753. else if (!stricmp(opname, "Colist"))
  754. opval= (char*)options->colist;
  755. else if (!stricmp(opname, "Data_charset"))
  756. opval= (char*)options->data_charset;
  757. if (!opval && options && options->oplist)
  758. opval= GetListOption(xp->g, opname, options->oplist);
  759. if (!opval) {
  760. if (sdef && !strcmp(sdef, "*")) {
  761. // Return the handler default value
  762. if (!stricmp(opname, "Dbname") || !stricmp(opname, "Database"))
  763. opval= (char*)GetDBName(NULL); // Current database
  764. else if (!stricmp(opname, "Type")) // Default type
  765. opval= (!options) ? NULL :
  766. (options->srcdef) ? (char*)"MYSQL" :
  767. (options->tabname) ? (char*)"PROXY" : (char*)"DOS";
  768. else if (!stricmp(opname, "User")) // Connected user
  769. opval= (char *) "root";
  770. else if (!stricmp(opname, "Host")) // Connected user host
  771. opval= (char *) "localhost";
  772. else
  773. opval= sdef; // Caller default
  774. } else
  775. opval= sdef; // Caller default
  776. } // endif !opval
  777. return opval;
  778. } // end of GetStringOption
  779. /****************************************************************************/
  780. /* Return the value of a Boolean option or bdef if not specified. */
  781. /****************************************************************************/
  782. bool ha_connect::GetBooleanOption(char *opname, bool bdef)
  783. {
  784. bool opval= bdef;
  785. char *pv;
  786. PTOS options= GetTableOptionStruct();
  787. if (!stricmp(opname, "View"))
  788. opval= (tshp) ? tshp->is_view : table_share->is_view;
  789. else if (!options)
  790. ;
  791. else if (!stricmp(opname, "Mapped"))
  792. opval= options->mapped;
  793. else if (!stricmp(opname, "Huge"))
  794. opval= options->huge;
  795. //else if (!stricmp(opname, "Compressed"))
  796. // opval= options->compressed;
  797. else if (!stricmp(opname, "Split"))
  798. opval= options->split;
  799. else if (!stricmp(opname, "Readonly"))
  800. opval= options->readonly;
  801. else if (!stricmp(opname, "SepIndex"))
  802. opval= options->sepindex;
  803. else if (options->oplist)
  804. if ((pv= GetListOption(xp->g, opname, options->oplist)))
  805. opval= (!*pv || *pv == 'y' || *pv == 'Y' || atoi(pv) != 0);
  806. return opval;
  807. } // end of GetBooleanOption
  808. /****************************************************************************/
  809. /* Set the value of the opname option (does not work for oplist options) */
  810. /* Currently used only to set the Sepindex value. */
  811. /****************************************************************************/
  812. bool ha_connect::SetBooleanOption(char *opname, bool b)
  813. {
  814. PTOS options= GetTableOptionStruct();
  815. if (!options)
  816. return true;
  817. if (!stricmp(opname, "SepIndex"))
  818. options->sepindex= b;
  819. else
  820. return true;
  821. return false;
  822. } // end of SetBooleanOption
  823. /****************************************************************************/
  824. /* Return the value of an integer option or NO_IVAL if not specified. */
  825. /****************************************************************************/
  826. int ha_connect::GetIntegerOption(char *opname)
  827. {
  828. ulonglong opval= NO_IVAL;
  829. char *pv;
  830. PTOS options= GetTableOptionStruct();
  831. TABLE_SHARE *tsp= (tshp) ? tshp : table_share;
  832. if (!stricmp(opname, "Avglen"))
  833. opval= (ulonglong)tsp->avg_row_length;
  834. else if (!stricmp(opname, "Estimate"))
  835. opval= (ulonglong)tsp->max_rows;
  836. else if (!options)
  837. ;
  838. else if (!stricmp(opname, "Lrecl"))
  839. opval= options->lrecl;
  840. else if (!stricmp(opname, "Elements"))
  841. opval= options->elements;
  842. else if (!stricmp(opname, "Multiple"))
  843. opval= options->multiple;
  844. else if (!stricmp(opname, "Header"))
  845. opval= options->header;
  846. else if (!stricmp(opname, "Quoted"))
  847. opval= options->quoted;
  848. else if (!stricmp(opname, "Ending"))
  849. opval= options->ending;
  850. else if (!stricmp(opname, "Compressed"))
  851. opval= (options->compressed);
  852. if (opval == (ulonglong)NO_IVAL && options && options->oplist)
  853. if ((pv= GetListOption(xp->g, opname, options->oplist)))
  854. opval= CharToNumber(pv, strlen(pv), ULONGLONG_MAX, true);
  855. return (int)opval;
  856. } // end of GetIntegerOption
  857. /****************************************************************************/
  858. /* Set the value of the opname option (does not work for oplist options) */
  859. /* Currently used only to set the Lrecl value. */
  860. /****************************************************************************/
  861. bool ha_connect::SetIntegerOption(char *opname, int n)
  862. {
  863. PTOS options= GetTableOptionStruct();
  864. if (!options)
  865. return true;
  866. if (!stricmp(opname, "Lrecl"))
  867. options->lrecl= n;
  868. else if (!stricmp(opname, "Elements"))
  869. options->elements= n;
  870. //else if (!stricmp(opname, "Estimate"))
  871. // options->estimate= n;
  872. else if (!stricmp(opname, "Multiple"))
  873. options->multiple= n;
  874. else if (!stricmp(opname, "Header"))
  875. options->header= n;
  876. else if (!stricmp(opname, "Quoted"))
  877. options->quoted= n;
  878. else if (!stricmp(opname, "Ending"))
  879. options->ending= n;
  880. else if (!stricmp(opname, "Compressed"))
  881. options->compressed= n;
  882. else
  883. return true;
  884. //else if (options->oplist)
  885. // SetListOption(opname, options->oplist, n);
  886. return false;
  887. } // end of SetIntegerOption
  888. /****************************************************************************/
  889. /* Return a field option structure. */
  890. /****************************************************************************/
  891. PFOS ha_connect::GetFieldOptionStruct(Field *fdp)
  892. {
  893. return fdp->option_struct;
  894. } // end of GetFildOptionStruct
  895. /****************************************************************************/
  896. /* Returns the column description structure used to make the column. */
  897. /****************************************************************************/
  898. void *ha_connect::GetColumnOption(PGLOBAL g, void *field, PCOLINFO pcf)
  899. {
  900. const char *cp;
  901. char *chset, v;
  902. ha_field_option_struct *fop;
  903. Field* fp;
  904. Field* *fldp;
  905. // Double test to be on the safe side
  906. if (!table)
  907. return NULL;
  908. // Find the column to describe
  909. if (field) {
  910. fldp= (Field**)field;
  911. fldp++;
  912. } else
  913. fldp= (tshp) ? tshp->field : table->field;
  914. if (!fldp || !(fp= *fldp))
  915. return NULL;
  916. // Get the CONNECT field options structure
  917. fop= GetFieldOptionStruct(fp);
  918. pcf->Flags= 0;
  919. // Now get column information
  920. pcf->Name= (char*)fp->field_name;
  921. if (fop && fop->special) {
  922. pcf->Fieldfmt= (char*)fop->special;
  923. pcf->Flags= U_SPECIAL;
  924. return fldp;
  925. } // endif special
  926. pcf->Scale= 0;
  927. pcf->Opt= (fop) ? (int)fop->opt : 0;
  928. if ((pcf->Length= fp->field_length) < 0)
  929. pcf->Length= 256; // BLOB?
  930. pcf->Precision= pcf->Length;
  931. if (fop) {
  932. pcf->Offset= (int)fop->offset;
  933. pcf->Freq= (int)fop->freq;
  934. pcf->Datefmt= (char*)fop->dateformat;
  935. pcf->Fieldfmt= (char*)fop->fieldformat;
  936. } else {
  937. pcf->Offset= -1;
  938. pcf->Freq= 0;
  939. pcf->Datefmt= NULL;
  940. pcf->Fieldfmt= NULL;
  941. } // endif fop
  942. chset = (char *)fp->charset()->name;
  943. v = (!strcmp(chset, "binary")) ? 'B' : 0;
  944. switch (fp->type()) {
  945. case MYSQL_TYPE_BLOB:
  946. case MYSQL_TYPE_VARCHAR:
  947. case MYSQL_TYPE_VAR_STRING:
  948. pcf->Flags |= U_VAR;
  949. /* no break */
  950. default:
  951. pcf->Type= MYSQLtoPLG(fp->type(), &v);
  952. break;
  953. } // endswitch SQL type
  954. switch (pcf->Type) {
  955. case TYPE_STRING:
  956. // Do something for case
  957. cp= fp->charset()->name;
  958. // Find if collation name ends by _ci
  959. if (!strcmp(cp + strlen(cp) - 3, "_ci")) {
  960. pcf->Scale= 1; // Case insensitive
  961. pcf->Opt= 0; // Prevent index opt until it is safe
  962. } // endif ci
  963. break;
  964. case TYPE_DOUBLE:
  965. pcf->Scale= MY_MAX(MY_MIN(fp->decimals(), ((unsigned)pcf->Length - 2)), 0);
  966. break;
  967. case TYPE_DECIM:
  968. pcf->Precision= ((Field_new_decimal*)fp)->precision;
  969. pcf->Length= pcf->Precision;
  970. pcf->Scale= fp->decimals();
  971. break;
  972. case TYPE_DATE:
  973. // Field_length is only used for DATE columns
  974. if (fop && fop->fldlen)
  975. pcf->Length= (int)fop->fldlen;
  976. else {
  977. int len;
  978. if (pcf->Datefmt) {
  979. // Find the (max) length produced by the date format
  980. char buf[256];
  981. PGLOBAL g= GetPlug(table->in_use, xp);
  982. PDTP pdtp= MakeDateFormat(g, pcf->Datefmt, false, true, 0);
  983. struct tm datm;
  984. bzero(&datm, sizeof(datm));
  985. datm.tm_mday= 12;
  986. datm.tm_mon= 11;
  987. datm.tm_year= 112;
  988. len= strftime(buf, 256, pdtp->OutFmt, &datm);
  989. } else
  990. len= 0;
  991. // 11 is for signed numeric representation of the date
  992. pcf->Length= (len) ? len : 11;
  993. } // endelse
  994. break;
  995. default:
  996. break;
  997. } // endswitch type
  998. if (fp->flags & UNSIGNED_FLAG)
  999. pcf->Flags |= U_UNSIGNED;
  1000. if (fp->flags & ZEROFILL_FLAG)
  1001. pcf->Flags |= U_ZEROFILL;
  1002. // This is used to skip null bit
  1003. if (fp->real_maybe_null())
  1004. pcf->Flags |= U_NULLS;
  1005. // Mark virtual columns as such
  1006. if (fp->vcol_info && !fp->stored_in_db)
  1007. pcf->Flags |= U_VIRTUAL;
  1008. pcf->Key= 0; // Not used when called from MySQL
  1009. // Get the comment if any
  1010. if (fp->comment.str && fp->comment.length) {
  1011. pcf->Remark= (char*)PlugSubAlloc(g, NULL, fp->comment.length + 1);
  1012. memcpy(pcf->Remark, fp->comment.str, fp->comment.length);
  1013. pcf->Remark[fp->comment.length]= 0;
  1014. } else
  1015. pcf->Remark= NULL;
  1016. return fldp;
  1017. } // end of GetColumnOption
  1018. /****************************************************************************/
  1019. /* Return an index option structure. */
  1020. /****************************************************************************/
  1021. PXOS ha_connect::GetIndexOptionStruct(KEY *kp)
  1022. {
  1023. return kp->option_struct;
  1024. } // end of GetIndexOptionStruct
  1025. /****************************************************************************/
  1026. /* Return a Boolean index option or false if not specified. */
  1027. /****************************************************************************/
  1028. bool ha_connect::GetIndexOption(KEY *kp, char *opname)
  1029. {
  1030. bool opval= false;
  1031. PXOS options= GetIndexOptionStruct(kp);
  1032. if (options) {
  1033. if (!stricmp(opname, "Dynamic"))
  1034. opval= options->dynamic;
  1035. else if (!stricmp(opname, "Mapped"))
  1036. opval= options->mapped;
  1037. } else if (kp->comment.str != NULL) {
  1038. char *pv, *oplist= kp->comment.str;
  1039. if ((pv= GetListOption(xp->g, opname, oplist)))
  1040. opval= (!*pv || *pv == 'y' || *pv == 'Y' || atoi(pv) != 0);
  1041. } // endif comment
  1042. return opval;
  1043. } // end of GetIndexOption
  1044. /****************************************************************************/
  1045. /* Returns the index description structure used to make the index. */
  1046. /****************************************************************************/
  1047. bool ha_connect::IsUnique(uint n)
  1048. {
  1049. TABLE_SHARE *s= (table) ? table->s : NULL;
  1050. KEY kp= s->key_info[n];
  1051. return (kp.flags & 1) != 0;
  1052. } // end of IsUnique
  1053. /****************************************************************************/
  1054. /* Returns the index description structure used to make the index. */
  1055. /****************************************************************************/
  1056. PIXDEF ha_connect::GetIndexInfo(TABLE_SHARE *s)
  1057. {
  1058. char *name, *pn;
  1059. bool unique;
  1060. PIXDEF xdp, pxd=NULL, toidx= NULL;
  1061. PKPDEF kpp, pkp;
  1062. KEY kp;
  1063. PGLOBAL& g= xp->g;
  1064. if (!s)
  1065. s= table->s;
  1066. for (int n= 0; (unsigned)n < s->keynames.count; n++) {
  1067. if (xtrace)
  1068. htrc("Getting created index %d info\n", n + 1);
  1069. // Find the index to describe
  1070. kp= s->key_info[n];
  1071. // Now get index information
  1072. pn= (char*)s->keynames.type_names[n];
  1073. name= (char*)PlugSubAlloc(g, NULL, strlen(pn) + 1);
  1074. strcpy(name, pn); // This is probably unuseful
  1075. unique= (kp.flags & 1) != 0;
  1076. pkp= NULL;
  1077. // Allocate the index description block
  1078. xdp= new(g) INDEXDEF(name, unique, n);
  1079. // Get the the key parts info
  1080. for (int k= 0; (unsigned)k < kp.user_defined_key_parts; k++) {
  1081. pn= (char*)kp.key_part[k].field->field_name;
  1082. name= (char*)PlugSubAlloc(g, NULL, strlen(pn) + 1);
  1083. strcpy(name, pn); // This is probably unuseful
  1084. // Allocate the key part description block
  1085. kpp= new(g) KPARTDEF(name, k + 1);
  1086. kpp->SetKlen(kp.key_part[k].length);
  1087. #if 0 // NIY
  1088. // Index on auto increment column can be an XXROW index
  1089. if (kp.key_part[k].field->flags & AUTO_INCREMENT_FLAG &&
  1090. kp.uder_defined_key_parts == 1) {
  1091. char *type= GetStringOption("Type", "DOS");
  1092. TABTYPE typ= GetTypeID(type);
  1093. xdp->SetAuto(IsTypeFixed(typ));
  1094. } // endif AUTO_INCREMENT
  1095. #endif // 0
  1096. if (pkp)
  1097. pkp->SetNext(kpp);
  1098. else
  1099. xdp->SetToKeyParts(kpp);
  1100. pkp= kpp;
  1101. } // endfor k
  1102. xdp->SetNParts(kp.user_defined_key_parts);
  1103. xdp->Dynamic= GetIndexOption(&kp, "Dynamic");
  1104. xdp->Mapped= GetIndexOption(&kp, "Mapped");
  1105. if (pxd)
  1106. pxd->SetNext(xdp);
  1107. else
  1108. toidx= xdp;
  1109. pxd= xdp;
  1110. } // endfor n
  1111. return toidx;
  1112. } // end of GetIndexInfo
  1113. bool ha_connect::IsPartitioned(void)
  1114. {
  1115. if (tshp)
  1116. return tshp->partition_info_str_len > 0;
  1117. else if (table && table->part_info)
  1118. return true;
  1119. else
  1120. return false;
  1121. } // end of IsPartitioned
  1122. const char *ha_connect::GetDBName(const char* name)
  1123. {
  1124. return (name) ? name : table->s->db.str;
  1125. } // end of GetDBName
  1126. const char *ha_connect::GetTableName(void)
  1127. {
  1128. return (tshp) ? tshp->table_name.str : table_share->table_name.str;
  1129. } // end of GetTableName
  1130. char *ha_connect::GetPartName(void)
  1131. {
  1132. return (IsPartitioned()) ? partname : (char*)GetTableName();
  1133. } // end of GetTableName
  1134. #if 0
  1135. /****************************************************************************/
  1136. /* Returns the column real or special name length of a field. */
  1137. /****************************************************************************/
  1138. int ha_connect::GetColNameLen(Field *fp)
  1139. {
  1140. int n;
  1141. PFOS fop= GetFieldOptionStruct(fp);
  1142. // Now get the column name length
  1143. if (fop && fop->special)
  1144. n= strlen(fop->special) + 1;
  1145. else
  1146. n= strlen(fp->field_name);
  1147. return n;
  1148. } // end of GetColNameLen
  1149. /****************************************************************************/
  1150. /* Returns the column real or special name of a field. */
  1151. /****************************************************************************/
  1152. char *ha_connect::GetColName(Field *fp)
  1153. {
  1154. PFOS fop= GetFieldOptionStruct(fp);
  1155. return (fop && fop->special) ? fop->special : (char*)fp->field_name;
  1156. } // end of GetColName
  1157. /****************************************************************************/
  1158. /* Adds the column real or special name of a field to a string. */
  1159. /****************************************************************************/
  1160. void ha_connect::AddColName(char *cp, Field *fp)
  1161. {
  1162. PFOS fop= GetFieldOptionStruct(fp);
  1163. // Now add the column name
  1164. if (fop && fop->special)
  1165. // The prefix * mark the column as "special"
  1166. strcat(strcpy(cp, "*"), strupr(fop->special));
  1167. else
  1168. strcpy(cp, (char*)fp->field_name);
  1169. } // end of AddColName
  1170. #endif // 0
  1171. /***********************************************************************/
  1172. /* This function sets the current database path. */
  1173. /***********************************************************************/
  1174. void ha_connect::SetDataPath(PGLOBAL g, const char *path)
  1175. {
  1176. datapath= SetPath(g, path);
  1177. } // end of SetDataPath
  1178. /****************************************************************************/
  1179. /* Get the table description block of a CONNECT table. */
  1180. /****************************************************************************/
  1181. PTDB ha_connect::GetTDB(PGLOBAL g)
  1182. {
  1183. const char *table_name;
  1184. PTDB tp;
  1185. // Double test to be on the safe side
  1186. if (!g || !table)
  1187. return NULL;
  1188. table_name= GetTableName();
  1189. if (!xp->CheckQuery(valid_query_id) && tdbp
  1190. && !stricmp(tdbp->GetName(), table_name)
  1191. && (tdbp->GetMode() == xmod
  1192. || (tdbp->GetMode() == MODE_READ && xmod == MODE_READX)
  1193. || tdbp->GetAmType() == TYPE_AM_XML)) {
  1194. tp= tdbp;
  1195. tp->SetMode(xmod);
  1196. } else if ((tp= CntGetTDB(g, table_name, xmod, this))) {
  1197. valid_query_id= xp->last_query_id;
  1198. // tp->SetMode(xmod);
  1199. } else
  1200. htrc("GetTDB: %s\n", g->Message);
  1201. return tp;
  1202. } // end of GetTDB
  1203. /****************************************************************************/
  1204. /* Open a CONNECT table, restricting column list if cols is true. */
  1205. /****************************************************************************/
  1206. int ha_connect::OpenTable(PGLOBAL g, bool del)
  1207. {
  1208. bool rc= false;
  1209. char *c1= NULL, *c2=NULL;
  1210. // Double test to be on the safe side
  1211. if (!g || !table) {
  1212. htrc("OpenTable logical error; g=%p table=%p\n", g, table);
  1213. return HA_ERR_INITIALIZATION;
  1214. } // endif g
  1215. if (!(tdbp= GetTDB(g)))
  1216. return RC_FX;
  1217. else if (tdbp->IsReadOnly())
  1218. switch (xmod) {
  1219. case MODE_WRITE:
  1220. case MODE_INSERT:
  1221. case MODE_UPDATE:
  1222. case MODE_DELETE:
  1223. strcpy(g->Message, MSG(READ_ONLY));
  1224. return HA_ERR_TABLE_READONLY;
  1225. default:
  1226. break;
  1227. } // endswitch xmode
  1228. if (xmod != MODE_INSERT || tdbp->GetAmType() == TYPE_AM_ODBC
  1229. || tdbp->GetAmType() == TYPE_AM_MYSQL) {
  1230. // Get the list of used fields (columns)
  1231. char *p;
  1232. unsigned int k1, k2, n1, n2;
  1233. Field* *field;
  1234. Field* fp;
  1235. MY_BITMAP *map= (xmod == MODE_INSERT) ? table->write_set : table->read_set;
  1236. MY_BITMAP *ump= (xmod == MODE_UPDATE) ? table->write_set : NULL;
  1237. k1= k2= 0;
  1238. n1= n2= 1; // 1 is space for final null character
  1239. for (field= table->field; fp= *field; field++) {
  1240. if (bitmap_is_set(map, fp->field_index)) {
  1241. n1+= (strlen(fp->field_name) + 1);
  1242. k1++;
  1243. } // endif
  1244. if (ump && bitmap_is_set(ump, fp->field_index)) {
  1245. n2+= (strlen(fp->field_name) + 1);
  1246. k2++;
  1247. } // endif
  1248. } // endfor field
  1249. if (k1) {
  1250. p= c1= (char*)PlugSubAlloc(g, NULL, n1);
  1251. for (field= table->field; fp= *field; field++)
  1252. if (bitmap_is_set(map, fp->field_index)) {
  1253. strcpy(p, (char*)fp->field_name);
  1254. p+= (strlen(p) + 1);
  1255. } // endif used field
  1256. *p= '\0'; // mark end of list
  1257. } // endif k1
  1258. if (k2) {
  1259. p= c2= (char*)PlugSubAlloc(g, NULL, n2);
  1260. for (field= table->field; fp= *field; field++)
  1261. if (bitmap_is_set(ump, fp->field_index)) {
  1262. strcpy(p, (char*)fp->field_name);
  1263. if (part_id && bitmap_is_set(part_id, fp->field_index)) {
  1264. // Trying to update a column used for partitioning
  1265. // This cannot be currently done because it may require
  1266. // a row to be moved in another partition.
  1267. sprintf(g->Message,
  1268. "Cannot update column %s because it is used for partitioning",
  1269. p);
  1270. return HA_ERR_INTERNAL_ERROR;
  1271. } // endif part_id
  1272. p+= (strlen(p) + 1);
  1273. } // endif used field
  1274. *p= '\0'; // mark end of list
  1275. } // endif k2
  1276. } // endif xmod
  1277. // Open the table
  1278. if (!(rc= CntOpenTable(g, tdbp, xmod, c1, c2, del, this))) {
  1279. istable= true;
  1280. // strmake(tname, table_name, sizeof(tname)-1);
  1281. // We may be in a create index query
  1282. if (xmod == MODE_ANY && *tdbp->GetName() != '#') {
  1283. // The current indexes
  1284. PIXDEF oldpix= GetIndexInfo();
  1285. } // endif xmod
  1286. } else
  1287. htrc("OpenTable: %s\n", g->Message);
  1288. if (rc) {
  1289. tdbp= NULL;
  1290. valid_info= false;
  1291. } // endif rc
  1292. return (rc) ? HA_ERR_INITIALIZATION : 0;
  1293. } // end of OpenTable
  1294. /****************************************************************************/
  1295. /* CheckColumnList: check that all bitmap columns do exist. */
  1296. /****************************************************************************/
  1297. bool ha_connect::CheckColumnList(PGLOBAL g)
  1298. {
  1299. // Check the list of used fields (columns)
  1300. int rc;
  1301. bool brc= false;
  1302. PCOL colp;
  1303. Field* *field;
  1304. Field* fp;
  1305. MY_BITMAP *map= table->read_set;
  1306. // Save stack and allocation environment and prepare error return
  1307. if (g->jump_level == MAX_JUMP) {
  1308. strcpy(g->Message, MSG(TOO_MANY_JUMPS));
  1309. return true;
  1310. } // endif jump_level
  1311. if ((rc= setjmp(g->jumper[++g->jump_level])) == 0) {
  1312. for (field= table->field; fp= *field; field++)
  1313. if (bitmap_is_set(map, fp->field_index)) {
  1314. if (!(colp= tdbp->ColDB(g, (PSZ)fp->field_name, 0))) {
  1315. sprintf(g->Message, "Column %s not found in %s",
  1316. fp->field_name, tdbp->GetName());
  1317. brc= true;
  1318. goto fin;
  1319. } // endif colp
  1320. if ((brc= colp->InitValue(g)))
  1321. goto fin;
  1322. colp->AddColUse(U_P); // For PLG tables
  1323. } // endif
  1324. } else
  1325. brc= true;
  1326. fin:
  1327. g->jump_level--;
  1328. return brc;
  1329. } // end of CheckColumnList
  1330. /****************************************************************************/
  1331. /* IsOpened: returns true if the table is already opened. */
  1332. /****************************************************************************/
  1333. bool ha_connect::IsOpened(void)
  1334. {
  1335. return (!xp->CheckQuery(valid_query_id) && tdbp
  1336. && tdbp->GetUse() == USE_OPEN);
  1337. } // end of IsOpened
  1338. /****************************************************************************/
  1339. /* Close a CONNECT table. */
  1340. /****************************************************************************/
  1341. int ha_connect::CloseTable(PGLOBAL g)
  1342. {
  1343. int rc= CntCloseTable(g, tdbp, nox, abort);
  1344. tdbp= NULL;
  1345. sdvalin=NULL;
  1346. sdvalout=NULL;
  1347. valid_info= false;
  1348. indexing= -1;
  1349. nox= true;
  1350. abort= false;
  1351. return rc;
  1352. } // end of CloseTable
  1353. /***********************************************************************/
  1354. /* Make a pseudo record from current row values. Specific to MySQL. */
  1355. /***********************************************************************/
  1356. int ha_connect::MakeRecord(char *buf)
  1357. {
  1358. char *p, *fmt, val[32];
  1359. int rc= 0;
  1360. Field* *field;
  1361. Field *fp;
  1362. my_bitmap_map *org_bitmap;
  1363. CHARSET_INFO *charset= tdbp->data_charset();
  1364. //MY_BITMAP readmap;
  1365. MY_BITMAP *map;
  1366. PVAL value;
  1367. PCOL colp= NULL;
  1368. DBUG_ENTER("ha_connect::MakeRecord");
  1369. if (xtrace > 1)
  1370. htrc("Maps: read=%08X write=%08X vcol=%08X defr=%08X defw=%08X\n",
  1371. *table->read_set->bitmap, *table->write_set->bitmap,
  1372. *table->vcol_set->bitmap,
  1373. *table->def_read_set.bitmap, *table->def_write_set.bitmap);
  1374. // Avoid asserts in field::store() for columns that are not updated
  1375. org_bitmap= dbug_tmp_use_all_columns(table, table->write_set);
  1376. // This is for variable_length rows
  1377. memset(buf, 0, table->s->null_bytes);
  1378. // When sorting read_set selects all columns, so we use def_read_set
  1379. map= (MY_BITMAP *)&table->def_read_set;
  1380. // Make the pseudo record from field values
  1381. for (field= table->field; *field && !rc; field++) {
  1382. fp= *field;
  1383. if (fp->vcol_info && !fp->stored_in_db)
  1384. continue; // This is a virtual column
  1385. if (bitmap_is_set(map, fp->field_index) || alter) {
  1386. // This is a used field, fill the buffer with value
  1387. for (colp= tdbp->GetColumns(); colp; colp= colp->GetNext())
  1388. if ((!mrr || colp->GetKcol()) &&
  1389. !stricmp(colp->GetName(), (char*)fp->field_name))
  1390. break;
  1391. if (!colp) {
  1392. if (mrr)
  1393. continue;
  1394. htrc("Column %s not found\n", fp->field_name);
  1395. dbug_tmp_restore_column_map(table->write_set, org_bitmap);
  1396. DBUG_RETURN(HA_ERR_WRONG_IN_RECORD);
  1397. } // endif colp
  1398. value= colp->GetValue();
  1399. p= NULL;
  1400. // All this was better optimized
  1401. if (!value->IsNull()) {
  1402. switch (value->GetType()) {
  1403. case TYPE_DATE:
  1404. if (!sdvalout)
  1405. sdvalout= AllocateValue(xp->g, TYPE_STRING, 20);
  1406. switch (fp->type()) {
  1407. case MYSQL_TYPE_DATE:
  1408. fmt= "%Y-%m-%d";
  1409. break;
  1410. case MYSQL_TYPE_TIME:
  1411. fmt= "%H:%M:%S";
  1412. break;
  1413. case MYSQL_TYPE_YEAR:
  1414. fmt= "%Y";
  1415. break;
  1416. default:
  1417. fmt= "%Y-%m-%d %H:%M:%S";
  1418. break;
  1419. } // endswitch type
  1420. // Get date in the format required by MySQL fields
  1421. value->FormatValue(sdvalout, fmt);
  1422. p= sdvalout->GetCharValue();
  1423. rc= fp->store(p, strlen(p), charset, CHECK_FIELD_WARN);
  1424. break;
  1425. case TYPE_STRING:
  1426. case TYPE_DECIM:
  1427. p= value->GetCharString(val);
  1428. charset= tdbp->data_charset();
  1429. rc= fp->store(p, strlen(p), charset, CHECK_FIELD_WARN);
  1430. break;
  1431. case TYPE_DOUBLE:
  1432. rc= fp->store(value->GetFloatValue());
  1433. break;
  1434. default:
  1435. rc= fp->store(value->GetBigintValue(), value->IsUnsigned());
  1436. break;
  1437. } // endswitch Type
  1438. // Store functions returns 1 on overflow and -1 on fatal error
  1439. if (rc > 0) {
  1440. char buf[256];
  1441. THD *thd= ha_thd();
  1442. sprintf(buf, "Out of range value %.140s for column '%s' at row %ld",
  1443. value->GetCharString(val),
  1444. fp->field_name,
  1445. thd->get_stmt_da()->current_row_for_warning());
  1446. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, buf);
  1447. DBUG_PRINT("MakeRecord", ("%s", buf));
  1448. rc= 0;
  1449. } else if (rc < 0)
  1450. rc= HA_ERR_WRONG_IN_RECORD;
  1451. fp->set_notnull();
  1452. } else
  1453. fp->set_null();
  1454. } // endif bitmap
  1455. } // endfor field
  1456. // This is sometimes required for partition tables because the buf
  1457. // can be different from the table->record[0] buffer
  1458. if (buf != (char*)table->record[0])
  1459. memcpy(buf, table->record[0], table->s->stored_rec_length);
  1460. // This is copied from ha_tina and is necessary to avoid asserts
  1461. dbug_tmp_restore_column_map(table->write_set, org_bitmap);
  1462. DBUG_RETURN(rc);
  1463. } // end of MakeRecord
  1464. /***********************************************************************/
  1465. /* Set row values from a MySQL pseudo record. Specific to MySQL. */
  1466. /***********************************************************************/
  1467. int ha_connect::ScanRecord(PGLOBAL g, uchar *buf)
  1468. {
  1469. char attr_buffer[1024];
  1470. char data_buffer[1024];
  1471. char *fmt;
  1472. int rc= 0;
  1473. PCOL colp;
  1474. PVAL value;
  1475. Field *fp;
  1476. PTDBASE tp= (PTDBASE)tdbp;
  1477. String attribute(attr_buffer, sizeof(attr_buffer),
  1478. table->s->table_charset);
  1479. my_bitmap_map *bmap= dbug_tmp_use_all_columns(table, table->read_set);
  1480. const CHARSET_INFO *charset= tdbp->data_charset();
  1481. String data_charset_value(data_buffer, sizeof(data_buffer), charset);
  1482. // Scan the pseudo record for field values and set column values
  1483. for (Field **field=table->field ; *field ; field++) {
  1484. fp= *field;
  1485. if ((fp->vcol_info && !fp->stored_in_db) ||
  1486. fp->option_struct->special)
  1487. continue; // Is a virtual column possible here ???
  1488. if ((xmod == MODE_INSERT && tdbp->GetAmType() != TYPE_AM_MYSQL
  1489. && tdbp->GetAmType() != TYPE_AM_ODBC) ||
  1490. bitmap_is_set(table->write_set, fp->field_index)) {
  1491. for (colp= tp->GetSetCols(); colp; colp= colp->GetNext())
  1492. if (!stricmp(colp->GetName(), fp->field_name))
  1493. break;
  1494. if (!colp) {
  1495. htrc("Column %s not found\n", fp->field_name);
  1496. rc= HA_ERR_WRONG_IN_RECORD;
  1497. goto err;
  1498. } else
  1499. value= colp->GetValue();
  1500. // This is a used field, fill the value from the row buffer
  1501. // All this could be better optimized
  1502. if (fp->is_null()) {
  1503. if (colp->IsNullable())
  1504. value->SetNull(true);
  1505. value->Reset();
  1506. } else switch (value->GetType()) {
  1507. case TYPE_DOUBLE:
  1508. value->SetValue(fp->val_real());
  1509. break;
  1510. case TYPE_DATE:
  1511. if (!sdvalin)
  1512. sdvalin= (DTVAL*)AllocateValue(xp->g, TYPE_DATE, 19);
  1513. // Get date in the format produced by MySQL fields
  1514. switch (fp->type()) {
  1515. case MYSQL_TYPE_DATE:
  1516. fmt= "YYYY-MM-DD";
  1517. break;
  1518. case MYSQL_TYPE_TIME:
  1519. fmt= "hh:mm:ss";
  1520. break;
  1521. case MYSQL_TYPE_YEAR:
  1522. fmt= "YYYY";
  1523. break;
  1524. default:
  1525. fmt= "YYYY-MM-DD hh:mm:ss";
  1526. } // endswitch type
  1527. ((DTVAL*)sdvalin)->SetFormat(g, fmt, strlen(fmt));
  1528. fp->val_str(&attribute);
  1529. sdvalin->SetValue_psz(attribute.c_ptr_safe());
  1530. value->SetValue_pval(sdvalin);
  1531. break;
  1532. default:
  1533. fp->val_str(&attribute);
  1534. if (charset != &my_charset_bin) {
  1535. // Convert from SQL field charset to DATA_CHARSET
  1536. uint cnv_errors;
  1537. data_charset_value.copy(attribute.ptr(), attribute.length(),
  1538. attribute.charset(), charset, &cnv_errors);
  1539. value->SetValue_psz(data_charset_value.c_ptr_safe());
  1540. } else
  1541. value->SetValue_psz(attribute.c_ptr_safe());
  1542. break;
  1543. } // endswitch Type
  1544. #ifdef NEWCHANGE
  1545. } else if (xmod == MODE_UPDATE) {
  1546. PCOL cp;
  1547. for (cp= tp->GetColumns(); cp; cp= cp->GetNext())
  1548. if (!stricmp(colp->GetName(), cp->GetName()))
  1549. break;
  1550. if (!cp) {
  1551. rc= HA_ERR_WRONG_IN_RECORD;
  1552. goto err;
  1553. } // endif cp
  1554. value->SetValue_pval(cp->GetValue());
  1555. } else // mode Insert
  1556. value->Reset();
  1557. #else
  1558. } // endif bitmap_is_set
  1559. #endif
  1560. } // endfor field
  1561. err:
  1562. dbug_tmp_restore_column_map(table->read_set, bmap);
  1563. return rc;
  1564. } // end of ScanRecord
  1565. /***********************************************************************/
  1566. /* Check change in index column. Specific to MySQL. */
  1567. /* Should be elaborated to check for real changes. */
  1568. /***********************************************************************/
  1569. int ha_connect::CheckRecord(PGLOBAL g, const uchar *oldbuf, uchar *newbuf)
  1570. {
  1571. return ScanRecord(g, newbuf);
  1572. } // end of dummy CheckRecord
  1573. /***********************************************************************/
  1574. /* Return the where clause for remote indexed read. */
  1575. /***********************************************************************/
  1576. bool ha_connect::MakeKeyWhere(PGLOBAL g, char *qry, OPVAL op, char *q,
  1577. const void *key, int klen)
  1578. {
  1579. const uchar *ptr;
  1580. uint rem, len, stlen; //, prtlen;
  1581. bool nq, b= false;
  1582. Field *fp;
  1583. KEY *kfp;
  1584. KEY_PART_INFO *kpart;
  1585. if (active_index == MAX_KEY)
  1586. return false;
  1587. else if (!key) {
  1588. strcpy(g->Message, "MakeKeyWhere: No key");
  1589. return true;
  1590. } // endif key
  1591. strcat(qry, " WHERE (");
  1592. kfp= &table->key_info[active_index];
  1593. rem= kfp->user_defined_key_parts,
  1594. len= klen,
  1595. ptr= (const uchar *)key;
  1596. for (kpart= kfp->key_part; rem; rem--, kpart++) {
  1597. fp= kpart->field;
  1598. stlen= kpart->store_length;
  1599. // prtlen= MY_MIN(stlen, len);
  1600. nq= fp->str_needs_quotes();
  1601. if (b)
  1602. strcat(qry, " AND ");
  1603. else
  1604. b= true;
  1605. strcat(strncat(strcat(qry, q), fp->field_name, strlen(fp->field_name)), q);
  1606. switch (op) {
  1607. case OP_EQ:
  1608. case OP_GT:
  1609. case OP_GE:
  1610. strcat(qry, GetValStr(op, false));
  1611. break;
  1612. default:
  1613. strcat(qry, " ??? ");
  1614. } // endwitch op
  1615. if (nq)
  1616. strcat(qry, "'");
  1617. if (kpart->key_part_flag & HA_VAR_LENGTH_PART) {
  1618. String varchar;
  1619. uint var_length= uint2korr(ptr);
  1620. varchar.set_quick((char*) ptr+HA_KEY_BLOB_LENGTH,
  1621. var_length, &my_charset_bin);
  1622. strncat(qry, varchar.ptr(), varchar.length());
  1623. } else {
  1624. char strbuff[MAX_FIELD_WIDTH];
  1625. String str(strbuff, sizeof(strbuff), kpart->field->charset()), *res;
  1626. res= fp->val_str(&str, ptr);
  1627. strncat(qry, res->ptr(), res->length());
  1628. } // endif flag
  1629. if (nq)
  1630. strcat(qry, "'");
  1631. if (stlen >= len)
  1632. break;
  1633. len-= stlen;
  1634. /* For nullable columns, null-byte is already skipped before, that is
  1635. ptr was incremented by 1. Since store_length still counts null-byte,
  1636. we need to subtract 1 from store_length. */
  1637. ptr+= stlen - MY_TEST(kpart->null_bit);
  1638. } // endfor kpart
  1639. strcat(qry, ")");
  1640. return false;
  1641. } // end of MakeKeyWhere
  1642. /***********************************************************************/
  1643. /* Return the string representing an operator. */
  1644. /***********************************************************************/
  1645. const char *ha_connect::GetValStr(OPVAL vop, bool neg)
  1646. {
  1647. const char *val;
  1648. switch (vop) {
  1649. case OP_EQ:
  1650. val= " = ";
  1651. break;
  1652. case OP_NE:
  1653. val= " <> ";
  1654. break;
  1655. case OP_GT:
  1656. val= " > ";
  1657. break;
  1658. case OP_GE:
  1659. val= " >= ";
  1660. break;
  1661. case OP_LT:
  1662. val= " < ";
  1663. break;
  1664. case OP_LE:
  1665. val= " <= ";
  1666. break;
  1667. case OP_IN:
  1668. val= (neg) ? " NOT IN (" : " IN (";
  1669. break;
  1670. case OP_NULL:
  1671. val= (neg) ? " IS NOT NULL" : " IS NULL";
  1672. break;
  1673. case OP_LIKE:
  1674. val= " LIKE ";
  1675. break;
  1676. case OP_XX:
  1677. val= (neg) ? " NOT BETWEEN " : " BETWEEN ";
  1678. break;
  1679. case OP_EXIST:
  1680. val= (neg) ? " NOT EXISTS " : " EXISTS ";
  1681. break;
  1682. case OP_AND:
  1683. val= " AND ";
  1684. break;
  1685. case OP_OR:
  1686. val= " OR ";
  1687. break;
  1688. case OP_NOT:
  1689. val= " NOT ";
  1690. break;
  1691. case OP_CNC:
  1692. val= " || ";
  1693. break;
  1694. case OP_ADD:
  1695. val= " + ";
  1696. break;
  1697. case OP_SUB:
  1698. val= " - ";
  1699. break;
  1700. case OP_MULT:
  1701. val= " * ";
  1702. break;
  1703. case OP_DIV:
  1704. val= " / ";
  1705. break;
  1706. default:
  1707. val= " ? ";
  1708. break;
  1709. } /* endswitch */
  1710. return val;
  1711. } // end of GetValStr
  1712. #if 0
  1713. /***********************************************************************/
  1714. /* Check the WHERE condition and return a CONNECT filter. */
  1715. /***********************************************************************/
  1716. PFIL ha_connect::CheckFilter(PGLOBAL g)
  1717. {
  1718. return CondFilter(g, (Item *)pushed_cond);
  1719. } // end of CheckFilter
  1720. #endif // 0
  1721. /***********************************************************************/
  1722. /* Check the WHERE condition and return a CONNECT filter. */
  1723. /***********************************************************************/
  1724. PFIL ha_connect::CondFilter(PGLOBAL g, Item *cond)
  1725. {
  1726. unsigned int i;
  1727. bool ismul= false;
  1728. OPVAL vop= OP_XX;
  1729. PFIL filp= NULL;
  1730. if (!cond)
  1731. return NULL;
  1732. if (xtrace)
  1733. htrc("Cond type=%d\n", cond->type());
  1734. if (cond->type() == COND::COND_ITEM) {
  1735. PFIL fp;
  1736. Item_cond *cond_item= (Item_cond *)cond;
  1737. if (xtrace)
  1738. htrc("Cond: Ftype=%d name=%s\n", cond_item->functype(),
  1739. cond_item->func_name());
  1740. switch (cond_item->functype()) {
  1741. case Item_func::COND_AND_FUNC: vop= OP_AND; break;
  1742. case Item_func::COND_OR_FUNC: vop= OP_OR; break;
  1743. default: return NULL;
  1744. } // endswitch functype
  1745. List<Item>* arglist= cond_item->argument_list();
  1746. List_iterator<Item> li(*arglist);
  1747. Item *subitem;
  1748. for (i= 0; i < arglist->elements; i++)
  1749. if ((subitem= li++)) {
  1750. if (!(fp= CondFilter(g, subitem))) {
  1751. if (vop == OP_OR)
  1752. return NULL;
  1753. } else
  1754. filp= (filp) ? MakeFilter(g, filp, vop, fp) : fp;
  1755. } else
  1756. return NULL;
  1757. } else if (cond->type() == COND::FUNC_ITEM) {
  1758. unsigned int i;
  1759. bool iscol, neg= FALSE;
  1760. PCOL colp[2]= {NULL,NULL};
  1761. PPARM pfirst= NULL, pprec= NULL;
  1762. POPER pop;
  1763. Item_func *condf= (Item_func *)cond;
  1764. Item* *args= condf->arguments();
  1765. if (xtrace)
  1766. htrc("Func type=%d argnum=%d\n", condf->functype(),
  1767. condf->argument_count());
  1768. switch (condf->functype()) {
  1769. case Item_func::EQUAL_FUNC:
  1770. case Item_func::EQ_FUNC: vop= OP_EQ; break;
  1771. case Item_func::NE_FUNC: vop= OP_NE; break;
  1772. case Item_func::LT_FUNC: vop= OP_LT; break;
  1773. case Item_func::LE_FUNC: vop= OP_LE; break;
  1774. case Item_func::GE_FUNC: vop= OP_GE; break;
  1775. case Item_func::GT_FUNC: vop= OP_GT; break;
  1776. case Item_func::IN_FUNC: vop= OP_IN;
  1777. case Item_func::BETWEEN:
  1778. ismul= true;
  1779. neg= ((Item_func_opt_neg *)condf)->negated;
  1780. break;
  1781. default: return NULL;
  1782. } // endswitch functype
  1783. pop= (POPER)PlugSubAlloc(g, NULL, sizeof(OPER));
  1784. pop->Name= NULL;
  1785. pop->Val=vop;
  1786. pop->Mod= 0;
  1787. if (condf->argument_count() < 2)
  1788. return NULL;
  1789. for (i= 0; i < condf->argument_count(); i++) {
  1790. if (xtrace)
  1791. htrc("Argtype(%d)=%d\n", i, args[i]->type());
  1792. if (i >= 2 && !ismul) {
  1793. if (xtrace)
  1794. htrc("Unexpected arg for vop=%d\n", vop);
  1795. continue;
  1796. } // endif i
  1797. if ((iscol= args[i]->type() == COND::FIELD_ITEM)) {
  1798. Item_field *pField= (Item_field *)args[i];
  1799. // IN and BETWEEN clauses should be col VOP list
  1800. if (i && ismul)
  1801. return NULL;
  1802. if (pField->field->table != table ||
  1803. !(colp[i]= tdbp->ColDB(g, (PSZ)pField->field->field_name, 0)))
  1804. return NULL; // Column does not belong to this table
  1805. if (xtrace) {
  1806. htrc("Field index=%d\n", pField->field->field_index);
  1807. htrc("Field name=%s\n", pField->field->field_name);
  1808. } // endif xtrace
  1809. } else {
  1810. char buff[256];
  1811. String *res, tmp(buff, sizeof(buff), &my_charset_bin);
  1812. Item_basic_constant *pval= (Item_basic_constant *)args[i];
  1813. PPARM pp= (PPARM)PlugSubAlloc(g, NULL, sizeof(PARM));
  1814. // IN and BETWEEN clauses should be col VOP list
  1815. if (!i && (ismul))
  1816. return NULL;
  1817. if ((res= pval->val_str(&tmp)) == NULL)
  1818. return NULL; // To be clarified
  1819. switch (args[i]->real_type()) {
  1820. case COND::STRING_ITEM:
  1821. pp->Type= TYPE_STRING;
  1822. pp->Value= PlugSubAlloc(g, NULL, res->length() + 1);
  1823. strncpy((char*)pp->Value, res->ptr(), res->length() + 1);
  1824. break;
  1825. case COND::INT_ITEM:
  1826. pp->Type= TYPE_INT;
  1827. pp->Value= PlugSubAlloc(g, NULL, sizeof(int));
  1828. *((int*)pp->Value)= (int)pval->val_int();
  1829. break;
  1830. case COND::DATE_ITEM:
  1831. pp->Type= TYPE_DATE;
  1832. pp->Value= PlugSubAlloc(g, NULL, sizeof(int));
  1833. *((int*)pp->Value)= (int)pval->val_int_from_date();
  1834. break;
  1835. case COND::REAL_ITEM:
  1836. pp->Type= TYPE_DOUBLE;
  1837. pp->Value= PlugSubAlloc(g, NULL, sizeof(double));
  1838. *((double*)pp->Value)= pval->val_real();
  1839. break;
  1840. case COND::DECIMAL_ITEM:
  1841. pp->Type= TYPE_DOUBLE;
  1842. pp->Value= PlugSubAlloc(g, NULL, sizeof(double));
  1843. *((double*)pp->Value)= pval->val_real_from_decimal();
  1844. break;
  1845. case COND::CACHE_ITEM: // Possible ???
  1846. case COND::NULL_ITEM: // TODO: handle this
  1847. default:
  1848. return NULL;
  1849. } // endswitch type
  1850. if (xtrace)
  1851. htrc("Value=%.*s\n", res->length(), res->ptr());
  1852. // Append the value to the argument list
  1853. if (pprec)
  1854. pprec->Next= pp;
  1855. else
  1856. pfirst= pp;
  1857. pp->Domain= i;
  1858. pp->Next= NULL;
  1859. pprec= pp;
  1860. } // endif type
  1861. } // endfor i
  1862. filp= MakeFilter(g, colp, pop, pfirst, neg);
  1863. } else {
  1864. if (xtrace)
  1865. htrc("Unsupported condition\n");
  1866. return NULL;
  1867. } // endif's type
  1868. return filp;
  1869. } // end of CondFilter
  1870. /***********************************************************************/
  1871. /* Check the WHERE condition and return a MYSQL/ODBC/WQL filter. */
  1872. /***********************************************************************/
  1873. PCFIL ha_connect::CheckCond(PGLOBAL g, PCFIL filp, AMT tty, Item *cond)
  1874. {
  1875. char *body= filp->Body;
  1876. unsigned int i;
  1877. bool ismul= false, x= (tty == TYPE_AM_MYX || tty == TYPE_AM_XDBC);
  1878. OPVAL vop= OP_XX;
  1879. if (!cond)
  1880. return NULL;
  1881. if (xtrace)
  1882. htrc("Cond type=%d\n", cond->type());
  1883. if (cond->type() == COND::COND_ITEM) {
  1884. char *p1, *p2;
  1885. Item_cond *cond_item= (Item_cond *)cond;
  1886. if (x)
  1887. return NULL;
  1888. if (xtrace)
  1889. htrc("Cond: Ftype=%d name=%s\n", cond_item->functype(),
  1890. cond_item->func_name());
  1891. switch (cond_item->functype()) {
  1892. case Item_func::COND_AND_FUNC: vop= OP_AND; break;
  1893. case Item_func::COND_OR_FUNC: vop= OP_OR; break;
  1894. default: return NULL;
  1895. } // endswitch functype
  1896. List<Item>* arglist= cond_item->argument_list();
  1897. List_iterator<Item> li(*arglist);
  1898. Item *subitem;
  1899. p1= body + strlen(body);
  1900. strcpy(p1, "(");
  1901. p2= p1 + 1;
  1902. for (i= 0; i < arglist->elements; i++)
  1903. if ((subitem= li++)) {
  1904. if (!CheckCond(g, filp, tty, subitem)) {
  1905. if (vop == OP_OR)
  1906. return NULL;
  1907. else
  1908. *p2= 0;
  1909. } else {
  1910. p1= p2 + strlen(p2);
  1911. strcpy(p1, GetValStr(vop, false));
  1912. p2= p1 + strlen(p1);
  1913. } // endif CheckCond
  1914. } else
  1915. return NULL;
  1916. if (*p1 != '(')
  1917. strcpy(p1, ")");
  1918. else
  1919. return NULL;
  1920. } else if (cond->type() == COND::FUNC_ITEM) {
  1921. unsigned int i;
  1922. // int n;
  1923. bool iscol, neg= FALSE;
  1924. Item_func *condf= (Item_func *)cond;
  1925. Item* *args= condf->arguments();
  1926. if (xtrace)
  1927. htrc("Func type=%d argnum=%d\n", condf->functype(),
  1928. condf->argument_count());
  1929. // neg= condf->
  1930. switch (condf->functype()) {
  1931. case Item_func::EQUAL_FUNC:
  1932. case Item_func::EQ_FUNC: vop= OP_EQ; break;
  1933. case Item_func::NE_FUNC: vop= OP_NE; break;
  1934. case Item_func::LT_FUNC: vop= OP_LT; break;
  1935. case Item_func::LE_FUNC: vop= OP_LE; break;
  1936. case Item_func::GE_FUNC: vop= OP_GE; break;
  1937. case Item_func::GT_FUNC: vop= OP_GT; break;
  1938. case Item_func::IN_FUNC: vop= OP_IN;
  1939. case Item_func::BETWEEN:
  1940. ismul= true;
  1941. neg= ((Item_func_opt_neg *)condf)->negated;
  1942. break;
  1943. default: return NULL;
  1944. } // endswitch functype
  1945. if (condf->argument_count() < 2)
  1946. return NULL;
  1947. else if (ismul && tty == TYPE_AM_WMI)
  1948. return NULL; // Not supported by WQL
  1949. if (x && (neg || !(vop == OP_EQ || vop == OP_IN)))
  1950. return NULL;
  1951. for (i= 0; i < condf->argument_count(); i++) {
  1952. if (xtrace)
  1953. htrc("Argtype(%d)=%d\n", i, args[i]->type());
  1954. if (i >= 2 && !ismul) {
  1955. if (xtrace)
  1956. htrc("Unexpected arg for vop=%d\n", vop);
  1957. continue;
  1958. } // endif i
  1959. if ((iscol= args[i]->type() == COND::FIELD_ITEM)) {
  1960. const char *fnm;
  1961. ha_field_option_struct *fop;
  1962. Item_field *pField= (Item_field *)args[i];
  1963. if (x && i)
  1964. return NULL;
  1965. if (pField->field->table != table)
  1966. return NULL; // Field does not belong to this table
  1967. else
  1968. fop= GetFieldOptionStruct(pField->field);
  1969. if (fop && fop->special) {
  1970. if (tty == TYPE_AM_TBL && !stricmp(fop->special, "TABID"))
  1971. fnm= "TABID";
  1972. else if (tty == TYPE_AM_PLG)
  1973. fnm= fop->special;
  1974. else
  1975. return NULL;
  1976. } else if (tty == TYPE_AM_TBL)
  1977. return NULL;
  1978. else
  1979. fnm= pField->field->field_name;
  1980. if (xtrace) {
  1981. htrc("Field index=%d\n", pField->field->field_index);
  1982. htrc("Field name=%s\n", pField->field->field_name);
  1983. } // endif xtrace
  1984. // IN and BETWEEN clauses should be col VOP list
  1985. if (i && ismul)
  1986. return NULL;
  1987. strcat(body, fnm);
  1988. } else if (args[i]->type() == COND::FUNC_ITEM) {
  1989. if (tty == TYPE_AM_MYSQL) {
  1990. if (!CheckCond(g, filp, tty, args[i]))
  1991. return NULL;
  1992. } else
  1993. return NULL;
  1994. } else {
  1995. char buff[256];
  1996. String *res, tmp(buff, sizeof(buff), &my_charset_bin);
  1997. Item_basic_constant *pval= (Item_basic_constant *)args[i];
  1998. switch (args[i]->real_type()) {
  1999. case COND::STRING_ITEM:
  2000. case COND::INT_ITEM:
  2001. case COND::REAL_ITEM:
  2002. case COND::NULL_ITEM:
  2003. case COND::DECIMAL_ITEM:
  2004. case COND::DATE_ITEM:
  2005. case COND::CACHE_ITEM:
  2006. break;
  2007. default:
  2008. return NULL;
  2009. } // endswitch type
  2010. if ((res= pval->val_str(&tmp)) == NULL)
  2011. return NULL; // To be clarified
  2012. if (xtrace)
  2013. htrc("Value=%.*s\n", res->length(), res->ptr());
  2014. // IN and BETWEEN clauses should be col VOP list
  2015. if (!i && (x || ismul))
  2016. return NULL;
  2017. if (!x) {
  2018. // Append the value to the filter
  2019. if (args[i]->field_type() == MYSQL_TYPE_VARCHAR)
  2020. strcat(strcat(strcat(body, "'"), res->ptr()), "'");
  2021. else
  2022. strncat(body, res->ptr(), res->length());
  2023. } else {
  2024. if (args[i]->field_type() == MYSQL_TYPE_VARCHAR) {
  2025. // Add the command to the list
  2026. PCMD *ncp, cmdp= new(g) CMD(g, (char*)res->ptr());
  2027. for (ncp= &filp->Cmds; *ncp; ncp= &(*ncp)->Next) ;
  2028. *ncp= cmdp;
  2029. } else
  2030. return NULL;
  2031. } // endif x
  2032. } // endif
  2033. if (!x) {
  2034. if (!i)
  2035. strcat(body, GetValStr(vop, neg));
  2036. else if (vop == OP_XX && i == 1)
  2037. strcat(body, " AND ");
  2038. else if (vop == OP_IN)
  2039. strcat(body, (i == condf->argument_count() - 1) ? ")" : ",");
  2040. } // endif x
  2041. } // endfor i
  2042. if (x)
  2043. filp->Op= vop;
  2044. } else {
  2045. if (xtrace)
  2046. htrc("Unsupported condition\n");
  2047. return NULL;
  2048. } // endif's type
  2049. return filp;
  2050. } // end of CheckCond
  2051. /**
  2052. Push condition down to the table handler.
  2053. @param cond Condition to be pushed. The condition tree must not be
  2054. modified by the caller.
  2055. @return
  2056. The 'remainder' condition that caller must use to filter out records.
  2057. NULL means the handler will not return rows that do not match the
  2058. passed condition.
  2059. @note
  2060. CONNECT handles the filtering only for table types that construct
  2061. an SQL or WQL query, but still leaves it to MySQL because only some
  2062. parts of the filter may be relevant.
  2063. The first suballocate finds the position where the string will be
  2064. constructed in the sarea. The second one does make the suballocation
  2065. with the proper length.
  2066. */
  2067. const COND *ha_connect::cond_push(const COND *cond)
  2068. {
  2069. DBUG_ENTER("ha_connect::cond_push");
  2070. if (tdbp) {
  2071. PGLOBAL& g= xp->g;
  2072. AMT tty= tdbp->GetAmType();
  2073. bool x= (tty == TYPE_AM_MYX || tty == TYPE_AM_XDBC);
  2074. bool b= (tty == TYPE_AM_WMI || tty == TYPE_AM_ODBC ||
  2075. tty == TYPE_AM_TBL || tty == TYPE_AM_MYSQL ||
  2076. tty == TYPE_AM_PLG || x);
  2077. if (b) {
  2078. PCFIL filp= (PCFIL)PlugSubAlloc(g, NULL, sizeof(CONDFIL));
  2079. filp->Body= (char*)PlugSubAlloc(g, NULL, (x) ? 128 : 0);
  2080. *filp->Body= 0;
  2081. filp->Op= OP_XX;
  2082. filp->Cmds= NULL;
  2083. if (CheckCond(g, filp, tty, (Item *)cond)) {
  2084. if (xtrace)
  2085. htrc("cond_push: %s\n", filp->Body);
  2086. if (!x)
  2087. PlugSubAlloc(g, NULL, strlen(filp->Body) + 1);
  2088. else
  2089. cond= NULL; // Does this work?
  2090. tdbp->SetCondFil(filp);
  2091. } else if (x && cond)
  2092. tdbp->SetCondFil(filp); // Wrong filter
  2093. } else
  2094. tdbp->SetFilter(CondFilter(g, (Item *)cond));
  2095. } // endif tdbp
  2096. // Let MySQL do the filtering
  2097. DBUG_RETURN(cond);
  2098. } // end of cond_push
  2099. /**
  2100. Number of rows in table. It will only be called if
  2101. (table_flags() & (HA_HAS_RECORDS | HA_STATS_RECORDS_IS_EXACT)) != 0
  2102. */
  2103. ha_rows ha_connect::records()
  2104. {
  2105. if (!valid_info)
  2106. info(HA_STATUS_VARIABLE);
  2107. if (tdbp)
  2108. return stats.records;
  2109. else
  2110. return HA_POS_ERROR;
  2111. } // end of records
  2112. /**
  2113. Return an error message specific to this handler.
  2114. @param error error code previously returned by handler
  2115. @param buf pointer to String where to add error message
  2116. @return
  2117. Returns true if this is a temporary error
  2118. */
  2119. bool ha_connect::get_error_message(int error, String* buf)
  2120. {
  2121. DBUG_ENTER("ha_connect::get_error_message");
  2122. if (xp && xp->g) {
  2123. PGLOBAL g= xp->g;
  2124. char msg[3072]; // MAX_STR * 3
  2125. uint dummy_errors;
  2126. uint32 len= copy_and_convert(msg, strlen(g->Message) * 3,
  2127. system_charset_info,
  2128. g->Message, strlen(g->Message),
  2129. &my_charset_latin1,
  2130. &dummy_errors);
  2131. if (trace)
  2132. htrc("GEM(%u): %s\n", len, g->Message);
  2133. msg[len]= '\0';
  2134. buf->copy(msg, (uint)strlen(msg), system_charset_info);
  2135. } else
  2136. buf->copy("Cannot retrieve msg", 19, system_charset_info);
  2137. DBUG_RETURN(false);
  2138. } // end of get_error_message
  2139. /**
  2140. Convert a filename partition name to system
  2141. */
  2142. static char *decode(PGLOBAL g, const char *pn)
  2143. {
  2144. char *buf= (char*)PlugSubAlloc(g, NULL, strlen(pn) + 1);
  2145. uint dummy_errors;
  2146. uint32 len= copy_and_convert(buf, strlen(pn) + 1,
  2147. system_charset_info,
  2148. pn, strlen(pn),
  2149. &my_charset_filename,
  2150. &dummy_errors);
  2151. buf[len]= '\0';
  2152. return buf;
  2153. } // end of decode
  2154. /**
  2155. @brief
  2156. Used for opening tables. The name will be the name of the file.
  2157. @details
  2158. A table is opened when it needs to be opened; e.g. when a request comes in
  2159. for a SELECT on the table (tables are not open and closed for each request,
  2160. they are cached).
  2161. Called from handler.cc by handler::ha_open(). The server opens all tables by
  2162. calling ha_open() which then calls the handler specific open().
  2163. @note
  2164. For CONNECT no open can be done here because field information is not yet
  2165. updated. >>>>> TO BE CHECKED <<<<<
  2166. (Thread information could be get by using 'ha_thd')
  2167. @see
  2168. handler::ha_open() in handler.cc
  2169. */
  2170. int ha_connect::open(const char *name, int mode, uint test_if_locked)
  2171. {
  2172. int rc= 0;
  2173. DBUG_ENTER("ha_connect::open");
  2174. if (xtrace)
  2175. htrc("open: name=%s mode=%d test=%u\n", name, mode, test_if_locked);
  2176. if (!(share= get_share()))
  2177. DBUG_RETURN(1);
  2178. thr_lock_data_init(&share->lock,&lock,NULL);
  2179. // Try to get the user if possible
  2180. xp= GetUser(ha_thd(), xp);
  2181. PGLOBAL g= (xp) ? xp->g : NULL;
  2182. // Try to set the database environment
  2183. if (g) {
  2184. rc= (CntCheckDB(g, this, name)) ? (-2) : 0;
  2185. if (g->Mrr) {
  2186. // This should only happen for the mrr secondary handler
  2187. mrr= true;
  2188. g->Mrr= false;
  2189. } else
  2190. mrr= false;
  2191. #if defined(WITH_PARTITION_STORAGE_ENGINE)
  2192. if (table->part_info) {
  2193. if (GetStringOption("Filename") || GetStringOption("Tabname")
  2194. || GetStringOption("Connect")) {
  2195. strcpy(partname, decode(g, strrchr(name, '#') + 1));
  2196. // strcpy(partname, table->part_info->curr_part_elem->partition_name);
  2197. part_id= &table->part_info->full_part_field_set;
  2198. } else // Inward table
  2199. strcpy(partname, strrchr(name, slash) + 1);
  2200. part_id= &table->part_info->full_part_field_set; // Temporary
  2201. } // endif part_info
  2202. #endif // WITH_PARTITION_STORAGE_ENGINE
  2203. } else
  2204. rc= HA_ERR_INTERNAL_ERROR;
  2205. DBUG_RETURN(rc);
  2206. } // end of open
  2207. /**
  2208. @brief
  2209. Make the indexes for this table
  2210. */
  2211. int ha_connect::optimize(THD* thd, HA_CHECK_OPT* check_opt)
  2212. {
  2213. int rc= 0;
  2214. PGLOBAL& g= xp->g;
  2215. PDBUSER dup= PlgGetUser(g);
  2216. // Ignore error on the opt file
  2217. dup->Check &= ~CHK_OPT;
  2218. tdbp= GetTDB(g);
  2219. dup->Check |= CHK_OPT;
  2220. if (tdbp) {
  2221. bool dop= IsTypeIndexable(GetRealType(NULL));
  2222. bool dox= (((PTDBASE)tdbp)->GetDef()->Indexable() == 1);
  2223. if ((rc= ((PTDBASE)tdbp)->ResetTableOpt(g, dop, dox))) {
  2224. if (rc == RC_INFO) {
  2225. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  2226. rc= 0;
  2227. } else
  2228. rc= HA_ERR_INTERNAL_ERROR;
  2229. } // endif rc
  2230. } else
  2231. rc= HA_ERR_INTERNAL_ERROR;
  2232. return rc;
  2233. } // end of optimize
  2234. /**
  2235. @brief
  2236. Closes a table.
  2237. @details
  2238. Called from sql_base.cc, sql_select.cc, and table.cc. In sql_select.cc it is
  2239. only used to close up temporary tables or during the process where a
  2240. temporary table is converted over to being a myisam table.
  2241. For sql_base.cc look at close_data_tables().
  2242. @see
  2243. sql_base.cc, sql_select.cc and table.cc
  2244. */
  2245. int ha_connect::close(void)
  2246. {
  2247. int rc= 0;
  2248. DBUG_ENTER("ha_connect::close");
  2249. // If this is called by a later query, the table may have
  2250. // been already closed and the tdbp is not valid anymore.
  2251. if (tdbp && xp->last_query_id == valid_query_id)
  2252. rc= CloseTable(xp->g);
  2253. DBUG_RETURN(rc);
  2254. } // end of close
  2255. /**
  2256. @brief
  2257. write_row() inserts a row. No extra() hint is given currently if a bulk load
  2258. is happening. buf() is a byte array of data. You can use the field
  2259. information to extract the data from the native byte array type.
  2260. @details
  2261. Example of this would be:
  2262. @code
  2263. for (Field **field=table->field ; *field ; field++)
  2264. {
  2265. ...
  2266. }
  2267. @endcode
  2268. See ha_tina.cc for an example of extracting all of the data as strings.
  2269. ha_berekly.cc has an example of how to store it intact by "packing" it
  2270. for ha_berkeley's own native storage type.
  2271. See the note for update_row() on auto_increments and timestamps. This
  2272. case also applies to write_row().
  2273. Called from item_sum.cc, item_sum.cc, sql_acl.cc, sql_insert.cc,
  2274. sql_insert.cc, sql_select.cc, sql_table.cc, sql_udf.cc, and sql_update.cc.
  2275. @see
  2276. item_sum.cc, item_sum.cc, sql_acl.cc, sql_insert.cc,
  2277. sql_insert.cc, sql_select.cc, sql_table.cc, sql_udf.cc and sql_update.cc
  2278. */
  2279. int ha_connect::write_row(uchar *buf)
  2280. {
  2281. int rc= 0;
  2282. PGLOBAL& g= xp->g;
  2283. DBUG_ENTER("ha_connect::write_row");
  2284. // This is not tested yet
  2285. if (xmod == MODE_ALTER) {
  2286. if (IsPartitioned() && GetStringOption("Filename", NULL))
  2287. // Why does this happen now that check_if_supported_inplace_alter is called?
  2288. DBUG_RETURN(0); // Alter table on an outward partition table
  2289. xmod= MODE_INSERT;
  2290. } else if (xmod == MODE_ANY)
  2291. DBUG_RETURN(0); // Probably never met
  2292. // Open the table if it was not opened yet (locked)
  2293. if (!IsOpened() || xmod != tdbp->GetMode()) {
  2294. if (IsOpened())
  2295. CloseTable(g);
  2296. if ((rc= OpenTable(g)))
  2297. DBUG_RETURN(rc);
  2298. } // endif isopened
  2299. #if 0 // AUTO_INCREMENT NIY
  2300. if (table->next_number_field && buf == table->record[0]) {
  2301. int error;
  2302. if ((error= update_auto_increment()))
  2303. return error;
  2304. } // endif nex_number_field
  2305. #endif // 0
  2306. // Set column values from the passed pseudo record
  2307. if ((rc= ScanRecord(g, buf)))
  2308. DBUG_RETURN(rc);
  2309. // Return result code from write operation
  2310. if (CntWriteRow(g, tdbp)) {
  2311. DBUG_PRINT("write_row", ("%s", g->Message));
  2312. htrc("write_row: %s\n", g->Message);
  2313. rc= HA_ERR_INTERNAL_ERROR;
  2314. } else // Table is modified
  2315. nox= false; // Indexes to be remade
  2316. DBUG_RETURN(rc);
  2317. } // end of write_row
  2318. /**
  2319. @brief
  2320. Yes, update_row() does what you expect, it updates a row. old_data will have
  2321. the previous row record in it, while new_data will have the newest data in it.
  2322. Keep in mind that the server can do updates based on ordering if an ORDER BY
  2323. clause was used. Consecutive ordering is not guaranteed.
  2324. @details
  2325. Currently new_data will not have an updated auto_increament record, or
  2326. and updated timestamp field. You can do these for example by doing:
  2327. @code
  2328. if (table->timestamp_field_type & TIMESTAMP_AUTO_SET_ON_UPDATE)
  2329. table->timestamp_field->set_time();
  2330. if (table->next_number_field && record == table->record[0])
  2331. update_auto_increment();
  2332. @endcode
  2333. Called from sql_select.cc, sql_acl.cc, sql_update.cc, and sql_insert.cc.
  2334. @see
  2335. sql_select.cc, sql_acl.cc, sql_update.cc and sql_insert.cc
  2336. */
  2337. int ha_connect::update_row(const uchar *old_data, uchar *new_data)
  2338. {
  2339. int rc= 0;
  2340. PGLOBAL& g= xp->g;
  2341. DBUG_ENTER("ha_connect::update_row");
  2342. if (xtrace > 1)
  2343. htrc("update_row: old=%s new=%s\n", old_data, new_data);
  2344. // Check values for possible change in indexed column
  2345. if ((rc= CheckRecord(g, old_data, new_data)))
  2346. DBUG_RETURN(rc);
  2347. if (CntUpdateRow(g, tdbp)) {
  2348. DBUG_PRINT("update_row", ("%s", g->Message));
  2349. htrc("update_row CONNECT: %s\n", g->Message);
  2350. rc= HA_ERR_INTERNAL_ERROR;
  2351. } else
  2352. nox= false; // Table is modified
  2353. DBUG_RETURN(rc);
  2354. } // end of update_row
  2355. /**
  2356. @brief
  2357. This will delete a row. buf will contain a copy of the row to be deleted.
  2358. The server will call this right after the current row has been called (from
  2359. either a previous rnd_nexT() or index call).
  2360. @details
  2361. If you keep a pointer to the last row or can access a primary key it will
  2362. make doing the deletion quite a bit easier. Keep in mind that the server does
  2363. not guarantee consecutive deletions. ORDER BY clauses can be used.
  2364. Called in sql_acl.cc and sql_udf.cc to manage internal table
  2365. information. Called in sql_delete.cc, sql_insert.cc, and
  2366. sql_select.cc. In sql_select it is used for removing duplicates
  2367. while in insert it is used for REPLACE calls.
  2368. @see
  2369. sql_acl.cc, sql_udf.cc, sql_delete.cc, sql_insert.cc and sql_select.cc
  2370. */
  2371. int ha_connect::delete_row(const uchar *buf)
  2372. {
  2373. int rc= 0;
  2374. DBUG_ENTER("ha_connect::delete_row");
  2375. if (CntDeleteRow(xp->g, tdbp, false)) {
  2376. rc= HA_ERR_INTERNAL_ERROR;
  2377. htrc("delete_row CONNECT: %s\n", xp->g->Message);
  2378. } else
  2379. nox= false; // To remake indexes
  2380. DBUG_RETURN(rc);
  2381. } // end of delete_row
  2382. /****************************************************************************/
  2383. /* We seem to come here at the begining of an index use. */
  2384. /****************************************************************************/
  2385. int ha_connect::index_init(uint idx, bool sorted)
  2386. {
  2387. int rc;
  2388. PGLOBAL& g= xp->g;
  2389. DBUG_ENTER("index_init");
  2390. if (xtrace)
  2391. htrc("index_init: this=%p idx=%u sorted=%d\n", this, idx, sorted);
  2392. if (GetIndexType(GetRealType()) == 2) {
  2393. if (xmod == MODE_READ)
  2394. // This is a remote index
  2395. xmod= MODE_READX;
  2396. if (!(rc= rnd_init(0))) {
  2397. // if (xmod == MODE_READX) {
  2398. active_index= idx;
  2399. indexing= IsUnique(idx) ? 1 : 2;
  2400. // } else {
  2401. // active_index= MAX_KEY;
  2402. // indexing= 0;
  2403. // } // endif xmod
  2404. } //endif rc
  2405. DBUG_RETURN(rc);
  2406. } // endif index type
  2407. if ((rc= rnd_init(0)))
  2408. DBUG_RETURN(rc);
  2409. if (locked == 2) {
  2410. // Indexes are not updated in lock write mode
  2411. active_index= MAX_KEY;
  2412. indexing= 0;
  2413. DBUG_RETURN(0);
  2414. } // endif locked
  2415. indexing= CntIndexInit(g, tdbp, (signed)idx, sorted);
  2416. if (indexing <= 0) {
  2417. DBUG_PRINT("index_init", ("%s", g->Message));
  2418. htrc("index_init CONNECT: %s\n", g->Message);
  2419. active_index= MAX_KEY;
  2420. rc= HA_ERR_INTERNAL_ERROR;
  2421. } else if (((PTDBDOX)tdbp)->To_Kindex) {
  2422. if (((PTDBDOX)tdbp)->To_Kindex->GetNum_K()) {
  2423. if (((PTDBASE)tdbp)->GetFtype() != RECFM_NAF)
  2424. ((PTDBDOX)tdbp)->GetTxfp()->ResetBuffer(g);
  2425. active_index= idx;
  2426. } else // Void table
  2427. indexing= 0;
  2428. rc= 0;
  2429. } // endif indexing
  2430. if (xtrace)
  2431. htrc("index_init: rc=%d indexing=%d active_index=%d\n",
  2432. rc, indexing, active_index);
  2433. DBUG_RETURN(rc);
  2434. } // end of index_init
  2435. /****************************************************************************/
  2436. /* We seem to come here at the end of an index use. */
  2437. /****************************************************************************/
  2438. int ha_connect::index_end()
  2439. {
  2440. DBUG_ENTER("index_end");
  2441. active_index= MAX_KEY;
  2442. ds_mrr.dsmrr_close();
  2443. DBUG_RETURN(rnd_end());
  2444. } // end of index_end
  2445. /****************************************************************************/
  2446. /* This is internally called by all indexed reading functions. */
  2447. /****************************************************************************/
  2448. int ha_connect::ReadIndexed(uchar *buf, OPVAL op, const uchar *key, uint key_len)
  2449. {
  2450. int rc;
  2451. //statistic_increment(ha_read_key_count, &LOCK_status);
  2452. switch (CntIndexRead(xp->g, tdbp, op, key, (int)key_len, mrr)) {
  2453. case RC_OK:
  2454. xp->fnd++;
  2455. rc= MakeRecord((char*)buf);
  2456. break;
  2457. case RC_EF: // End of file
  2458. rc= HA_ERR_END_OF_FILE;
  2459. break;
  2460. case RC_NF: // Not found
  2461. xp->nfd++;
  2462. rc= (op == OP_SAME) ? HA_ERR_END_OF_FILE : HA_ERR_KEY_NOT_FOUND;
  2463. break;
  2464. default: // Read error
  2465. DBUG_PRINT("ReadIndexed", ("%s", xp->g->Message));
  2466. htrc("ReadIndexed: %s\n", xp->g->Message);
  2467. rc= HA_ERR_INTERNAL_ERROR;
  2468. break;
  2469. } // endswitch RC
  2470. if (xtrace > 1)
  2471. htrc("ReadIndexed: op=%d rc=%d\n", op, rc);
  2472. table->status= (rc == RC_OK) ? 0 : STATUS_NOT_FOUND;
  2473. return rc;
  2474. } // end of ReadIndexed
  2475. #ifdef NOT_USED
  2476. /**
  2477. @brief
  2478. Positions an index cursor to the index specified in the handle. Fetches the
  2479. row if available. If the key value is null, begin at the first key of the
  2480. index.
  2481. */
  2482. int ha_connect::index_read_map(uchar *buf, const uchar *key,
  2483. key_part_map keypart_map __attribute__((unused)),
  2484. enum ha_rkey_function find_flag
  2485. __attribute__((unused)))
  2486. {
  2487. DBUG_ENTER("ha_connect::index_read");
  2488. DBUG_RETURN(HA_ERR_WRONG_COMMAND);
  2489. }
  2490. #endif // NOT_USED
  2491. /****************************************************************************/
  2492. /* This is called by handler::index_read_map. */
  2493. /****************************************************************************/
  2494. int ha_connect::index_read(uchar * buf, const uchar * key, uint key_len,
  2495. enum ha_rkey_function find_flag)
  2496. {
  2497. int rc;
  2498. OPVAL op= OP_XX;
  2499. DBUG_ENTER("ha_connect::index_read");
  2500. switch(find_flag) {
  2501. case HA_READ_KEY_EXACT: op= OP_EQ; break;
  2502. case HA_READ_AFTER_KEY: op= OP_GT; break;
  2503. case HA_READ_KEY_OR_NEXT: op= OP_GE; break;
  2504. default: DBUG_RETURN(-1); break;
  2505. } // endswitch find_flag
  2506. if (xtrace > 1)
  2507. htrc("%p index_read: op=%d\n", this, op);
  2508. if (indexing > 0) {
  2509. rc= ReadIndexed(buf, op, key, key_len);
  2510. if (rc == HA_ERR_INTERNAL_ERROR) {
  2511. nox= true; // To block making indexes
  2512. abort= true; // Don't rename temp file
  2513. } // endif rc
  2514. } else
  2515. rc= HA_ERR_INTERNAL_ERROR; // HA_ERR_KEY_NOT_FOUND ?
  2516. DBUG_RETURN(rc);
  2517. } // end of index_read
  2518. /**
  2519. @brief
  2520. Used to read forward through the index.
  2521. */
  2522. int ha_connect::index_next(uchar *buf)
  2523. {
  2524. int rc;
  2525. DBUG_ENTER("ha_connect::index_next");
  2526. //statistic_increment(ha_read_next_count, &LOCK_status);
  2527. if (indexing > 0)
  2528. rc= ReadIndexed(buf, OP_NEXT);
  2529. else if (!indexing)
  2530. rc= rnd_next(buf);
  2531. else
  2532. rc= HA_ERR_INTERNAL_ERROR;
  2533. DBUG_RETURN(rc);
  2534. } // end of index_next
  2535. /**
  2536. @brief
  2537. Used to read backwards through the index.
  2538. */
  2539. int ha_connect::index_prev(uchar *buf)
  2540. {
  2541. DBUG_ENTER("ha_connect::index_prev");
  2542. int rc;
  2543. if (indexing > 0) {
  2544. rc= ReadIndexed(buf, OP_PREV);
  2545. } else
  2546. rc= HA_ERR_WRONG_COMMAND;
  2547. DBUG_RETURN(rc);
  2548. } // end of index_prev
  2549. /**
  2550. @brief
  2551. index_first() asks for the first key in the index.
  2552. @details
  2553. Called from opt_range.cc, opt_sum.cc, sql_handler.cc, and sql_select.cc.
  2554. @see
  2555. opt_range.cc, opt_sum.cc, sql_handler.cc and sql_select.cc
  2556. */
  2557. int ha_connect::index_first(uchar *buf)
  2558. {
  2559. int rc;
  2560. DBUG_ENTER("ha_connect::index_first");
  2561. if (indexing > 0)
  2562. rc= ReadIndexed(buf, OP_FIRST);
  2563. else if (indexing < 0)
  2564. rc= HA_ERR_INTERNAL_ERROR;
  2565. else if (CntRewindTable(xp->g, tdbp)) {
  2566. table->status= STATUS_NOT_FOUND;
  2567. rc= HA_ERR_INTERNAL_ERROR;
  2568. } else
  2569. rc= rnd_next(buf);
  2570. DBUG_RETURN(rc);
  2571. } // end of index_first
  2572. /**
  2573. @brief
  2574. index_last() asks for the last key in the index.
  2575. @details
  2576. Called from opt_range.cc, opt_sum.cc, sql_handler.cc, and sql_select.cc.
  2577. @see
  2578. opt_range.cc, opt_sum.cc, sql_handler.cc and sql_select.cc
  2579. */
  2580. int ha_connect::index_last(uchar *buf)
  2581. {
  2582. DBUG_ENTER("ha_connect::index_last");
  2583. int rc;
  2584. if (indexing <= 0) {
  2585. rc= HA_ERR_INTERNAL_ERROR;
  2586. } else
  2587. rc= ReadIndexed(buf, OP_LAST);
  2588. DBUG_RETURN(rc);
  2589. }
  2590. /****************************************************************************/
  2591. /* This is called to get more rows having the same index value. */
  2592. /****************************************************************************/
  2593. int ha_connect::index_next_same(uchar *buf, const uchar *key, uint keylen)
  2594. {
  2595. int rc;
  2596. DBUG_ENTER("ha_connect::index_next_same");
  2597. //statistic_increment(ha_read_next_count, &LOCK_status);
  2598. if (!indexing)
  2599. rc= rnd_next(buf);
  2600. else if (indexing > 0)
  2601. rc= ReadIndexed(buf, OP_SAME);
  2602. else
  2603. rc= HA_ERR_INTERNAL_ERROR;
  2604. DBUG_RETURN(rc);
  2605. } // end of index_next_same
  2606. /**
  2607. @brief
  2608. rnd_init() is called when the system wants the storage engine to do a table
  2609. scan. See the example in the introduction at the top of this file to see when
  2610. rnd_init() is called.
  2611. @details
  2612. Called from filesort.cc, records.cc, sql_handler.cc, sql_select.cc, sql_table.cc,
  2613. and sql_update.cc.
  2614. @note
  2615. We always call open and extern_lock/start_stmt before comming here.
  2616. @see
  2617. filesort.cc, records.cc, sql_handler.cc, sql_select.cc, sql_table.cc and sql_update.cc
  2618. */
  2619. int ha_connect::rnd_init(bool scan)
  2620. {
  2621. PGLOBAL g= ((table && table->in_use) ? GetPlug(table->in_use, xp) :
  2622. (xp) ? xp->g : NULL);
  2623. DBUG_ENTER("ha_connect::rnd_init");
  2624. // This is not tested yet
  2625. if (xmod == MODE_ALTER) {
  2626. xmod= MODE_READ;
  2627. alter= 1;
  2628. } // endif xmod
  2629. if (xtrace)
  2630. htrc("rnd_init: this=%p scan=%d xmod=%d alter=%d\n",
  2631. this, scan, xmod, alter);
  2632. if (!g || !table || xmod == MODE_INSERT)
  2633. DBUG_RETURN(HA_ERR_INITIALIZATION);
  2634. // Do not close the table if it was opened yet (locked?)
  2635. if (IsOpened()) {
  2636. if (IsPartitioned() && xmod != MODE_INSERT)
  2637. if (CheckColumnList(g)) // map can have been changed
  2638. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  2639. if (tdbp->OpenDB(g)) // Rewind table
  2640. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  2641. else
  2642. DBUG_RETURN(0);
  2643. } else if (xp->CheckQuery(valid_query_id))
  2644. tdbp= NULL; // Not valid anymore
  2645. // When updating, to avoid skipped update, force the table
  2646. // handler to retrieve write-only fields to be able to compare
  2647. // records and detect data change.
  2648. if (xmod == MODE_UPDATE)
  2649. bitmap_union(table->read_set, table->write_set);
  2650. if (OpenTable(g, xmod == MODE_DELETE))
  2651. DBUG_RETURN(HA_ERR_INITIALIZATION);
  2652. xp->nrd= xp->fnd= xp->nfd= 0;
  2653. xp->tb1= my_interval_timer();
  2654. DBUG_RETURN(0);
  2655. } // end of rnd_init
  2656. /**
  2657. @brief
  2658. Not described.
  2659. @note
  2660. The previous version said:
  2661. Stop scanning of table. Note that this may be called several times during
  2662. execution of a sub select.
  2663. =====> This has been moved to external lock to avoid closing subselect tables.
  2664. */
  2665. int ha_connect::rnd_end()
  2666. {
  2667. int rc= 0;
  2668. DBUG_ENTER("ha_connect::rnd_end");
  2669. // If this is called by a later query, the table may have
  2670. // been already closed and the tdbp is not valid anymore.
  2671. // if (tdbp && xp->last_query_id == valid_query_id)
  2672. // rc= CloseTable(xp->g);
  2673. ds_mrr.dsmrr_close();
  2674. DBUG_RETURN(rc);
  2675. } // end of rnd_end
  2676. /**
  2677. @brief
  2678. This is called for each row of the table scan. When you run out of records
  2679. you should return HA_ERR_END_OF_FILE. Fill buff up with the row information.
  2680. The Field structure for the table is the key to getting data into buf
  2681. in a manner that will allow the server to understand it.
  2682. @details
  2683. Called from filesort.cc, records.cc, sql_handler.cc, sql_select.cc, sql_table.cc,
  2684. and sql_update.cc.
  2685. @see
  2686. filesort.cc, records.cc, sql_handler.cc, sql_select.cc, sql_table.cc and sql_update.cc
  2687. */
  2688. int ha_connect::rnd_next(uchar *buf)
  2689. {
  2690. int rc;
  2691. DBUG_ENTER("ha_connect::rnd_next");
  2692. //statistic_increment(ha_read_rnd_next_count, &LOCK_status);
  2693. if (tdbp->GetMode() == MODE_ANY) {
  2694. // We will stop on next read
  2695. if (!stop) {
  2696. stop= true;
  2697. DBUG_RETURN(RC_OK);
  2698. } else
  2699. DBUG_RETURN(HA_ERR_END_OF_FILE);
  2700. } // endif Mode
  2701. switch (CntReadNext(xp->g, tdbp)) {
  2702. case RC_OK:
  2703. rc= MakeRecord((char*)buf);
  2704. break;
  2705. case RC_EF: // End of file
  2706. rc= HA_ERR_END_OF_FILE;
  2707. break;
  2708. case RC_NF: // Not found
  2709. rc= HA_ERR_RECORD_DELETED;
  2710. break;
  2711. default: // Read error
  2712. htrc("rnd_next CONNECT: %s\n", xp->g->Message);
  2713. rc= (records()) ? HA_ERR_INTERNAL_ERROR : HA_ERR_END_OF_FILE;
  2714. break;
  2715. } // endswitch RC
  2716. if (xtrace > 1 && (rc || !(xp->nrd++ % 16384))) {
  2717. ulonglong tb2= my_interval_timer();
  2718. double elapsed= (double) (tb2 - xp->tb1) / 1000000000ULL;
  2719. DBUG_PRINT("rnd_next", ("rc=%d nrd=%u fnd=%u nfd=%u sec=%.3lf\n",
  2720. rc, (uint)xp->nrd, (uint)xp->fnd,
  2721. (uint)xp->nfd, elapsed));
  2722. htrc("rnd_next: rc=%d nrd=%u fnd=%u nfd=%u sec=%.3lf\n",
  2723. rc, (uint)xp->nrd, (uint)xp->fnd,
  2724. (uint)xp->nfd, elapsed);
  2725. xp->tb1= tb2;
  2726. xp->fnd= xp->nfd= 0;
  2727. } // endif nrd
  2728. table->status= (!rc) ? 0 : STATUS_NOT_FOUND;
  2729. DBUG_RETURN(rc);
  2730. } // end of rnd_next
  2731. /**
  2732. @brief
  2733. position() is called after each call to rnd_next() if the data needs
  2734. to be ordered. You can do something like the following to store
  2735. the position:
  2736. @code
  2737. my_store_ptr(ref, ref_length, current_position);
  2738. @endcode
  2739. @details
  2740. The server uses ref to store data. ref_length in the above case is
  2741. the size needed to store current_position. ref is just a byte array
  2742. that the server will maintain. If you are using offsets to mark rows, then
  2743. current_position should be the offset. If it is a primary key like in
  2744. BDB, then it needs to be a primary key.
  2745. Called from filesort.cc, sql_select.cc, sql_delete.cc, and sql_update.cc.
  2746. @see
  2747. filesort.cc, sql_select.cc, sql_delete.cc and sql_update.cc
  2748. */
  2749. void ha_connect::position(const uchar *record)
  2750. {
  2751. DBUG_ENTER("ha_connect::position");
  2752. //if (((PTDBASE)tdbp)->GetDef()->Indexable())
  2753. my_store_ptr(ref, ref_length, (my_off_t)((PTDBASE)tdbp)->GetRecpos());
  2754. if (trace)
  2755. htrc("position: pos=%d\n", ((PTDBASE)tdbp)->GetRecpos());
  2756. DBUG_VOID_RETURN;
  2757. } // end of position
  2758. /**
  2759. @brief
  2760. This is like rnd_next, but you are given a position to use
  2761. to determine the row. The position will be of the type that you stored in
  2762. ref. You can use my_get_ptr(pos,ref_length) to retrieve whatever key
  2763. or position you saved when position() was called.
  2764. @details
  2765. Called from filesort.cc, records.cc, sql_insert.cc, sql_select.cc, and sql_update.cc.
  2766. @note
  2767. Is this really useful? It was never called even when sorting.
  2768. @see
  2769. filesort.cc, records.cc, sql_insert.cc, sql_select.cc and sql_update.cc
  2770. */
  2771. int ha_connect::rnd_pos(uchar *buf, uchar *pos)
  2772. {
  2773. int rc;
  2774. PTDBASE tp= (PTDBASE)tdbp;
  2775. DBUG_ENTER("ha_connect::rnd_pos");
  2776. if (!tp->SetRecpos(xp->g, (int)my_get_ptr(pos, ref_length))) {
  2777. if (trace)
  2778. htrc("rnd_pos: %d\n", tp->GetRecpos());
  2779. tp->SetFilter(NULL);
  2780. rc= rnd_next(buf);
  2781. } else
  2782. rc= HA_ERR_KEY_NOT_FOUND;
  2783. DBUG_RETURN(rc);
  2784. } // end of rnd_pos
  2785. /**
  2786. @brief
  2787. ::info() is used to return information to the optimizer. See my_base.h for
  2788. the complete description.
  2789. @details
  2790. Currently this table handler doesn't implement most of the fields really needed.
  2791. SHOW also makes use of this data.
  2792. You will probably want to have the following in your code:
  2793. @code
  2794. if (records < 2)
  2795. records= 2;
  2796. @endcode
  2797. The reason is that the server will optimize for cases of only a single
  2798. record. If, in a table scan, you don't know the number of records, it
  2799. will probably be better to set records to two so you can return as many
  2800. records as you need. Along with records, a few more variables you may wish
  2801. to set are:
  2802. records
  2803. deleted
  2804. data_file_length
  2805. index_file_length
  2806. delete_length
  2807. check_time
  2808. Take a look at the public variables in handler.h for more information.
  2809. Called in filesort.cc, ha_heap.cc, item_sum.cc, opt_sum.cc, sql_delete.cc,
  2810. sql_delete.cc, sql_derived.cc, sql_select.cc, sql_select.cc, sql_select.cc,
  2811. sql_select.cc, sql_select.cc, sql_show.cc, sql_show.cc, sql_show.cc, sql_show.cc,
  2812. sql_table.cc, sql_union.cc, and sql_update.cc.
  2813. @see
  2814. filesort.cc, ha_heap.cc, item_sum.cc, opt_sum.cc, sql_delete.cc, sql_delete.cc,
  2815. sql_derived.cc, sql_select.cc, sql_select.cc, sql_select.cc, sql_select.cc,
  2816. sql_select.cc, sql_show.cc, sql_show.cc, sql_show.cc, sql_show.cc, sql_table.cc,
  2817. sql_union.cc and sql_update.cc
  2818. */
  2819. int ha_connect::info(uint flag)
  2820. {
  2821. bool pure= false;
  2822. PGLOBAL g= GetPlug((table) ? table->in_use : NULL, xp);
  2823. DBUG_ENTER("ha_connect::info");
  2824. if (xtrace)
  2825. htrc("%p In info: flag=%u valid_info=%d\n", this, flag, valid_info);
  2826. // tdbp must be available to get updated info
  2827. if (xp->CheckQuery(valid_query_id) || !tdbp) {
  2828. PDBUSER dup= PlgGetUser(g);
  2829. PCATLG cat= (dup) ? dup->Catalog : NULL;
  2830. if (xmod == MODE_ANY || xmod == MODE_ALTER) {
  2831. // Pure info, not a query
  2832. pure= true;
  2833. xp->CheckCleanup();
  2834. } // endif xmod
  2835. // This is necessary for getting file length
  2836. // if (cat && table)
  2837. // cat->SetDataPath(g, table->s->db.str);
  2838. if (table)
  2839. SetDataPath(g, table->s->db.str);
  2840. else
  2841. DBUG_RETURN(HA_ERR_INTERNAL_ERROR); // Should never happen
  2842. if (!(tdbp= GetTDB(g)))
  2843. DBUG_RETURN(HA_ERR_INTERNAL_ERROR); // Should never happen
  2844. valid_info = false;
  2845. } // endif tdbp
  2846. if (!valid_info) {
  2847. valid_info= CntInfo(g, tdbp, &xinfo);
  2848. if (((signed)xinfo.records) < 0)
  2849. DBUG_RETURN(HA_ERR_INITIALIZATION); // Error in Cardinality
  2850. } // endif valid_info
  2851. if (flag & HA_STATUS_VARIABLE) {
  2852. stats.records= xinfo.records;
  2853. stats.deleted= 0;
  2854. stats.data_file_length= xinfo.data_file_length;
  2855. stats.index_file_length= 0;
  2856. stats.delete_length= 0;
  2857. stats.check_time= 0;
  2858. stats.mean_rec_length= xinfo.mean_rec_length;
  2859. } // endif HA_STATUS_VARIABLE
  2860. if (flag & HA_STATUS_CONST) {
  2861. // This is imported from the previous handler and must be reconsidered
  2862. stats.max_data_file_length= 4294967295LL;
  2863. stats.max_index_file_length= 4398046510080LL;
  2864. stats.create_time= 0;
  2865. data_file_name= xinfo.data_file_name;
  2866. index_file_name= NULL;
  2867. // sortkey= (uint) - 1; // Table is not sorted
  2868. ref_length= sizeof(int); // Pointer size to row
  2869. table->s->db_options_in_use= 03;
  2870. stats.block_size= 1024;
  2871. table->s->keys_in_use.set_prefix(table->s->keys);
  2872. table->s->keys_for_keyread= table->s->keys_in_use;
  2873. // table->s->keys_for_keyread.subtract(table->s->read_only_keys);
  2874. table->s->db_record_offset= 0;
  2875. } // endif HA_STATUS_CONST
  2876. if (flag & HA_STATUS_ERRKEY) {
  2877. errkey= 0;
  2878. } // endif HA_STATUS_ERRKEY
  2879. if (flag & HA_STATUS_TIME)
  2880. stats.update_time= 0;
  2881. if (flag & HA_STATUS_AUTO)
  2882. stats.auto_increment_value= 1;
  2883. if (tdbp && pure)
  2884. CloseTable(g); // Not used anymore
  2885. DBUG_RETURN(0);
  2886. } // end of info
  2887. /**
  2888. @brief
  2889. extra() is called whenever the server wishes to send a hint to
  2890. the storage engine. The myisam engine implements the most hints.
  2891. ha_innodb.cc has the most exhaustive list of these hints.
  2892. @note
  2893. This is not yet implemented for CONNECT.
  2894. @see
  2895. ha_innodb.cc
  2896. */
  2897. int ha_connect::extra(enum ha_extra_function operation)
  2898. {
  2899. DBUG_ENTER("ha_connect::extra");
  2900. DBUG_RETURN(0);
  2901. } // end of extra
  2902. /**
  2903. @brief
  2904. Used to delete all rows in a table, including cases of truncate and cases where
  2905. the optimizer realizes that all rows will be removed as a result of an SQL statement.
  2906. @details
  2907. Called from item_sum.cc by Item_func_group_concat::clear(),
  2908. Item_sum_count_distinct::clear(), and Item_func_group_concat::clear().
  2909. Called from sql_delete.cc by mysql_delete().
  2910. Called from sql_select.cc by JOIN::reinit().
  2911. Called from sql_union.cc by st_select_lex_unit::exec().
  2912. @see
  2913. Item_func_group_concat::clear(), Item_sum_count_distinct::clear() and
  2914. Item_func_group_concat::clear() in item_sum.cc;
  2915. mysql_delete() in sql_delete.cc;
  2916. JOIN::reinit() in sql_select.cc and
  2917. st_select_lex_unit::exec() in sql_union.cc.
  2918. */
  2919. int ha_connect::delete_all_rows()
  2920. {
  2921. int rc= 0;
  2922. PGLOBAL g= xp->g;
  2923. DBUG_ENTER("ha_connect::delete_all_rows");
  2924. if (tdbp && tdbp->GetUse() == USE_OPEN &&
  2925. tdbp->GetAmType() != TYPE_AM_XML &&
  2926. ((PTDBASE)tdbp)->GetFtype() != RECFM_NAF)
  2927. // Close and reopen the table so it will be deleted
  2928. rc= CloseTable(g);
  2929. if (!(rc= OpenTable(g))) {
  2930. if (CntDeleteRow(g, tdbp, true)) {
  2931. htrc("%s\n", g->Message);
  2932. rc= HA_ERR_INTERNAL_ERROR;
  2933. } else
  2934. nox= false;
  2935. } // endif rc
  2936. DBUG_RETURN(rc);
  2937. } // end of delete_all_rows
  2938. bool ha_connect::check_privileges(THD *thd, PTOS options, char *dbn)
  2939. {
  2940. const char *db= (dbn && *dbn) ? dbn : NULL;
  2941. TABTYPE type=GetRealType(options);
  2942. switch (type) {
  2943. case TAB_UNDEF:
  2944. // case TAB_CATLG:
  2945. case TAB_PLG:
  2946. case TAB_JCT:
  2947. case TAB_DMY:
  2948. case TAB_NIY:
  2949. my_printf_error(ER_UNKNOWN_ERROR,
  2950. "Unsupported table type %s", MYF(0), options->type);
  2951. return true;
  2952. case TAB_DOS:
  2953. case TAB_FIX:
  2954. case TAB_BIN:
  2955. case TAB_CSV:
  2956. case TAB_FMT:
  2957. case TAB_DBF:
  2958. case TAB_XML:
  2959. case TAB_INI:
  2960. case TAB_VEC:
  2961. if (options->filename && *options->filename) {
  2962. char *s, path[FN_REFLEN], dbpath[FN_REFLEN];
  2963. #if defined(WIN32)
  2964. s= "\\";
  2965. #else // !WIN32
  2966. s= "/";
  2967. #endif // !WIN32
  2968. strcpy(dbpath, mysql_real_data_home);
  2969. if (db)
  2970. strcat(strcat(dbpath, db), s);
  2971. (void) fn_format(path, options->filename, dbpath, "",
  2972. MY_RELATIVE_PATH | MY_UNPACK_FILENAME);
  2973. if (!is_secure_file_path(path)) {
  2974. my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--secure-file-priv");
  2975. return true;
  2976. } // endif path
  2977. } else
  2978. return false;
  2979. /* Fall through to check FILE_ACL */
  2980. case TAB_ODBC:
  2981. case TAB_MYSQL:
  2982. case TAB_DIR:
  2983. case TAB_MAC:
  2984. case TAB_WMI:
  2985. case TAB_OEM:
  2986. return check_access(thd, FILE_ACL, db, NULL, NULL, 0, 0);
  2987. // This is temporary until a solution is found
  2988. case TAB_TBL:
  2989. case TAB_XCL:
  2990. case TAB_PRX:
  2991. case TAB_OCCUR:
  2992. case TAB_PIVOT:
  2993. return false;
  2994. } // endswitch type
  2995. my_printf_error(ER_UNKNOWN_ERROR, "check_privileges failed", MYF(0));
  2996. return true;
  2997. } // end of check_privileges
  2998. // Check that two indexes are equivalent
  2999. bool ha_connect::IsSameIndex(PIXDEF xp1, PIXDEF xp2)
  3000. {
  3001. bool b= true;
  3002. PKPDEF kp1, kp2;
  3003. if (stricmp(xp1->Name, xp2->Name))
  3004. b= false;
  3005. else if (xp1->Nparts != xp2->Nparts ||
  3006. xp1->MaxSame != xp2->MaxSame ||
  3007. xp1->Unique != xp2->Unique)
  3008. b= false;
  3009. else for (kp1= xp1->ToKeyParts, kp2= xp2->ToKeyParts;
  3010. b && (kp1 || kp2);
  3011. kp1= kp1->Next, kp2= kp2->Next)
  3012. if (!kp1 || !kp2)
  3013. b= false;
  3014. else if (stricmp(kp1->Name, kp2->Name))
  3015. b= false;
  3016. else if (kp1->Klen != kp2->Klen)
  3017. b= false;
  3018. return b;
  3019. } // end of IsSameIndex
  3020. MODE ha_connect::CheckMode(PGLOBAL g, THD *thd,
  3021. MODE newmode, bool *chk, bool *cras)
  3022. {
  3023. if ((trace= xtrace)) {
  3024. LEX_STRING *query_string= thd_query_string(thd);
  3025. htrc("%p check_mode: cmdtype=%d\n", this, thd_sql_command(thd));
  3026. htrc("Cmd=%.*s\n", (int) query_string->length, query_string->str);
  3027. } // endif xtrace
  3028. // Next code is temporarily replaced until sql_command is set
  3029. stop= false;
  3030. if (newmode == MODE_WRITE) {
  3031. switch (thd_sql_command(thd)) {
  3032. case SQLCOM_LOCK_TABLES:
  3033. locked= 2;
  3034. case SQLCOM_CREATE_TABLE:
  3035. case SQLCOM_INSERT:
  3036. case SQLCOM_LOAD:
  3037. case SQLCOM_INSERT_SELECT:
  3038. newmode= MODE_INSERT;
  3039. break;
  3040. // case SQLCOM_REPLACE:
  3041. // case SQLCOM_REPLACE_SELECT:
  3042. // newmode= MODE_UPDATE; // To be checked
  3043. // break;
  3044. case SQLCOM_DELETE:
  3045. case SQLCOM_DELETE_MULTI:
  3046. case SQLCOM_TRUNCATE:
  3047. newmode= MODE_DELETE;
  3048. break;
  3049. case SQLCOM_UPDATE:
  3050. case SQLCOM_UPDATE_MULTI:
  3051. newmode= MODE_UPDATE;
  3052. break;
  3053. case SQLCOM_SELECT:
  3054. case SQLCOM_OPTIMIZE:
  3055. newmode= MODE_READ;
  3056. break;
  3057. case SQLCOM_DROP_TABLE:
  3058. case SQLCOM_RENAME_TABLE:
  3059. newmode= MODE_ANY;
  3060. break;
  3061. case SQLCOM_CREATE_VIEW:
  3062. case SQLCOM_DROP_VIEW:
  3063. newmode= MODE_ANY;
  3064. break;
  3065. case SQLCOM_ALTER_TABLE:
  3066. newmode= MODE_ALTER;
  3067. break;
  3068. case SQLCOM_DROP_INDEX:
  3069. case SQLCOM_CREATE_INDEX:
  3070. // if (!IsPartitioned()) {
  3071. newmode= MODE_ANY;
  3072. break;
  3073. // } // endif partitioned
  3074. default:
  3075. htrc("Unsupported sql_command=%d\n", thd_sql_command(thd));
  3076. strcpy(g->Message, "CONNECT Unsupported command");
  3077. my_message(ER_NOT_ALLOWED_COMMAND, g->Message, MYF(0));
  3078. newmode= MODE_ERROR;
  3079. break;
  3080. } // endswitch newmode
  3081. } else if (newmode == MODE_READ) {
  3082. switch (thd_sql_command(thd)) {
  3083. case SQLCOM_CREATE_TABLE:
  3084. *chk= true;
  3085. *cras= true;
  3086. case SQLCOM_INSERT:
  3087. case SQLCOM_LOAD:
  3088. case SQLCOM_INSERT_SELECT:
  3089. // case SQLCOM_REPLACE:
  3090. // case SQLCOM_REPLACE_SELECT:
  3091. case SQLCOM_DELETE:
  3092. case SQLCOM_DELETE_MULTI:
  3093. case SQLCOM_TRUNCATE:
  3094. case SQLCOM_UPDATE:
  3095. case SQLCOM_UPDATE_MULTI:
  3096. case SQLCOM_SELECT:
  3097. case SQLCOM_OPTIMIZE:
  3098. break;
  3099. case SQLCOM_LOCK_TABLES:
  3100. locked= 1;
  3101. break;
  3102. case SQLCOM_DROP_TABLE:
  3103. case SQLCOM_RENAME_TABLE:
  3104. newmode= MODE_ANY;
  3105. break;
  3106. case SQLCOM_CREATE_VIEW:
  3107. case SQLCOM_DROP_VIEW:
  3108. newmode= MODE_ANY;
  3109. break;
  3110. case SQLCOM_ALTER_TABLE:
  3111. *chk= true;
  3112. newmode= MODE_ALTER;
  3113. break;
  3114. case SQLCOM_DROP_INDEX:
  3115. case SQLCOM_CREATE_INDEX:
  3116. // if (!IsPartitioned()) {
  3117. *chk= true;
  3118. newmode= MODE_ANY;
  3119. break;
  3120. // } // endif partitioned
  3121. default:
  3122. htrc("Unsupported sql_command=%d\n", thd_sql_command(thd));
  3123. strcpy(g->Message, "CONNECT Unsupported command");
  3124. my_message(ER_NOT_ALLOWED_COMMAND, g->Message, MYF(0));
  3125. newmode= MODE_ERROR;
  3126. break;
  3127. } // endswitch newmode
  3128. } // endif's newmode
  3129. if (xtrace)
  3130. htrc("New mode=%d\n", newmode);
  3131. return newmode;
  3132. } // end of check_mode
  3133. int ha_connect::start_stmt(THD *thd, thr_lock_type lock_type)
  3134. {
  3135. int rc= 0;
  3136. bool chk=false, cras= false;
  3137. MODE newmode;
  3138. PGLOBAL g= GetPlug(thd, xp);
  3139. DBUG_ENTER("ha_connect::start_stmt");
  3140. // Action will depend on lock_type
  3141. switch (lock_type) {
  3142. case TL_WRITE_ALLOW_WRITE:
  3143. case TL_WRITE_CONCURRENT_INSERT:
  3144. case TL_WRITE_DELAYED:
  3145. case TL_WRITE_DEFAULT:
  3146. case TL_WRITE_LOW_PRIORITY:
  3147. case TL_WRITE:
  3148. case TL_WRITE_ONLY:
  3149. newmode= MODE_WRITE;
  3150. break;
  3151. case TL_READ:
  3152. case TL_READ_WITH_SHARED_LOCKS:
  3153. case TL_READ_HIGH_PRIORITY:
  3154. case TL_READ_NO_INSERT:
  3155. case TL_READ_DEFAULT:
  3156. newmode= MODE_READ;
  3157. break;
  3158. case TL_UNLOCK:
  3159. default:
  3160. newmode= MODE_ANY;
  3161. break;
  3162. } // endswitch mode
  3163. xmod= CheckMode(g, thd, newmode, &chk, &cras);
  3164. DBUG_RETURN((xmod == MODE_ERROR) ? HA_ERR_INTERNAL_ERROR : 0);
  3165. } // end of start_stmt
  3166. /**
  3167. @brief
  3168. This create a lock on the table. If you are implementing a storage engine
  3169. that can handle transacations look at ha_berkely.cc to see how you will
  3170. want to go about doing this. Otherwise you should consider calling flock()
  3171. here. Hint: Read the section "locking functions for mysql" in lock.cc to understand
  3172. this.
  3173. @details
  3174. Called from lock.cc by lock_external() and unlock_external(). Also called
  3175. from sql_table.cc by copy_data_between_tables().
  3176. @note
  3177. Following what we did in the MySQL XDB handler, we use this call to actually
  3178. physically open the table. This could be reconsider when finalizing this handler
  3179. design, which means we have a better understanding of what MariaDB does.
  3180. @see
  3181. lock.cc by lock_external() and unlock_external() in lock.cc;
  3182. the section "locking functions for mysql" in lock.cc;
  3183. copy_data_between_tables() in sql_table.cc.
  3184. */
  3185. int ha_connect::external_lock(THD *thd, int lock_type)
  3186. {
  3187. int rc= 0;
  3188. bool xcheck=false, cras= false;
  3189. MODE newmode;
  3190. PTOS options= GetTableOptionStruct();
  3191. PGLOBAL g= GetPlug(thd, xp);
  3192. DBUG_ENTER("ha_connect::external_lock");
  3193. DBUG_ASSERT(thd == current_thd);
  3194. if (xtrace)
  3195. htrc("external_lock: this=%p thd=%p xp=%p g=%p lock_type=%d\n",
  3196. this, thd, xp, g, lock_type);
  3197. if (!g)
  3198. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  3199. // Action will depend on lock_type
  3200. switch (lock_type) {
  3201. case F_WRLCK:
  3202. newmode= MODE_WRITE;
  3203. break;
  3204. case F_RDLCK:
  3205. newmode= MODE_READ;
  3206. break;
  3207. case F_UNLCK:
  3208. default:
  3209. newmode= MODE_ANY;
  3210. break;
  3211. } // endswitch mode
  3212. if (newmode == MODE_ANY) {
  3213. int sqlcom= thd_sql_command(thd);
  3214. // This is unlocking, do it by closing the table
  3215. if (xp->CheckQueryID() && sqlcom != SQLCOM_UNLOCK_TABLES
  3216. && sqlcom != SQLCOM_LOCK_TABLES
  3217. && sqlcom != SQLCOM_DROP_TABLE) {
  3218. sprintf(g->Message, "external_lock: unexpected command %d", sqlcom);
  3219. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  3220. DBUG_RETURN(0);
  3221. } else if (g->Xchk) {
  3222. if (!tdbp) {
  3223. if (!(tdbp= GetTDB(g)))
  3224. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  3225. else if (!((PTDBASE)tdbp)->GetDef()->Indexable()) {
  3226. sprintf(g->Message, "external_lock: Table %s is not indexable", tdbp->GetName());
  3227. // DBUG_RETURN(HA_ERR_INTERNAL_ERROR); causes assert error
  3228. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  3229. DBUG_RETURN(0);
  3230. } else if (((PTDBASE)tdbp)->GetDef()->Indexable() == 1) {
  3231. bool oldsep= ((PCHK)g->Xchk)->oldsep;
  3232. bool newsep= ((PCHK)g->Xchk)->newsep;
  3233. PTDBDOS tdp= (PTDBDOS)tdbp;
  3234. PDOSDEF ddp= (PDOSDEF)tdp->GetDef();
  3235. PIXDEF xp, xp1, xp2, drp=NULL, adp= NULL;
  3236. PIXDEF oldpix= ((PCHK)g->Xchk)->oldpix;
  3237. PIXDEF newpix= ((PCHK)g->Xchk)->newpix;
  3238. PIXDEF *xlst, *xprc;
  3239. ddp->SetIndx(oldpix);
  3240. if (oldsep != newsep) {
  3241. // All indexes have to be remade
  3242. ddp->DeleteIndexFile(g, NULL);
  3243. oldpix= NULL;
  3244. ddp->SetIndx(NULL);
  3245. SetBooleanOption("Sepindex", newsep);
  3246. } else if (newsep) {
  3247. // Make the list of dropped indexes
  3248. xlst= &drp; xprc= &oldpix;
  3249. for (xp2= oldpix; xp2; xp2= xp) {
  3250. for (xp1= newpix; xp1; xp1= xp1->Next)
  3251. if (IsSameIndex(xp1, xp2))
  3252. break; // Index not to drop
  3253. xp= xp2->GetNext();
  3254. if (!xp1) {
  3255. *xlst= xp2;
  3256. *xprc= xp;
  3257. *(xlst= &xp2->Next)= NULL;
  3258. } else
  3259. xprc= &xp2->Next;
  3260. } // endfor xp2
  3261. if (drp) {
  3262. // Here we erase the index files
  3263. ddp->DeleteIndexFile(g, drp);
  3264. } // endif xp1
  3265. } else if (oldpix) {
  3266. // TODO: optimize the case of just adding new indexes
  3267. if (!newpix)
  3268. ddp->DeleteIndexFile(g, NULL);
  3269. oldpix= NULL; // To remake all indexes
  3270. ddp->SetIndx(NULL);
  3271. } // endif sepindex
  3272. // Make the list of new created indexes
  3273. xlst= &adp; xprc= &newpix;
  3274. for (xp1= newpix; xp1; xp1= xp) {
  3275. for (xp2= oldpix; xp2; xp2= xp2->Next)
  3276. if (IsSameIndex(xp1, xp2))
  3277. break; // Index already made
  3278. xp= xp1->Next;
  3279. if (!xp2) {
  3280. *xlst= xp1;
  3281. *xprc= xp;
  3282. *(xlst= &xp1->Next)= NULL;
  3283. } else
  3284. xprc= &xp1->Next;
  3285. } // endfor xp1
  3286. if (adp)
  3287. // Here we do make the new indexes
  3288. if (tdp->MakeIndex(g, adp, true) == RC_FX) {
  3289. // Make it a warning to avoid crash
  3290. push_warning(thd, Sql_condition::WARN_LEVEL_WARN,
  3291. 0, g->Message);
  3292. rc= 0;
  3293. } // endif MakeIndex
  3294. } // endif indexable
  3295. } // endif Tdbp
  3296. } // endelse Xchk
  3297. if (CloseTable(g)) {
  3298. // This is an error while builing index
  3299. // Make it a warning to avoid crash
  3300. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  3301. rc= 0;
  3302. } // endif Close
  3303. locked= 0;
  3304. xmod= MODE_ANY; // For info commands
  3305. DBUG_RETURN(rc);
  3306. } // endif MODE_ANY
  3307. DBUG_ASSERT(table && table->s);
  3308. if (check_privileges(thd, options, table->s->db.str)) {
  3309. strcpy(g->Message, "This operation requires the FILE privilege");
  3310. htrc("%s\n", g->Message);
  3311. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  3312. } // endif check_privileges
  3313. // Table mode depends on the query type
  3314. newmode= CheckMode(g, thd, newmode, &xcheck, &cras);
  3315. if (newmode == MODE_ERROR)
  3316. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  3317. // If this is the start of a new query, cleanup the previous one
  3318. if (xp->CheckCleanup()) {
  3319. tdbp= NULL;
  3320. valid_info= false;
  3321. } // endif CheckCleanup
  3322. #if 0
  3323. if (xcheck) {
  3324. // This must occur after CheckCleanup
  3325. if (!g->Xchk) {
  3326. g->Xchk= new(g) XCHK;
  3327. ((PCHK)g->Xchk)->oldsep= GetBooleanOption("Sepindex", false);
  3328. ((PCHK)g->Xchk)->oldpix= GetIndexInfo();
  3329. } // endif Xchk
  3330. } else
  3331. g->Xchk= NULL;
  3332. #endif // 0
  3333. if (cras)
  3334. g->Createas= 1; // To tell created table to ignore FLAG
  3335. if (xtrace) {
  3336. #if 0
  3337. htrc("xcheck=%d cras=%d\n", xcheck, cras);
  3338. if (xcheck)
  3339. htrc("oldsep=%d oldpix=%p\n",
  3340. ((PCHK)g->Xchk)->oldsep, ((PCHK)g->Xchk)->oldpix);
  3341. #endif // 0
  3342. htrc("Calling CntCheckDB db=%s cras=%d\n", GetDBName(NULL), cras);
  3343. } // endif xtrace
  3344. // Set or reset the good database environment
  3345. if (CntCheckDB(g, this, GetDBName(NULL))) {
  3346. htrc("%p external_lock: %s\n", this, g->Message);
  3347. rc= HA_ERR_INTERNAL_ERROR;
  3348. // This can NOT be called without open called first, but
  3349. // the table can have been closed since then
  3350. } else if (!tdbp || xp->CheckQuery(valid_query_id) || xmod != newmode) {
  3351. if (tdbp) {
  3352. // If this is called by a later query, the table may have
  3353. // been already closed and the tdbp is not valid anymore.
  3354. if (xp->last_query_id == valid_query_id)
  3355. rc= CloseTable(g);
  3356. else
  3357. tdbp= NULL;
  3358. } // endif tdbp
  3359. xmod= newmode;
  3360. // Delay open until used fields are known
  3361. } // endif tdbp
  3362. if (xtrace)
  3363. htrc("external_lock: rc=%d\n", rc);
  3364. DBUG_RETURN(rc);
  3365. } // end of external_lock
  3366. /**
  3367. @brief
  3368. The idea with handler::store_lock() is: The statement decides which locks
  3369. should be needed for the table. For updates/deletes/inserts we get WRITE
  3370. locks, for SELECT... we get read locks.
  3371. @details
  3372. Before adding the lock into the table lock handler (see thr_lock.c),
  3373. mysqld calls store lock with the requested locks. Store lock can now
  3374. modify a write lock to a read lock (or some other lock), ignore the
  3375. lock (if we don't want to use MySQL table locks at all), or add locks
  3376. for many tables (like we do when we are using a MERGE handler).
  3377. Berkeley DB, for example, changes all WRITE locks to TL_WRITE_ALLOW_WRITE
  3378. (which signals that we are doing WRITES, but are still allowing other
  3379. readers and writers).
  3380. When releasing locks, store_lock() is also called. In this case one
  3381. usually doesn't have to do anything.
  3382. In some exceptional cases MySQL may send a request for a TL_IGNORE;
  3383. This means that we are requesting the same lock as last time and this
  3384. should also be ignored. (This may happen when someone does a flush
  3385. table when we have opened a part of the tables, in which case mysqld
  3386. closes and reopens the tables and tries to get the same locks at last
  3387. time). In the future we will probably try to remove this.
  3388. Called from lock.cc by get_lock_data().
  3389. @note
  3390. In this method one should NEVER rely on table->in_use, it may, in fact,
  3391. refer to a different thread! (this happens if get_lock_data() is called
  3392. from mysql_lock_abort_for_thread() function)
  3393. @see
  3394. get_lock_data() in lock.cc
  3395. */
  3396. THR_LOCK_DATA **ha_connect::store_lock(THD *thd,
  3397. THR_LOCK_DATA **to,
  3398. enum thr_lock_type lock_type)
  3399. {
  3400. if (lock_type != TL_IGNORE && lock.type == TL_UNLOCK)
  3401. lock.type=lock_type;
  3402. *to++ = &lock;
  3403. return to;
  3404. }
  3405. /**
  3406. Searches for a pointer to the last occurrence of the
  3407. character c in the string src.
  3408. Returns true on failure, false on success.
  3409. */
  3410. static bool
  3411. strnrchr(LEX_CSTRING *ls, const char *src, size_t length, int c)
  3412. {
  3413. const char *srcend, *s;
  3414. for (s= srcend= src + length; s > src; s--)
  3415. {
  3416. if (s[-1] == c)
  3417. {
  3418. ls->str= s;
  3419. ls->length= srcend - s;
  3420. return false;
  3421. }
  3422. }
  3423. return true;
  3424. }
  3425. /**
  3426. Split filename into database and table name.
  3427. */
  3428. static bool
  3429. filename_to_dbname_and_tablename(const char *filename,
  3430. char *database, size_t database_size,
  3431. char *table, size_t table_size)
  3432. {
  3433. LEX_CSTRING d, t;
  3434. size_t length= strlen(filename);
  3435. /* Find filename - the rightmost directory part */
  3436. if (strnrchr(&t, filename, length, slash) || t.length + 1 > table_size)
  3437. return true;
  3438. memcpy(table, t.str, t.length);
  3439. table[t.length]= '\0';
  3440. if (!(length-= t.length))
  3441. return true;
  3442. length--; /* Skip slash */
  3443. /* Find database name - the second rightmost directory part */
  3444. if (strnrchr(&d, filename, length, slash) || d.length + 1 > database_size)
  3445. return true;
  3446. memcpy(database, d.str, d.length);
  3447. database[d.length]= '\0';
  3448. return false;
  3449. } // end of filename_to_dbname_and_tablename
  3450. /**
  3451. @brief
  3452. Used to delete or rename a table. By the time delete_table() has been
  3453. called all opened references to this table will have been closed
  3454. (and your globally shared references released) ===> too bad!!!
  3455. The variable name will just be the name of the table.
  3456. You will need to remove or rename any files you have created at
  3457. this point.
  3458. @details
  3459. If you do not implement this, the default delete_table() is called from
  3460. handler.cc and it will delete all files with the file extensions returned
  3461. by bas_ext().
  3462. Called from handler.cc by delete_table and ha_create_table(). Only used
  3463. during create if the table_flag HA_DROP_BEFORE_CREATE was specified for
  3464. the storage engine.
  3465. @see
  3466. delete_table and ha_create_table() in handler.cc
  3467. */
  3468. int ha_connect::delete_or_rename_table(const char *name, const char *to)
  3469. {
  3470. DBUG_ENTER("ha_connect::delete_or_rename_table");
  3471. char db[128], tabname[128];
  3472. int rc= 0;
  3473. bool ok= false;
  3474. THD *thd= current_thd;
  3475. int sqlcom= thd_sql_command(thd);
  3476. if (xtrace) {
  3477. if (to)
  3478. htrc("rename_table: this=%p thd=%p sqlcom=%d from=%s to=%s\n",
  3479. this, thd, sqlcom, name, to);
  3480. else
  3481. htrc("delete_table: this=%p thd=%p sqlcom=%d name=%s\n",
  3482. this, thd, sqlcom, name);
  3483. } // endif xtrace
  3484. if (to && (filename_to_dbname_and_tablename(to, db, sizeof(db),
  3485. tabname, sizeof(tabname))
  3486. || (*tabname == '#' && sqlcom == SQLCOM_CREATE_INDEX)))
  3487. DBUG_RETURN(0);
  3488. if (filename_to_dbname_and_tablename(name, db, sizeof(db),
  3489. tabname, sizeof(tabname))
  3490. || (*tabname == '#' && sqlcom == SQLCOM_CREATE_INDEX))
  3491. DBUG_RETURN(0);
  3492. // If a temporary file exists, all the tests below were passed
  3493. // successfully when making it, so they are not needed anymore
  3494. // in particular because they sometimes cause DBUG_ASSERT crash.
  3495. // Also, for partitioned tables, no test can be done because when
  3496. // this function is called, the .par file is already deleted and
  3497. // this causes the open_table_def function to fail.
  3498. // Not having any other clues (table and table_share are NULL)
  3499. // the only mean we have to test for partitioning is this:
  3500. if (*tabname != '#' && !strstr(tabname, "#P#")) {
  3501. // We have to retrieve the information about this table options.
  3502. ha_table_option_struct *pos;
  3503. char key[MAX_DBKEY_LENGTH];
  3504. uint key_length;
  3505. TABLE_SHARE *share;
  3506. // if ((p= strstr(tabname, "#P#"))) won't work, see above
  3507. // *p= 0; // Get the main the table name
  3508. key_length= tdc_create_key(key, db, tabname);
  3509. // share contains the option struct that we need
  3510. if (!(share= alloc_table_share(db, tabname, key, key_length)))
  3511. DBUG_RETURN(rc);
  3512. // Get the share info from the .frm file
  3513. if (!open_table_def(thd, share)) {
  3514. // Now we can work
  3515. if ((pos= share->option_struct)) {
  3516. if (check_privileges(thd, pos, db))
  3517. rc= HA_ERR_INTERNAL_ERROR; // ???
  3518. else
  3519. if (IsFileType(GetRealType(pos)) && !pos->filename)
  3520. ok= true;
  3521. } // endif pos
  3522. } else // Avoid infamous DBUG_ASSERT
  3523. thd->get_stmt_da()->reset_diagnostics_area();
  3524. free_table_share(share);
  3525. } else // Temporary file
  3526. ok= true;
  3527. if (ok) {
  3528. // Let the base handler do the job
  3529. if (to)
  3530. rc= handler::rename_table(name, to);
  3531. else if ((rc= handler::delete_table(name)) == ENOENT)
  3532. rc= 0; // No files is not an error for CONNECT
  3533. } // endif ok
  3534. DBUG_RETURN(rc);
  3535. } // end of delete_or_rename_table
  3536. int ha_connect::delete_table(const char *name)
  3537. {
  3538. return delete_or_rename_table(name, NULL);
  3539. } // end of delete_table
  3540. int ha_connect::rename_table(const char *from, const char *to)
  3541. {
  3542. return delete_or_rename_table(from, to);
  3543. } // end of rename_table
  3544. /**
  3545. @brief
  3546. Given a starting key and an ending key, estimate the number of rows that
  3547. will exist between the two keys.
  3548. @details
  3549. end_key may be empty, in which case determine if start_key matches any rows.
  3550. Called from opt_range.cc by check_quick_keys().
  3551. @see
  3552. check_quick_keys() in opt_range.cc
  3553. */
  3554. ha_rows ha_connect::records_in_range(uint inx, key_range *min_key,
  3555. key_range *max_key)
  3556. {
  3557. ha_rows rows;
  3558. DBUG_ENTER("ha_connect::records_in_range");
  3559. if (indexing < 0 || inx != active_index)
  3560. if (index_init(inx, false))
  3561. DBUG_RETURN(HA_POS_ERROR);
  3562. if (xtrace)
  3563. htrc("records_in_range: inx=%d indexing=%d\n", inx, indexing);
  3564. if (indexing > 0) {
  3565. int nval;
  3566. uint len[2];
  3567. const uchar *key[2];
  3568. bool incl[2];
  3569. key_part_map kmap[2];
  3570. key[0]= (min_key) ? min_key->key : NULL;
  3571. key[1]= (max_key) ? max_key->key : NULL;
  3572. len[0]= (min_key) ? min_key->length : 0;
  3573. len[1]= (max_key) ? max_key->length : 0;
  3574. incl[0]= (min_key) ? (min_key->flag == HA_READ_KEY_EXACT) : false;
  3575. incl[1]= (max_key) ? (max_key->flag == HA_READ_AFTER_KEY) : false;
  3576. kmap[0]= (min_key) ? min_key->keypart_map : 0;
  3577. kmap[1]= (max_key) ? max_key->keypart_map : 0;
  3578. if ((nval= CntIndexRange(xp->g, tdbp, key, len, incl, kmap)) < 0)
  3579. rows= HA_POS_ERROR;
  3580. else
  3581. rows= (ha_rows)nval;
  3582. } else if (indexing == 0)
  3583. rows= 100000000; // Don't use missing index
  3584. else
  3585. rows= HA_POS_ERROR;
  3586. DBUG_RETURN(rows);
  3587. } // end of records_in_range
  3588. /**
  3589. Convert an ISO-8859-1 column name to UTF-8
  3590. */
  3591. static char *encode(PGLOBAL g, const char *cnm)
  3592. {
  3593. char *buf= (char*)PlugSubAlloc(g, NULL, strlen(cnm) * 3);
  3594. uint dummy_errors;
  3595. uint32 len= copy_and_convert(buf, strlen(cnm) * 3,
  3596. &my_charset_utf8_general_ci,
  3597. cnm, strlen(cnm),
  3598. &my_charset_latin1,
  3599. &dummy_errors);
  3600. buf[len]= '\0';
  3601. return buf;
  3602. } // end of encode
  3603. /**
  3604. Store field definition for create.
  3605. @return
  3606. Return 0 if ok
  3607. */
  3608. #if defined(NEW_WAY)
  3609. static bool add_fields(PGLOBAL g,
  3610. THD *thd,
  3611. Alter_info *alter_info,
  3612. char *name,
  3613. int typ, int len, int dec,
  3614. uint type_modifier,
  3615. char *rem,
  3616. // CHARSET_INFO *cs,
  3617. // void *vcolinfo,
  3618. // engine_option_value *create_options,
  3619. int flg,
  3620. bool dbf,
  3621. char v)
  3622. {
  3623. register Create_field *new_field;
  3624. char *length, *decimals= NULL;
  3625. enum_field_types type;
  3626. //Virtual_column_info *vcol_info= (Virtual_column_info *)vcolinfo;
  3627. engine_option_value *crop;
  3628. LEX_STRING *comment;
  3629. LEX_STRING *field_name;
  3630. DBUG_ENTER("ha_connect::add_fields");
  3631. if (len) {
  3632. if (!v && typ == TYPE_STRING && len > 255)
  3633. v= 'V'; // Change CHAR to VARCHAR
  3634. length= (char*)PlugSubAlloc(g, NULL, 8);
  3635. sprintf(length, "%d", len);
  3636. if (typ == TYPE_DOUBLE) {
  3637. decimals= (char*)PlugSubAlloc(g, NULL, 8);
  3638. sprintf(decimals, "%d", min(dec, (min(len, 31) - 1)));
  3639. } // endif dec
  3640. } else
  3641. length= NULL;
  3642. if (!rem)
  3643. rem= "";
  3644. type= PLGtoMYSQL(typ, dbf, v);
  3645. comment= thd->make_lex_string(rem, strlen(rem));
  3646. field_name= thd->make_lex_string(name, strlen(name));
  3647. switch (v) {
  3648. case 'Z': type_modifier|= ZEROFILL_FLAG;
  3649. case 'U': type_modifier|= UNSIGNED_FLAG; break;
  3650. } // endswitch v
  3651. if (flg) {
  3652. engine_option_value *start= NULL, *end= NULL;
  3653. LEX_STRING *flag= thd->make_lex_string("flag", 4);
  3654. crop= new(thd->mem_root) engine_option_value(*flag, (ulonglong)flg,
  3655. &start, &end, thd->mem_root);
  3656. } else
  3657. crop= NULL;
  3658. if (check_string_char_length(field_name, "", NAME_CHAR_LEN,
  3659. system_charset_info, 1)) {
  3660. my_error(ER_TOO_LONG_IDENT, MYF(0), field_name->str); /* purecov: inspected */
  3661. DBUG_RETURN(1); /* purecov: inspected */
  3662. } // endif field_name
  3663. if (!(new_field= new Create_field()) ||
  3664. new_field->init(thd, field_name->str, type, length, decimals,
  3665. type_modifier, NULL, NULL, comment, NULL,
  3666. NULL, NULL, 0, NULL, crop, true))
  3667. DBUG_RETURN(1);
  3668. alter_info->create_list.push_back(new_field);
  3669. DBUG_RETURN(0);
  3670. } // end of add_fields
  3671. #else // !NEW_WAY
  3672. static bool add_field(String *sql, const char *field_name, int typ,
  3673. int len, int dec, uint tm, const char *rem,
  3674. char *dft, char *xtra, int flag, bool dbf, char v)
  3675. {
  3676. char var = (len > 255) ? 'V' : v;
  3677. bool error= false;
  3678. const char *type= PLGtoMYSQLtype(typ, dbf, var);
  3679. error|= sql->append('`');
  3680. error|= sql->append(field_name);
  3681. error|= sql->append("` ");
  3682. error|= sql->append(type);
  3683. if (len && typ != TYPE_DATE) {
  3684. error|= sql->append('(');
  3685. error|= sql->append_ulonglong(len);
  3686. if (!strcmp(type, "DOUBLE")) {
  3687. error|= sql->append(',');
  3688. // dec must be < len and < 31
  3689. error|= sql->append_ulonglong(MY_MIN(dec, (MY_MIN(len, 31) - 1)));
  3690. } else if (dec > 0 && !strcmp(type, "DECIMAL")) {
  3691. error|= sql->append(',');
  3692. // dec must be < len
  3693. error|= sql->append_ulonglong(MY_MIN(dec, len - 1));
  3694. } // endif dec
  3695. error|= sql->append(')');
  3696. } // endif len
  3697. if (v == 'U')
  3698. error|= sql->append(" UNSIGNED");
  3699. else if (v == 'Z')
  3700. error|= sql->append(" ZEROFILL");
  3701. if (tm)
  3702. error|= sql->append(STRING_WITH_LEN(" NOT NULL"), system_charset_info);
  3703. if (dft && *dft) {
  3704. error|= sql->append(" DEFAULT ");
  3705. if (!IsTypeNum(typ)) {
  3706. error|= sql->append("'");
  3707. error|= sql->append_for_single_quote(dft, strlen(dft));
  3708. error|= sql->append("'");
  3709. } else
  3710. error|= sql->append(dft);
  3711. } // endif dft
  3712. if (xtra && *xtra) {
  3713. error|= sql->append(" ");
  3714. error|= sql->append(xtra);
  3715. } // endif rem
  3716. if (rem && *rem) {
  3717. error|= sql->append(" COMMENT '");
  3718. error|= sql->append_for_single_quote(rem, strlen(rem));
  3719. error|= sql->append("'");
  3720. } // endif rem
  3721. if (flag) {
  3722. error|= sql->append(" FLAG=");
  3723. error|= sql->append_ulonglong(flag);
  3724. } // endif flag
  3725. error|= sql->append(',');
  3726. return error;
  3727. } // end of add_field
  3728. #endif // !NEW_WAY
  3729. /**
  3730. Initialise the table share with the new columns.
  3731. @return
  3732. Return 0 if ok
  3733. */
  3734. #if defined(NEW_WAY)
  3735. //static bool sql_unusable_for_discovery(THD *thd, const char *sql);
  3736. static int init_table_share(THD *thd,
  3737. TABLE_SHARE *table_s,
  3738. HA_CREATE_INFO *create_info,
  3739. Alter_info *alter_info)
  3740. {
  3741. KEY *not_used_1;
  3742. uint not_used_2;
  3743. int rc= 0;
  3744. handler *file;
  3745. LEX_CUSTRING frm= {0,0};
  3746. DBUG_ENTER("init_table_share");
  3747. #if 0
  3748. ulonglong saved_mode= thd->variables.sql_mode;
  3749. CHARSET_INFO *old_cs= thd->variables.character_set_client;
  3750. Parser_state parser_state;
  3751. char *sql_copy;
  3752. LEX *old_lex;
  3753. Query_arena *arena, backup;
  3754. LEX tmp_lex;
  3755. /*
  3756. Ouch. Parser may *change* the string it's working on.
  3757. Currently (2013-02-26) it is used to permanently disable
  3758. conditional comments.
  3759. Anyway, let's copy the caller's string...
  3760. */
  3761. if (!(sql_copy= thd->strmake(sql, sql_length)))
  3762. DBUG_RETURN(HA_ERR_OUT_OF_MEM);
  3763. if (parser_state.init(thd, sql_copy, sql_length))
  3764. DBUG_RETURN(HA_ERR_OUT_OF_MEM);
  3765. thd->variables.sql_mode= MODE_NO_ENGINE_SUBSTITUTION | MODE_NO_DIR_IN_CREATE;
  3766. thd->variables.character_set_client= system_charset_info;
  3767. old_lex= thd->lex;
  3768. thd->lex= &tmp_lex;
  3769. arena= thd->stmt_arena;
  3770. if (arena->is_conventional())
  3771. arena= 0;
  3772. else
  3773. thd->set_n_backup_active_arena(arena, &backup);
  3774. lex_start(thd);
  3775. if ((error= parse_sql(thd, & parser_state, NULL)))
  3776. goto ret;
  3777. if (table_s->sql_unusable_for_discovery(thd, NULL)) {
  3778. my_error(ER_SQL_DISCOVER_ERROR, MYF(0), plugin_name(db_plugin)->str,
  3779. db.str, table_name.str, sql_copy);
  3780. goto ret;
  3781. } // endif unusable
  3782. thd->lex->create_info.db_type= plugin_data(db_plugin, handlerton *);
  3783. if (tabledef_version.str)
  3784. thd->lex->create_info.tabledef_version= tabledef_version;
  3785. #endif // 0
  3786. tmp_disable_binlog(thd);
  3787. file= mysql_create_frm_image(thd, table_s->db.str, table_s->table_name.str,
  3788. create_info, alter_info, C_ORDINARY_CREATE,
  3789. &not_used_1, &not_used_2, &frm);
  3790. if (file)
  3791. delete file;
  3792. else
  3793. rc= OPEN_FRM_CORRUPTED;
  3794. if (!rc && frm.str) {
  3795. table_s->option_list= 0; // cleanup existing options ...
  3796. table_s->option_struct= 0; // ... if it's an assisted discovery
  3797. rc= table_s->init_from_binary_frm_image(thd, true, frm.str, frm.length);
  3798. } // endif frm
  3799. //ret:
  3800. my_free(const_cast<uchar*>(frm.str));
  3801. reenable_binlog(thd);
  3802. #if 0
  3803. lex_end(thd->lex);
  3804. thd->lex= old_lex;
  3805. if (arena)
  3806. thd->restore_active_arena(arena, &backup);
  3807. thd->variables.sql_mode= saved_mode;
  3808. thd->variables.character_set_client= old_cs;
  3809. #endif // 0
  3810. if (thd->is_error() || rc) {
  3811. thd->clear_error();
  3812. my_error(ER_NO_SUCH_TABLE, MYF(0), table_s->db.str,
  3813. table_s->table_name.str);
  3814. DBUG_RETURN(HA_ERR_NOT_A_TABLE);
  3815. } else
  3816. DBUG_RETURN(0);
  3817. } // end of init_table_share
  3818. #else // !NEW_WAY
  3819. static int init_table_share(THD* thd,
  3820. TABLE_SHARE *table_s,
  3821. HA_CREATE_INFO *create_info,
  3822. // char *dsn,
  3823. String *sql)
  3824. {
  3825. bool oom= false;
  3826. PTOS topt= table_s->option_struct;
  3827. sql->length(sql->length()-1); // remove the trailing comma
  3828. sql->append(')');
  3829. for (ha_create_table_option *opt= connect_table_option_list;
  3830. opt->name; opt++) {
  3831. ulonglong vull;
  3832. const char *vstr;
  3833. switch (opt->type) {
  3834. case HA_OPTION_TYPE_ULL:
  3835. vull= *(ulonglong*)(((char*)topt) + opt->offset);
  3836. if (vull != opt->def_value) {
  3837. oom|= sql->append(' ');
  3838. oom|= sql->append(opt->name);
  3839. oom|= sql->append('=');
  3840. oom|= sql->append_ulonglong(vull);
  3841. } // endif vull
  3842. break;
  3843. case HA_OPTION_TYPE_STRING:
  3844. vstr= *(char**)(((char*)topt) + opt->offset);
  3845. if (vstr) {
  3846. oom|= sql->append(' ');
  3847. oom|= sql->append(opt->name);
  3848. oom|= sql->append("='");
  3849. oom|= sql->append_for_single_quote(vstr, strlen(vstr));
  3850. oom|= sql->append('\'');
  3851. } // endif vstr
  3852. break;
  3853. case HA_OPTION_TYPE_BOOL:
  3854. vull= *(bool*)(((char*)topt) + opt->offset);
  3855. if (vull != opt->def_value) {
  3856. oom|= sql->append(' ');
  3857. oom|= sql->append(opt->name);
  3858. oom|= sql->append('=');
  3859. oom|= sql->append(vull ? "ON" : "OFF");
  3860. } // endif vull
  3861. break;
  3862. default: // no enums here, good :)
  3863. break;
  3864. } // endswitch type
  3865. if (oom)
  3866. return HA_ERR_OUT_OF_MEM;
  3867. } // endfor opt
  3868. if (create_info->connect_string.length) {
  3869. //if (dsn) {
  3870. oom|= sql->append(' ');
  3871. oom|= sql->append("CONNECTION='");
  3872. oom|= sql->append_for_single_quote(create_info->connect_string.str,
  3873. create_info->connect_string.length);
  3874. // oom|= sql->append_for_single_quote(dsn, strlen(dsn));
  3875. oom|= sql->append('\'');
  3876. if (oom)
  3877. return HA_ERR_OUT_OF_MEM;
  3878. } // endif string
  3879. if (create_info->default_table_charset) {
  3880. oom|= sql->append(' ');
  3881. oom|= sql->append("CHARSET=");
  3882. oom|= sql->append(create_info->default_table_charset->csname);
  3883. if (oom)
  3884. return HA_ERR_OUT_OF_MEM;
  3885. } // endif charset
  3886. if (xtrace)
  3887. htrc("s_init: %.*s\n", sql->length(), sql->ptr());
  3888. return table_s->init_from_sql_statement_string(thd, true,
  3889. sql->ptr(), sql->length());
  3890. } // end of init_table_share
  3891. #endif // !NEW_WAY
  3892. // Add an option to the create_info option list
  3893. static void add_option(THD* thd, HA_CREATE_INFO *create_info,
  3894. const char *opname, const char *opval)
  3895. {
  3896. #if defined(NEW_WAY)
  3897. LEX_STRING *opn= thd->make_lex_string(opname, strlen(opname));
  3898. LEX_STRING *val= thd->make_lex_string(opval, strlen(opval));
  3899. engine_option_value *pov, **start= &create_info->option_list, *end= NULL;
  3900. for (pov= *start; pov; pov= pov->next)
  3901. end= pov;
  3902. pov= new(thd->mem_root) engine_option_value(*opn, *val, false, start, &end);
  3903. #endif // NEW_WAY
  3904. } // end of add_option
  3905. // Used to check whether a MYSQL table is created on itself
  3906. bool CheckSelf(PGLOBAL g, TABLE_SHARE *s, const char *host,
  3907. const char *db, char *tab, const char *src, int port)
  3908. {
  3909. if (src)
  3910. return false;
  3911. else if (host && stricmp(host, "localhost") && strcmp(host, "127.0.0.1"))
  3912. return false;
  3913. else if (db && stricmp(db, s->db.str))
  3914. return false;
  3915. else if (tab && stricmp(tab, s->table_name.str))
  3916. return false;
  3917. else if (port && port != (signed)GetDefaultPort())
  3918. return false;
  3919. strcpy(g->Message, "This MySQL table is defined on itself");
  3920. return true;
  3921. } // end of CheckSelf
  3922. /**
  3923. @brief
  3924. connect_assisted_discovery() is called when creating a table with no columns.
  3925. @details
  3926. When assisted discovery is used the .frm file have not already been
  3927. created. You can overwrite some definitions at this point but the
  3928. main purpose of it is to define the columns for some table types.
  3929. @note
  3930. this function is no more called in case of CREATE .. SELECT
  3931. */
  3932. static int connect_assisted_discovery(handlerton *hton, THD* thd,
  3933. TABLE_SHARE *table_s,
  3934. HA_CREATE_INFO *create_info)
  3935. {
  3936. char v=0, spc= ',', qch= 0;
  3937. const char *fncn= "?";
  3938. const char *user, *fn, *db, *host, *pwd, *sep, *tbl, *src;
  3939. const char *col, *ocl, *rnk, *pic, *fcl, *skc;
  3940. char *tab, *dsn, *shm, *dpath;
  3941. #if defined(WIN32)
  3942. char *nsp= NULL, *cls= NULL;
  3943. #endif // WIN32
  3944. int port= 0, hdr= 0, mxr __attribute__((unused))= 0, mxe= 0, rc= 0;
  3945. int cop __attribute__((unused)) = 0;
  3946. uint tm, fnc= FNC_NO, supfnc= (FNC_NO | FNC_COL);
  3947. bool bif, ok= false, dbf= false;
  3948. TABTYPE ttp= TAB_UNDEF;
  3949. PQRYRES qrp= NULL;
  3950. PCOLRES crp;
  3951. PCONNECT xp= NULL;
  3952. PGLOBAL g= GetPlug(thd, xp);
  3953. PDBUSER dup= PlgGetUser(g);
  3954. PCATLG cat= (dup) ? dup->Catalog : NULL;
  3955. PTOS topt= table_s->option_struct;
  3956. #if defined(NEW_WAY)
  3957. //CHARSET_INFO *cs;
  3958. Alter_info alter_info;
  3959. #else // !NEW_WAY
  3960. char buf[1024];
  3961. String sql(buf, sizeof(buf), system_charset_info);
  3962. sql.copy(STRING_WITH_LEN("CREATE TABLE whatever ("), system_charset_info);
  3963. #endif // !NEW_WAY
  3964. if (!g)
  3965. return HA_ERR_INTERNAL_ERROR;
  3966. user= host= pwd= tbl= src= col= ocl= pic= fcl= skc= rnk= dsn= NULL;
  3967. // Get the useful create options
  3968. ttp= GetTypeID(topt->type);
  3969. fn= topt->filename;
  3970. tab= (char*)topt->tabname;
  3971. src= topt->srcdef;
  3972. db= topt->dbname;
  3973. fncn= topt->catfunc;
  3974. fnc= GetFuncID(fncn);
  3975. sep= topt->separator;
  3976. spc= (!sep || !strcmp(sep, "\\t")) ? '\t' : *sep;
  3977. qch= topt->qchar ? *topt->qchar : (signed)topt->quoted >= 0 ? '"' : 0;
  3978. hdr= (int)topt->header;
  3979. tbl= topt->tablist;
  3980. col= topt->colist;
  3981. if (topt->oplist) {
  3982. host= GetListOption(g, "host", topt->oplist, "localhost");
  3983. user= GetListOption(g, "user", topt->oplist, "root");
  3984. // Default value db can come from the DBNAME=xxx option.
  3985. db= GetListOption(g, "database", topt->oplist, db);
  3986. col= GetListOption(g, "colist", topt->oplist, col);
  3987. ocl= GetListOption(g, "occurcol", topt->oplist, NULL);
  3988. pic= GetListOption(g, "pivotcol", topt->oplist, NULL);
  3989. fcl= GetListOption(g, "fnccol", topt->oplist, NULL);
  3990. skc= GetListOption(g, "skipcol", topt->oplist, NULL);
  3991. rnk= GetListOption(g, "rankcol", topt->oplist, NULL);
  3992. pwd= GetListOption(g, "password", topt->oplist);
  3993. #if defined(WIN32)
  3994. nsp= GetListOption(g, "namespace", topt->oplist);
  3995. cls= GetListOption(g, "class", topt->oplist);
  3996. #endif // WIN32
  3997. port= atoi(GetListOption(g, "port", topt->oplist, "0"));
  3998. #if defined(ODBC_SUPPORT)
  3999. mxr= atoi(GetListOption(g,"maxres", topt->oplist, "0"));
  4000. #endif
  4001. mxe= atoi(GetListOption(g,"maxerr", topt->oplist, "0"));
  4002. #if defined(PROMPT_OK)
  4003. cop= atoi(GetListOption(g, "checkdsn", topt->oplist, "0"));
  4004. #endif // PROMPT_OK
  4005. } else {
  4006. host= "localhost";
  4007. user= "root";
  4008. } // endif option_list
  4009. if (!(shm= (char*)db))
  4010. db= table_s->db.str; // Default value
  4011. // Check table type
  4012. if (ttp == TAB_UNDEF) {
  4013. topt->type= (src) ? "MYSQL" : (tab) ? "PROXY" : "DOS";
  4014. ttp= GetTypeID(topt->type);
  4015. sprintf(g->Message, "No table_type. Was set to %s", topt->type);
  4016. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  4017. add_option(thd, create_info, "table_type", topt->type);
  4018. } else if (ttp == TAB_NIY) {
  4019. sprintf(g->Message, "Unsupported table type %s", topt->type);
  4020. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4021. return HA_ERR_INTERNAL_ERROR;
  4022. } // endif ttp
  4023. if (!tab) {
  4024. if (ttp == TAB_TBL) {
  4025. // Make tab the first table of the list
  4026. char *p;
  4027. if (!tbl) {
  4028. strcpy(g->Message, "Missing table list");
  4029. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4030. return HA_ERR_INTERNAL_ERROR;
  4031. } // endif tbl
  4032. tab= (char*)PlugSubAlloc(g, NULL, strlen(tbl) + 1);
  4033. strcpy(tab, tbl);
  4034. if ((p= strchr(tab, ',')))
  4035. *p= 0;
  4036. if ((p=strchr(tab, '.'))) {
  4037. *p= 0;
  4038. db= tab;
  4039. tab= p + 1;
  4040. } // endif p
  4041. } else if (ttp != TAB_ODBC || !(fnc & (FNC_TABLE | FNC_COL)))
  4042. tab= table_s->table_name.str; // Default value
  4043. #if defined(NEW_WAY)
  4044. // add_option(thd, create_info, "tabname", tab);
  4045. #endif // NEW_WAY
  4046. } // endif tab
  4047. switch (ttp) {
  4048. #if defined(ODBC_SUPPORT)
  4049. case TAB_ODBC:
  4050. dsn= create_info->connect_string.str;
  4051. if (fnc & (FNC_DSN | FNC_DRIVER)) {
  4052. ok= true;
  4053. #if defined(PROMPT_OK)
  4054. } else if (!stricmp(thd->main_security_ctx.host, "localhost")
  4055. && cop == 1) {
  4056. if ((dsn = ODBCCheckConnection(g, dsn, cop)) != NULL) {
  4057. thd->make_lex_string(&create_info->connect_string, dsn, strlen(dsn));
  4058. ok= true;
  4059. } // endif dsn
  4060. #endif // PROMPT_OK
  4061. } else if (!dsn)
  4062. sprintf(g->Message, "Missing %s connection string", topt->type);
  4063. else
  4064. ok= true;
  4065. supfnc |= (FNC_TABLE | FNC_DSN | FNC_DRIVER);
  4066. break;
  4067. #endif // ODBC_SUPPORT
  4068. case TAB_DBF:
  4069. dbf= true;
  4070. // Passthru
  4071. case TAB_CSV:
  4072. if (!fn && fnc != FNC_NO)
  4073. sprintf(g->Message, "Missing %s file name", topt->type);
  4074. else
  4075. ok= true;
  4076. break;
  4077. #if defined(MYSQL_SUPPORT)
  4078. case TAB_MYSQL:
  4079. ok= true;
  4080. if (create_info->connect_string.str) {
  4081. int len= create_info->connect_string.length;
  4082. PMYDEF mydef= new(g) MYSQLDEF();
  4083. dsn= (char*)PlugSubAlloc(g, NULL, len + 1);
  4084. strncpy(dsn, create_info->connect_string.str, len);
  4085. dsn[len]= 0;
  4086. mydef->SetName(create_info->alias);
  4087. if (!mydef->ParseURL(g, dsn, false)) {
  4088. if (mydef->GetHostname())
  4089. host= mydef->GetHostname();
  4090. if (mydef->GetUsername())
  4091. user= mydef->GetUsername();
  4092. if (mydef->GetPassword())
  4093. pwd= mydef->GetPassword();
  4094. if (mydef->GetDatabase())
  4095. db= mydef->GetDatabase();
  4096. if (mydef->GetTabname())
  4097. tab= mydef->GetTabname();
  4098. if (mydef->GetPortnumber())
  4099. port= mydef->GetPortnumber();
  4100. } else
  4101. ok= false;
  4102. } else if (!user)
  4103. user= "root";
  4104. if (ok && CheckSelf(g, table_s, host, db, tab, src, port))
  4105. ok= false;
  4106. break;
  4107. #endif // MYSQL_SUPPORT
  4108. #if defined(WIN32)
  4109. case TAB_WMI:
  4110. ok= true;
  4111. break;
  4112. #endif // WIN32
  4113. case TAB_PIVOT:
  4114. supfnc= FNC_NO;
  4115. case TAB_PRX:
  4116. case TAB_TBL:
  4117. case TAB_XCL:
  4118. case TAB_OCCUR:
  4119. if (!src && !stricmp(tab, create_info->alias) &&
  4120. (!db || !stricmp(db, table_s->db.str)))
  4121. sprintf(g->Message, "A %s table cannot refer to itself", topt->type);
  4122. else
  4123. ok= true;
  4124. break;
  4125. case TAB_OEM:
  4126. if (topt->module && topt->subtype)
  4127. ok= true;
  4128. else
  4129. strcpy(g->Message, "Missing OEM module or subtype");
  4130. break;
  4131. default:
  4132. sprintf(g->Message, "Cannot get column info for table type %s", topt->type);
  4133. break;
  4134. } // endif ttp
  4135. // Check for supported catalog function
  4136. if (ok && !(supfnc & fnc)) {
  4137. sprintf(g->Message, "Unsupported catalog function %s for table type %s",
  4138. fncn, topt->type);
  4139. ok= false;
  4140. } // endif supfnc
  4141. if (src && fnc != FNC_NO) {
  4142. strcpy(g->Message, "Cannot make catalog table from srcdef");
  4143. ok= false;
  4144. } // endif src
  4145. if (ok) {
  4146. char *cnm, *rem, *dft, *xtra;
  4147. int i, len, prec, dec, typ, flg;
  4148. // if (cat)
  4149. // cat->SetDataPath(g, table_s->db.str);
  4150. // else
  4151. // return HA_ERR_INTERNAL_ERROR; // Should never happen
  4152. dpath= SetPath(g, table_s->db.str);
  4153. if (src && ttp != TAB_PIVOT && ttp != TAB_ODBC) {
  4154. qrp= SrcColumns(g, host, db, user, pwd, src, port);
  4155. if (qrp && ttp == TAB_OCCUR)
  4156. if (OcrSrcCols(g, qrp, col, ocl, rnk)) {
  4157. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4158. return HA_ERR_INTERNAL_ERROR;
  4159. } // endif OcrSrcCols
  4160. } else switch (ttp) {
  4161. case TAB_DBF:
  4162. qrp= DBFColumns(g, dpath, fn, fnc == FNC_COL);
  4163. break;
  4164. #if defined(ODBC_SUPPORT)
  4165. case TAB_ODBC:
  4166. switch (fnc) {
  4167. case FNC_NO:
  4168. case FNC_COL:
  4169. if (src) {
  4170. qrp= ODBCSrcCols(g, dsn, (char*)src);
  4171. src= NULL; // for next tests
  4172. } else
  4173. qrp= ODBCColumns(g, dsn, shm, tab, NULL, mxr, fnc == FNC_COL);
  4174. break;
  4175. case FNC_TABLE:
  4176. qrp= ODBCTables(g, dsn, shm, tab, mxr, true);
  4177. break;
  4178. case FNC_DSN:
  4179. qrp= ODBCDataSources(g, mxr, true);
  4180. break;
  4181. case FNC_DRIVER:
  4182. qrp= ODBCDrivers(g, mxr, true);
  4183. break;
  4184. default:
  4185. sprintf(g->Message, "invalid catfunc %s", fncn);
  4186. break;
  4187. } // endswitch info
  4188. break;
  4189. #endif // ODBC_SUPPORT
  4190. #if defined(MYSQL_SUPPORT)
  4191. case TAB_MYSQL:
  4192. qrp= MyColumns(g, thd, host, db, user, pwd, tab,
  4193. NULL, port, fnc == FNC_COL);
  4194. break;
  4195. #endif // MYSQL_SUPPORT
  4196. case TAB_CSV:
  4197. qrp= CSVColumns(g, dpath, fn, spc, qch, hdr, mxe, fnc == FNC_COL);
  4198. break;
  4199. #if defined(WIN32)
  4200. case TAB_WMI:
  4201. qrp= WMIColumns(g, nsp, cls, fnc == FNC_COL);
  4202. break;
  4203. #endif // WIN32
  4204. case TAB_PRX:
  4205. case TAB_TBL:
  4206. case TAB_XCL:
  4207. case TAB_OCCUR:
  4208. bif= fnc == FNC_COL;
  4209. qrp= TabColumns(g, thd, db, tab, bif);
  4210. if (!qrp && bif && fnc != FNC_COL) // tab is a view
  4211. qrp= MyColumns(g, thd, host, db, user, pwd, tab, NULL, port, false);
  4212. if (qrp && ttp == TAB_OCCUR && fnc != FNC_COL)
  4213. if (OcrColumns(g, qrp, col, ocl, rnk)) {
  4214. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4215. return HA_ERR_INTERNAL_ERROR;
  4216. } // endif OcrColumns
  4217. break;
  4218. case TAB_PIVOT:
  4219. qrp= PivotColumns(g, tab, src, pic, fcl, skc, host, db, user, pwd, port);
  4220. break;
  4221. case TAB_OEM:
  4222. qrp= OEMColumns(g, topt, tab, (char*)db, fnc == FNC_COL);
  4223. break;
  4224. default:
  4225. strcpy(g->Message, "System error during assisted discovery");
  4226. break;
  4227. } // endswitch ttp
  4228. if (!qrp) {
  4229. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4230. return HA_ERR_INTERNAL_ERROR;
  4231. } // endif !qrp
  4232. if (fnc != FNC_NO || src || ttp == TAB_PIVOT) {
  4233. // Catalog like table
  4234. for (crp= qrp->Colresp; !rc && crp; crp= crp->Next) {
  4235. cnm= encode(g, crp->Name);
  4236. typ= crp->Type;
  4237. len= crp->Length;
  4238. dec= crp->Prec;
  4239. flg= crp->Flag;
  4240. v= crp->Var;
  4241. if (!len && typ == TYPE_STRING)
  4242. len= 256; // STRBLK's have 0 length
  4243. // Now add the field
  4244. #if defined(NEW_WAY)
  4245. rc= add_fields(g, thd, &alter_info, cnm, typ, len, dec,
  4246. NOT_NULL_FLAG, "", flg, dbf, v);
  4247. #else // !NEW_WAY
  4248. if (add_field(&sql, cnm, typ, len, dec, NOT_NULL_FLAG,
  4249. NULL, NULL, NULL, flg, dbf, v))
  4250. rc= HA_ERR_OUT_OF_MEM;
  4251. #endif // !NEW_WAY
  4252. } // endfor crp
  4253. } else {
  4254. // Not a catalog table
  4255. if (!qrp->Nblin) {
  4256. if (tab)
  4257. sprintf(g->Message, "Cannot get columns from %s", tab);
  4258. else
  4259. strcpy(g->Message, "Fail to retrieve columns");
  4260. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4261. return HA_ERR_INTERNAL_ERROR;
  4262. } // endif !nblin
  4263. for (i= 0; !rc && i < qrp->Nblin; i++) {
  4264. typ= len= prec= dec= 0;
  4265. tm= NOT_NULL_FLAG;
  4266. cnm= (char*)"noname";
  4267. dft= xtra= NULL;
  4268. #if defined(NEW_WAY)
  4269. rem= "";
  4270. // cs= NULL;
  4271. #else // !NEW_WAY
  4272. rem= NULL;
  4273. #endif // !NEW_WAY
  4274. for (crp= qrp->Colresp; crp; crp= crp->Next)
  4275. switch (crp->Fld) {
  4276. case FLD_NAME:
  4277. cnm= encode(g, crp->Kdata->GetCharValue(i));
  4278. break;
  4279. case FLD_TYPE:
  4280. typ= crp->Kdata->GetIntValue(i);
  4281. v = (crp->Nulls) ? crp->Nulls[i] : 0;
  4282. break;
  4283. case FLD_PREC:
  4284. // PREC must be always before LENGTH
  4285. len= prec= crp->Kdata->GetIntValue(i);
  4286. break;
  4287. case FLD_LENGTH:
  4288. len= crp->Kdata->GetIntValue(i);
  4289. break;
  4290. case FLD_SCALE:
  4291. dec= crp->Kdata->GetIntValue(i);
  4292. break;
  4293. case FLD_NULL:
  4294. if (crp->Kdata->GetIntValue(i))
  4295. tm= 0; // Nullable
  4296. break;
  4297. case FLD_REM:
  4298. rem= crp->Kdata->GetCharValue(i);
  4299. break;
  4300. // case FLD_CHARSET:
  4301. // No good because remote table is already translated
  4302. // if (*(csn= crp->Kdata->GetCharValue(i)))
  4303. // cs= get_charset_by_name(csn, 0);
  4304. // break;
  4305. case FLD_DEFAULT:
  4306. dft= crp->Kdata->GetCharValue(i);
  4307. break;
  4308. case FLD_EXTRA:
  4309. xtra= crp->Kdata->GetCharValue(i);
  4310. // Auto_increment is not supported yet
  4311. if (!stricmp(xtra, "AUTO_INCREMENT"))
  4312. xtra= NULL;
  4313. break;
  4314. default:
  4315. break; // Ignore
  4316. } // endswitch Fld
  4317. #if defined(ODBC_SUPPORT)
  4318. if (ttp == TAB_ODBC) {
  4319. int plgtyp;
  4320. // typ must be PLG type, not SQL type
  4321. if (!(plgtyp= TranslateSQLType(typ, dec, prec, v))) {
  4322. sprintf(g->Message, "Unsupported SQL type %d", typ);
  4323. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4324. return HA_ERR_INTERNAL_ERROR;
  4325. } else
  4326. typ= plgtyp;
  4327. switch (typ) {
  4328. case TYPE_DOUBLE:
  4329. // Some data sources do not count dec in length (prec)
  4330. prec += (dec + 2); // To be safe
  4331. case TYPE_DECIM:
  4332. break;
  4333. default:
  4334. dec= 0;
  4335. } // endswitch typ
  4336. } // endif ttp
  4337. #endif // ODBC_SUPPORT
  4338. // Make the arguments as required by add_fields
  4339. if (typ == TYPE_DATE)
  4340. prec= 0;
  4341. else if (typ == TYPE_DOUBLE)
  4342. prec= len;
  4343. // Now add the field
  4344. #if defined(NEW_WAY)
  4345. rc= add_fields(g, thd, &alter_info, cnm, typ, prec, dec,
  4346. tm, rem, 0, dbf, v);
  4347. #else // !NEW_WAY
  4348. if (add_field(&sql, cnm, typ, prec, dec, tm, rem, dft, xtra,
  4349. 0, dbf, v))
  4350. rc= HA_ERR_OUT_OF_MEM;
  4351. #endif // !NEW_WAY
  4352. } // endfor i
  4353. } // endif fnc
  4354. #if defined(NEW_WAY)
  4355. rc= init_table_share(thd, table_s, create_info, &alter_info);
  4356. #else // !NEW_WAY
  4357. if (!rc)
  4358. rc= init_table_share(thd, table_s, create_info, &sql);
  4359. // rc= init_table_share(thd, table_s, create_info, dsn, &sql);
  4360. #endif // !NEW_WAY
  4361. return rc;
  4362. } // endif ok
  4363. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4364. return HA_ERR_INTERNAL_ERROR;
  4365. } // end of connect_assisted_discovery
  4366. /**
  4367. Get the database name from a qualified table name.
  4368. */
  4369. char *ha_connect::GetDBfromName(const char *name)
  4370. {
  4371. char *db, dbname[128], tbname[128];
  4372. if (filename_to_dbname_and_tablename(name, dbname, sizeof(dbname),
  4373. tbname, sizeof(tbname)))
  4374. *dbname= 0;
  4375. if (*dbname) {
  4376. assert(xp && xp->g);
  4377. db= (char*)PlugSubAlloc(xp->g, NULL, strlen(dbname + 1));
  4378. strcpy(db, dbname);
  4379. } else
  4380. db= NULL;
  4381. return db;
  4382. } // end of GetDBfromName
  4383. /**
  4384. @brief
  4385. create() is called to create a database. The variable name will have the name
  4386. of the table.
  4387. @details
  4388. When create() is called you do not need to worry about
  4389. opening the table. Also, the .frm file will have already been
  4390. created so adjusting create_info is not necessary. You can overwrite
  4391. the .frm file at this point if you wish to change the table
  4392. definition, but there are no methods currently provided for doing
  4393. so.
  4394. Called from handle.cc by ha_create_table().
  4395. @note
  4396. Currently we do some checking on the create definitions and stop
  4397. creating if an error is found. We wish we could change the table
  4398. definition such as providing a default table type. However, as said
  4399. above, there are no method to do so.
  4400. @see
  4401. ha_create_table() in handle.cc
  4402. */
  4403. int ha_connect::create(const char *name, TABLE *table_arg,
  4404. HA_CREATE_INFO *create_info)
  4405. {
  4406. int rc= RC_OK;
  4407. bool dbf, inward;
  4408. Field* *field;
  4409. Field *fp;
  4410. TABTYPE type;
  4411. TABLE *st= table; // Probably unuseful
  4412. THD *thd= ha_thd();
  4413. #if defined(WITH_PARTITION_STORAGE_ENGINE)
  4414. partition_info *part_info= table_arg->part_info;
  4415. #endif // WITH_PARTITION_STORAGE_ENGINE
  4416. xp= GetUser(thd, xp);
  4417. PGLOBAL g= xp->g;
  4418. DBUG_ENTER("ha_connect::create");
  4419. int sqlcom= thd_sql_command(table_arg->in_use);
  4420. PTOS options= GetTableOptionStruct(table_arg->s);
  4421. table= table_arg; // Used by called functions
  4422. if (xtrace)
  4423. htrc("create: this=%p thd=%p xp=%p g=%p sqlcom=%d name=%s\n",
  4424. this, thd, xp, g, sqlcom, GetTableName());
  4425. // CONNECT engine specific table options:
  4426. DBUG_ASSERT(options);
  4427. type= GetTypeID(options->type);
  4428. // Check table type
  4429. if (type == TAB_UNDEF) {
  4430. options->type= (options->srcdef) ? "MYSQL" :
  4431. (options->tabname) ? "PROXY" : "DOS";
  4432. type= GetTypeID(options->type);
  4433. sprintf(g->Message, "No table_type. Will be set to %s", options->type);
  4434. if (sqlcom == SQLCOM_CREATE_TABLE)
  4435. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  4436. } else if (type == TAB_NIY) {
  4437. sprintf(g->Message, "Unsupported table type %s", options->type);
  4438. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4439. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4440. } // endif ttp
  4441. if (check_privileges(thd, options, GetDBfromName(name)))
  4442. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4443. inward= IsFileType(type) && !options->filename;
  4444. if (options->data_charset) {
  4445. const CHARSET_INFO *data_charset;
  4446. if (!(data_charset= get_charset_by_csname(options->data_charset,
  4447. MY_CS_PRIMARY, MYF(0)))) {
  4448. my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), options->data_charset);
  4449. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4450. } // endif charset
  4451. if (type == TAB_XML && data_charset != &my_charset_utf8_general_ci) {
  4452. my_printf_error(ER_UNKNOWN_ERROR,
  4453. "DATA_CHARSET='%s' is not supported for TABLE_TYPE=XML",
  4454. MYF(0), options->data_charset);
  4455. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4456. } // endif utf8
  4457. } // endif charset
  4458. if (!g) {
  4459. rc= HA_ERR_INTERNAL_ERROR;
  4460. DBUG_RETURN(rc);
  4461. } else
  4462. dbf= (GetTypeID(options->type) == TAB_DBF && !options->catfunc);
  4463. // Can be null in ALTER TABLE
  4464. if (create_info->alias)
  4465. // Check whether a table is defined on itself
  4466. switch (type) {
  4467. case TAB_PRX:
  4468. case TAB_XCL:
  4469. case TAB_PIVOT:
  4470. case TAB_OCCUR:
  4471. if (options->srcdef) {
  4472. strcpy(g->Message, "Cannot check looping reference");
  4473. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  4474. } else if (options->tabname) {
  4475. if (!stricmp(options->tabname, create_info->alias) &&
  4476. (!options->dbname || !stricmp(options->dbname, table_arg->s->db.str))) {
  4477. sprintf(g->Message, "A %s table cannot refer to itself",
  4478. options->type);
  4479. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4480. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4481. } // endif tab
  4482. } else {
  4483. strcpy(g->Message, "Missing object table name or definition");
  4484. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4485. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4486. } // endif tabname
  4487. case TAB_MYSQL:
  4488. #if defined(WITH_PARTITION_STORAGE_ENGINE)
  4489. if (!part_info)
  4490. #endif // WITH_PARTITION_STORAGE_ENGINE
  4491. {const char *src= options->srcdef;
  4492. char *host, *db, *tab= (char*)options->tabname;
  4493. int port;
  4494. host= GetListOption(g, "host", options->oplist, NULL);
  4495. db= GetStringOption("database", NULL);
  4496. port= atoi(GetListOption(g, "port", options->oplist, "0"));
  4497. if (create_info->connect_string.str) {
  4498. char *dsn;
  4499. int len= create_info->connect_string.length;
  4500. PMYDEF mydef= new(g) MYSQLDEF();
  4501. dsn= (char*)PlugSubAlloc(g, NULL, len + 1);
  4502. strncpy(dsn, create_info->connect_string.str, len);
  4503. dsn[len]= 0;
  4504. mydef->SetName(create_info->alias);
  4505. if (!mydef->ParseURL(g, dsn, false)) {
  4506. if (mydef->GetHostname())
  4507. host= mydef->GetHostname();
  4508. if (mydef->GetDatabase())
  4509. db= mydef->GetDatabase();
  4510. if (mydef->GetTabname())
  4511. tab= mydef->GetTabname();
  4512. if (mydef->GetPortnumber())
  4513. port= mydef->GetPortnumber();
  4514. } else {
  4515. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4516. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4517. } // endif ParseURL
  4518. } // endif connect_string
  4519. if (CheckSelf(g, table_arg->s, host, db, tab, src, port)) {
  4520. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4521. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4522. } // endif CheckSelf
  4523. }break;
  4524. default: /* do nothing */;
  4525. break;
  4526. } // endswitch ttp
  4527. if (type == TAB_XML) {
  4528. bool dom; // True: MS-DOM, False libxml2
  4529. char *xsup= GetListOption(g, "Xmlsup", options->oplist, "*");
  4530. // Note that if no support is specified, the default is MS-DOM
  4531. // on Windows and libxml2 otherwise
  4532. switch (*xsup) {
  4533. case '*':
  4534. #if defined(WIN32)
  4535. dom= true;
  4536. #else // !WIN32
  4537. dom= false;
  4538. #endif // !WIN32
  4539. break;
  4540. case 'M':
  4541. case 'D':
  4542. dom= true;
  4543. break;
  4544. default:
  4545. dom= false;
  4546. break;
  4547. } // endswitch xsup
  4548. #if !defined(DOMDOC_SUPPORT)
  4549. if (dom) {
  4550. strcpy(g->Message, "MS-DOM not supported by this version");
  4551. xsup= NULL;
  4552. } // endif DomDoc
  4553. #endif // !DOMDOC_SUPPORT
  4554. #if !defined(LIBXML2_SUPPORT)
  4555. if (!dom) {
  4556. strcpy(g->Message, "libxml2 not supported by this version");
  4557. xsup= NULL;
  4558. } // endif Libxml2
  4559. #endif // !LIBXML2_SUPPORT
  4560. if (!xsup) {
  4561. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4562. rc= HA_ERR_INTERNAL_ERROR;
  4563. DBUG_RETURN(rc);
  4564. } // endif xsup
  4565. } // endif type
  4566. // Check column types
  4567. for (field= table_arg->field; *field; field++) {
  4568. fp= *field;
  4569. if (fp->vcol_info && !fp->stored_in_db)
  4570. continue; // This is a virtual column
  4571. if (fp->flags & AUTO_INCREMENT_FLAG) {
  4572. strcpy(g->Message, "Auto_increment is not supported yet");
  4573. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4574. rc= HA_ERR_INTERNAL_ERROR;
  4575. DBUG_RETURN(rc);
  4576. } // endif flags
  4577. if (fp->flags & (BLOB_FLAG | ENUM_FLAG | SET_FLAG)) {
  4578. sprintf(g->Message, "Unsupported type for column %s",
  4579. fp->field_name);
  4580. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4581. rc= HA_ERR_INTERNAL_ERROR;
  4582. DBUG_RETURN(rc);
  4583. } // endif flags
  4584. switch (fp->type()) {
  4585. case MYSQL_TYPE_SHORT:
  4586. case MYSQL_TYPE_LONG:
  4587. case MYSQL_TYPE_FLOAT:
  4588. case MYSQL_TYPE_DOUBLE:
  4589. case MYSQL_TYPE_TIMESTAMP:
  4590. case MYSQL_TYPE_DATE:
  4591. case MYSQL_TYPE_TIME:
  4592. case MYSQL_TYPE_DATETIME:
  4593. case MYSQL_TYPE_YEAR:
  4594. case MYSQL_TYPE_NEWDATE:
  4595. case MYSQL_TYPE_LONGLONG:
  4596. case MYSQL_TYPE_TINY:
  4597. case MYSQL_TYPE_DECIMAL:
  4598. case MYSQL_TYPE_NEWDECIMAL:
  4599. case MYSQL_TYPE_INT24:
  4600. break; // Ok
  4601. case MYSQL_TYPE_VARCHAR:
  4602. case MYSQL_TYPE_VAR_STRING:
  4603. case MYSQL_TYPE_STRING:
  4604. if (!fp->field_length) {
  4605. sprintf(g->Message, "Unsupported 0 length for column %s",
  4606. fp->field_name);
  4607. rc= HA_ERR_INTERNAL_ERROR;
  4608. my_printf_error(ER_UNKNOWN_ERROR,
  4609. "Unsupported 0 length for column %s",
  4610. MYF(0), fp->field_name);
  4611. DBUG_RETURN(rc);
  4612. } // endif fp
  4613. break; // To be checked
  4614. case MYSQL_TYPE_BIT:
  4615. case MYSQL_TYPE_NULL:
  4616. case MYSQL_TYPE_ENUM:
  4617. case MYSQL_TYPE_SET:
  4618. case MYSQL_TYPE_TINY_BLOB:
  4619. case MYSQL_TYPE_MEDIUM_BLOB:
  4620. case MYSQL_TYPE_LONG_BLOB:
  4621. case MYSQL_TYPE_BLOB:
  4622. case MYSQL_TYPE_GEOMETRY:
  4623. default:
  4624. // fprintf(stderr, "Unsupported type column %s\n", fp->field_name);
  4625. sprintf(g->Message, "Unsupported type for column %s",
  4626. fp->field_name);
  4627. rc= HA_ERR_INTERNAL_ERROR;
  4628. my_printf_error(ER_UNKNOWN_ERROR, "Unsupported type for column %s",
  4629. MYF(0), fp->field_name);
  4630. DBUG_RETURN(rc);
  4631. break;
  4632. } // endswitch type
  4633. if ((fp)->real_maybe_null() && !IsTypeNullable(type)) {
  4634. my_printf_error(ER_UNKNOWN_ERROR,
  4635. "Table type %s does not support nullable columns",
  4636. MYF(0), options->type);
  4637. DBUG_RETURN(HA_ERR_UNSUPPORTED);
  4638. } // endif !nullable
  4639. if (dbf) {
  4640. bool b= false;
  4641. if ((b= strlen(fp->field_name) > 10))
  4642. sprintf(g->Message, "DBF: Column name '%s' is too long (max=10)",
  4643. fp->field_name);
  4644. else if ((b= fp->field_length > 255))
  4645. sprintf(g->Message, "DBF: Column length too big for '%s' (max=255)",
  4646. fp->field_name);
  4647. if (b) {
  4648. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4649. rc= HA_ERR_INTERNAL_ERROR;
  4650. DBUG_RETURN(rc);
  4651. } // endif b
  4652. } // endif dbf
  4653. } // endfor field
  4654. if ((sqlcom == SQLCOM_CREATE_TABLE || *GetTableName() == '#') && inward) {
  4655. // The file name is not specified, create a default file in
  4656. // the database directory named table_name.table_type.
  4657. // (temporarily not done for XML because a void file causes
  4658. // the XML parsers to report an error on the first Insert)
  4659. char buf[256], fn[_MAX_PATH], dbpath[128], lwt[12];
  4660. int h;
  4661. // Check for incompatible options
  4662. if (options->sepindex) {
  4663. my_message(ER_UNKNOWN_ERROR,
  4664. "SEPINDEX is incompatible with unspecified file name",
  4665. MYF(0));
  4666. DBUG_RETURN(HA_ERR_UNSUPPORTED);
  4667. } else if (GetTypeID(options->type) == TAB_VEC)
  4668. if (!table->s->max_rows || options->split) {
  4669. my_printf_error(ER_UNKNOWN_ERROR,
  4670. "%s tables whose file name is unspecified cannot be split",
  4671. MYF(0), options->type);
  4672. DBUG_RETURN(HA_ERR_UNSUPPORTED);
  4673. } else if (options->header == 2) {
  4674. my_printf_error(ER_UNKNOWN_ERROR,
  4675. "header=2 is not allowed for %s tables whose file name is unspecified",
  4676. MYF(0), options->type);
  4677. DBUG_RETURN(HA_ERR_UNSUPPORTED);
  4678. } // endif's
  4679. // Fold type to lower case
  4680. for (int i= 0; i < 12; i++)
  4681. if (!options->type[i]) {
  4682. lwt[i]= 0;
  4683. break;
  4684. } else
  4685. lwt[i]= tolower(options->type[i]);
  4686. #if defined(WITH_PARTITION_STORAGE_ENGINE)
  4687. if (part_info) {
  4688. char *p;
  4689. strcpy(dbpath, name);
  4690. p= strrchr(dbpath, slash);
  4691. strcpy(partname, ++p);
  4692. strcat(strcat(strcpy(buf, p), "."), lwt);
  4693. *p= 0;
  4694. } else {
  4695. #endif // WITH_PARTITION_STORAGE_ENGINE
  4696. strcat(strcat(strcpy(buf, GetTableName()), "."), lwt);
  4697. sprintf(g->Message, "No file name. Table will use %s", buf);
  4698. if (sqlcom == SQLCOM_CREATE_TABLE)
  4699. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  4700. strcat(strcat(strcpy(dbpath, "./"), table->s->db.str), "/");
  4701. #if defined(WITH_PARTITION_STORAGE_ENGINE)
  4702. } // endif part_info
  4703. #endif // WITH_PARTITION_STORAGE_ENGINE
  4704. PlugSetPath(fn, buf, dbpath);
  4705. if ((h= ::open(fn, O_CREAT | O_EXCL, 0666)) == -1) {
  4706. if (errno == EEXIST)
  4707. sprintf(g->Message, "Default file %s already exists", fn);
  4708. else
  4709. sprintf(g->Message, "Error %d creating file %s", errno, fn);
  4710. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  4711. } else
  4712. ::close(h);
  4713. if ((type == TAB_FMT || options->readonly) && sqlcom == SQLCOM_CREATE_TABLE)
  4714. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0,
  4715. "Congratulation, you just created a read-only void table!");
  4716. } // endif sqlcom
  4717. if (xtrace)
  4718. htrc("xchk=%p createas=%d\n", g->Xchk, g->Createas);
  4719. // To check whether indexes have to be made or remade
  4720. if (!g->Xchk) {
  4721. PIXDEF xdp;
  4722. // We should be in CREATE TABLE, ALTER_TABLE or CREATE INDEX
  4723. if (!(sqlcom == SQLCOM_CREATE_TABLE || sqlcom == SQLCOM_ALTER_TABLE ||
  4724. sqlcom == SQLCOM_CREATE_INDEX || sqlcom == SQLCOM_DROP_INDEX))
  4725. // (sqlcom == SQLCOM_CREATE_INDEX && part_info) ||
  4726. // (sqlcom == SQLCOM_DROP_INDEX && part_info)))
  4727. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0,
  4728. "Unexpected command in create, please contact CONNECT team");
  4729. #if defined(WITH_PARTITION_STORAGE_ENGINE)
  4730. if (part_info && !inward)
  4731. strcpy(partname, decode(g, strrchr(name, '#') + 1));
  4732. // strcpy(partname, part_info->curr_part_elem->partition_name);
  4733. #endif // WITH_PARTITION_STORAGE_ENGINE
  4734. if (g->Alchecked == 0 &&
  4735. (!IsFileType(type) || FileExists(options->filename, false))) {
  4736. if (part_info) {
  4737. sprintf(g->Message, "Data repartition in %s is unchecked", partname);
  4738. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0, g->Message);
  4739. } else if (sqlcom == SQLCOM_ALTER_TABLE) {
  4740. // This is an ALTER to CONNECT from another engine.
  4741. // It cannot be accepted because the table data would be modified
  4742. // except when the target file does not exist.
  4743. strcpy(g->Message, "Operation denied. Table data would be modified.");
  4744. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4745. DBUG_RETURN(HA_ERR_INTERNAL_ERROR);
  4746. } // endif part_info
  4747. } // endif outward
  4748. // Get the index definitions
  4749. if ((xdp= GetIndexInfo()) || sqlcom == SQLCOM_DROP_INDEX) {
  4750. if (options->multiple) {
  4751. strcpy(g->Message, "Multiple tables are not indexable");
  4752. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4753. rc= HA_ERR_UNSUPPORTED;
  4754. } else if (options->compressed) {
  4755. strcpy(g->Message, "Compressed tables are not indexable");
  4756. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4757. rc= HA_ERR_UNSUPPORTED;
  4758. } else if (GetIndexType(type) == 1) {
  4759. PDBUSER dup= PlgGetUser(g);
  4760. PCATLG cat= (dup) ? dup->Catalog : NULL;
  4761. SetDataPath(g, table_arg->s->db.str);
  4762. if (cat) {
  4763. // cat->SetDataPath(g, table_arg->s->db.str);
  4764. #if defined(WITH_PARTITION_STORAGE_ENGINE)
  4765. if (part_info)
  4766. strcpy(partname,
  4767. decode(g, strrchr(name, (inward ? slash : '#')) + 1));
  4768. #endif // WITH_PARTITION_STORAGE_ENGINE
  4769. if ((rc= optimize(table->in_use, NULL))) {
  4770. htrc("Create rc=%d %s\n", rc, g->Message);
  4771. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4772. rc= HA_ERR_INTERNAL_ERROR;
  4773. } else
  4774. CloseTable(g);
  4775. } // endif cat
  4776. } else if (!GetIndexType(type)) {
  4777. sprintf(g->Message, "Table type %s is not indexable", options->type);
  4778. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4779. rc= HA_ERR_UNSUPPORTED;
  4780. } // endif index type
  4781. } // endif xdp
  4782. } else {
  4783. // This should not happen anymore with indexing new way
  4784. my_message(ER_UNKNOWN_ERROR,
  4785. "CONNECT index modification should be in-place", MYF(0));
  4786. DBUG_RETURN(HA_ERR_UNSUPPORTED);
  4787. } // endif Xchk
  4788. table= st;
  4789. DBUG_RETURN(rc);
  4790. } // end of create
  4791. /**
  4792. Used to check whether a file based outward table can be populated by
  4793. an ALTER TABLE command. The conditions are:
  4794. - file does not exist or is void
  4795. - user has file privilege
  4796. */
  4797. bool ha_connect::FileExists(const char *fn, bool bf)
  4798. {
  4799. if (!fn || !*fn)
  4800. return false;
  4801. else if (IsPartitioned() && bf)
  4802. return true;
  4803. if (table) {
  4804. char *s, tfn[_MAX_PATH], filename[_MAX_PATH], path[128];
  4805. bool b= false;
  4806. int n;
  4807. struct stat info;
  4808. if (check_access(ha_thd(), FILE_ACL, table->s->db.str,
  4809. NULL, NULL, 0, 0))
  4810. return true;
  4811. #if defined(WIN32)
  4812. s= "\\";
  4813. #else // !WIN32
  4814. s= "/";
  4815. #endif // !WIN32
  4816. if (IsPartitioned()) {
  4817. sprintf(tfn, fn, GetPartName());
  4818. // This is to avoid an initialization error raised by the
  4819. // test on check_table_flags made in ha_partition::open
  4820. // that can fail if some partition files are empty.
  4821. b= true;
  4822. } else
  4823. strcpy(tfn, fn);
  4824. strcat(strcat(strcat(strcpy(path, "."), s), table->s->db.str), s);
  4825. PlugSetPath(filename, tfn, path);
  4826. n= stat(filename, &info);
  4827. if (n < 0) {
  4828. if (errno != ENOENT) {
  4829. char buf[_MAX_PATH + 20];
  4830. sprintf(buf, "Error %d for file %s", errno, filename);
  4831. push_warning(table->in_use, Sql_condition::WARN_LEVEL_WARN, 0, buf);
  4832. return true;
  4833. } else
  4834. return false;
  4835. } else
  4836. return (info.st_size || b) ? true : false;
  4837. } // endif table
  4838. return true;
  4839. } // end of FileExists
  4840. // Called by SameString and NoFieldOptionChange
  4841. bool ha_connect::CheckString(const char *str1, const char *str2)
  4842. {
  4843. bool b1= (!str1 || !*str1), b2= (!str2 || !*str2);
  4844. if (b1 && b2)
  4845. return true;
  4846. else if ((b1 && !b2) || (!b1 && b2) || stricmp(str1, str2))
  4847. return false;
  4848. return true;
  4849. } // end of CheckString
  4850. /**
  4851. check whether a string option have changed
  4852. */
  4853. bool ha_connect::SameString(TABLE *tab, char *opn)
  4854. {
  4855. char *str1, *str2;
  4856. tshp= tab->s; // The altered table
  4857. str1= GetStringOption(opn);
  4858. tshp= NULL;
  4859. str2= GetStringOption(opn);
  4860. return CheckString(str1, str2);
  4861. } // end of SameString
  4862. /**
  4863. check whether a Boolean option have changed
  4864. */
  4865. bool ha_connect::SameBool(TABLE *tab, char *opn)
  4866. {
  4867. bool b1, b2;
  4868. tshp= tab->s; // The altered table
  4869. b1= GetBooleanOption(opn, false);
  4870. tshp= NULL;
  4871. b2= GetBooleanOption(opn, false);
  4872. return (b1 == b2);
  4873. } // end of SameBool
  4874. /**
  4875. check whether an integer option have changed
  4876. */
  4877. bool ha_connect::SameInt(TABLE *tab, char *opn)
  4878. {
  4879. int i1, i2;
  4880. tshp= tab->s; // The altered table
  4881. i1= GetIntegerOption(opn);
  4882. tshp= NULL;
  4883. i2= GetIntegerOption(opn);
  4884. if (!stricmp(opn, "lrecl"))
  4885. return (i1 == i2 || !i1 || !i2);
  4886. else if (!stricmp(opn, "ending"))
  4887. return (i1 == i2 || i1 <= 0 || i2 <= 0);
  4888. else
  4889. return (i1 == i2);
  4890. } // end of SameInt
  4891. /**
  4892. check whether a field option have changed
  4893. */
  4894. bool ha_connect::NoFieldOptionChange(TABLE *tab)
  4895. {
  4896. bool rc= true;
  4897. ha_field_option_struct *fop1, *fop2;
  4898. Field* *fld1= table->s->field;
  4899. Field* *fld2= tab->s->field;
  4900. for (; rc && *fld1 && *fld2; fld1++, fld2++) {
  4901. fop1= (*fld1)->option_struct;
  4902. fop2= (*fld2)->option_struct;
  4903. rc= (fop1->offset == fop2->offset &&
  4904. fop1->fldlen == fop2->fldlen &&
  4905. CheckString(fop1->dateformat, fop2->dateformat) &&
  4906. CheckString(fop1->fieldformat, fop2->fieldformat) &&
  4907. CheckString(fop1->special, fop2->special));
  4908. } // endfor fld
  4909. return rc;
  4910. } // end of NoFieldOptionChange
  4911. /**
  4912. Check if a storage engine supports a particular alter table in-place
  4913. @param altered_table TABLE object for new version of table.
  4914. @param ha_alter_info Structure describing changes to be done
  4915. by ALTER TABLE and holding data used
  4916. during in-place alter.
  4917. @retval HA_ALTER_ERROR Unexpected error.
  4918. @retval HA_ALTER_INPLACE_NOT_SUPPORTED Not supported, must use copy.
  4919. @retval HA_ALTER_INPLACE_EXCLUSIVE_LOCK Supported, but requires X lock.
  4920. @retval HA_ALTER_INPLACE_SHARED_LOCK_AFTER_PREPARE
  4921. Supported, but requires SNW lock
  4922. during main phase. Prepare phase
  4923. requires X lock.
  4924. @retval HA_ALTER_INPLACE_SHARED_LOCK Supported, but requires SNW lock.
  4925. @retval HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE
  4926. Supported, concurrent reads/writes
  4927. allowed. However, prepare phase
  4928. requires X lock.
  4929. @retval HA_ALTER_INPLACE_NO_LOCK Supported, concurrent
  4930. reads/writes allowed.
  4931. @note The default implementation uses the old in-place ALTER API
  4932. to determine if the storage engine supports in-place ALTER or not.
  4933. @note Called without holding thr_lock.c lock.
  4934. */
  4935. enum_alter_inplace_result
  4936. ha_connect::check_if_supported_inplace_alter(TABLE *altered_table,
  4937. Alter_inplace_info *ha_alter_info)
  4938. {
  4939. DBUG_ENTER("check_if_supported_alter");
  4940. bool idx= false, outward= false;
  4941. THD *thd= ha_thd();
  4942. int sqlcom= thd_sql_command(thd);
  4943. TABTYPE newtyp, type= TAB_UNDEF;
  4944. HA_CREATE_INFO *create_info= ha_alter_info->create_info;
  4945. PTOS newopt, oldopt;
  4946. xp= GetUser(thd, xp);
  4947. PGLOBAL g= xp->g;
  4948. if (!g || !table) {
  4949. my_message(ER_UNKNOWN_ERROR, "Cannot check ALTER operations", MYF(0));
  4950. DBUG_RETURN(HA_ALTER_ERROR);
  4951. } // endif Xchk
  4952. newopt= altered_table->s->option_struct;
  4953. oldopt= table->s->option_struct;
  4954. // If this is the start of a new query, cleanup the previous one
  4955. if (xp->CheckCleanup()) {
  4956. tdbp= NULL;
  4957. valid_info= false;
  4958. } // endif CheckCleanup
  4959. g->Alchecked= 1; // Tested in create
  4960. g->Xchk= NULL;
  4961. type= GetRealType(oldopt);
  4962. newtyp= GetRealType(newopt);
  4963. // No copy algorithm for outward tables
  4964. outward= (!IsFileType(type) || (oldopt->filename && *oldopt->filename));
  4965. // Index operations
  4966. Alter_inplace_info::HA_ALTER_FLAGS index_operations=
  4967. Alter_inplace_info::ADD_INDEX |
  4968. Alter_inplace_info::DROP_INDEX |
  4969. Alter_inplace_info::ADD_UNIQUE_INDEX |
  4970. Alter_inplace_info::DROP_UNIQUE_INDEX |
  4971. Alter_inplace_info::ADD_PK_INDEX |
  4972. Alter_inplace_info::DROP_PK_INDEX;
  4973. Alter_inplace_info::HA_ALTER_FLAGS inplace_offline_operations=
  4974. Alter_inplace_info::ALTER_COLUMN_EQUAL_PACK_LENGTH |
  4975. Alter_inplace_info::ALTER_COLUMN_NAME |
  4976. Alter_inplace_info::ALTER_COLUMN_DEFAULT |
  4977. Alter_inplace_info::CHANGE_CREATE_OPTION |
  4978. Alter_inplace_info::ALTER_RENAME |
  4979. Alter_inplace_info::ALTER_PARTITIONED | index_operations;
  4980. if (ha_alter_info->handler_flags & index_operations ||
  4981. !SameString(altered_table, "optname") ||
  4982. !SameBool(altered_table, "sepindex")) {
  4983. if (newopt->multiple) {
  4984. strcpy(g->Message, "Multiple tables are not indexable");
  4985. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4986. DBUG_RETURN(HA_ALTER_ERROR);
  4987. } else if (newopt->compressed) {
  4988. strcpy(g->Message, "Compressed tables are not indexable");
  4989. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  4990. DBUG_RETURN(HA_ALTER_ERROR);
  4991. } else if (GetIndexType(type) == 1) {
  4992. g->Xchk= new(g) XCHK;
  4993. PCHK xcp= (PCHK)g->Xchk;
  4994. xcp->oldpix= GetIndexInfo(table->s);
  4995. xcp->newpix= GetIndexInfo(altered_table->s);
  4996. xcp->oldsep= GetBooleanOption("sepindex", false);
  4997. xcp->oldsep= xcp->SetName(g, GetStringOption("optname"));
  4998. tshp= altered_table->s;
  4999. xcp->newsep= GetBooleanOption("sepindex", false);
  5000. xcp->newsep= xcp->SetName(g, GetStringOption("optname"));
  5001. tshp= NULL;
  5002. if (xtrace && g->Xchk)
  5003. htrc(
  5004. "oldsep=%d newsep=%d oldopn=%s newopn=%s oldpix=%p newpix=%p\n",
  5005. xcp->oldsep, xcp->newsep,
  5006. SVP(xcp->oldopn), SVP(xcp->newopn),
  5007. xcp->oldpix, xcp->newpix);
  5008. if (sqlcom == SQLCOM_ALTER_TABLE)
  5009. idx= true;
  5010. else
  5011. DBUG_RETURN(HA_ALTER_INPLACE_EXCLUSIVE_LOCK);
  5012. } else if (!GetIndexType(type)) {
  5013. sprintf(g->Message, "Table type %s is not indexable", oldopt->type);
  5014. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  5015. DBUG_RETURN(HA_ALTER_ERROR);
  5016. } // endif index type
  5017. } // endif index operation
  5018. if (!SameString(altered_table, "filename")) {
  5019. if (!outward) {
  5020. // Conversion to outward table is only allowed for file based
  5021. // tables whose file does not exist.
  5022. tshp= altered_table->s;
  5023. char *fn= GetStringOption("filename");
  5024. tshp= NULL;
  5025. if (FileExists(fn, false)) {
  5026. strcpy(g->Message, "Operation denied. Table data would be lost.");
  5027. my_message(ER_UNKNOWN_ERROR, g->Message, MYF(0));
  5028. DBUG_RETURN(HA_ALTER_ERROR);
  5029. } else
  5030. goto fin;
  5031. } else
  5032. goto fin;
  5033. } // endif filename
  5034. /* Is there at least one operation that requires copy algorithm? */
  5035. if (ha_alter_info->handler_flags & ~inplace_offline_operations)
  5036. goto fin;
  5037. /*
  5038. ALTER TABLE tbl_name CONVERT TO CHARACTER SET .. and
  5039. ALTER TABLE table_name DEFAULT CHARSET = .. most likely
  5040. change column charsets and so not supported in-place through
  5041. old API.
  5042. Changing of PACK_KEYS, MAX_ROWS and ROW_FORMAT options were
  5043. not supported as in-place operations in old API either.
  5044. */
  5045. if (create_info->used_fields & (HA_CREATE_USED_CHARSET |
  5046. HA_CREATE_USED_DEFAULT_CHARSET |
  5047. HA_CREATE_USED_PACK_KEYS |
  5048. HA_CREATE_USED_MAX_ROWS) ||
  5049. (table->s->row_type != create_info->row_type))
  5050. goto fin;
  5051. #if 0
  5052. uint table_changes= (ha_alter_info->handler_flags &
  5053. Alter_inplace_info::ALTER_COLUMN_EQUAL_PACK_LENGTH) ?
  5054. IS_EQUAL_PACK_LENGTH : IS_EQUAL_YES;
  5055. if (table->file->check_if_incompatible_data(create_info, table_changes)
  5056. == COMPATIBLE_DATA_YES)
  5057. DBUG_RETURN(HA_ALTER_INPLACE_EXCLUSIVE_LOCK);
  5058. #endif // 0
  5059. // This was in check_if_incompatible_data
  5060. if (NoFieldOptionChange(altered_table) &&
  5061. type == newtyp &&
  5062. SameInt(altered_table, "lrecl") &&
  5063. SameInt(altered_table, "elements") &&
  5064. SameInt(altered_table, "header") &&
  5065. SameInt(altered_table, "quoted") &&
  5066. SameInt(altered_table, "ending") &&
  5067. SameInt(altered_table, "compressed"))
  5068. DBUG_RETURN(HA_ALTER_INPLACE_EXCLUSIVE_LOCK);
  5069. fin:
  5070. if (idx) {
  5071. // Indexing is only supported inplace
  5072. my_message(ER_ALTER_OPERATION_NOT_SUPPORTED,
  5073. "Alter operations not supported together by CONNECT", MYF(0));
  5074. DBUG_RETURN(HA_ALTER_ERROR);
  5075. } else if (outward) {
  5076. if (IsFileType(type))
  5077. push_warning(thd, Sql_condition::WARN_LEVEL_WARN, 0,
  5078. "This is an outward table, table data were not modified.");
  5079. DBUG_RETURN(HA_ALTER_INPLACE_EXCLUSIVE_LOCK);
  5080. } else
  5081. DBUG_RETURN(HA_ALTER_INPLACE_NOT_SUPPORTED);
  5082. } // end of check_if_supported_inplace_alter
  5083. /**
  5084. check_if_incompatible_data() called if ALTER TABLE can't detect otherwise
  5085. if new and old definition are compatible
  5086. @details If there are no other explicit signs like changed number of
  5087. fields this function will be called by compare_tables()
  5088. (sql/sql_tables.cc) to decide should we rewrite whole table or only .frm
  5089. file.
  5090. @note: This function is no more called by check_if_supported_inplace_alter
  5091. */
  5092. bool ha_connect::check_if_incompatible_data(HA_CREATE_INFO *info,
  5093. uint table_changes)
  5094. {
  5095. DBUG_ENTER("ha_connect::check_if_incompatible_data");
  5096. // TO DO: really implement and check it.
  5097. push_warning(ha_thd(), Sql_condition::WARN_LEVEL_WARN, 0,
  5098. "Unexpected call to check_if_incompatible_data.");
  5099. DBUG_RETURN(COMPATIBLE_DATA_NO);
  5100. } // end of check_if_incompatible_data
  5101. /****************************************************************************
  5102. * CONNECT MRR implementation: use DS-MRR
  5103. This is just copied from myisam
  5104. ***************************************************************************/
  5105. int ha_connect::multi_range_read_init(RANGE_SEQ_IF *seq, void *seq_init_param,
  5106. uint n_ranges, uint mode,
  5107. HANDLER_BUFFER *buf)
  5108. {
  5109. return ds_mrr.dsmrr_init(this, seq, seq_init_param, n_ranges, mode, buf);
  5110. } // end of multi_range_read_init
  5111. int ha_connect::multi_range_read_next(range_id_t *range_info)
  5112. {
  5113. return ds_mrr.dsmrr_next(range_info);
  5114. } // end of multi_range_read_next
  5115. ha_rows ha_connect::multi_range_read_info_const(uint keyno, RANGE_SEQ_IF *seq,
  5116. void *seq_init_param,
  5117. uint n_ranges, uint *bufsz,
  5118. uint *flags, Cost_estimate *cost)
  5119. {
  5120. /*
  5121. This call is here because there is no location where this->table would
  5122. already be known.
  5123. TODO: consider moving it into some per-query initialization call.
  5124. */
  5125. ds_mrr.init(this, table);
  5126. // MMR is implemented for "local" file based tables only
  5127. if (!IsFileType(GetRealType(GetTableOptionStruct())))
  5128. *flags|= HA_MRR_USE_DEFAULT_IMPL;
  5129. ha_rows rows= ds_mrr.dsmrr_info_const(keyno, seq, seq_init_param, n_ranges,
  5130. bufsz, flags, cost);
  5131. xp->g->Mrr= !(*flags & HA_MRR_USE_DEFAULT_IMPL);
  5132. return rows;
  5133. } // end of multi_range_read_info_const
  5134. ha_rows ha_connect::multi_range_read_info(uint keyno, uint n_ranges, uint keys,
  5135. uint key_parts, uint *bufsz,
  5136. uint *flags, Cost_estimate *cost)
  5137. {
  5138. ds_mrr.init(this, table);
  5139. // MMR is implemented for "local" file based tables only
  5140. if (!IsFileType(GetRealType(GetTableOptionStruct())))
  5141. *flags|= HA_MRR_USE_DEFAULT_IMPL;
  5142. ha_rows rows= ds_mrr.dsmrr_info(keyno, n_ranges, keys, key_parts, bufsz,
  5143. flags, cost);
  5144. xp->g->Mrr= !(*flags & HA_MRR_USE_DEFAULT_IMPL);
  5145. return rows;
  5146. } // end of multi_range_read_info
  5147. int ha_connect::multi_range_read_explain_info(uint mrr_mode, char *str,
  5148. size_t size)
  5149. {
  5150. return ds_mrr.dsmrr_explain_info(mrr_mode, str, size);
  5151. } // end of multi_range_read_explain_info
  5152. /* CONNECT MRR implementation ends */
  5153. #if 0
  5154. // Does this make sens for CONNECT?
  5155. Item *ha_connect::idx_cond_push(uint keyno_arg, Item* idx_cond_arg)
  5156. {
  5157. pushed_idx_cond_keyno= keyno_arg;
  5158. pushed_idx_cond= idx_cond_arg;
  5159. in_range_check_pushed_down= TRUE;
  5160. if (active_index == pushed_idx_cond_keyno)
  5161. mi_set_index_cond_func(file, handler_index_cond_check, this);
  5162. return NULL;
  5163. }
  5164. #endif // 0
  5165. struct st_mysql_storage_engine connect_storage_engine=
  5166. { MYSQL_HANDLERTON_INTERFACE_VERSION };
  5167. /***********************************************************************/
  5168. /* CONNECT global variables definitions. */
  5169. /***********************************************************************/
  5170. // Tracing: 0 no, 1 yes, >1 more tracing
  5171. static MYSQL_SYSVAR_INT(xtrace, xtrace,
  5172. PLUGIN_VAR_RQCMDARG, "Console trace value.",
  5173. NULL, update_connect_xtrace, 0, 0, INT_MAX, 1);
  5174. // Size used when converting TEXT columns to VARCHAR
  5175. static MYSQL_SYSVAR_INT(conv_size, conv_size,
  5176. PLUGIN_VAR_RQCMDARG, "Size used when converting TEXT columns.",
  5177. NULL, update_connect_zconv, SZCONV, 0, 65500, 1);
  5178. /**
  5179. Type conversion:
  5180. no: Unsupported types -> TYPE_ERROR
  5181. yes: TEXT -> VARCHAR
  5182. skip: skip unsupported type columns in Discovery
  5183. */
  5184. const char *xconv_names[]=
  5185. {
  5186. "NO", "YES", "SKIP", NullS
  5187. };
  5188. TYPELIB xconv_typelib=
  5189. {
  5190. array_elements(xconv_names) - 1, "xconv_typelib",
  5191. xconv_names, NULL
  5192. };
  5193. static MYSQL_SYSVAR_ENUM(
  5194. type_conv, // name
  5195. type_conv, // varname
  5196. PLUGIN_VAR_RQCMDARG, // opt
  5197. "Unsupported types conversion.", // comment
  5198. NULL, // check
  5199. update_connect_xconv, // update function
  5200. 0, // def (no)
  5201. &xconv_typelib); // typelib
  5202. /**
  5203. Temporary file usage:
  5204. no: Not using temporary file
  5205. auto: Using temporary file when needed
  5206. yes: Allways using temporary file
  5207. force: Force using temporary file (no MAP)
  5208. test: Reserved
  5209. */
  5210. const char *usetemp_names[]=
  5211. {
  5212. "NO", "AUTO", "YES", "FORCE", "TEST", NullS
  5213. };
  5214. TYPELIB usetemp_typelib=
  5215. {
  5216. array_elements(usetemp_names) - 1, "usetemp_typelib",
  5217. usetemp_names, NULL
  5218. };
  5219. static MYSQL_SYSVAR_ENUM(
  5220. use_tempfile, // name
  5221. use_tempfile, // varname
  5222. PLUGIN_VAR_RQCMDARG, // opt
  5223. "Temporary file use.", // comment
  5224. NULL, // check
  5225. update_connect_usetemp, // update function
  5226. 1, // def (AUTO)
  5227. &usetemp_typelib); // typelib
  5228. #if defined(XMAP)
  5229. // Using file mapping for indexes if true
  5230. static MYSQL_SYSVAR_BOOL(indx_map, indx_map, PLUGIN_VAR_RQCMDARG,
  5231. "Using file mapping for indexes",
  5232. NULL, update_connect_xmap, 0);
  5233. #endif // XMAP
  5234. // Size used for g->Sarea_Size
  5235. static MYSQL_SYSVAR_UINT(work_size, work_size,
  5236. PLUGIN_VAR_RQCMDARG, "Size of the CONNECT work area.",
  5237. NULL, update_connect_worksize, SZWORK, SZWMIN, UINT_MAX, 1);
  5238. // Getting exact info values
  5239. static MYSQL_SYSVAR_BOOL(exact_info, exact_info, PLUGIN_VAR_RQCMDARG,
  5240. "Getting exact info values",
  5241. NULL, update_connect_xinfo, 0);
  5242. static struct st_mysql_sys_var* connect_system_variables[]= {
  5243. MYSQL_SYSVAR(xtrace),
  5244. MYSQL_SYSVAR(conv_size),
  5245. MYSQL_SYSVAR(type_conv),
  5246. #if defined(XMAP)
  5247. MYSQL_SYSVAR(indx_map),
  5248. #endif // XMAP
  5249. MYSQL_SYSVAR(work_size),
  5250. MYSQL_SYSVAR(use_tempfile),
  5251. MYSQL_SYSVAR(exact_info),
  5252. NULL
  5253. };
  5254. maria_declare_plugin(connect)
  5255. {
  5256. MYSQL_STORAGE_ENGINE_PLUGIN,
  5257. &connect_storage_engine,
  5258. "CONNECT",
  5259. "Olivier Bertrand",
  5260. "Management of External Data (SQL/MED), including many file formats",
  5261. PLUGIN_LICENSE_GPL,
  5262. connect_init_func, /* Plugin Init */
  5263. connect_done_func, /* Plugin Deinit */
  5264. 0x0103, /* version number (1.03) */
  5265. NULL, /* status variables */
  5266. connect_system_variables, /* system variables */
  5267. "1.03", /* string version */
  5268. MariaDB_PLUGIN_MATURITY_BETA /* maturity */
  5269. }
  5270. maria_declare_plugin_end;