Commit graph

77793 commits

Author SHA1 Message Date
Olivier Bertrand
e227d50203 - Change CRLF line endings to LF
modified:
  storage/connect/tabtbl.cpp
  storage/connect/tabtbl.h
2013-06-05 00:46:06 +02:00
Olivier Bertrand
9df57eba9f - Adding parallelism to the TBL table type
modified:
  storage/connect/tabcol.h
  storage/connect/tabtbl.cpp
  storage/connect/tabtbl.h
  storage/connect/value.cpp
2013-06-04 17:18:33 +02:00
Sergei Golubchik
0a01953c1a compiler warnings 2013-06-03 14:43:47 +02:00
Alexander Barkov
1fe92fb87d Fixing the problem with my_bool_t defined two times.
(it worked fine with the modern gcc, but failed on some other compilers).


modified:
  include/my_global.h
  include/mysql/plugin.h
  include/mysql/plugin_audit.h.pp
  include/mysql/plugin_auth.h.pp
  include/mysql/plugin_ftparser.h.pp
  include/mysql/service_thd_timezone.h
  sql/item_func.cc
  sql/mysqld.cc
  sql/set_var.cc
  sql/sql_plugin.cc
  sql/sql_plugin.h
  sql/sql_show.cc
  sql/sys_vars.cc
  storage/perfschema/ha_perfschema.cc
2013-06-03 11:57:34 +04:00
Olivier Bertrand
0aa4fb73a4 - Fix crash when a null qrp is returned for OCCUR tables
in connect_assisted_discovery

modified:
  storage/connect/ha_connect.cc

- Change CRLF line endings to LF

modified:
  storage/connect/tabpivot.cpp
  storage/connect/tabpivot.h
2013-05-28 21:06:15 +02:00
Olivier Bertrand
9f7c3fedfa - Extending connect_assisted_discovery column automatic definition
to OCCUR and PIVOT table types.

modified:
  storage/connect/ha_connect.cc
  storage/connect/myconn.cpp
  storage/connect/myconn.h
  storage/connect/plgdbsem.h
  storage/connect/plgdbutl.cpp
  storage/connect/taboccur.cpp
  storage/connect/taboccur.h
  storage/connect/tabpivot.cpp
  storage/connect/tabpivot.h

- Fix wrong definition of GetVlen for TYPE template

modified:
  storage/connect/valblk.h
2013-05-28 17:22:38 +02:00
Alexander Barkov
cc8174db48 Recording test results forgotten in the commit adding thd_timezone_service.
modified:
  mysql-test/r/handlersocket.result
  mysql-test/r/plugin.result
  mysql-test/suite/plugins/r/show_all_plugins.result
2013-05-28 13:11:45 +04:00
Alexander Barkov
15b86a5a13 Merging with the latest 10.0
pending merges:
  Vladislav Vaintroub 2013-05-23 MDEV-4566 : Failing DBUG_ASSERT()  in SEL...
    Sergey Petrunya 2013-05-20 MDEV-4000: Mapping between Cassandra blob...
    Sergey Petrunya 2013-05-20 Update test results.
    knielsen@knielse... 2013-05-03 [merge] Merge 10.0-base -> 10.0
    knielsen@knielse... 2013-05-03 MDEV-4473: mysql_binlog_send() starts...
    Michael Widenius 2013-05-03 Instead of writing "Errcode" to the log ...
    Michael Widenius 2013-05-03 Fixed: MDEV-4352; LOAD DATA was not mult...
    knielsen@knielse... 2013-04-29 [merge] Merge 10.0-base -> 10.0
    knielsen@knielse... 2013-04-29 MDEV-4446: Incorrect handling of binl...
    knielsen@knielse... 2013-04-25 Fix more failures in buildbot.
    knielsen@knielse... 2013-04-24 Add missing check for thd->killed in ...
2013-05-27 17:51:42 +04:00
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
941a20a48a Fixing ABI template, to take into account the latest change in
the thd_time_zone_service.

modified:
  include/mysql/plugin_auth.h.pp
  include/mysql/plugin_ftparser.h.pp
2013-05-27 12:42:39 +04:00
Alexander Barkov
d9f90dc0cc Fixing ABI template, to take into account the latest change in
the thd_time_zone_service.

modified:
  include/mysql/plugin_audit.h.pp
2013-05-27 12:38:15 +04:00
Olivier Bertrand
73d62e2cb1 - Fix Windows compile error
modified:
  include/mysql/service_thd_timezone.h
2013-05-27 00:17:04 +02: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
Vladislav Vaintroub
08ce9bfe05 MDEV-4566 : Failing DBUG_ASSERT() in SELECT SLEEP(), with threadpool.
This bug only happens with long sleep()s ( > 5 sec), and in debug version.

Analysis: 
The assertion is caused by nested thd_wait_begin() calls, which is not an expected condition.
-  "outer" thd_wait_begin()) , in Item_func_sleep::val_int()
-  "inner" thd_wait_begin() in Interruptible_wait::wait(). This function periodically checks whether connection is still valid, via THD::is_connection(), which ends up  calling vio_io_wait()  with timeout parameter set to  0.


Fix is not to call thd wait callback in vio_io_wait(), if timeout parameter is 0. There is no "waiting" in this case.
2013-05-23 14:52:48 +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
Sergey Petrunya
52045d40d4 MDEV-4000: Mapping between Cassandra blob (BytesType) and MySQL BLOB does not work
- Allow SQL blobs in the data mapping.
2013-05-20 08:37:03 +04:00
Sergey Petrunya
70e909cb16 Update test results. 2013-05-20 08:06:34 +04: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
Alexander Barkov
53e2023952 Enabling --suite=connect by default
modified:
  mysql-test/mysql-test-run.pl
2013-05-13 13:35:56 +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
unknown
d0d05dae07 Merge 10.0-base -> 10.0 2013-05-03 12:10:16 +02:00
unknown
5aa0d185ca MDEV-4473: mysql_binlog_send() starts sending events from wrong GTID position in some master failover scenarios
Suppose binlog file X has in its Gtid_list_event: 0-1-3,0-2-5, and suppose the
slave requests to start replicating after 0-1-3.

In this case the bug was that master would start sending events from the start
of X. This is wrong, because 0-2-4 and 0-2-5 are contained in X-1, and are
needed by the slave. So these events were lost.

On the other hand, if the slave requested 0-2-5, then it _is_ correct to start
sending from the beginning of binlog file X, because 0-2-5 is the last GTID
logged in earlier binlogs. The difference is that 0-2-5 is the last of the
GTIDs in the Gtid_list_event. The problem was that the code did not check that
the matched GTID was the last one in the list.

Fixed by checking if the gtid requested by slave that matches a gtid in the
Gtid_list_event is the last event for that domain in the list. If not, go back
to a prior binlog to ensure all needed events are sent to slave.

mysql-test/include/show_events.inc:
  Backport --let $binlog_file=LAST, used by MDEV-4473 test case.
2013-05-03 11:27:29 +02:00