modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/xindex.cpp
- Optimize retrieving numeric values in scan_record. Was previously
translating numeric values to character representation back and forth.
modified:
storage/connect/ha_connect.cc
storage/connect/mysql-test/connect/r/xml.result
- Modify Pivot table creation to avoid reading the entire source table
when making columns from Discovery. MDEV-6024
modified:
storage/connect/tabpivot.cpp
By implementing index_last
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/xindex.cpp
- Adding the TYPE_BIN Connect internal type
(not tested and not used yet)
modified:
storage/connect/global.h
storage/connect/value.cpp
storage/connect/value.h
to use named pipe on Windows by specifying the host as '.'
This addresses MDEV-5952.
modified:
storage/connect/myconn.cpp
- Clean some unused code
modified:
storage/connect/connect.cc
storage/connect/connect.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
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
modified:
storage/connect/mysql-test/connect/r/pivot.result
storage/connect/mysql-test/connect/t/pivot.test
storage/connect/tabmysql.cpp
storage/connect/tabpivot.cpp
- Implement a first experimental support of MRR
(compiled only if MRRBKA_SUPPORT is defined)
modified:
storage/connect/colblk.h
storage/connect/connect.cc
storage/connect/connect.h
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/plugutil.c
storage/connect/user_connect.cc
- Fix accidental crash when closing domdoc xml table
modified:
storage/connect/domdoc.cpp
- Update table and index flags. Correct version number in maria_declare_plugin.
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/mycat.cc
storage/connect/mycat.h
- Fix syntax error when getting columns of a non-select srcdef (discovery)
modified:
storage/connect/myconn.cpp
- Update some tests and result according to new flag setting
modified:
storage/connect/mysql-test/connect/r/alter.result
storage/connect/mysql-test/connect/r/dbf.result
storage/connect/mysql-test/connect/t/dbf.test
- Change some tracing tests to avoid too much test printed
modified:
storage/connect/plgdbutl.cpp
storage/connect/tabutil.cpp
storage/connect/value.cpp
If yes, the in-place algorithm cannot be used (inward tables)
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
- add a test on ALTER TABLE
added:
storage/connect/mysql-test/connect/r/alter.result
storage/connect/mysql-test/connect/t/alter.test
===================================================================
- 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
an XML table with DOMDOC.
modified:
storage/connect/domdoc.cpp
- Add the flag HA_MUST_USE_TABLE_CONDITION_PUSHDOWN.
modified:
storage/connect/ha_connect.cc
- Update version number
modified:
storage/connect/ha_connect.cc
storage/connect/mysql-test/connect/r/xml.result
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/plgdbsem.h
- Fiw a bug making records_in_range sometimes return a negative
value.
modified:
storage/connect/xindex.cpp
special columns are processed. This will be documented.
Also some code cleanup and some changes to prepare the indexing of
nullable columns (not achieve yet)
modified:
storage/connect/colblk.cpp
storage/connect/colblk.h
storage/connect/connect.cc
storage/connect/connect.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/macutil.cpp
storage/connect/mycat.cc
storage/connect/plgdbsem.h
storage/connect/reldef.cpp
storage/connect/reldef.h
storage/connect/table.cpp
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
storage/connect/tabodbc.h
storage/connect/tabtbl.cpp
storage/connect/tabutil.h
storage/connect/value.h
storage/connect/xindex.cpp
storage/connect/xindex.h
storage/connect/xtable.h
Fixed connect compilation failure.
storage/connect/csort.cpp:
min/max are not defined by my_global.h anymore, include osutil.h instead.
storage/connect/filamfix.cpp:
min/max are not defined by my_global.h anymore, include osutil.h instead.
storage/connect/ha_connect.cc:
Renamed MYSQL_ERROR -> Sql_condition.
Renamed KEY::key_parts -> KEY::user_defined_key_parts.
Adjusted connect according to:
WL#4305 - storage-engine private data area per physical table.
storage/connect/ha_connect.h:
Adjusted connect according to:
WL#4305 - storage-engine private data area per physical table.
storage/connect/inihandl.c:
min/max are not defined by my_global.h anymore, include osutil.h instead.
storage/connect/osutil.h:
min/max are not defined by my_global.h anymore, define them for C as well.
storage/connect/taboccur.cpp:
Include server headers before osutil.h to avoid min/max redefinition.
storage/connect/tabpivot.cpp:
Include server headers before osutil.h to avoid min/max redefinition.
storage/connect/tabtbl.cpp:
Include server headers before osutil.h to avoid min/max redefinition.
storage/connect/tabxcl.cpp:
Include server headers before osutil.h to avoid min/max redefinition.
storage/connect/value.cpp:
min/max are not defined by my_global.h anymore, include osutil.h instead.
Include server headers before osutil.h to avoid min/max redefinition.
PROXY table base on another table. Used by several other types.
XCOL proxy on a table having a colummn containing a list of values
OCCUR proxy on a table having several columns containing the same type
of values that can be put in a unique column and several rows.
TBL Not new but now internally using the PROXY table class.
- Fix 2 bugs in add_field:
Change '=' to ' ' after the COMMENT keyword.
Quote column names between '`' in the SQL string.
- Update xml test result to the CONNECT version
added:
storage/connect/taboccur.cpp
storage/connect/taboccur.h
storage/connect/tabutil.cpp
storage/connect/tabutil.h
storage/connect/tabxcl.cpp
storage/connect/tabxcl.h
modified:
storage/connect/CMakeLists.txt
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/mycat.cc
storage/connect/myconn.cpp
storage/connect/mysql-test/connect/r/xml.result
storage/connect/plgdbsem.h
storage/connect/tabmysql.cpp
storage/connect/tabtbl.cpp
storage/connect/tabtbl.h
storage/connect/valblk.cpp
storage/connect/valblk.h
The code was a legacy from the first versions of the XDB engine dating 2004
and was not working anymore with recent versions of MySQL/MariaDB. A patch
in create had been added but is was unsatisfying, recreating all indexes on
any alter statement and sometimes doing nothing when it should have.
This is a major update to be tested for stability. It was in most important
cases et all current tests pass with this new version
modified:
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/mycat.cc
storage/connect/plugutil.c
storage/connect/tabdos.cpp
storage/connect/user_connect.cc
storage/connect/user_connect.h
storage/connect/xindex.h
It is not enough to ignore the flags while populating the table. They have
to be removed from the definition in pre_create. The issue is to pass the
info from the selected table handler to the created table handler.
It is done via the only common item between them: the GLOBAL structure.
modified:
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/plugutil.c
when FILE_NAME is specified
- Require FILE privileges for the TABLE_TYPEs that
access to the underlying operating system:
ODBC, MYSQL, DIR, MAC, WMI, OEM.
added:
mysql-test/suite/connect/t/grant.inc
modified:
mysql-test/suite/connect/r/bin.result
mysql-test/suite/connect/t/bin.test
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
auto generated and must be erased or renamed on Drop or Rename Table.
TODO: Take care of eventual index files.
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
update xempl set ddentree = adddate(ddentree, interval 16 year);
The same value sdval was used to convert MySQL dates to CONNECT date
value and CONNECT dates to MySQL date. This was wrong in update because
the second time the wrong value was used converting to incoherent values.
There are now 2 separate values used: sdvalin and sdvalout.
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
and read as if the table DATA_CHARSET was ANSI instead of UTF-8. Warning
are now provided when the read content of a node is truncated.
modified:
storage/connect/domdoc.cpp
storage/connect/domdoc.h
storage/connect/libdoc.cpp
storage/connect/libdoc.h
storage/connect/plgxml.h
storage/connect/tabxml.cpp
- Conditional compilation of pre_create depending on the MARIADB setting.
modified:
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
Currently, only TABLE_TYPE is tested, and if wrong or unspecified,
is replaced by the default value DOS.
- Test on type was moved from create to pre_create
- pre_create is now called unconditionally and must return true
on error and false otherwise.
- Warnings are produced if the table type was changed.
- The errors have specific error messages (instead of being warnings
with an error message telling that a table must have columns)
Modified:
ha_connect.cc
ha_connect.h
handler.h
sql_table.cc
pre_create function and one is now able to create table
without giving the column specifications for tables of types:
DBF, ODBC, MYSQL, CSV, and WMI (on Windows)
modified:
sql/handler.h
sql/sql_table.cc
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/mycat.cc
storage/connect/odbconn.cpp
storage/connect/plgcnx.h
storage/connect/tabfmt.cpp
storage/connect/tabmysql.cpp
storage/connect/tabwmi.cpp