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.
default being still to use SQLDriverConnect)
modified:
storage/connect/ha_connect.cc
storage/connect/odbccat.h
storage/connect/odbconn.cpp
storage/connect/odbconn.h
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
- Cardinality testing not possible for TBL tables
modified:
storage/connect/tabtbl.cpp
- Make all line ending LF instead of CRLF
modified:
storage/connect/tabjson.cpp
modified:
storage/connect/json.cpp
storage/connect/json.h
storage/connect/mysql-test/connect/r/json.result
storage/connect/mysql-test/connect/t/json.test
storage/connect/tabjson.cpp
storage/connect/tabjson.h
- Avoid crash when a partition table name pattern is ill formed
(such as using place holder %i instead of %s)
modified:
storage/connect/ha_connect.cc
the constructor of TYPVAL<PSZ> The new strg was widely uninitialised
just by setting a terminated null char. Now the whole string is zero'ed.
In Tabjson JSONCOL::ParseJpath, the original code was restored.
modified:
storage/connect/tabjson.cpp
storage/connect/value.cpp
the sp and p variable be initialised failed. Not understanding what causes
this valgrind warning, I finally changed the way Mulval is allocated just
to avoid it. This is a BAD solution as it does not really fix the problem
but just hide it. This will have to be re-considered.
modified:
storage/connect/tabjson.cpp
storage/connect/value.cpp