readysettech / readyset

Readyset is a MySQL and Postgres wire-compatible caching layer that sits in front of existing databases to speed up queries and horizontally scale read throughput. Under the hood, ReadySet caches the results of cached select statements and incrementally updates these results over time as the underlying data changes.
https://readyset.io
Other
4.3k stars 120 forks source link

Double precision difference between Readyset and MySQL #1270

Closed altmannmarcelo closed 3 months ago

altmannmarcelo commented 3 months ago

Description

Selecting from a REAL show difference between RS and MySQL

CREATE TABLE t (r REAL);
INSERT INTO t VALUES (-1.022955866358363e-38);
SELECT * FROM t;
+------------------------+
| r                      |
+------------------------+
| -1.022955866358363e-38 |
+------------------------+
1 row in set (0,00 sec)

CREATE CACHE FROM SELECT * FROM t;
SELECT * FROM t;
+--------------------------------------------------+
| r                                                |
+--------------------------------------------------+
| -0.000000000000000000000000000000000000010229559 |
+--------------------------------------------------+
1 row in set (0,00 sec)

Change in user-visible behavior

Requires documentation change