summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.h
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2003-02-17 05:43:37 +0200
committerunknown <monty@mashka.mysql.fi>2003-02-17 05:43:37 +0200
commite793dfe95e70c60af4a517ba7a5255ad15d48d95 (patch)
treea3fbfddbae0d5a6e600e68942bb243fadb5269aa /sql/item_cmpfunc.h
parent77f5c5a7cf4e99fa3d760f1541bafec3b182def3 (diff)
parent300b3fb64280ae3d982745b683029a2722b3daef (diff)
downloadmariadb-git-e793dfe95e70c60af4a517ba7a5255ad15d48d95.tar.gz
Merge with 4.0.11 tree to get latest bug fixes
client/mysql.cc: Auto merged client/mysqldump.c: Auto merged configure.in: Auto merged include/my_pthread.h: Auto merged include/mysql.h: Auto merged libmysql/libmysql.c: Auto merged libmysqld/libmysqld.c: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/r/rpl000001.result: Auto merged mysql-test/r/rpl000004.result: Auto merged mysql-test/r/type_blob.result: Auto merged mysql-test/t/innodb.test: Auto merged mysql-test/t/rpl000001.test: Auto merged mysys/my_init.c: Auto merged scripts/mysqld_safe.sh: Auto merged sql/item_cmpfunc.h: Auto merged sql/mysql_priv.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_handler.cc: Auto merged sql/sql_table.cc: Auto merged sql/structs.h: Auto merged Makefile.am: Merge with 4.0.11 mysql-test/mysql-test-run.sh: Merge with 4.0.11 mysql-test/r/rpl_log.result: Use local version (needs to be updated) mysql-test/t/type_blob.test: Merge with 4.0.11 sql/mysqld.cc: Merge with 4.0.11 sql/protocol.cc: Use local version
Diffstat (limited to 'sql/item_cmpfunc.h')
-rw-r--r--sql/item_cmpfunc.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/sql/item_cmpfunc.h b/sql/item_cmpfunc.h
index 8534150acd7..c05d0317341 100644
--- a/sql/item_cmpfunc.h
+++ b/sql/item_cmpfunc.h
@@ -682,17 +682,18 @@ public:
void update_used_tables()
{
if (!args[0]->maybe_null)
- used_tables_cache=0; /* is always false */
- else
{
- args[0]->update_used_tables();
- used_tables_cache=args[0]->used_tables();
+ used_tables_cache= 0; /* is always false */
+ cached_value= (longlong) 0;
}
- if (!used_tables_cache)
+ else
{
- /* Remember if the value is always NULL or never NULL */
- args[0]->val();
- cached_value= args[0]->null_value ? (longlong) 1 : (longlong) 0;
+ args[0]->update_used_tables();
+ if (!(used_tables_cache=args[0]->used_tables()))
+ {
+ /* Remember if the value is always NULL or never NULL */
+ cached_value= (longlong) args[0]->is_null();
+ }
}
}
optimize_type select_optimize() const { return OPTIMIZE_NULL; }