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
44c56e35
Commit
44c56e35
authored
Feb 28, 2007
by
msvensson@pilot.blaudden
Browse files
Options
Browse Files
Download
Plain Diff
Merge pilot.blaudden:/home/msvensson/mysql/bug25197/my50-bug25197
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
parents
3a11b2be
ba3c96f5
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
1 deletion
+39
-1
mysql-test/r/func_str.result
mysql-test/r/func_str.result
+14
-0
mysql-test/t/func_str.test
mysql-test/t/func_str.test
+22
-0
sql/item_strfunc.cc
sql/item_strfunc.cc
+3
-1
No files found.
mysql-test/r/func_str.result
View file @
44c56e35
...
@@ -1940,4 +1940,18 @@ abcxx
...
@@ -1940,4 +1940,18 @@ abcxx
select lpad('abc', cast(5 as unsigned integer), 'x');
select lpad('abc', cast(5 as unsigned integer), 'x');
lpad('abc', cast(5 as unsigned integer), 'x')
lpad('abc', cast(5 as unsigned integer), 'x')
xxabc
xxabc
DROP TABLE IF EXISTS t1;
CREATE TABLE `t1` (
`id` varchar(20) NOT NULL,
`tire` tinyint(3) unsigned NOT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO `t1` (`id`, `tire`) VALUES ('A', 0), ('B', 1),('C', 2);
SELECT REPEAT( '#', tire ) AS A,
REPEAT( '#', tire % 999 ) AS B, tire FROM `t1`;
A B tire
0
# # 1
## ## 2
DROP TABLE t1;
End of 5.0 tests
End of 5.0 tests
mysql-test/t/func_str.test
View file @
44c56e35
...
@@ -1008,4 +1008,26 @@ select repeat('a', cast(2 as unsigned int));
...
@@ -1008,4 +1008,26 @@ select repeat('a', cast(2 as unsigned int));
select
rpad
(
'abc'
,
cast
(
5
as
unsigned
integer
),
'x'
);
select
rpad
(
'abc'
,
cast
(
5
as
unsigned
integer
),
'x'
);
select
lpad
(
'abc'
,
cast
(
5
as
unsigned
integer
),
'x'
);
select
lpad
(
'abc'
,
cast
(
5
as
unsigned
integer
),
'x'
);
#
# Bug #25197 :repeat function returns null when using table field directly as count
#
--
disable_warnings
DROP
TABLE
IF
EXISTS
t1
;
--
enable_warnings
CREATE
TABLE
`t1`
(
`id`
varchar
(
20
)
NOT
NULL
,
`tire`
tinyint
(
3
)
unsigned
NOT
NULL
,
PRIMARY
KEY
(
`id`
)
);
INSERT
INTO
`t1`
(
`id`
,
`tire`
)
VALUES
(
'A'
,
0
),
(
'B'
,
1
),(
'C'
,
2
);
SELECT
REPEAT
(
'#'
,
tire
)
AS
A
,
REPEAT
(
'#'
,
tire
%
999
)
AS
B
,
tire
FROM
`t1`
;
DROP
TABLE
t1
;
--
echo
End
of
5.0
tests
--
echo
End
of
5.0
tests
sql/item_strfunc.cc
View file @
44c56e35
...
@@ -2251,8 +2251,10 @@ String *Item_func_repeat::val_str(String *str)
...
@@ -2251,8 +2251,10 @@ String *Item_func_repeat::val_str(String *str)
if
(
args
[
0
]
->
null_value
||
args
[
1
]
->
null_value
)
if
(
args
[
0
]
->
null_value
||
args
[
1
]
->
null_value
)
goto
err
;
// string and/or delim are null
goto
err
;
// string and/or delim are null
null_value
=
0
;
null_value
=
0
;
if
((
count
<=
0
)
&&
!
args
[
1
]
->
unsigned_flag
)
// For nicer SQL code
if
(
count
==
0
||
count
<
0
&&
!
args
[
1
]
->
unsigned_flag
)
return
&
my_empty_string
;
return
&
my_empty_string
;
/* Assumes that the maximum length of a String is < INT_MAX32. */
/* Assumes that the maximum length of a String is < INT_MAX32. */
/* Bounds check on count: If this is triggered, we will error. */
/* Bounds check on count: If this is triggered, we will error. */
if
((
ulonglong
)
count
>
INT_MAX32
)
if
((
ulonglong
)
count
>
INT_MAX32
)
...
...
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