summaryrefslogtreecommitdiff
path: root/sql/sql_select.h
diff options
context:
space:
mode:
authorKonstantin Osipov <kostja@sun.com>2010-02-06 13:28:06 +0300
committerKonstantin Osipov <kostja@sun.com>2010-02-06 13:28:06 +0300
commita72f90bc43a809e6678e1343a1ee760878061be3 (patch)
tree16fe2efa0a3d5e40e00972a1dc3bc4e13f71170c /sql/sql_select.h
parentba678eef7de4a8c5fbea07928b87fef84765f22b (diff)
parentb38ef2b5f7bc231b63b770c28688ee9f0109c88b (diff)
downloadmariadb-git-a72f90bc43a809e6678e1343a1ee760878061be3.tar.gz
Merge next-mr -> next-4284.
mysql-test/t/disabled.def: Restore disabled ssl tests: SSL certificates were updated. Disable sp_sync.test, the test case can't work in next-4284. mysql-test/t/partition_innodb.test: Disable parsing of the test case for Bug#47343, the test can not work in next-4284. mysql-test/t/ps_ddl.test: Update results (CREATE TABLE IF NOT EXISTS takes into account existence of the temporary table).
Diffstat (limited to 'sql/sql_select.h')
-rw-r--r--sql/sql_select.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sql/sql_select.h b/sql/sql_select.h
index 3a664546397..c30aae4fbf9 100644
--- a/sql/sql_select.h
+++ b/sql/sql_select.h
@@ -719,6 +719,12 @@ public:
my_bitmap_map *old_map= dbug_tmp_use_all_columns(table,
table->write_set);
int res= item->save_in_field(to_field, 1);
+ /*
+ Item::save_in_field() may call Item::val_xxx(). And if this is a subquery
+ we need to check for errors executing it and react accordingly
+ */
+ if (!res && table->in_use->is_error())
+ res= 2;
dbug_tmp_restore_column_map(table->write_set, old_map);
null_key= to_field->is_null() || item->null_value;
return (err != 0 || res > 2 ? STORE_KEY_FATAL : (store_key_result) res);
@@ -752,6 +758,12 @@ protected:
if (!err)
err= res;
}
+ /*
+ Item::save_in_field() may call Item::val_xxx(). And if this is a subquery
+ we need to check for errors executing it and react accordingly
+ */
+ if (!err && to_field->table->in_use->is_error())
+ err= 2;
}
null_key= to_field->is_null() || item->null_value;
return (err > 2 ? STORE_KEY_FATAL : (store_key_result) err);