Commit graph

326 commits

Author SHA1 Message Date
Olivier Bertrand
4314768150 Modified version number 2016-12-25 12:32:05 +01:00
Olivier Bertrand
e6b563f8be Fix some XML table type bugs:
- in DOMNODELIST::DropItem
  if (Listp == NULL || Listp->length <= n)
    return true;
is wrong, should be:
  if (Listp == NULL || Listp->length < n)
    return true;
- Crash in discovery with libxml2 in XMLColumns because:
            if (!tdp->Usedom)    // nl was destroyed
              vp->nl = vp->pn->GetChildElements(g);
is executed with vp->pn uninitialized. Fixed by adding:
          vp->pn = node;
line 264.
-In discovery with libxml2 some columns are not found.
Because list was not recovered properly, nodes being modified and not reallocated.
Fixed lines 214 and 277.
  modified:   storage/connect/domdoc.cpp
  modified:   storage/connect/tabxml.cpp

Add support for zipped table files
  modified:   storage/connect/domdoc.cpp
  modified:   storage/connect/domdoc.h
  modified:   storage/connect/filamap.cpp
  modified:   storage/connect/filamap.h
  modified:   storage/connect/filamzip.cpp
  modified:   storage/connect/filamzip.h
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/libdoc.cpp
  modified:   storage/connect/plgdbutl.cpp
  modified:   storage/connect/plgxml.cpp
  modified:   storage/connect/plgxml.h
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabdos.h
  modified:   storage/connect/tabfmt.cpp
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabxml.cpp
2016-12-23 16:58:32 +01:00
Olivier Bertrand
952306502e - MDEV-11295: developing handling files contained in ZIP file.
Enable using multiple zip files
  modified:   storage/connect/filamzip.cpp
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/ha_connect.h
  modified:   storage/connect/mycat.h
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabdos.h
  modified:   storage/connect/tabfmt.cpp
  modified:   storage/connect/tabjson.cpp
2016-12-14 14:20:23 +01:00
Olivier Bertrand
d44723e621 - MDEV-11295: developing handling files contained in ZIP file.
A first experimental and limited implementation.
  modified:   storage/connect/CMakeLists.txt
  modified:   storage/connect/filamap.cpp
  new file:   storage/connect/filamzip.cpp
  new file:   storage/connect/filamzip.h
  modified:   storage/connect/ha_connect.cc
  new file:   storage/connect/ioapi.c
  new file:   storage/connect/ioapi.h
  modified:   storage/connect/mycat.cc
  modified:   storage/connect/plgdbsem.h
  modified:   storage/connect/plgdbutl.cpp
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabdos.h
  modified:   storage/connect/tabfmt.cpp
  modified:   storage/connect/tabfmt.h
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabjson.h
  new file:   storage/connect/tabzip.cpp
  new file:   storage/connect/tabzip.h
  new file:   storage/connect/unzip.c
  new file:   storage/connect/unzip.h
  new file:   storage/connect/zip.c
2016-12-12 10:57:19 +01:00
Olivier Bertrand
5884aa15d4 - Fix MDEV-11234. Escape quoting character. Should be doubled.
Now it is also possible to escape it by a backslash.
  modified:   storage/connect/tabfmt.cpp

- Prepare making VEC table type support conditional.
  VEC tables might be unsupported in future versions
  modified:   storage/connect/CMakeLists.txt
  modified:   storage/connect/mycat.cc
  modified:   storage/connect/reldef.cpp
  modified:   storage/connect/xindex.cpp

- MDEV-11067 suggested to add configuration support to the Apache wrapper.
  Was added but commented out until prooved it is really useful.
  modified:   storage/connect/ApacheInterface.java
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/jdbccat.h
  modified:   storage/connect/jdbconn.cpp
  modified:   storage/connect/jdbconn.h
  modified:   storage/connect/tabjdbc.cpp
  modified:   storage/connect/tabjdbc.h

- Remove useless members.
  modified:   storage/connect/jdbconn.cpp
  modified:   storage/connect/jdbconn.h

- New UDF countin.
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/jsonudf.h
2016-11-06 14:57:27 +01:00
Olivier Bertrand
213765cc22 - Fix MDEV-10496. Memory leak in discovery
modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/mycat.cc

- Fix wrong lrecl calculation for virtual columns
  modified:   storage/connect/reldef.cpp

- Typo
  modified:   storage/connect/jdbconn.cpp
  modified:   storage/connect/json.cpp
2016-09-05 13:18:04 +02:00
Olivier Bertrand
a2934d2710 - JdbcInterface: change return type of ...Field function
modified:   storage/connect/JdbcInterface.java

- Change Version number and date
  modified:   storage/connect/ha_connect.cc

- Implement the test on connect_type_conv YES/NO
  modified:   storage/connect/jdbconn.cpp
  modified:   storage/connect/odbconn.cpp

- Fix MDEV-10520. Local schema was confused with remote schema
  modified:   storage/connect/tabjdbc.cpp
  modified:   storage/connect/tabodbc.cpp

- Fix crash when using mapped indices. Was trying to write in a mapped
  file declared as read only.
  modified:   storage/connect/xindex.cpp
2016-08-10 18:27:31 +02:00
Olivier Bertrand
44012db635 All changes made on 10.1 for last 11 commits 2016-07-14 20:12:22 +02:00
Olivier Bertrand
a9ac3506d2 git90.msg + git91.msg 2016-06-02 23:36:19 +02:00
Olivier Bertrand
9a5c586024 Merge branch '10.0' of https://github.com/MariaDB/server into 10.0 2016-05-22 11:13:10 +02:00
Olivier Bertrand
c92f2606ea Commit changes made from 10.1 2016-05-21 12:11:27 +02:00
Olivier Bertrand
5af076e564 Add all changes made on 10.1 2016-05-12 23:08:22 +02:00
Sergei Golubchik
8b1563eac8 Merge branch 'connect/10.0' into 10.0
1.04.0006
2016-04-26 23:48:18 +02:00
Sergei Golubchik
4995bcffad MDEV-9610 Trigger on normal table can't insert into CONNECT engine table - Access Denied
in case of prelocking, don't check table->grant.privilege
in handler::external_lock(), do it in
handler::start_stmt().
2016-04-26 21:03:40 +02:00
Olivier Bertrand
26adbb2dd5 - Fix an error causing MYSQL table to fail saying "no result set"
when joining a table to a MYSQL indexed table.
  modified:   storage/connect/myconn.cpp
  modified:   storage/connect/myconn.h
  modified:   storage/connect/tabmysql.cpp

- Add more tests to the mysql_index.test file
  modified:   storage/connect/mysql-test/connect/r/mysql_index.result
  modified:   storage/connect/mysql-test/connect/t/mysql_index.test

- Fix and error causing remote indexing to fail when for not unique index.
  Was experienced with MYSQL, ODBC and JDBC tables.
  modified:   storage/connect/connect.cc

- Fix MDEV-9966 (zero lines returned)
  modified:   storage/connect/ha_connect.cc
  modified:   storage/federatedx/ha_federatedx.cc
2016-04-25 00:13:06 +02:00
Olivier Bertrand
8c9fd074d2 - Fix MDEV-9779. Avoid buffer overflow when setting partname.
modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/ha_connect.h
2016-03-25 12:46:42 +01:00
Olivier Bertrand
e80c4b3186 - Fix MDEV-9779. Connection was not recognized in the option list.
This was a regression bug.
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/mysql-test/connect/r/part_table.result
  modified:   storage/connect/mysql-test/connect/t/part_table.test
2016-03-24 23:36:39 +01:00
Olivier Bertrand
fb9e2fa33f - Fix MDEV-9603 compiler error.
modified:   storage/connect/tabmysql.cpp

- Test invalid CSV separator when creating the table (MDEV-9714)
  modified:   storage/connect/ha_connect.cc

- Stop using SQLDescribeParam anymore
  modified:   storage/connect/odbconn.cpp

- Fix MDEV-9723 Regression due to calling Cardinality instead of
  GetMaxSize in info.
  modified:   storage/connect/tabtbl.h
  modified:   storage/connect/mysql-test/connect/r/tbl.result
  modified:   storage/connect/mysql-test/connect/t/tbl.test

- Typo
  modified:   storage/connect/tabodbc.cpp
2016-03-16 19:17:55 +01:00
Sergei Golubchik
77b548484e Merge branch 'connect/10.0' into 10.0 2016-02-16 19:35:58 +01:00
Olivier Bertrand
481e6433f4 - Fix to MDEV-9542 Connect was not handling NULLs in the answer
from catalog functions and tables. It does now and when decimal
  is NULL defines DOUBLE without parameters.
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/mysql-test/connect/r/odbc.result
  modified:   storage/connect/mysql-test/connect/r/odbc_oracle.result
  modified:   storage/connect/mysql-test/connect/r/odbc_postgresql.result
  modified:   storage/connect/mysql-test/connect/r/odbc_sqlite3.result
  modified:   storage/connect/mysql-test/connect/r/odbc_xls.result
  modified:   storage/connect/odbconn.cpp
  modified:   storage/connect/table.cpp
  modified:   storage/connect/valblk.h
2016-02-15 23:41:59 +01:00
Olivier Bertrand
62a5e56c01 - Change SQL_NTS to 0 when the string is NULL
modified:   storage/connect/odbconn.cpp

- Fix to MDEV-9446 (using Json UDFs when CONNECT is not installed)
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/jsonudf.h
  modified:   storage/connect/mysql-test/connect/r/json_udf.result
  modified:   storage/connect/mysql-test/connect/t/json_udf.inc
  modified:   storage/connect/mysql-test/connect/t/json_udf.test
  modified:   storage/connect/mysql-test/connect/t/json_udf2.inc
2016-01-25 18:44:51 +01:00
Sergei Golubchik
6b4cc43f17 Merge branch 'connect/10.0' into 10.0 2015-12-13 23:52:43 +01:00
Olivier Bertrand
541d36f761 Update version number 2015-12-11 18:29:03 +01:00
Olivier Bertrand
27f9d2f929 Commit updating CONNECT from the 10.1 version 2015-12-04 22:38:16 +01:00
Monty
f813a00029 Fixed failing test cases and compiler warnings found by buildbot
- Added some extra command to rpl_start_stop to ensure that the
  IO thread has connected to the master before we shut down the server.
- if signal returns signalhandler_t, use this with the alarm code
- Added missing tests to sys_vars
- Fixed some possible overflow bugs in tabxml.cpp
2015-11-24 20:04:12 +02:00
Sergei Golubchik
3c5733cd2d Merge branch 'connect/10.0' into 10.0 2015-10-27 18:57:28 +01:00
Olivier Bertrand
ac9141cbc0 Merge branch 'ob-10.0' into 10.0 2015-10-20 18:45:45 +02:00
Olivier Bertrand
d51e466e63 Fix MDEV-8966
modified:   storage/connect/ha_connect.cc
2015-10-20 13:20:10 +02:00
Olivier Bertrand
f5154229ed Merge branch 'ob-10.0' into 10.0 2015-10-18 15:06:14 +02:00
Olivier Bertrand
90209463d0 Fix MDEV-8926
modified:   storage/connect/ha_connect.cc
2015-10-18 15:03:45 +02:00
Olivier Bertrand
80d1237470 Merge branch 'ob-10.0' into 10.0 2015-09-16 12:14:59 +02:00
Olivier Bertrand
019c9e0a65 Fix assert error for where clause with UDF's
was fixed in HA_CONNECT::CondFilter moving res= pval->val_str(&tmp)
    but this was wrong. Now res is only used for strings.
  modified:   storage/connect/ha_connect.cc
2015-09-16 12:11:28 +02:00
Olivier Bertrand
d69931eec2 Merge branch 'ob-10.0' into 10.0 2015-09-09 01:28:04 +02:00
Olivier Bertrand
e939ea58e5 Fix assert error for where clause with UDF's
was fixed in HA_CONNECT::CondFilter moving pval->val_str(&tmp)
  modified:   storage/connect/ha_connect.cc
2015-09-09 01:26:00 +02:00
Sergei Golubchik
0785b2d55d Merge 'https://github.com/Buggynours/MariaDB 10.0' into 10.0 2015-08-03 17:10:20 +02:00
Sergei Golubchik
6f14531b52 CONNECT: compiler warnings
and don't check table privileges in external_lock(F_UNLCK).
2015-07-27 10:52:22 +02:00
Sergei Golubchik
00967e114c CONNECT: clean up a stray variable
(patch originally by Alexander Barkov)
2015-07-27 10:52:21 +02:00
Sergei Golubchik
40a6160f4f MDEV-7574 Security definer views don't work with CONNECT ODBC tables
Instead of checking user's privileges with check_access(),
use the cached value in table->grant.privilege instead -
it is correctly set to the invoker or definer, depending
on SQL SECURITY mode.

Continue to use check_access() for DDLs when
table->grant.privilege may be not set (but these cases are
only possible on tables, never for views).

(patch originally by Alexander Barkov)
2015-07-27 10:52:21 +02:00
Olivier Bertrand
b520febbc3 Resolving conflict on ha_connect.cc 2015-07-09 12:33:17 +02:00
Olivier Bertrand
f07359349f Fix loosing result lines when all of this is true:
The table type is MYSQL
  The query where clause includes an indexed column
  The where clause contains < or <= operator on this column
Change version date
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/tabmysql.cpp

Add visual studio 2013 files to ignore
  modified:   .gitignore
2015-07-06 12:33:11 +02:00
Olivier Bertrand
8e524d2f84 Set maturity to GAMMA modified ha_connect.cc 2015-06-25 00:06:55 +02:00
Olivier Bertrand
0e270f7399 Set maturity to GAMMA modified ha_connect.cc 2015-06-25 00:01:38 +02:00
Olivier Bertrand
0599d80fcc Fix swapping key numeric values on Big Endian machines.
Fix typo error in CntIndexRange (kp instead of p)
Change version date
  modified:   storage/connect/connect.cc
  modified:   storage/connect/ha_connect.cc
2015-06-03 17:37:51 +02:00
Olivier Bertrand
514a7d8462 Add unicode ODBC types to the types recognized by CONNECT.
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
2015-05-30 10:59:34 +02:00
Olivier Bertrand
b6a56370d6 Change all preprocessor compiler directives to use __WIN__ as the mean of
specifying Windows or not Windows compile. This is what MariaDB does.
  modified:   storage/connect/array.cpp
  modified:   storage/connect/blkfil.cpp
  modified:   storage/connect/block.h
  modified:   storage/connect/colblk.cpp
  modified:   storage/connect/domdoc.cpp
  modified:   storage/connect/filamap.cpp
  modified:   storage/connect/filamdbf.cpp
  modified:   storage/connect/filamfix.cpp
  modified:   storage/connect/filamtxt.cpp
  modified:   storage/connect/filamvct.cpp
  modified:   storage/connect/filamzip.cpp
  modified:   storage/connect/filter.cpp
  modified:   storage/connect/filter.h
  modified:   storage/connect/fmdlex.c
  modified:   storage/connect/global.h
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/json.cpp
  modified:   storage/connect/macutil.cpp
  modified:   storage/connect/macutil.h
  modified:   storage/connect/maputil.cpp
  modified:   storage/connect/mycat.cc
  modified:   storage/connect/myconn.cpp
  modified:   storage/connect/myconn.h
  modified:   storage/connect/myutil.cpp
  modified:   storage/connect/odbconn.cpp
  modified:   storage/connect/odbconn.h
  modified:   storage/connect/os.h
  modified:   storage/connect/osutil.c
  modified:   storage/connect/plgdbsem.h
  modified:   storage/connect/plgdbutl.cpp
  modified:   storage/connect/plugutil.c
  modified:   storage/connect/rcmsg.c
  modified:   storage/connect/reldef.cpp
  modified:   storage/connect/reldef.h
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabfix.cpp
  modified:   storage/connect/tabfmt.cpp
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabmac.cpp
  modified:   storage/connect/tabmac.h
  modified:   storage/connect/tabmul.cpp
  modified:   storage/connect/tabmul.h
  modified:   storage/connect/tabmysql.cpp
  modified:   storage/connect/taboccur.cpp
  modified:   storage/connect/tabodbc.cpp
  modified:   storage/connect/tabpivot.cpp
  modified:   storage/connect/tabsys.cpp
  modified:   storage/connect/tabtbl.cpp
  modified:   storage/connect/tabutil.cpp
  modified:   storage/connect/tabvct.cpp
  modified:   storage/connect/tabwmi.cpp
  modified:   storage/connect/tabxcl.cpp
  modified:   storage/connect/tabxml.cpp
  modified:   storage/connect/valblk.cpp
  modified:   storage/connect/value.cpp
  modified:   storage/connect/xindex.cpp
  modified:   storage/connect/xindex.h
2015-05-27 16:23:38 +02:00
Olivier Bertrand
fb98632930 JSONColumns and XMLColumns revisited. They can retrieve their parameters directly
from the PTOS argument. For this to work, finding the table options is now split
in HA_CONNECT functions and exported functions available from out of ha_connect.
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/libdoc.cpp
  modified:   storage/connect/mycat.h
  modified:   storage/connect/plgdbsem.h
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabjson.h
  modified:   storage/connect/tabxml.cpp
  modified:   storage/connect/tabxml.h

The BIN table formats have been changed to handle the case of floating point values
when used with Big Endian or Little Endian machines.
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/mysql-test/connect/r/bin.result
  modified:   storage/connect/mysql-test/connect/t/bin.test
  modified:   storage/connect/reldef.cpp
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabdos.h
  modified:   storage/connect/tabfix.cpp
  modified:   storage/connect/tabfix.
h
2015-05-26 01:02:33 +02:00
Olivier Bertrand
e6b60ee5af Make BIN table files more flexible with new column format.
In particular enable to set length and endian setting.
This should solve all problems on IBM390s machines.
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/tabfix.cpp
  modified:   storage/connect/tabfix.h

Make DBF tables to be usable in big-endian machines (test version)
  modified:   storage/connect/filamdbf.cpp

Ignore git files on storage/connect
  modified:   .gitignore
2015-05-13 19:58:21 +02:00
Olivier Bertrand
c63bd866fd Get rid of more GCC warnings about unused parameters
modified:   storage/connect/array.cpp
  modified:   storage/connect/ha_connect.cc
  modified:   storage/connect/mycat.cc
  modified:   storage/connect/tabxml.cpp
  modified:   storage/connect/user_connect.cc
  modified:   storage/connect/user_connect.h
2015-05-10 12:14:21 +02:00
Olivier Bertrand
f5d0c77062 Get rid of GCC warnings about unused parameters
modified:   storage/connect/array.cpp
  modified:   storage/connect/blkfil.cpp
  modified:   storage/connect/block.h
  modified:   storage/connect/catalog.h
  modified:   storage/connect/colblk.cpp
  modified:   storage/connect/colblk.h
  modified:   storage/connect/connect.cc
  modified:   storage/connect/filamap.cpp
  modified:   storage/connect/filamdbf.cpp
  modified:   storage/connect/filamfix.cpp
  modified:   storage/connect/filamtxt.cpp
  modified:   storage/connect/filamtxt.h
  modified:   storage/connect/filamvct.cpp
  modified:   storage/connect/filamzip.cpp
  modified:   storage/connect/filter.h
  modified:   storage/connect/ha_connect.c
  modified:   storage/connect/jsonudf.cpp
  modified:   storage/connect/mycat.h
  modified:   storage/connect/myconn.cpp
  modified:   storage/connect/plgdbutl.cpp
  modified:   storage/connect/reldef.cpp
  modified:   storage/connect/reldef.h
  modified:   storage/connect/tabcol.cpp
  modified:   storage/connect/tabdos.cpp
  modified:   storage/connect/tabdos.h
  modified:   storage/connect/tabfix.cpp
  modified:   storage/connect/tabfmt.cpp
  modified:   storage/connect/tabfmt.h
  modified:   storage/connect/tabjson.cpp
  modified:   storage/connect/tabjson.h
  modified:   storage/connect/table.cpp
  modified:   storage/connect/tabmul.cpp
  modified:   storage/connect/tabmysql.cpp
  modified:   storage/connect/tabmysql.h
  modified:   storage/connect/taboccur.cpp
  modified:   storage/connect/tabpivot.cpp
  modified:   storage/connect/tabsys.cpp
  modified:   storage/connect/tabtbl.cpp
  modified:   storage/connect/tabtbl.h
  modified:   storage/connect/tabutil.cpp
  modified:   storage/connect/tabutil.h
  modified:   storage/connect/tabvct.cpp
  modified:   storage/connect/tabvir.cpp
  modified:   storage/connect/tabvir.h
  modified:   storage/connect/tabxcl.cpp
  modified:   storage/connect/tabxcl.h
  modified:   storage/connect/tabxml.cpp
  modified:   storage/connect/tabxml.h
  modified:   storage/connect/valblk.cpp
  modified:   storage/connect/valblk.h
  modified:   storage/connect/value.cpp
  modified:   storage/connect/value.h
  modified:   storage/connect/xindex.cpp
  modified:   storage/connect/xindex.h
  modified:   storage/connect/xobject.h
  modified:   storage/connect/xtable.h
2015-05-09 17:30:20 +02:00
Olivier Bertrand
3a889b1f90 Fix a bug in init_table_share that caused syntax error with Boolean options:
oom|= sql->append(vull ? "ON" : "OFF");
  replaced by:
  oom|= sql->append(vull ? "YES" : "NO");
modified:
  ha_connect.cc

Make DBF tables to be usable in big-endian machines (test version)
modified:
  filamdbf.cpp
2015-05-07 16:59:25 +02:00