summaryrefslogtreecommitdiff
path: root/storage/spider
diff options
context:
space:
mode:
authorVicențiu Ciorbaru <vicentiu@mariadb.org>2018-03-21 10:36:49 +0200
committerVicențiu Ciorbaru <vicentiu@mariadb.org>2018-03-21 10:36:49 +0200
commit82aeb6b59640b9733c4026bda71887720153b70a (patch)
tree06ea8909b396e3a16042437b9574a85ee0156487 /storage/spider
parent34b03da2114892d96af651a953f6c2527437ad15 (diff)
parenteee73ddfbb29816320c9fc78c8ff1012cac6567a (diff)
downloadmariadb-git-82aeb6b59640b9733c4026bda71887720153b70a.tar.gz
Merge branch '10.1' into 10.2
Diffstat (limited to 'storage/spider')
-rw-r--r--storage/spider/spd_db_oracle.cc6
-rw-r--r--storage/spider/spd_direct_sql.cc16
2 files changed, 21 insertions, 1 deletions
diff --git a/storage/spider/spd_db_oracle.cc b/storage/spider/spd_db_oracle.cc
index 94f354e0a0f..e6e5dc7c109 100644
--- a/storage/spider/spd_db_oracle.cc
+++ b/storage/spider/spd_db_oracle.cc
@@ -29,6 +29,10 @@
#endif
#ifdef HAVE_ORACLE_OCI
+#if (defined(WIN32) || defined(_WIN32) || defined(WINDOWS) || defined(_WINDOWS))
+#include <Shlwapi.h>
+#define strcasestr StrStr
+#endif
#include <oci.h>
#include "spd_err.h"
#include "spd_param.h"
@@ -3817,7 +3821,7 @@ int spider_db_oracle_util::open_item_func(
{
Item_func_conv_charset *item_func_conv_charset =
(Item_func_conv_charset *)item_func;
- CHARSET_INFO *conv_charset = item_func_conv_charset->conv_charset;
+ CHARSET_INFO *conv_charset = item_func_conv_charset->collation.collation;
uint cset_length = strlen(conv_charset->csname);
if (str->reserve(SPIDER_SQL_USING_LEN + cset_length))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc
index dc1786796e6..0659ada92b5 100644
--- a/storage/spider/spd_direct_sql.cc
+++ b/storage/spider/spd_direct_sql.cc
@@ -371,6 +371,14 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
if (direct_sql->access_mode == 0)
{
#endif
+ if (direct_sql->dbton_id == SPIDER_DBTON_SIZE)
+ {
+ /* Invalid target wrapper */
+ *error_num = ER_SPIDER_INVALID_CONNECT_INFO_NUM;
+ my_printf_error(*error_num, ER_SPIDER_INVALID_CONNECT_INFO_STR,
+ MYF(0), direct_sql->tgt_wrapper);
+ goto error_alloc_conn;
+ }
if (!(conn = (SPIDER_CONN *)
spider_bulk_malloc(spider_current_trx, 32, MYF(MY_WME | MY_ZEROFILL),
&conn, sizeof(*conn),
@@ -398,6 +406,14 @@ SPIDER_CONN *spider_udf_direct_sql_create_conn(
conn->default_database.init_calc_mem(138);
#if defined(HS_HAS_SQLCOM) && defined(HAVE_HANDLERSOCKET)
} else {
+ if (direct_sql->dbton_id == SPIDER_DBTON_SIZE)
+ {
+ /* Invalid target wrapper */
+ *error_num = ER_SPIDER_NOSQL_WRAPPER_IS_INVALID_NUM;
+ my_printf_error(*error_num, ER_SPIDER_NOSQL_WRAPPER_IS_INVALID_STR,
+ MYF(0), direct_sql->tgt_wrapper);
+ goto error_alloc_conn;
+ }
if (!(conn = (SPIDER_CONN *)
spider_bulk_malloc(spider_current_trx, 33, MYF(MY_WME | MY_ZEROFILL),
&conn, sizeof(*conn),