summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorSinisa@sinisa.nasamreza.org <>2003-08-20 15:33:21 +0300
committerSinisa@sinisa.nasamreza.org <>2003-08-20 15:33:21 +0300
commitfb774125e807de66294da40aaabc596d444e1d93 (patch)
tree8fab9476aeb7182e7dda366725f8e743cd6e3f6b /sql
parent299cef5df7fa189d915a2888339a3b274cb453e8 (diff)
downloadmariadb-git-fb774125e807de66294da40aaabc596d444e1d93.tar.gz
item_func.h:
Fix for a bug with LEAST() in WHERE clause ha_innodb.cc: Fix for a configure bug multi_update.result, multi_update.test: Fix for the update with NULL's in the result set sql_update.cc: Fix for the update with NULL's in the result set Fix for the update with NULL's in the result set Fix for the update with NULL's in the result set
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_innodb.cc1
-rw-r--r--sql/item_func.h1
-rw-r--r--sql/sql_update.cc6
3 files changed, 6 insertions, 2 deletions
diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc
index 09119a4eb54..3619fefdd1b 100644
--- a/sql/ha_innodb.cc
+++ b/sql/ha_innodb.cc
@@ -28,7 +28,6 @@ InnoDB */
#include "mysql_priv.h"
#include "slave.h"
-#include "sql_cache.h"
#ifdef HAVE_INNOBASE_DB
#include <m_ctype.h>
diff --git a/sql/item_func.h b/sql/item_func.h
index 8a4cace0b87..bccd0ca7adb 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -514,6 +514,7 @@ public:
void fix_length_and_dec();
enum Item_result result_type () const { return cmp_type; }
unsigned int size_of() { return sizeof(*this);}
+ table_map not_null_tables() const { return 0; }
};
class Item_func_min :public Item_func_min_max
diff --git a/sql/sql_update.cc b/sql/sql_update.cc
index 3179c8e0f24..2f3f917a962 100644
--- a/sql/sql_update.cc
+++ b/sql/sql_update.cc
@@ -575,6 +575,7 @@ multi_update::initialize_tables(JOIN *join)
{
TABLE *table=table_ref->table;
uint cnt= table_ref->shared;
+ Item_field *If;
List<Item> temp_fields= *fields_for_table[cnt];
ORDER group;
@@ -598,7 +599,10 @@ multi_update::initialize_tables(JOIN *join)
/* ok to be on stack as this is not referenced outside of this func */
Field_string offset(table->file->ref_length, 0, "offset",
table, 1);
- if (temp_fields.push_front(new Item_field(((Field *) &offset))))
+ if (!(If=new Item_field(((Field *) &offset))))
+ DBUG_RETURN(1);
+ If->maybe_null=0;
+ if (temp_fields.push_front(If))
DBUG_RETURN(1);
/* Make an unique key over the first field to avoid duplicated updates */