summaryrefslogtreecommitdiff
path: root/sql/item.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/item.h')
-rw-r--r--sql/item.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/sql/item.h b/sql/item.h
index 9d41f72bf6a..083bc2261ce 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -3513,12 +3513,13 @@ public:
bool check_vcol_func_processor(void *arg)
{
context= 0;
+ uint res= VCOL_FIELD_REF;
if (field && (field->unireg_check == Field::NEXT_NUMBER))
- {
- // Auto increment fields are unsupported
- return mark_unsupported_function(field_name.str, arg, VCOL_FIELD_REF | VCOL_AUTO_INC);
- }
- return mark_unsupported_function(field_name.str, arg, VCOL_FIELD_REF);
+ res|= VCOL_AUTO_INC;
+ if (field && field->vcol_info &&
+ field->vcol_info->flags & (VCOL_NOT_STRICTLY_DETERMINISTIC | VCOL_AUTO_INC))
+ res|= VCOL_NON_DETERMINISTIC;
+ return mark_unsupported_function(field_name.str, arg, res);
}
bool set_fields_as_dependent_processor(void *arg)
{
@@ -4820,6 +4821,7 @@ class Item_bin_string: public Item_hex_hybrid
{
public:
Item_bin_string(THD *thd, const char *str, size_t str_length);
+ void print(String *str, enum_query_type query_type);
};