From d1490c177139faa71cd88af71fdb7d88a8f45000 Mon Sep 17 00:00:00 2001 From: Igor Babaev Date: Fri, 30 Aug 2019 15:49:07 -0700 Subject: MDEV-15777 Use inferred IS NOT NULL predicates in the range optimizer This patch introduces the optimization that allows range optimizer to consider index range scans that are built employing NOT NULL predicates inferred from WHERE conditions and ON expressions. The patch adds a new optimizer switch not_null_range_scan. --- sql/sql_priv.h | 1 + 1 file changed, 1 insertion(+) (limited to 'sql/sql_priv.h') diff --git a/sql/sql_priv.h b/sql/sql_priv.h index 2f37e1106f0..ec7b2ccbdac 100644 --- a/sql/sql_priv.h +++ b/sql/sql_priv.h @@ -222,6 +222,7 @@ #define OPTIMIZER_SWITCH_ORDERBY_EQ_PROP (1ULL << 29) #define OPTIMIZER_SWITCH_COND_PUSHDOWN_FOR_DERIVED (1ULL << 30) #define OPTIMIZER_SWITCH_SPLIT_MATERIALIZED (1ULL << 31) +#define OPTIMIZER_SWITCH_NOT_NULL_RANGE_SCAN (1ULL << 32) #define OPTIMIZER_SWITCH_DEFAULT (OPTIMIZER_SWITCH_INDEX_MERGE | \ OPTIMIZER_SWITCH_INDEX_MERGE_UNION | \ -- cgit v1.2.1