Commit graph

594 commits

Author SHA1 Message Date
Sergei Golubchik
d61573d3e5 fix connect.json_udf test for static builds 2015-03-06 20:49:48 +01:00
Sergei Golubchik
c06c465a96 10.0-connect merge 2015-03-02 16:45:44 +01:00
Olivier Bertrand
b9a9b82f9e - Make json_udf test work on Windows
modified:
  storage/connect/mysql-test/connect/t/json_udf.inc
2015-03-02 00:35:56 +01:00
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
Sergei Golubchik
723be51678 Merge 2015-02-24 14:17:00 +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
Sergei Golubchik
56114a416f merge 10.0-connect 2015-02-19 09:37:11 +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
Alexander Barkov
a2578018bf Fixing compilation failure in storage/connect when -DMYSQL_MAINTAINER_MODE=ON:
disabling some CXX errors in storage/connect/CMakeLists.txt.
2015-02-10 16:01:03 +04: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