Commit graph

603 commits

Author SHA1 Message Date
Alexander Barkov
8b6e7f66ae - Fixing embedded verision of the Connect engine when handling
table_type=MySQL (and some other types) to connect only to
  remote MySQL server, do not try to establish embedded connections
  from the running embedded connection.

- Disabling "mtr --embedded" for the tests that need a remote MySQL server.


modified:
  storage/connect/myconn.cpp
  storage/connect/mysql-test/connect/t/occur.test
  storage/connect/mysql-test/connect/t/pivot.test
  storage/connect/mysql-test/connect/t/tbl.test
2013-05-27 17:42:59 +04:00
Alexander Barkov
32bd0c7d1f Adding the timezone plugin service, to convert between
MYSQL_TIME and my_time_t and back.

Using the new service instead of direct access to thd.

added:
  include/mysql/service_thd_timezone.h
  libservices/thd_timezone_service.c
modified:
  include/my_time.h
  include/mysql.h.pp
  include/mysql/plugin.h
  include/mysql/plugin_audit.h.pp
  include/mysql/plugin_auth.h.pp
  include/mysql/plugin_ftparser.h.pp
  include/mysql/services.h
  include/mysql_time.h
  include/service_versions.h
  libservices/CMakeLists.txt
  sql/sql_class.cc
  sql/sql_plugin_services.h
  storage/connect/value.cpp
2013-05-24 19:09:59 +04:00
Alexander Barkov
74be65c6d8 Do not run mysql.test in case of embedded server.
We need a running MySQL server for this test.

modified:
  storage/connect/mysql-test/connect/t/mysql.test
2013-05-24 15:27:20 +04:00
Alexander Barkov
aa505ea321 Splitting SQLite3 tests into two parts:
1. for both server and embedded
2. for server only

added:
  storage/connect/mysql-test/connect/r/odbc_sqlite3_grant.result
  storage/connect/mysql-test/connect/t/have_odbc_sqlite3.inc
  storage/connect/mysql-test/connect/t/odbc_sqlite3_grant.test
modified:
  storage/connect/mysql-test/connect/r/odbc_sqlite3.result
  storage/connect/mysql-test/connect/t/odbc_sqlite3.test
2013-05-24 15:21:06 +04:00
Alexander Barkov
5b0e3a5332 Removing more cases of direct use of thd.
Also, TABLE_TYPE=MySQL now uses "root@localhost" by default,
instead of current user and current host name.

modified:
  storage/connect/ha_connect.cc
2013-05-24 11:31:43 +04:00
Alexander Barkov
f2e1473653 Removing direct access to thd, using functions:
- thd_query_string() insted of thd->query_string
- thd_sql_command() instead ot thd->lex->sql_command
- table_share->s.db.str instead of thd->db

modified:
  storage/connect/connect.cc
  storage/connect/ha_connect.cc
2013-05-24 09:56:04 +04:00
Olivier Bertrand
33b9531568 - Fix setting default type to MYSQL->PROXY->DOS in some places where it
was not done correctly.
- Fix a bug causing add_field to generate a syntax error on DOUBLE columns
  with a 0 decimal value.
- Column can be undefined when Srcdef is specified.

modified:
  storage/connect/ha_connect.cc
  storage/connect/mycat.cc
  storage/connect/tabmysql.cpp
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
2013-05-24 00:19:26 +02:00
Alexander Barkov
7ef4c5df47 Connect: fixing non thread-safe code.
Passing "struct tm" buffer to GetGmTime() instead of using a static bufer.

modified:
  storage/connect/tabodbc.cpp
  storage/connect/value.cpp
  storage/connect/value.h
2013-05-23 12:04:52 +04:00
Olivier Bertrand
aebcd56ca9 - Changing CONNECT version number and date
modified:
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/xml.result

- Testing default pivot columns for srcdef
  Fixing order by MariaDB bug for pivot tables
modified:
  storage/connect/tabmysql.cpp
  storage/connect/tabmysql.h
  storage/connect/tabpivot.cpp
  storage/connect/tabpivot.h
2013-05-22 13:35:21 +02:00
Alexander Barkov
41bda068a5 "mtr --suite=connect --embedded" tests did not work for two reasons:
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
2013-05-21 18:29:10 +04:00
Olivier Bertrand
ca024d1c21 - Correct misplaced parenthesis in last change
modified:
  storage/connect/ha_connect.cc

- Tdbp must be assigned before calling PRX column init

modified:
  storage/connect/tabtbl.cpp
2013-05-20 18:17:09 +02:00
Olivier Bertrand
38a5bb2c1b - Save and restore srcdef when getting a sub-table (could stay in cache)
modified:
  storage/connect/tabutil.cpp

- Change order of tests when looking for valid tdbp. In rare cases an invalid
  tdbp was still existing causing a crash of the server.

modified:
  storage/connect/ha_connect.cc
2013-05-20 13:12:34 +02:00
Olivier Bertrand
aacd6f55af - Removing unused copy file
modified:
  storage/connect/mysql-test/connect/t/pivot.test
2013-05-19 20:16:04 +02:00
Olivier Bertrand
cc38c51191 - Commit merged and resolve
added:
  storage/connect/inihandl.h
  storage/connect/rcmsg.h
modified:
  storage/connect/CMakeLists.txt
  storage/connect/connect.h
  storage/connect/ha_connect.cc
  storage/connect/inihandl.c
  storage/connect/maputil.h
  storage/connect/odbconn.cpp
  storage/connect/osutil.c
  storage/connect/osutil.h
  storage/connect/plgdbutl.cpp
  storage/connect/plugutil.c
  storage/connect/rcmsg.c
  storage/connect/tabmysql.cpp
  storage/connect/tabodbc.cpp
  storage/connect/tabpivot.cpp
  storage/connect/tabsys.cpp
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
  storage/connect/user_connect.cc
  storage/connect/value.cpp
2013-05-19 19:53:38 +02:00
Olivier Bertrand
c035bde34c - Allowing views and queries as parameters for PROXY base tables
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
2013-05-19 19:25:06 +02:00
Alexander Barkov
54f3292831 Fixing warnings (mostly "no previous declaration")
modified:
  storage/connect/ha_connect.cc
  storage/connect/maputil.h
  storage/connect/odbconn.cpp
  storage/connect/osutil.c
  storage/connect/osutil.h
  storage/connect/tabmysql.cpp
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
2013-05-13 16:48:03 +04:00
Alexander Barkov
33d1689fcf Fixing compiler warnings ("no previous declaration for ...")
added:
  storage/connect/rcmsg.h
modified:
  storage/connect/CMakeLists.txt
  storage/connect/odbconn.cpp
  storage/connect/plgdbutl.cpp
  storage/connect/plugutil.c
  storage/connect/rcmsg.c
  storage/connect/tabodbc.cpp
2013-05-13 15:57:49 +04:00
Alexander Barkov
35a879d06d Fixing a few "no previous declaration" warnings
modified:
  storage/connect/ha_connect.cc
  storage/connect/odbconn.cpp
  storage/connect/plgdbutl.cpp
  storage/connect/plugutil.c
  storage/connect/value.cpp
2013-05-13 15:23:24 +04:00
Alexander Barkov
d22b1a0b35 Fixing a few compilation warnings ("no previous declaration for XXX")
added:
  storage/connect/inihandl.h
modified:
  storage/connect/CMakeLists.txt
  storage/connect/connect.h
  storage/connect/ha_connect.cc
  storage/connect/inihandl.c
  storage/connect/osutil.h
  storage/connect/tabsys.cpp
  storage/connect/user_connect.cc
2013-05-13 14:59:59 +04:00
Olivier Bertrand
3c76e0e2ad - Commit merged changes
modified:
  mysql-test/mysql-test-run.pl
  storage/connect/CMakeLists.txt
2013-05-13 12:25:12 +02:00
Olivier Bertrand
24a7948343 - Code cleaning. Eliminating unused code, functions, and variables.
modified:
  storage/connect/catalog.h
  storage/connect/colblk.cpp
  storage/connect/colblk.h
  storage/connect/mycat.cc
  storage/connect/reldef.cpp
  storage/connect/tabcol.h
  storage/connect/tabsys.cpp
  storage/connect/tabsys.h
  storage/connect/xobject.h
2013-05-13 12:20:08 +02:00
Olivier Bertrand
dee955bdee - fix use of uninitialized variable (colp)
modified:
  storage/connect/tabtbl.cpp
  storage/connect/tabutil.cpp
2013-05-13 11:37:34 +02:00
Alexander Barkov
520fc173df Merge from maria-10.0
modified:
  storage/connect/CMakeLists.txt
  Alexander Barkov 2013-04-28 Fixing that ODBC detection always failed on ...
2013-05-13 13:36:34 +04:00
Olivier Bertrand
35f813143b - Set tdbp to NULL when ignored
modified:
  storage/connect/ha_connect.cc
2013-05-13 10:37:35 +02:00
Olivier Bertrand
5ac8c8bea6 - Changing mode from +x to -x
modified:
  storage/connect/mysql-test/connect/r/pivot.result*
  storage/connect/mysql-test/connect/t/pivot.test*
  storage/connect/tabpivot.cpp*
  storage/connect/tabpivot.h*
2013-05-12 18:37:53 +02:00
Olivier Bertrand
8c9ce17359 - Code cleaning.
modified:
  storage/connect/connect.cc
  storage/connect/tabutil.h

- Fix closing invalid tdbp in External_lock.
modified:
  storage/connect/ha_connect.cc

- Fix closing null Tdbp
modified:
  storage/connect/tabpivot.cpp*

- Fix regression error in table type TBL no more accepting missing
  columns in sub-tables even when Accept was set to TRUE.
modified:
  storage/connect/tabtbl.cpp
2013-05-12 18:14:03 +02:00
Olivier Bertrand
44cb1ce8a2 - Fix tabpivot compile errors on Linux.
- Fix Tabpivot not closing the source table.
- Fix pivot.test error on Linux by specifying ENDING=2 for the expenses table.

modified:
  storage/connect/mysql-test/connect/r/pivot.result
  storage/connect/mysql-test/connect/t/pivot.test
  storage/connect/tabpivot.cpp
  storage/connect/tabpivot.h
2013-05-11 17:00:36 +02:00
Olivier Bertrand
5657660ab0 - Added a test case for PIVOT tables
added:
  storage/connect/mysql-test/connect/r/pivot.result
  storage/connect/mysql-test/connect/std_data/expenses.txt
  storage/connect/mysql-test/connect/t/pivot.test
2013-05-11 13:21:15 +02:00
Olivier Bertrand
2cd63afe35 - Add pivot table files and support
modified:
  storage/connect/CMakeLists.txt
2013-05-10 23:05:16 +02:00
Olivier Bertrand
99d95c8a2f - Added table type PIVOT
modified:
  storage/connect/filamdbf.cpp
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/mycat.cc
  storage/connect/myconn.cpp
  storage/connect/odbconn.cpp
  storage/connect/plgcnx.h
  storage/connect/plgdbsem.h
  storage/connect/plgdbutl.cpp
  storage/connect/tabfmt.cpp
  storage/connect/tabpivot.cpp
  storage/connect/tabpivot.h
  storage/connect/tabutil.cpp
  storage/connect/tabwmi.cpp
  storage/connect/tabxcl.cpp
  storage/connect/value.cpp
  storage/connect/value.h
2013-05-10 20:22:21 +02:00
Olivier Bertrand
be268bed3d - Fix inverted test on am in MYSQLDEF::DefineAM
modified:
  storage/connect/tabmysql.cpp
2013-05-09 16:16:45 +02:00
Olivier Bertrand
4959811411 - General code cleaning, eliminating a few potential bugs
modified:
  storage/connect/catalog.h
  storage/connect/mycat.cc
  storage/connect/taboccur.cpp
  storage/connect/taboccur.h
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
  storage/connect/tabxcl.cpp
  storage/connect/tabxcl.h
2013-05-05 12:45:26 +02:00
Olivier Bertrand
5fc19f8db8 - Add test for XCOL and OCCUR tables
- Fix a bug causing a crash when doing an ALTER TABLE
  (because create_info->alias is NULL)

added:
  storage/connect/mysql-test/connect/r/occur.result
  storage/connect/mysql-test/connect/r/xcol.result
  storage/connect/mysql-test/connect/t/occur.test
  storage/connect/mysql-test/connect/t/xcol.test
modified:
  storage/connect/ha_connect.cc
2013-05-04 00:47:55 +02:00
Olivier Bertrand
f3e944099e - Adding a loop test to prevent PROXY based table to loop when repointing on itself.
- Fix bug causing PROXY on non CONNECT tables to sometimes use the wrong DB.
- Making some more tests in create that were in pre_create not called anymore
  when columns are defined.
- Updating some test results to reflect new warnings.

modified:
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/tbl.result
  storage/connect/mysql-test/connect/r/upd.result
  storage/connect/tabcol.h
  storage/connect/tabmysql.cpp
  storage/connect/taboccur.cpp
  storage/connect/taboccur.h
  storage/connect/tabtbl.cpp
  storage/connect/tabtbl.h
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
  storage/connect/tabxcl.cpp
  storage/connect/tabxcl.h
2013-05-02 16:33:15 +02:00
Olivier Bertrand
3d4adc3fdf - Change in connect_assisted_discovery the default value for port from MYSQL_PORT
to 0. So it can be later set to mysqld_port if necessary. Doing so, it is no
  more required to specify port when using the current port and the current port
  is not equal to MYSQL_PORT (3306)

modified:
  storage/connect/ha_connect.cc
2013-04-30 17:48:18 +02:00
Olivier Bertrand
7461d8e30c - Allow PROXY based tables to specify MySQL access parameters when the
object table is not a CONNECT table. This was the case in previous
  versions but was no more possible with recent changes.

modified:
  storage/connect/mycat.cc
  storage/connect/tabmysql.cpp
  storage/connect/tabutil.cpp
2013-04-30 16:16:32 +02:00
Olivier Bertrand
2a37f3e030 - Fix a bug causing a crash when using OEM tables based on BIN tables.
modified:
  storage/connect/reldef.cpp
2013-04-29 17:47:23 +02:00
Olivier Bertrand
4fd74200dd - Adding 3 new table types:
PROXY table base on another table. Used by several other types.
  XCOL  proxy on a table having a colummn containing a list of values
  OCCUR proxy on a table having several columns containing the same type
        of values that can be put in a unique column and several rows.
  TBL   Not new but now internally using the PROXY table class.
- Fix 2 bugs in add_field:
        Change '=' to ' ' after the COMMENT keyword.
        Quote column names between '`' in the SQL string.
- Update xml test result to the CONNECT version

added:
  storage/connect/taboccur.cpp
  storage/connect/taboccur.h
  storage/connect/tabutil.cpp
  storage/connect/tabutil.h
  storage/connect/tabxcl.cpp
  storage/connect/tabxcl.h
modified:
  storage/connect/CMakeLists.txt
  storage/connect/ha_connect.cc
  storage/connect/ha_connect.h
  storage/connect/mycat.cc
  storage/connect/myconn.cpp
  storage/connect/mysql-test/connect/r/xml.result
  storage/connect/plgdbsem.h
  storage/connect/tabmysql.cpp
  storage/connect/tabtbl.cpp
  storage/connect/tabtbl.h
  storage/connect/valblk.cpp
  storage/connect/valblk.h
2013-04-29 13:50:20 +02:00
Alexander Barkov
2d33547475 Fixing that ODBC detection always failed on Linux because
set(CMAKE_REQUIRED_INCLUDES ${ODBC_INCLUDE_DIR})

was missing before the recently added CHECK_CXX_SOURCE_COMPILES()

modified:
  storage/connect/CMakeLists.txt
2013-04-28 10:18:31 +04:00
Alexander Barkov
1de77ee1ad Packaging clean-ups for the cassandra and connect engines.
modified:
  @ storage/cassandra/CMakeLists.txt
    Renaming the package "CassandraSE" to "cassandra-engine",
    as agreed during Lisbon meeting.

  @ storage/connect/CMakeLists.txt
    Removing an unused line
2013-04-21 22:15:33 +04:00
Sergei Golubchik
88b89aaa82 fixes for buildbot.
increase the version.
2013-04-21 09:38:54 -07:00
Alexander Barkov
b44f11c994 Fixing compilation failure in Solaris/OpenSolaris
error: too many initializers for `tm'

modified:
  storage/connect/ha_connect.cc
2013-04-21 18:38:08 +04:00
Alexander Barkov
7329f85379 Removing -Wfatal-errors, as it does not present in the older gcc versions.
(e.g. sol10-64 in build bot).

modified:
  storage/connect/CMakeLists.txt
2013-04-21 09:17:24 +04:00
Alexander Barkov
30651fd2f6 Recoding new results
(the format changed during Sergei's merge of the connect engine and discovery)

modified:
  storage/connect/mysql-test/connect/r/odbc_xls.result
2013-04-20 21:10:58 +04:00
Alexander Barkov
a6a4fa1d6f Fixing a few problems found by Build Bot after merging the CONNECT engine.
modified:
  @ mysql-test/r/mysqld--help.result
  @ mysql-test/t/mysqld--help.test
  Supressing information about "--connect" in "mysqld --help" output,
  as it depends on the build parameters.
  As a side effect information about --connect-timeout is now also suppressed :(

  @ storage/connect/CMakeLists.txt
  Removing gcc warning switches that do not exists in some older gcc versions.

  @ storage/connect/ha_connect.cc
  Adding a quick fix: cast from "const char *" to "char *".
  Olivier should do a better fix eventually.
2013-04-20 19:23:33 +04:00
Alexander Barkov
548399f6d0 After-fix for Sergei's merge of the connect engine.
odbc_sqlite3 failed. Fixed.

modified:
  storage/connect/ha_connect.cc
  storage/connect/mysql-test/connect/r/odbc_sqlite3.result
  storage/connect/mysql-test/connect/t/odbc_sqlite3.test
2013-04-20 00:24:05 +04:00
Sergei Golubchik
f7e95c8efa merge with maria-10.0-connect 2013-04-19 20:43:35 +02:00
Sergei Golubchik
6bd49441b5 CONNECT engine fixes after 10.0 merge.
Adaptation to new API, small simplifications and bug fixes
2013-04-19 20:35:43 +02:00
Vladislav Vaintroub
0b034c1b2c Fix to handle CMake component names with dash in the name, when producing MSI package.
Rename connect_engine component back to connect-engine.
2013-04-19 18:45:54 +02:00
Olivier Bertrand
32669e4c15 - Committing merged changes
added:
  storage/connect/connect.cnf
modified:
  mysql-test/suite/connect/r/dir.result
  mysql-test/suite/connect/t/dir.test
  sql/sql_parse.cc
  sql/sql_parse.h
  storage/connect/CMakeLists.txt
  win/packaging/CPackWixConfig.cmake
2013-04-19 15:18:42 +02:00