- Take care of XML special chars (<>& etc.)
- Remove Encode, Decode
modified:
storage/connect/libdoc.cpp
storage/connect/libdoc.h
- Neither libmysql.lib nor mysqlclient.lib needed for MYSQL table type
modified:
storage/connect/CMakeLists.txt
It is no more necessary to be liked to libmysql.lib nor mysqlclient.lib.
modified:
storage/connect/libdoc.cpp
storage/connect/myconn.cpp
storage/connect/myconn.h
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
(with MODULE_ONLY valgrind does not display file name and line number
if a problem happens inside a dlopen-ed plugin)
modified:
storage/connect/CMakeLists.txt
"mysqld --connect" conflicts with "mysqld --connect-timeout".
(unfortunate design decision in how mysqld handles command line options).
modified:
mysql-test/mysql-test-run.pl
mysql-test/suite/connect/suite.opt
- Set parameters so libxml2 does not anymore add extra characters
when retrieving several subnodes of a node.
- Make a CONNECT file header (was PlugDB)
modified:
storage/connect/domdoc.cpp
storage/connect/libdoc.cpp
storage/connect/tabxml.cpp
- Change the version number
modified:
storage/connect/ha_connect.cc
- Begin eliminate use of libmysql functions in MYSQL table type
Not finished yet
modified:
storage/connect/myconn.cpp
storage/connect/myconn.h
- Removing -DMYSQL_DYNAMIC_PLUGIN. Its automatically
added by MYSQL_ADD_PLUGIN
- Replacing "IF(!XXX)" to "IF(NOT XXX)". The former is a wrong cmake syntax.
modified:
storage/connect/CMakeLists.txt
static to dynamic. Apparently this caused errors with a obscure
message saying "Invalid handle vale" (probably m_henv).
Modified:
odbconn.h
odbconn.cpp
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
- Getting rid of some duplicate code in the Windows and Linux sections
- Moving the initializationa and clean-up code to connect_init_func()
and connect_done_func(). This allows to use services provided by
mysqld, for example my_snprintf(), which do not work in
"__attribute__((constructor))init()".
- Removing the "__attribute__((constructor)) init()" and
"__attribute__((destructor)) fini()" functions
- Using MariaDB's my_getpw() instead of different calls for Windows
and Linux.
- Fixing a potentially wrong memory write in strcat() when creating
the full connect.ini file name.
strcat() can go outside of the buffer size when directory name is
long enough. Using safe my_snprintf() instead.
modified:
storage/connect/ha_connect.cc
- The plan was to provide a default type (DOS) when the table type
was unspecified, wring, or not supported.
- However, this is not possible here because create is called after
the FRM file was generated.
- Currently, this is flagged as an error and the create aborts.
Modified:
ha_connect.cc
catalog functions have been changed:
Table_types are now internally represented be enum TABTYPE.
Catalog function names are internally translated to a uint.
The function GetTypeID was modified accordingly and a new
function GetFuncID was implemented in mycat.cc.
Modified:
ha_connect.cc
odbccat.h
odbconn.cpp
tabodbc.cpp
tabfmt.cpp
tabmysql.h
tabmysql.cpp
tabwmi.cpp
mycat.h
mycat.cc
plgdbsem.h
reldef.h
tabdos.cpp
rcmsg.h
There is actually one extra byte for the 11th character, however it seems
to be meant for the '\0' terminating byte in the DBF specifications.
Also, the third party software (e.g. OpenOffice) do not correctly open
tables with column length=11.
modified:
mysql-test/suite/connect/r/dbf.result
mysql-test/suite/connect/t/dbf.test
storage/connect/ha_connect.cc
- The "spath" column does not get replaces with $MYSQLD_DATADIR,
because it does not include the drive letter part, e.g. C:\.
Removing excluding spath from the "SELECT ... FROM dir1" query
- Warnings return slightly different text on Linux and Windows.
Linux has extra "/./" part:
DATADIR/./test/t1vec1
"--replace_result $MYSQLD_DATADIR DATADIR/" does not help.
Using --replace_regex instead.
modified:
mysql-test/suite/connect/r/vec.result
mysql-test/suite/connect/t/vec.test