summaryrefslogtreecommitdiff
path: root/sql/sql_lex.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-11-18 17:48:06 +0200
committerunknown <bell@sanja.is.com.ua>2003-11-18 17:48:06 +0200
commit848088d66518a56e615dd08aa86acfc7d4eaa81f (patch)
tree4faf368ec90a58dd5ea8c1e1ce0d28799a6a4189 /sql/sql_lex.h
parentcde9c4299b1f77abed719dbacb278030010760e6 (diff)
parent79533975b1453a716dce3a4b3936740ee22d92d9 (diff)
downloadmariadb-git-848088d66518a56e615dd08aa86acfc7d4eaa81f.tar.gz
Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-used_tables-4.1 sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_yacc.yy: Auto merged
Diffstat (limited to 'sql/sql_lex.h')
-rw-r--r--sql/sql_lex.h15
1 files changed, 11 insertions, 4 deletions
diff --git a/sql/sql_lex.h b/sql/sql_lex.h
index 35132946df0..fbd6dba8f8b 100644
--- a/sql/sql_lex.h
+++ b/sql/sql_lex.h
@@ -84,6 +84,7 @@ enum enum_sql_command {
#define DESCRIBE_NORMAL 1
#define DESCRIBE_EXTENDED 2
+
typedef List<Item> List_item;
typedef struct st_lex_master_info
@@ -226,9 +227,14 @@ public:
};
ulong options;
+ /*
+ result of this query can't be cached, bit field, can be :
+ UNCACHEABLE_DEPENDENT
+ UNCACHEABLE_RAND
+ UNCACHEABLE_UNCACHEABLE
+ */
+ uint8 uncacheable;
enum sub_select_type linkage;
- bool dependent; /* dependent from outer select subselect */
- bool uncacheable; /* result of this query can't be cached */
bool no_table_names_allowed; /* used for global order by */
bool no_error; /* suppress error message (convert it to warnings) */
@@ -565,7 +571,7 @@ typedef struct st_lex
bool derived_tables;
bool safe_to_cache_query;
st_lex() {}
- inline void uncacheable()
+ inline void uncacheable(uint8 cause)
{
safe_to_cache_query= 0;
@@ -580,7 +586,8 @@ typedef struct st_lex
un != &unit;
sl= sl->outer_select(), un= sl->master_unit())
{
- sl->uncacheable = un->uncacheable= 1;
+ sl->uncacheable|= cause;
+ un->uncacheable|= cause;
}
}
} LEX;