summaryrefslogtreecommitdiff
path: root/sql/sql_select.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2023-01-09 12:49:37 +0100
committerSergei Golubchik <serg@mariadb.org>2023-01-09 18:06:06 +0100
commit1e6ad0ce13c5d2e4125df8006316d9dfe0f8d649 (patch)
treef38f5d5ed1194f71e0050b1b9f25b161f4e0f30c /sql/sql_select.cc
parent32f09df2b86ed4d2b9b63b26b5c95f8555bc1db3 (diff)
downloadmariadb-git-1e6ad0ce13c5d2e4125df8006316d9dfe0f8d649.tar.gz
don't set default value in temp table if NO_DEFAULT_VALUE_FLAG
when an internal temporary table field is created from a real field, a new temp field should only copy a default from the source field when the latter has it
Diffstat (limited to 'sql/sql_select.cc')
-rw-r--r--sql/sql_select.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/sql_select.cc b/sql/sql_select.cc
index d7b2891c9d4..d5519e9f541 100644
--- a/sql/sql_select.cc
+++ b/sql/sql_select.cc
@@ -18241,7 +18241,8 @@ Field *Item_field::create_tmp_field_ex(TABLE *table,
src->set_field(field);
if (!(result= create_tmp_field_from_item_field(table, NULL, param)))
return NULL;
- if (field->eq_def(result))
+ if (!(field->flags & NO_DEFAULT_VALUE_FLAG) &&
+ field->eq_def(result))
src->set_default_field(field);
return result;
}