Was added in function TranslateSQLType.
modified: storage/connect/ha_connect.cc
modified: storage/connect/odbconn.cpp
modified: storage/connect/value.h
Add some trace in particular in indexing routines.
modified: storage/connect/block.h
modified: storage/connect/ha_connect.cc
modified: storage/connect/plugutil.c
modified: storage/connect/xindex.cpp
modified: storage/connect/xindex.h
From the previous branch:
commit eda4928ff122a0845baf5ade83b4aa29244a3a89
Author: Olivier Bertrand <bertrandop@gmail.com>
Date: Mon Mar 9 22:34:56 2015 +0100
- Add discovery to JSON tables
When columns are not defined, CONNECT analyses the json file to find column definitions.
This wors only on table that are an array of objects. Pair keys are used to generate the
column names and pair values are used for its definition. When the LEVEL option is defined
as a not null integer, the eventual JPATH is scanned up to the LEVEL value.
From the current one:
- Fix MDEV-7521 when column names are utf8 encoded (not a general multi-charset fix)
- Adds more to JSON discovery processing and UDF's
- Use PlugDup everywhere it replaces PlugSubAlloc + strcpy.
They are still experimental and should not be used in production.
added:
storage/connect/encas.h
storage/connect/english.msg
storage/connect/enids.h
storage/connect/frcas.h
storage/connect/french.msg
storage/connect/frids.h
storage/connect/frmsg.h
modified:
storage/connect/connect.cc
storage/connect/engmsg.h
storage/connect/filamdbf.cpp
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/msgid.h
storage/connect/plgdbutl.cpp
storage/connect/plugutil.c
storage/connect/rcmsg.c
storage/connect/resource.h
storage/connect/tabfmt.h
- Fix global variable not being properly initialized (MDEV-6690, MDEV-7094)
modified:
storage/connect/ha_connect.cc
storage/connect/plugutil.c
storage/connect/user_connect.cc
storage/connect/xindex.cpp
- Implement Rewind for ODBC tables (MDEV-7097)
modified:
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabmysql.cpp
storage/connect/tabodbc.cpp
- Reset N when reopening MYSQL tables
modified:
storage/connect/tabmysql.cpp
modified:
storage/connect/filamap.cpp
- ftell error: indicate in the error msg that is can be due to wrong ENDING value.
filamtxt.cpp (MDEV-7030)
modified:
storage/connect/filamtxt.cpp
- Change STRING according to Alexander Barkov remarks.
Suppress the wrong Strz function. The unconditional function strz is no more
used for s->db and s->table_name because they are zero terminated.
modified:
storage/connect/ha_connect.cc
storage/connect/xobject.cpp
- Change version number
modified:
storage/connect/filamap.cpp
- Change PATH_MAX to FN_REFLEN (MDEV-7036)
modified:
storage/connect/os.h
storage/connect/tabmul.cpp
- Fix bug by adding a void argument for OP_NOT in Makefilter.
modified:
storage/connect/filter.cpp
- Begin implementing XMSG style
Two new system variables are defined:
msg_lang ENUM session
errmsg_dir_path STR global readonly
This is a work in progress.
modified:
storage/connect/ha_connect.cc
storage/connect/plgdbutl.cpp
storage/connect/plugutil.c
storage/connect/rcmsg.c
storage/connect/resource.h
the beginning. Defining the STRING class and begining to use it (MYSQL)
2) Change the xtrace, use_tempfile and exact_info connect variables from
GLOBAL to SESSION. Remaining GLOBAL variables have been made readonly.
3) Take care of LEX_STRING variables. The .str should not be regarded as
allways being 0 terminated. This is handled by the Strz functions that
make sure to return 0 terminated strings.
Bug fix:
- When inserting in MYSQL table with special column(s) a query such as:
insert into t2 values(0,4,'new04'),(0,5,'new05');
failed saying: column id (the special column) not found in t2.
It is now accepted but must be counted in values (these 0 are ignored)
- ROWID was returning row numbers based 0. Now it is from base 1.
modified:
storage/connect/array.cpp
storage/connect/blkfil.cpp
storage/connect/colblk.cpp
storage/connect/connect.cc
storage/connect/filamap.cpp
storage/connect/filamdbf.cpp
storage/connect/filamfix.cpp
storage/connect/filamtxt.cpp
storage/connect/filamvct.cpp
storage/connect/filamzip.cpp
storage/connect/filamzip.h
storage/connect/filter.cpp
storage/connect/global.h
storage/connect/ha_connect.cc
storage/connect/ha_connect.h
storage/connect/libdoc.cpp
storage/connect/mycat.cc
storage/connect/myconn.cpp
storage/connect/odbconn.cpp
storage/connect/plgdbutl.cpp
storage/connect/plugutil.c
storage/connect/reldef.cpp
storage/connect/tabcol.cpp
storage/connect/tabdos.cpp
storage/connect/tabfix.cpp
storage/connect/tabfmt.cpp
storage/connect/table.cpp
storage/connect/tabmul.cpp
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
storage/connect/taboccur.cpp
storage/connect/tabodbc.cpp
storage/connect/tabpivot.cpp
storage/connect/tabsys.cpp
storage/connect/tabtbl.cpp
storage/connect/tabutil.cpp
storage/connect/tabvct.cpp
storage/connect/tabwmi.cpp
storage/connect/tabwmi.h
storage/connect/tabxcl.cpp
storage/connect/tabxml.cpp
storage/connect/user_connect.cc
storage/connect/valblk.cpp
storage/connect/value.cpp
storage/connect/value.h
storage/connect/xindex.cpp
storage/connect/xobject.cpp
storage/connect/xobject.h
storage/connect/xtable.h
normally when too big to be suballocated) to handle big results.
modified:
storage/connect/valblk.cpp
storage/connect/valblk.h
- Add system variable connect_work_size giving the size of the CONNECT
work area used for memory allocation.
modified:
storage/connect/ha_connect.cc
storage/connect/plugutil.c
storage/connect/user_connect.cc
modified:
storage/connect/ha_connect.cc
- Suppress the use of connect.in by adding the connect_xtrace system variable.
modified:
storage/connect/ha_connect.cc
- Make column length, varchar, and temporal column types recognized in discovery
when using SRCDEF,or PIVOT.
modified:
storage/connect/ha_connect.cc
storage/connect/myconn.cpp
storage/connect/myutil.cpp
storage/connect/plgdbsem.h
- Avoid (rare) crash when using DECIMAL type. (buf was too small)
modified:
storage/connect/tabfmt.cpp
storage/connect/tabmysql.cpp
storage/connect/tabodbc.cpp
storage/connect/tabpivot.cpp
storage/connect/valblk.cpp
storage/connect/value.cpp
- General cleaning of unused code, standardize tracing, and update version number
modified:
storage/connect/block.h
storage/connect/colblk.cpp
storage/connect/connect.cc
storage/connect/csort.h
storage/connect/filamap.cpp
storage/connect/filamdbf.cpp
storage/connect/filamfix.cpp
storage/connect/filamzip.cpp
storage/connect/ha_connect.cc
storage/connect/mycat.cc
storage/connect/myconn.cpp
storage/connect/mysql-test/connect/r/alter.result
storage/connect/mysql-test/connect/r/xml.result
storage/connect/myutil.cpp
storage/connect/osutil.c
storage/connect/plgdbsem.h
storage/connect/plgdbutl.cpp
storage/connect/plugutil.c
storage/connect/reldef.cpp
storage/connect/tabcol.cpp
storage/connect/tabfmt.cpp
storage/connect/tabmysql.cpp
storage/connect/tabodbc.cpp
storage/connect/tabpivot.cpp
storage/connect/tabvct.cpp
storage/connect/user_connect.cc
storage/connect/valblk.cpp
storage/connect/value.cpp
storage/connect/xindex.cpp
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
===================================================================
- 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
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
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
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