Bug #72472 | now() : missing fractional seconds from a view | ||
---|---|---|---|
Submitted: | 28 Apr 2014 14:12 | Modified: | 23 Sep 2014 22:26 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Parser | Severity: | S3 (Non-critical) |
Version: | 5.6.18 | OS: | Windows |
Assigned to: | CPU Architecture: | Any |
[28 Apr 2014 14:12]
Shane Bester
[28 Apr 2014 17:30]
MySQL Verification Team
mysql> select now(6); +----------------------------+ | now(6) | +----------------------------+ | 2014-04-28 19:30:09.293766 | +----------------------------+ 1 row in set (0.00 sec) mysql> drop view if exists `v1`; Query OK, 0 rows affected (0.00 sec) mysql> create or replace view `v1` as select now(6); Query OK, 0 rows affected (0.00 sec) mysql> select * from `v1`; +---------------------+ | now(6) | +---------------------+ | 2014-04-28 19:30:09 | +---------------------+ 1 row in set (0.00 sec)
[29 Apr 2014 6:21]
MySQL Verification Team
Hello Shane, Thank you for the bug report and test case. Verified as described. Thanks, Umesh
[29 Apr 2014 6:22]
MySQL Verification Team
// 5.6.18, 5.6.19 and 5.7.5 - all are affected mysql> select version(); +---------------------------------------+ | version() | +---------------------------------------+ | 5.6.18-enterprise-commercial-advanced | +---------------------------------------+ 1 row in set (0.00 sec) mysql> use test Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> select now(6); +----------------------------+ | now(6) | +----------------------------+ | 2014-05-01 00:44:14.310971 | +----------------------------+ 1 row in set (0.00 sec) mysql> drop view if exists `v1`; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> create or replace view `v1` as select now(6); Query OK, 0 rows affected (0.05 sec) mysql> select * from `v1`; +---------------------+ | now(6) | +---------------------+ | 2014-05-01 00:44:14 | +---------------------+ 1 row in set (0.00 sec) mysql> show create table `v1`; +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | View | Create View | character_set_client | collation_connection | +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | v1 | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select now() AS `now(6)` | utf8 | utf8_general_ci | +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ 1 row in set (0.00 sec) // 5.6.19 mysql> select version(); +-------------------------------------------+ | version() | +-------------------------------------------+ | 5.6.19-enterprise-commercial-advanced-log | +-------------------------------------------+ 1 row in set (0.00 sec) mysql> use test Database changed mysql> select now(6); +----------------------------+ | now(6) | +----------------------------+ | 2014-05-01 02:18:03.201013 | +----------------------------+ 1 row in set (0.00 sec) mysql> drop view if exists `v1`; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> create or replace view `v1` as select now(6); Query OK, 0 rows affected (0.00 sec) mysql> select * from `v1`; +---------------------+ | now(6) | +---------------------+ | 2014-05-01 02:18:03 | +---------------------+ 1 row in set (0.01 sec) mysql> show create table `v1`; +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | View | Create View | character_set_client | collation_connection | +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | v1 | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select now() AS `now(6)` | utf8 | utf8_general_ci | +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ 1 row in set (0.00 sec) // 5.7.5 mysql> select version(); +----------------------------------------------+ | version() | +----------------------------------------------+ | 5.7.5-m15-enterprise-commercial-advanced-log | +----------------------------------------------+ 1 row in set (0.00 sec) mysql> use test Database changed mysql> select now(6); +----------------------------+ | now(6) | +----------------------------+ | 2014-05-01 01:04:06.801002 | +----------------------------+ 1 row in set (0.00 sec) mysql> drop view if exists `v1`; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> create or replace view `v1` as select now(6); Query OK, 0 rows affected (0.01 sec) mysql> select * from `v1`; +---------------------+ | now(6) | +---------------------+ | 2014-05-01 01:04:06 | +---------------------+ 1 row in set (0.00 sec) mysql> show create table `v1`; +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | View | Create View | character_set_client | collation_connection | +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | v1 | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select now() AS `now(6)` | utf8 | utf8_general_ci | +------+------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ 1 row in set (0.00 sec)
[23 Sep 2014 22:26]
Paul DuBois
Noted in 5.7.5 changelog. NOW(N) in a view definition was stored as NOW(), thus losing the fractional seconds part.