null+****@clear*****
null+****@clear*****
2012年 3月 20日 (火) 21:29:09 JST
Kouhei Sutou 2012-03-20 21:29:09 +0900 (Tue, 20 Mar 2012)
New Revision: 4dd2982b632a72e73359cec075960880a19e392f
Log:
mariadb55: force enabling cond_push
Optimization for the following SQL requries cond_push:
SELECT * FROM ...
WHERE MATCH(...) AGAINST(..) AND
int_column = int_value
ORDER BY ... LIMIT ...;
Should we use
SET GLOBAL optimizer_switch='engine_condition_pushdown=on';
instead to enable cond_push?
MariaDB 5.5 disables cond_push by default. We can enable it by the
above "SET" command or this change.
MySQL doesn't disable cond_push...
fixes #1315
Reported by Kazuhiko Shiozaki. Thanks!!!
Modified files:
ha_mroonga.cc
Modified: ha_mroonga.cc (+3 -0)
===================================================================
--- ha_mroonga.cc 2012-03-20 21:06:03 +0900 (4d3bea0)
+++ ha_mroonga.cc 2012-03-20 21:29:09 +0900 (c8fdf0c)
@@ -1974,6 +1974,9 @@ ulonglong ha_mroonga::storage_table_flags() const
HA_CAN_GEOMETRY |
HA_CAN_RTREEKEYS;
//HA_HAS_RECORDS;
+#ifdef HA_MUST_USE_TABLE_CONDITION_PUSHDOWN
+ flags |= HA_MUST_USE_TABLE_CONDITION_PUSHDOWN;
+#endif
DBUG_RETURN(flags);
}