summaryrefslogtreecommitdiff
path: root/storage/spider/spd_db_oracle.h
diff options
context:
space:
mode:
authorKentoku SHIBA <kentokushiba@gmail.com>2013-09-17 03:22:54 +0900
committerKentoku SHIBA <kentokushiba@gmail.com>2013-09-17 03:22:54 +0900
commitdc01d230ed2f0f693e0444c64638743bd57774ed (patch)
tree859704fa52313f74cc0fb374dc59915f1cd01b69 /storage/spider/spd_db_oracle.h
parente9d53a384cdfd4174bc1c69100cf04006d217ec7 (diff)
downloadmariadb-git-dc01d230ed2f0f693e0444c64638743bd57774ed.tar.gz
add some direct aggregate feature.
Diffstat (limited to 'storage/spider/spd_db_oracle.h')
-rw-r--r--storage/spider/spd_db_oracle.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/storage/spider/spd_db_oracle.h b/storage/spider/spd_db_oracle.h
index db5eac88ca9..7b43b9d5e0b 100644
--- a/storage/spider/spd_db_oracle.h
+++ b/storage/spider/spd_db_oracle.h
@@ -104,6 +104,15 @@ public:
const char *alias,
uint alias_length
);
+#ifdef HANDLER_HAS_DIRECT_AGGREGATE
+ int open_item_sum_func(
+ Item_sum *item_sum,
+ ha_spider *spider,
+ spider_string *str,
+ const char *alias,
+ uint alias_length
+ );
+#endif
size_t escape_string(
char *to,
const char *from,
@@ -159,6 +168,10 @@ public:
bool is_null();
int val_int();
double val_real();
+ my_decimal *val_decimal(
+ my_decimal *decimal_value,
+ CHARSET_INFO *access_charset
+ );
SPIDER_DB_ROW *clone();
int store_to_tmp_table(
TABLE *tmp_table,
@@ -928,12 +941,31 @@ public:
const char *alias,
uint alias_length
);
+#ifdef HANDLER_HAS_DIRECT_AGGREGATE
+ int append_sum_select_part(
+ ulong sql_type,
+ const char *alias,
+ uint alias_length
+ );
+ int append_sum_select(
+ spider_string *str,
+ const char *alias,
+ uint alias_length
+ );
+#endif
void set_order_pos(
ulong sql_type
);
void set_order_to_pos(
ulong sql_type
);
+#ifdef HANDLER_HAS_DIRECT_AGGREGATE
+ int append_group_by(
+ spider_string *str,
+ const char *alias,
+ uint alias_length
+ );
+#endif
int append_key_order_for_merge_with_alias_part(
const char *alias,
uint alias_length,