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