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
modified:
storage/connect/tabutil.cpp
- Change order of tests when looking for valid tdbp. In rare cases an invalid
tdbp was still existing causing a crash of the server.
modified:
storage/connect/ha_connect.cc
NOTE: Checking for looping references cannot be done when using views
as parameters. This should not be allowed on production servers and
should be dependant on a system variable and/or on speciel grant.
modified:
storage/connect/CMakeLists.txt
storage/connect/connect.cc
storage/connect/ha_connect.cc
storage/connect/myconn.cpp
storage/connect/myconn.h
storage/connect/mysql-test/connect/r/fmt.result
storage/connect/mysql-test/connect/r/pivot.result
storage/connect/mysql-test/connect/t/fmt.test
storage/connect/mysql-test/connect/t/pivot.test
storage/connect/plgdbsem.h
storage/connect/plugutil.c
storage/connect/tabcol.cpp
storage/connect/tabcol.h
storage/connect/tabfmt.cpp
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
storage/connect/taboccur.cpp
storage/connect/taboccur.h
storage/connect/tabpivot.cpp
storage/connect/tabpivot.h
storage/connect/tabtbl.cpp
storage/connect/tabutil.cpp
storage/connect/tabutil.h
storage/connect/xtable.h
modified:
storage/connect/connect.cc
storage/connect/tabutil.h
- Fix closing invalid tdbp in External_lock.
modified:
storage/connect/ha_connect.cc
- Fix closing null Tdbp
modified:
storage/connect/tabpivot.cpp*
- Fix regression error in table type TBL no more accepting missing
columns in sub-tables even when Accept was set to TRUE.
modified:
storage/connect/tabtbl.cpp
- Fix a bug causing a crash when doing an ALTER TABLE
(because create_info->alias is NULL)
added:
storage/connect/mysql-test/connect/r/occur.result
storage/connect/mysql-test/connect/r/xcol.result
storage/connect/mysql-test/connect/t/occur.test
storage/connect/mysql-test/connect/t/xcol.test
modified:
storage/connect/ha_connect.cc
- Fix bug causing PROXY on non CONNECT tables to sometimes use the wrong DB.
- Making some more tests in create that were in pre_create not called anymore
when columns are defined.
- Updating some test results to reflect new warnings.
modified:
storage/connect/ha_connect.cc
storage/connect/mysql-test/connect/r/tbl.result
storage/connect/mysql-test/connect/r/upd.result
storage/connect/tabcol.h
storage/connect/tabmysql.cpp
storage/connect/taboccur.cpp
storage/connect/taboccur.h
storage/connect/tabtbl.cpp
storage/connect/tabtbl.h
storage/connect/tabutil.cpp
storage/connect/tabutil.h
storage/connect/tabxcl.cpp
storage/connect/tabxcl.h
to 0. So it can be later set to mysqld_port if necessary. Doing so, it is no
more required to specify port when using the current port and the current port
is not equal to MYSQL_PORT (3306)
modified:
storage/connect/ha_connect.cc
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
modified:
@ mysql-test/r/mysqld--help.result
@ mysql-test/t/mysqld--help.test
Supressing information about "--connect" in "mysqld --help" output,
as it depends on the build parameters.
As a side effect information about --connect-timeout is now also suppressed :(
@ storage/connect/CMakeLists.txt
Removing gcc warning switches that do not exists in some older gcc versions.
@ storage/connect/ha_connect.cc
Adding a quick fix: cast from "const char *" to "char *".
Olivier should do a better fix eventually.
sub-tables are accessed via the MySQL API like the MYSQL CONNECT tables.
modified:
mysql-test/suite/connect/r/tbl.result
mysql-test/suite/connect/t/tbl.test
storage/connect/catalog.h
storage/connect/ha_connect.cc
storage/connect/mycat.cc
storage/connect/mycat.h
storage/connect/tabmysql.h
storage/connect/tabtbl.cpp
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
Split unspecified VEC tables are no more allowed.
Empty XML files are now accepted.
Separate index files are now depending upon the SEPINDEX option
and not allowed when file name is not specified.
DROP now can erase table and index file.
modified:
storage/connect/ha_connect.cc
storage/connect/tabdos.cpp
storage/connect/tabxml.cpp
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
instead of being replaced by the default type DOS.
modified:
mysql-test/suite/connect/r/general.result
mysql-test/suite/connect/t/general.test
storage/connect/ha_connect.cc