Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
692da273
Commit
692da273
authored
Apr 20, 2006
by
igor@rurik.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Post merge fix
parent
7b0373a5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
12 additions
and
22 deletions
+12
-22
mysql-test/r/func_gconcat.result
mysql-test/r/func_gconcat.result
+1
-1
sql/item_func.cc
sql/item_func.cc
+1
-4
sql/item_sum.cc
sql/item_sum.cc
+2
-2
sql/item_sum.h
sql/item_sum.h
+2
-2
sql/sql_select.cc
sql/sql_select.cc
+6
-13
No files found.
mysql-test/r/func_gconcat.result
View file @
692da273
...
...
@@ -616,7 +616,7 @@ insert into t1 values (1,repeat('a',255)),(2,repeat('b',255));
select f2,group_concat(f1) from t1 group by f2;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def test t1 t1 f2 f2 253 255 255 Y 0 0 8
def group_concat(f1) 25
2
400 1 Y 128 0 63
def group_concat(f1) 25
3
400 1 Y 128 0 63
f2 group_concat(f1)
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 2
...
...
sql/item_func.cc
View file @
692da273
...
...
@@ -380,10 +380,7 @@ Field *Item_func::tmp_table_field(TABLE *t_arg)
res
=
new
Field_double
(
max_length
,
maybe_null
,
name
,
t_arg
,
decimals
);
break
;
case
STRING_RESULT
:
if
(
max_length
/
collation
.
collation
->
mbmaxlen
>
CONVERT_IF_BIGGER_TO_BLOB
)
res
=
new
Field_blob
(
max_length
,
maybe_null
,
name
,
t_arg
,
collation
.
collation
);
else
res
=
new
Field_string
(
max_length
,
maybe_null
,
name
,
t_arg
,
collation
.
collation
);
res
=
make_string_field
(
t_arg
);
break
;
case
DECIMAL_RESULT
:
res
=
new
Field_new_decimal
(
my_decimal_precision_to_length
(
decimal_precision
(),
...
...
sql/item_sum.cc
View file @
692da273
...
...
@@ -377,12 +377,12 @@ Field *Item_sum::create_tmp_field(bool group, TABLE *table,
case
INT_RESULT
:
return
new
Field_longlong
(
max_length
,
maybe_null
,
name
,
table
,
unsigned_flag
);
case
STRING_RESULT
:
if
(
max_length
>
255
&&
convert_blob_length
)
if
(
max_length
/
collation
.
collation
->
mbmaxlen
>
255
&&
convert_blob_length
)
return
new
Field_varstring
(
convert_blob_length
,
maybe_null
,
name
,
table
,
collation
.
collation
);
return
make_string_field
(
table
);
case
DECIMAL_RESULT
:
case
DECIMAL_RESULT
:
return
new
Field_new_decimal
(
max_length
,
maybe_null
,
name
,
table
,
decimals
,
unsigned_flag
);
case
ROW_RESULT
:
...
...
sql/item_sum.h
View file @
692da273
...
...
@@ -1121,10 +1121,10 @@ class Item_func_group_concat : public Item_sum
virtual
Item_result
result_type
()
const
{
return
STRING_RESULT
;
}
enum_field_types
field_type
()
const
{
if
(
max_length
/
collation
.
collation
->
mbmaxlen
>
CONVERT_IF_BIGGER_TO_BLOB
)
if
(
max_length
/
collation
.
collation
->
mbmaxlen
>
CONVERT_IF_BIGGER_TO_BLOB
)
return
FIELD_TYPE_BLOB
;
else
return
MYSQL_TYPE_VAR
_STRING
;
return
MYSQL_TYPE_VAR
CHAR
;
}
void
clear
();
bool
add
();
...
...
sql/sql_select.cc
View file @
692da273
...
...
@@ -8245,20 +8245,13 @@ static Field *create_tmp_field_from_item(THD *thd, Item *item, TABLE *table,
if
((
type
=
item
->
field_type
())
==
MYSQL_TYPE_DATETIME
||
type
==
MYSQL_TYPE_TIME
||
type
==
MYSQL_TYPE_DATE
)
new_field
=
item
->
tmp_table_field_from_field_type
(
table
);
else
if
(
item
->
max_length
/
item
->
collation
.
collation
->
mbmaxlen
>
CONVERT_IF_BIGGER_TO_BLOB
)
{
if
(
convert_blob_length
)
new_field
=
new
Field_varstring
(
convert_blob_length
,
maybe_null
,
item
->
name
,
table
,
item
->
collation
.
collation
);
else
new_field
=
new
Field_blob
(
item
->
max_length
,
maybe_null
,
item
->
name
,
table
,
item
->
collation
.
collation
);
}
else
if
(
item
->
max_length
/
item
->
collation
.
collation
->
mbmaxlen
>
255
&&
convert_blob_length
)
new_field
=
new
Field_varstring
(
convert_blob_length
,
maybe_null
,
item
->
name
,
table
,
item
->
collation
.
collation
);
else
new_field
=
new
Field_string
(
item
->
max_length
,
maybe_null
,
item
->
name
,
table
,
item
->
collation
.
collation
);
new_field
=
item
->
make_string_field
(
table
);
break
;
case
DECIMAL_RESULT
:
new_field
=
new
Field_new_decimal
(
item
->
max_length
,
maybe_null
,
item
->
name
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment