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
Not added as an option but handled when the table is used.
An empty file is created in the database directory if not exists.
modified:
storage/connect/ha_connect.cc
storage/connect/mycat.cc
storage/connect/tabdos.cpp
storage/connect/tabmul.cpp
storage/connect/tabsys.cpp
storage/connect/tabxml.cpp
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
Modified: ha_connect.cc (MakeRecord)
Moved PlgAllocResult to plgdbutl.cpp
Modified:
mycat.cpp
plgdbutl.cpp
Continuing implementing the "catalog" tables (ex "info").
Already existing were the ODBC data source table and the
WMI column info table.
The common way to handle them was modified to enable each
table types to send personalized data.
Now takes care of all existing catalog functions for table
types that can retrieve and use such information.
Modified:
ha_connect.cc
odbconn.cpp
tabodbc.h
tabodbc.cpp
tabfmt.h
tabfmt.cpp
tabmysql.h
tabmysql.cpp
tabwmi.h
tabwmi.cpp
myconn.h
myconn.cpp
filamdbf.cpp
plgdbsem.h
reldef.h
reldef.cpp
tabdos.h
tabdos.cpp
tabfix.h
xtable.h
table.cpp
2) Fix bug on bad sprintf
3) Fix bug on cast from pointer to int
4) Begin implementing the "info" tables.
Already existing were the ODBC sata source table and the
WMI column info table.
A common way to handle them will permit to develop many
other such tables. Implemented:
The ODBC column info table.
Modified:
ha_connect.cc (4)
odbconn.cpp (4)
tabodbc.h (4)
tabodbc.cpp (4)
tabsys.h (3)
rcmsg.c (4)
tabfmt.cpp (2)
tabtbl.cpp (1)
resource.h (4)
mycat.h (4)
2) Fix bug on bad sprintf
3) Fix bug on cast from pointer to int
4) Begin implementing the "info" tables.
Already existing were the ODBC sata source table and the
WMI column info table.
A common way to handle them will permit to develop many
other such tables. Implemented:
The ODBC column info table.
Modified:
ha_connect.cc (4)
odbconn.cpp (4)
tabodbc.h (4)
tabodbc.cpp (4)
tabsys.h (3)
rcmsg.c (4)
tabfmt.cpp (2)
tabtbl.cpp (1)
resource.h (4)
mycat.h (4)
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