summaryrefslogtreecommitdiff
path: root/storage/spider/spd_direct_sql.cc
diff options
context:
space:
mode:
authorKentoku SHIBA <kentokushiba@gmail.com>2014-03-25 04:34:15 +0900
committerKentoku SHIBA <kentokushiba@gmail.com>2014-03-25 04:34:15 +0900
commitf2a5353966bf1f6b80fa2529a9f1ca75fdd2471d (patch)
tree66d376a5de1d0383525d586698cb07a8ecc6e342 /storage/spider/spd_direct_sql.cc
parent27772bd77660d9d2282b02c45a5536481da618c7 (diff)
downloadmariadb-git-f2a5353966bf1f6b80fa2529a9f1ca75fdd2471d.tar.gz
find temporary table
Diffstat (limited to 'storage/spider/spd_direct_sql.cc')
-rw-r--r--storage/spider/spd_direct_sql.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/storage/spider/spd_direct_sql.cc b/storage/spider/spd_direct_sql.cc
index 2c844eb2da3..0754710a1fa 100644
--- a/storage/spider/spd_direct_sql.cc
+++ b/storage/spider/spd_direct_sql.cc
@@ -40,6 +40,10 @@
#include "spd_udf.h"
#include "spd_malloc.h"
+#if defined(MARIADB_BASE_VERSION) && MYSQL_VERSION_ID >= 100004
+#define SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE
+#endif
+
extern const char **spd_defaults_extra_file;
extern const char **spd_defaults_file;
@@ -1604,8 +1608,16 @@ long long spider_direct_sql_body(
#endif
for (roop_count = 0; roop_count < direct_sql->table_count; roop_count++)
{
+#ifdef SPIDER_NEED_INIT_ONE_TABLE_FOR_FIND_TEMPORARY_TABLE
+ table_list.init_one_table(direct_sql->db_names[roop_count],
+ strlen(direct_sql->db_names[roop_count]),
+ direct_sql->table_names[roop_count],
+ strlen(direct_sql->table_names[roop_count]),
+ direct_sql->table_names[roop_count], TL_WRITE);
+#else
table_list.db = direct_sql->db_names[roop_count];
table_list.table_name = direct_sql->table_names[roop_count];
+#endif
if (!(direct_sql->tables[roop_count] =
find_temporary_table(thd, &table_list)))
{