我从涉及MariaDB 10.1.31上的TIMESTAMP的查询中得到了一些错误的结果,我想在向开发人员提交错误报告之前,我要求进行完整性检查。
我正在将MariaDB 10.1.31作为AWS RDS实例运行。
表具有以下定义:
create table eventData_82_1_141 (
moveid INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
timestamp TIMESTAMP(3) NOT NULL,
duration MEDIUMINT(8) UNSIGNED NOT NULL,
direction TINYINT(3) UNSIGNED NOT NULL,
lock SMALLINT(5) UNSIGNED NOT NULL,
unlock SMALLINT(5) UNSIGNED NOT NULL,
peak DOUBLE NOT NULL,
rms DOUBLE NOT NULL,
temp VARCHAR(6) DEFAULT NULL,
proc TINYINT(1) UNSIGNED NOT NULL DEFAULT '0',
PRIMARY KEY ( moveid )
) ENGINE=InnoDB
当我执行以下查询时:
SELECT * FROM -table- WHERE timestamp <= NOW(3) ORDER BY timestamp DESC LIMIT 500
我得到以下结果集:
+--------+-------------------------+
| moveid | timestamp |
+--------+-------------------------+
| 23 | 2019-01-11 13:00:04.000 |
| 22 | 2019-01-11 12:57:32.000 |
| 21 | 2019-01-11 12:54:45.000 |
+--------+-------------------------+
现在-当我执行以下逻辑等效查询(出于所有意图和目的)时:
SELECT * FROM -table- ORDER BY timestamp DESC LIMIT 500
我得到以下结果集:
+--------+-------------------------+
| moveid | timestamp |
+--------+-------------------------+
| 43 | 2019-01-17 02:00:16.000 |
| 42 | 2019-01-17 01:57:05.000 |
| 41 | 2019-01-17 01:54:34.000 |
+--------+-------------------------+
谁能看到我想念的东西?
还有其他人遇到过类似的问题吗?
向AWS和MariaDB开发人员都报告错误是否值得?
编辑:
我在多个AWS Aurora 5.6(MySQL 5.6.10)RDS实例上使用完全相同的代码运行完全相同的代码,并且不会收到错误的结果-只有2个MariaDB实例存在此问题
编辑#2 :(来自下面的评论)
无论是否包含小数秒的可选参数,结果都是相同的