summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorunknown <sergefp@mysql.com>2005-04-05 03:07:37 +0400
committerunknown <sergefp@mysql.com>2005-04-05 03:07:37 +0400
commited1f7d375e613ee34bfc1120db1238c8fccf11ea (patch)
treee593e9fd741a67fca6b3e7cbc3452f5da05ad1a4 /sql/sql_select.h
parentf3aa7770b647a9256b3c93f0ef4823b4cb73af55 (diff)
parent31f2f9bcf8aab6af890acca6bf04e6046e99b2f5 (diff)
downloadmariadb-git-ed1f7d375e613ee34bfc1120db1238c8fccf11ea.tar.gz
Manually merged (will need a post-merge fix)
sql/sql_select.h: Auto merged
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 381ccbba4fd..e9397925b6a 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -31,6 +31,11 @@ typedef struct keyuse_t {
uint key, keypart, optimize;
key_part_map keypart_map;
ha_rows ref_table_rows;
+ /*
+ If true, the comparison this value was created from will not be
+ satisfied if val has NULL 'value'.
+ */
+ bool null_rejecting;
} KEYUSE;
class store_key;
@@ -45,6 +50,11 @@ typedef struct st_table_ref
byte *key_buff2; // key_buff+key_length
store_key **key_copy; //
Item **items; // val()'s for each keypart
+ /*
+ (null_rejecting & (1<<i)) means the condition is '=' and no matching
+ rows will be produced if items[i] IS NULL (see add_not_null_conds())
+ */
+ key_part_map null_rejecting;
table_map depend_map; // Table depends on these tables.
byte *null_ref_key; // null byte position in the key_buf.
// used for REF_OR_NULL optimization.