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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
a109df80
Commit
a109df80
authored
May 30, 2007
by
gkodinov/kgeorge@magare.gmz
Browse files
Options
Browse Files
Download
Plain Diff
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B28605-5.0-opt
parents
a6ebd634
268fdf5d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
27 additions
and
22 deletions
+27
-22
mysql-test/r/func_date_add.result
mysql-test/r/func_date_add.result
+11
-0
mysql-test/t/func_date_add.test
mysql-test/t/func_date_add.test
+10
-0
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+6
-1
sql/item_timefunc.cc
sql/item_timefunc.cc
+0
-21
No files found.
mysql-test/r/func_date_add.result
View file @
a109df80
...
...
@@ -84,4 +84,15 @@ CAST('2006-09-26' AS DATE) + INTERVAL 1 YEAR
SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 WEEK;
CAST('2006-09-26' AS DATE) + INTERVAL 1 WEEK
2006-10-03
create table t1 (a int, b varchar(10));
insert into t1 values (1, '2001-01-01'),(2, '2002-02-02');
select '2007-01-01' + interval a day from t1;
'2007-01-01' + interval a day
2007-01-02
2007-01-03
select b + interval a day from t1;
b + interval a day
2001-01-02
2002-02-04
drop table t1;
End of 5.0 tests
mysql-test/t/func_date_add.test
View file @
a109df80
...
...
@@ -77,4 +77,14 @@ SELECT CAST('2006-09-26' AS DATE) + INTERVAL 1 MONTH;
SELECT
CAST
(
'2006-09-26'
AS
DATE
)
+
INTERVAL
1
YEAR
;
SELECT
CAST
(
'2006-09-26'
AS
DATE
)
+
INTERVAL
1
WEEK
;
#
# Bug#28450: The Item_date_add_interval in select list may fail the field
# type assertion.
#
create
table
t1
(
a
int
,
b
varchar
(
10
));
insert
into
t1
values
(
1
,
'2001-01-01'
),(
2
,
'2002-02-02'
);
select
'2007-01-01'
+
interval
a
day
from
t1
;
select
b
+
interval
a
day
from
t1
;
drop
table
t1
;
--
echo
End
of
5.0
tests
sql/item_cmpfunc.cc
View file @
a109df80
...
...
@@ -766,7 +766,12 @@ get_datetime_value(THD *thd, Item ***item_arg, Item **cache_arg,
{
value
=
item
->
val_int
();
*
is_null
=
item
->
null_value
;
if
(
item
->
field_type
()
==
MYSQL_TYPE_DATE
)
/*
Item_date_add_interval may return MYSQL_TYPE_STRING as the result
field type. To detect that the DATE value has been returned we
compare it with 1000000L - any DATE value should be less than it.
*/
if
(
item
->
field_type
()
==
MYSQL_TYPE_DATE
||
value
<
100000000L
)
value
*=
1000000L
;
}
else
...
...
sql/item_timefunc.cc
View file @
a109df80
...
...
@@ -2180,27 +2180,6 @@ bool Item_date_add_interval::get_date(MYSQL_TIME *ltime, uint fuzzy_date)
default:
goto
null_date
;
}
/* Adjust cached_field_type according to the detected type. */
if
(
cached_field_type
==
MYSQL_TYPE_STRING
)
{
switch
(
ltime
->
time_type
)
{
case
MYSQL_TIMESTAMP_DATE
:
cached_field_type
=
MYSQL_TYPE_DATE
;
break
;
case
MYSQL_TIMESTAMP_DATETIME
:
cached_field_type
=
MYSQL_TYPE_DATETIME
;
break
;
case
MYSQL_TIMESTAMP_TIME
:
cached_field_type
=
MYSQL_TYPE_TIME
;
break
;
default:
/* Shouldn't get here. */
DBUG_ASSERT
(
0
);
break
;
}
}
return
0
;
// Ok
invalid_date:
...
...
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