Commit graph

9664 commits

Author SHA1 Message Date
Olivier Bertrand
5f4909b31d - Making json_udf test working on linux
added:
  storage/connect/mysql-test/connect/t/json_udf.inc
modified:
  storage/connect/mysql-test/connect/r/json_udf.result
  storage/connect/mysql-test/connect/t/json_udf.test
2015-03-01 23:55:09 +01:00
Olivier Bertrand
34c89597ef - Remove a signed/unsigned warning.
modified:
  storage/connect/jsonudf.cpp
2015-03-01 19:29:56 +01:00
Olivier Bertrand
5c8862ee19 - Fix crash when Json_Value was called without arguments.
Correct memory calculation in Serialize.
  Correct some UDF's messages.
  Add and modify the json tests
removed:
  storage/connect/mysql-test/connect/std_data/biblio.jsn
  storage/connect/mysql-test/connect/std_data/expense.jsn
  storage/connect/mysql-test/connect/std_data/mulexp3.jsn
  storage/connect/mysql-test/connect/std_data/mulexp4.jsn
  storage/connect/mysql-test/connect/std_data/mulexp5.jsn
added:
  storage/connect/mysql-test/connect/r/json_udf.result
  storage/connect/mysql-test/connect/std_data/biblio.json
  storage/connect/mysql-test/connect/std_data/expense.json
  storage/connect/mysql-test/connect/std_data/mulexp3.json
  storage/connect/mysql-test/connect/std_data/mulexp4.json
  storage/connect/mysql-test/connect/std_data/mulexp5.json
  storage/connect/mysql-test/connect/t/json_udf.test
modified:
  storage/connect/json.cpp
  storage/connect/jsonudf.cpp
  storage/connect/mysql-test/connect/r/json.result
  storage/connect/mysql-test/connect/t/json.test
2015-03-01 19:20:40 +01:00
Olivier Bertrand
d862d7c049 - Implement random access to ODBC tables
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h

- Fix get proper length of ODBC DECIMAL column in discovery
modified:
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/odbc_oracle.result

- Implement random access to JSON tables
modified:
  storage/connect/tabjson.cpp
  storage/connect/tabjson.h

- Fix MDEV-7636
modified:
  storage/connect/tabutil.cpp
2015-02-28 23:01:55 +01:00
Olivier Bertrand
aa107ef3ab - FIX assert failure when sorting JSON tables
modified:
  storage/connect/tabjson.cpp
  storage/connect/tabjson.h
2015-02-25 11:59:00 +01:00
Olivier Bertrand
e027f5e8d5 - Fix MDEV-7616 by adding SQLCOM_SET_OPTION to the accepted command list.
modified:
  storage/connect/ha_connect.cc

- Add new JSON UDF functions and JSON functionalities.
modified:
  storage/connect/json.cpp
  storage/connect/json.h
  storage/connect/jsonudf.cpp
  storage/connect/tabjson.cpp
2015-02-24 23:18:04 +01:00
Olivier Bertrand
a736e63f7c - Add new Json UDF's Json_Array_Add, Json_Array_Grp and Json_Object_Grp.
Handle longjmp's raised during json processing.
modified:
  storage/connect/global.h
  storage/connect/ha_connect.cc
  storage/connect/json.cpp
  storage/connect/jsonudf.cpp

- Fix wrong references to the suppressed g->Trace variables.
modified:
  storage/connect/global.h
  storage/connect/plugutil.c
  storage/connect/tabjson.cpp
  storage/connect/tabodbc.cpp
2015-02-22 17:53:02 +01:00
Olivier Bertrand
d9175f3822 - Remove GCC warnings
modified:
  storage/connect/jsonudf.cpp
  storage/connect/tabutil.h
2015-02-19 01:25:31 +01:00
Olivier Bertrand
564d41faf4 - Work on JSON and JSON UDF's
modified:
  storage/connect/json.cpp
  storage/connect/jsonudf.cpp
  storage/connect/tabjson.cpp

- CntReadNext: Enable EvalColumns for longjmp
modified:
  storage/connect/connect.cc
2015-02-19 00:59:02 +01:00
Olivier Bertrand
2201aa66cf - Typo on the jsonudf.cpp name
modified:
  storage/connect/CMakeLists.txt
2015-02-12 17:23:28 +01:00
Olivier Bertrand
dcfe068d59 - Adding json udf's. Making the second version of json tables.
added:
  storage/connect/jsonudf.cpp
modified:
  storage/connect/CMakeLists.txt
  storage/connect/json.cpp
  storage/connect/json.h
  storage/connect/tabjson.cpp
  storage/connect/tabjson.h

- Fix utf8 issues with PROXY tables
modified:
  storage/connect/ha_connect.cc
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
2015-02-11 21:39:41 +01:00
Olivier Bertrand
3c097fd689 - Remove some GCC warnings
modified:
  storage/connect/ha_connect.cc
2015-02-08 19:47:26 +01:00
Olivier Bertrand
96ba1f1473 - Handle the use of date/time values when making queries for MYSQL or
ODBC. Was raised by 7549.
modified:
  storage/connect/ha_connect.cc
  storage/connect/odbconn.cpp
  storage/connect/tabodbc.cpp
2015-02-08 18:17:29 +01:00
Olivier Bertrand
35548d577c - Modify the connect_type_conv and connect_conv_size variables.
They were global (read-only) now they are session (not read-only)
modified:
  storage/connect/checklvl.h
  storage/connect/ha_connect.cc
  storage/connect/myconn.cpp
  storage/connect/myutil.cpp
  storage/connect/tabutil.cpp

- Suppress the compver variable on Linux compile. Was not
  debian reproductible because using __DATE__ and __TIME__ macros.
modified:
  storage/connect/ha_connect.cc

- ODBC LONGVARVAR type conversion now uses connect_conv_size.
modified:
  storage/connect/odbconn.cpp
2015-02-07 11:33:52 +01:00
Olivier Bertrand
22367ba71f - Add or correct some tracing code
modified:
  storage/connect/odbconn.cpp
  storage/connect/tabodbc.cpp
2015-02-02 19:34:35 +01:00
Olivier Bertrand
82f2be67ae - Fix a bug causing Insert into ODBC to fail when the column name is
UTF8 encoded.
modified:
  storage/connect/tabodbc.cpp
2015-02-02 15:35:58 +01:00
Olivier Bertrand
6a78371991 - Fix a bug causing UseCnc not being initialized for ODBC catalog tables.
This made errors by calling SQLConnect or SQLDriverConnect randomly
  with incorrect parameters.
modified:
  storage/connect/tabodbc.cpp
  
- Removing GCC warnings  
modified:
  storage/connect/ha_connect.cc

- Typo
modified:
  storage/connect/odbconn.cpp
2015-02-01 12:16:30 +01:00
Olivier Bertrand
180b2be63c - Add the possibility to establish an ODBC connection via SQLConnect (the
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
2015-01-31 15:05:43 +01:00
Olivier Bertrand
fd1ca70bb3 - Enhance JSON tables handling.
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
2015-01-30 10:57:00 +01:00
Olivier Bertrand
9a2dc7dfed - Repair the errors due to the PRXCOL Init function that must be called
with 2 parameters. (previously the second one was optional)
modified:
  storage/connect/tabpivot.cpp
  storage/connect/tabpivot.h
  storage/connect/tabtbl.cpp
  storage/connect/tabxcl.cpp
2015-01-28 00:19:39 +01:00
Olivier Bertrand
ee5a4c8b33 - Begin eliminating on Linux OverloadedVirtual warnings.
However some tests failed. Going to windows to try tracing them.
modified:
  storage/connect/CMakeLists.txt
  storage/connect/array.h
  storage/connect/json.h
  storage/connect/tabdos.h
  storage/connect/tabjson.h
  storage/connect/taboccur.cpp
  storage/connect/tabpivot.h
  storage/connect/tabutil.h
  storage/connect/tabxcl.h
  storage/connect/valblk.h
  storage/connect/xindex.h
2015-01-27 19:18:51 +01:00
Olivier Bertrand
e7802bff0e - Fix a bug causing the connection string of a partition table not being
edited with the partition name when it was specified in the OPTION_LIST.
modified:
  storage/connect/ha_connect.cc
2015-01-27 12:50:50 +01:00
Olivier Bertrand
5b460c6403 - Protect AllocateValue against a null sp.
modified:
  storage/connect/value.cpp
2015-01-24 12:17:03 +01:00
Olivier Bertrand
7ebd3f6fed - Commit merged files (just changing some ending CRLF to LF)
modified:
  storage/connect/json.cpp
  storage/connect/xobject.cpp
2015-01-24 11:54:12 +01:00
Olivier Bertrand
dbf690b5d1 - Fix correctly MDEV-7498. The problem was not in AllocateValue but in
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
2015-01-24 11:46:18 +01:00
Olivier Bertrand
a87bb05a7e - Change some line endings from CRLF to LF
modified:
  storage/connect/json.cpp
  storage/connect/xobject.cpp
2015-01-23 23:14:34 +01:00
Olivier Bertrand
2cd36ad7d0 - This to fix MDEV-7498. All changes made to AllocateValue to be sure that
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
2015-01-23 21:54:29 +01:00
Olivier Bertrand
dc091a2935 - Fix MDEV-7489 (in add_field)
modified:
  storage/connect/ha_connect.cc

- Fix MDEV-7494 (adding Insert_quoted in the STRING class)
modified:
  storage/connect/tabmysql.cpp
  storage/connect/xobject.cpp
  storage/connect/xobject.h

- Fix MDEV-7498 in value.cpp (AllocateValue)
modified:
  storage/connect/value.cpp

- Handle backslash in Json serialize + uchar + typo.
modified:
  storage/connect/json.cpp
  storage/connect/tabjson.cpp
2015-01-23 17:54:53 +01:00
Olivier Bertrand
e576772383 - Last revision was to add the JSON table type. This one adds a sort
on the multiple table result to obtain the same result on Windows
  and Linux (because files can be retrieved in a different order)
modified:
  storage/connect/mysql-test/connect/r/json.result
  storage/connect/mysql-test/connect/t/json.test
2015-01-20 11:26:03 +01:00
Olivier Bertrand
8fc6956430 - Fix compile errors and warnings of LINUX G++
added:
  storage/connect/json.cpp
  storage/connect/json.h
  storage/connect/mysql-test/connect/r/json.result
  storage/connect/mysql-test/connect/std_data/biblio.jsn
  storage/connect/mysql-test/connect/std_data/expense.jsn
  storage/connect/mysql-test/connect/std_data/mulexp3.jsn
  storage/connect/mysql-test/connect/std_data/mulexp4.jsn
  storage/connect/mysql-test/connect/std_data/mulexp5.jsn
  storage/connect/mysql-test/connect/t/json.test
  storage/connect/tabjson.cpp
  storage/connect/tabjson.h
modified:
  storage/connect/CMakeLists.txt
  storage/connect/engmsg.h
  storage/connect/filamtxt.h
  storage/connect/ha_connect.cc
  storage/connect/msgid.h
  storage/connect/mycat.cc
  storage/connect/plgdbsem.h
  storage/connect/tabdos.cpp
  storage/connect/value.cpp
  storage/connect/value.h
2015-01-20 01:21:56 +01:00
Olivier Bertrand
2d2e110bce - Adding the JSON table type
added:
  storage/connect/json.cpp
  storage/connect/json.h
  storage/connect/mysql-test/connect/r/json.result
  storage/connect/mysql-test/connect/std_data/biblio.jsn
  storage/connect/mysql-test/connect/std_data/expense.jsn
  storage/connect/mysql-test/connect/std_data/mulexp3.jsn
  storage/connect/mysql-test/connect/std_data/mulexp4.jsn
  storage/connect/mysql-test/connect/std_data/mulexp5.jsn
  storage/connect/mysql-test/connect/t/json.test
  storage/connect/tabjson.cpp
  storage/connect/tabjson.h
modified:
  storage/connect/CMakeLists.txt
  storage/connect/engmsg.h
  storage/connect/filamtxt.h
  storage/connect/ha_connect.cc
  storage/connect/msgid.h
  storage/connect/mycat.cc
  storage/connect/plgdbsem.h
  storage/connect/tabdos.cpp
  storage/connect/value.cpp
  storage/connect/value.h
2015-01-19 18:55:25 +01:00
Olivier Bertrand
fb3f46967c - Fix two bugs concerning Discovery of CSV tables:
Sep_char default is now ',' like when discovery is not used
  If data_charset is UTF8, column names retrieved from the header
  are no longer converted to UTF8 considering they already are (MDEV-7421)
modified:
  storage/connect/ha_connect.cc
2015-01-17 12:19:06 +01:00
Olivier Bertrand
f5beda4866 - Fix two bugs concerning Discovery of CSV tables:
Sep_char default is now ',' like when discovery is not used
  If data_charset is UTF8, column names retrieved from the header
  are no longer converted to UTF8 considering they already are.
modified:
  storage/connect/ha_connect.cc
2015-01-17 11:54:41 +01:00
Olivier Bertrand
70b4e6d368 - Add ConnectTimout and QueryTimout options for ODBC tables. Should
fix MDEV-7415. (To be specified in option_list)
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
2015-01-13 17:24:31 +01:00
Olivier Bertrand
85c65f4e1c - Fix MDEV-7427 by not reallocating the date format in ScanRecord on each inserted row.
modified:
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
2015-01-09 23:36:50 +01:00
Olivier Bertrand
d4bf64556e - Typo to eliminate some GCC warnings
modified:
  storage/connect/odbconn.cpp
  storage/connect/plgdbsem.h
2015-01-06 11:32:40 +01:00
Olivier Bertrand
afd373c119 - Set connection charset before calling mysql_real_connect for MYSQL
tables. This should fix bug MDEV-7343.
modified:
  storage/connect/ha_connect.cc
  storage/connect/myconn.cpp
  storage/connect/myconn.h
  storage/connect/reldef.cpp
  storage/connect/reldef.h
  storage/connect/table.cpp
  storage/connect/tabmysql.cpp
  storage/connect/xtable.h

- Prevent double column evaluation when CONNECT does filtering
modified:
  storage/connect/connect.cc

- Export CreateFileMap and CloseMemMap (for OEM tables)
modified:
  storage/connect/maputil.h

- Add the compute function to be used on VALUE types.
  Preserve precision for DOUBLE values.
modified:
  storage/connect/value.cpp
  storage/connect/value.h

- Typo (in preparation to the future JSON table type)
modified:
  storage/connect/ha_connect.cc
  storage/connect/mycat.cc
  storage/connect/plgdbsem.h
2015-01-06 10:18:04 +01:00
Olivier Bertrand
8761f22a11 - Temporary fix for MDEV-7304.
modified:
  storage/connect/rcmsg.c

- Avoid Memory copying when reading an ODBC table when the entire table
  is already in the result set.
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
  storage/connect/tabodbc.h
2014-12-14 22:47:12 +01:00
Olivier Bertrand
75c461d569 - Move mktime in TIME_to_localtime because on Linux the hour can be modified
modified:
  storage/connect/value.cpp
  
- These files were commited even not modified (?)
modified:
  storage/connect/ha_connect.cc
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
2014-11-24 20:15:03 +01:00
Olivier Bertrand
c3b0894f7d - Make the fix for getting day names of dates more general
modified:
  storage/connect/ha_connect.cc
  storage/connect/value.cpp
2014-11-24 18:32:44 +01:00
Olivier Bertrand
c89b8a38de - Enhance the implementation of ODBC tables when using scrollable cursor
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
2014-11-24 18:26:44 +01:00
Olivier Bertrand
6211708a95 - Fix a bug causing the day always printed as Sunday for date columns with
a date format specifying DDD or DDDD.
modified:
  storage/connect/ha_connect.cc
  storage/connect/value.cpp
2014-11-23 16:12:26 +01:00
Olivier Bertrand
b2db891c19 - Remove gcc warning (variable n is set and not used)
modified:
  storage/connect/odbconn.cpp
2014-11-20 23:18:51 +01:00
Olivier Bertrand
d592f66578 - Remove gcc warning on variable n set but not used
modified:
  storage/connect/odbconn.cpp
2014-11-20 12:57:33 +01:00
Olivier Bertrand
c144cf38bd - Implement putting in memory the result set from an ODBC query.
modified:
  storage/connect/odbconn.cpp
  storage/connect/odbconn.h
  storage/connect/tabodbc.cpp
  storage/connect/tabodbc.h

- Moving the calls to VerifyConnect and GetConnectInfo into the try block
  in ODBConn::Open (potential crash in case of throw)
modified:
  storage/connect/odbconn.cpp

- Handling all ODBC data date types (91, 92, 93)
modified:
  storage/connect/ha_connect.cc
  storage/connect/odbconn.cpp

- Not assuming string results from ODBC catalog functions are zero terminated
modified:
  storage/connect/odbconn.cpp
2014-11-20 11:00:02 +01:00
Olivier Bertrand
cfa872f6c8 - Commit resolved conflicted files
modified:
  storage/connect/engmsg.h
  storage/connect/filamtxt.cpp
2014-11-16 20:14:36 +01:00
Olivier Bertrand
b9165cb58d - Remove gcc warning (no previous declaration of msglang)
modified:
  storage/connect/ha_connect.cc

- Define strcasecmp for Linux
modified:
  storage/connect/rcmsg.c

- Avoid potential buffer overflow
modified:
  storage/connect/plgdbutl.cpp
  
- Change %d in %lld in VALUE_TOO_BIG message
modified:
  storage/connect/encas.h
  storage/connect/english.msg
  storage/connect/frcas.h
  storage/connect/french.msg
  storage/connect/frmsg.h
2014-11-16 01:16:51 +01:00
Olivier Bertrand
5d8311960a - Implement the NEWMSG and XMSG methods
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
2014-11-15 18:28:24 +01:00
Olivier Bertrand
9ade2d088d - FIX ftell error when the line endings do not match the declared or
default ending. Also takes care of files having mixed line endings.
  This is done by never using text mode for streams and handle the line
  endings in reading and writing. (MDEV-7030)
modified:
  storage/connect/filamtxt.cpp
2014-11-09 14:18:44 +01:00
Olivier Bertrand
f3e7e50d9a - Compile protect against not fully implemented optione XMSG and NEWMSG
modified:
  storage/connect/global.h

- Commit typo error
modified:
  storage/connect/tabmul.cpp*
2014-11-08 16:44:52 +01:00