mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge branch '10.7' into 10.8
This commit is contained in:
@@ -35,21 +35,21 @@ protected:
|
||||
character set. No memory is allocated.
|
||||
@retval A pointer to the str_value member.
|
||||
*/
|
||||
virtual String *make_empty_result()
|
||||
virtual String *make_empty_result(String *str)
|
||||
{
|
||||
/*
|
||||
Reset string length to an empty string. We don't use str_value.set() as
|
||||
we don't want to free and potentially have to reallocate the buffer
|
||||
for each call.
|
||||
*/
|
||||
if (!str_value.is_alloced())
|
||||
str_value.set("", 0, collation.collation); /* Avoid null ptrs */
|
||||
if (!str->is_alloced())
|
||||
str->set("", 0, collation.collation); /* Avoid null ptrs */
|
||||
else
|
||||
{
|
||||
str_value.length(0); /* Reuse allocated area */
|
||||
str_value.set_charset(collation.collation);
|
||||
str->length(0); /* Reuse allocated area */
|
||||
str->set_charset(collation.collation);
|
||||
}
|
||||
return &str_value;
|
||||
return str;
|
||||
}
|
||||
public:
|
||||
Item_str_func(THD *thd): Item_func(thd) { decimals=NOT_FIXED_DEC; }
|
||||
@@ -627,7 +627,7 @@ class Item_func_substr_oracle :public Item_func_substr
|
||||
protected:
|
||||
longlong get_position() override
|
||||
{ longlong pos= args[1]->val_int(); return pos == 0 ? 1 : pos; }
|
||||
String *make_empty_result() override
|
||||
String *make_empty_result(String *str) override
|
||||
{ null_value= 1; return NULL; }
|
||||
public:
|
||||
Item_func_substr_oracle(THD *thd, Item *a, Item *b):
|
||||
@@ -676,7 +676,7 @@ protected:
|
||||
String *trimmed_value(String *res, uint32 offset, uint32 length)
|
||||
{
|
||||
if (length == 0)
|
||||
return make_empty_result();
|
||||
return make_empty_result(&tmp_value);
|
||||
|
||||
tmp_value.set(*res, offset, length);
|
||||
/*
|
||||
@@ -717,7 +717,7 @@ public:
|
||||
class Item_func_trim_oracle :public Item_func_trim
|
||||
{
|
||||
protected:
|
||||
String *make_empty_result() override
|
||||
String *make_empty_result(String *str) override
|
||||
{ null_value= 1; return NULL; }
|
||||
LEX_CSTRING func_name_ext() const override
|
||||
{
|
||||
@@ -769,7 +769,7 @@ public:
|
||||
class Item_func_ltrim_oracle :public Item_func_ltrim
|
||||
{
|
||||
protected:
|
||||
String *make_empty_result() override
|
||||
String *make_empty_result(String *str) override
|
||||
{ null_value= 1; return NULL; }
|
||||
LEX_CSTRING func_name_ext() const override
|
||||
{
|
||||
@@ -817,7 +817,7 @@ public:
|
||||
class Item_func_rtrim_oracle :public Item_func_rtrim
|
||||
{
|
||||
protected:
|
||||
String *make_empty_result() override
|
||||
String *make_empty_result(String *str) override
|
||||
{ null_value= 1; return NULL; }
|
||||
LEX_CSTRING func_name_ext() const override
|
||||
{
|
||||
@@ -1059,7 +1059,7 @@ public:
|
||||
String *val_str(String *) override;
|
||||
bool fix_length_and_dec() override
|
||||
{
|
||||
max_length= MAX_FIELD_NAME * system_charset_info->mbmaxlen;
|
||||
max_length= NAME_CHAR_LEN * system_charset_info->mbmaxlen;
|
||||
set_maybe_null();
|
||||
return FALSE;
|
||||
}
|
||||
@@ -1414,7 +1414,7 @@ public:
|
||||
|
||||
class Item_func_rpad_oracle :public Item_func_rpad
|
||||
{
|
||||
String *make_empty_result() override
|
||||
String *make_empty_result(String *str) override
|
||||
{ null_value= 1; return NULL; }
|
||||
public:
|
||||
Item_func_rpad_oracle(THD *thd, Item *arg1, Item *arg2, Item *arg3):
|
||||
@@ -1457,7 +1457,7 @@ public:
|
||||
|
||||
class Item_func_lpad_oracle :public Item_func_lpad
|
||||
{
|
||||
String *make_empty_result() override
|
||||
String *make_empty_result(String *str) override
|
||||
{ null_value= 1; return NULL; }
|
||||
public:
|
||||
Item_func_lpad_oracle(THD *thd, Item *arg1, Item *arg2, Item *arg3):
|
||||
@@ -1774,7 +1774,6 @@ public:
|
||||
(cs->mbmaxlen > 1 || !(cs->state & MY_CS_NONASCII))));
|
||||
}
|
||||
}
|
||||
bool is_json_type() override { return args[0]->is_json_type(); }
|
||||
String *val_str(String *) override;
|
||||
longlong val_int() override
|
||||
{
|
||||
|
Reference in New Issue
Block a user