summaryrefslogtreecommitdiff
path: root/sql/item.cc
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mariadb.org>2016-04-26 23:05:26 +0200
committerSergei Golubchik <serg@mariadb.org>2016-04-26 23:05:26 +0200
commit872649c7baab3a9f7efdda78e49c4bc7dd481d91 (patch)
tree4fffb1a99ca36ccea65e64bcaa81293c40e7539f /sql/item.cc
parent4995bcffaded6a02106632fb8f259cd3d9048dc4 (diff)
parent4f1ad43992d75676687f29da96dd7c4147247a8f (diff)
downloadmariadb-git-872649c7baab3a9f7efdda78e49c4bc7dd481d91.tar.gz
Merge branch '5.5' into 10.0
Diffstat (limited to 'sql/item.cc')
-rw-r--r--sql/item.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/sql/item.cc b/sql/item.cc
index d9d1409572c..065204dc9c3 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -1,5 +1,5 @@
/*
- Copyright (c) 2000, 2014, Oracle and/or its affiliates.
+ Copyright (c) 2000, 2016, Oracle and/or its affiliates.
Copyright (c) 2010, 2016, MariaDB
This program is free software; you can redistribute it and/or modify
@@ -1306,8 +1306,8 @@ Item *Item_param::safe_charset_converter(CHARSET_INFO *tocs)
to it's possible that the converter will not be needed at all:
PREPARE stmt FROM 'SELECT * FROM t1 WHERE field = ?';
- SET @@arg= 1;
- EXECUTE stms USING @arg;
+ SET @arg= 1;
+ EXECUTE stmt USING @arg;
In the above example result_type is STRING_RESULT at prepare time,
and INT_RESULT at execution time.
@@ -3835,7 +3835,7 @@ Item_param::eq(const Item *item, bool binary_cmp) const
void Item_param::print(String *str, enum_query_type query_type)
{
- if (state == NO_VALUE)
+ if (state == NO_VALUE || query_type & QT_NO_DATA_EXPANSION)
{
str->append('?');
}
@@ -6734,7 +6734,8 @@ Item *Item_field::update_value_transformer(uchar *select_arg)
void Item_field::print(String *str, enum_query_type query_type)
{
- if (field && field->table->const_table)
+ if (field && field->table->const_table &&
+ !(query_type & QT_NO_DATA_EXPANSION))
{
print_value(str);
return;