| Index: third_party/sqlite/src/test/recover1.test
|
| diff --git a/third_party/sqlite/src/test/recover1.test b/third_party/sqlite/src/test/recover1.test
|
| index e38531b62e32668fdd45bc9fc22aacbf94d3ca64..76d386970a895399a8f6932ac957710b13b9465c 100644
|
| --- a/third_party/sqlite/src/test/recover1.test
|
| +++ b/third_party/sqlite/src/test/recover1.test
|
| @@ -279,4 +279,30 @@ do_test recover-types-6.1 {
|
| execsql {SELECT rowid, id, rowtype, value, TYPEOF(value) FROM types2_recover}
|
| } {1 1 NULL {} null 2 2 INTEGER 17 integer 3 3 FLOAT 3.1415927 real 4 4 TEXT {This is text} text 5 5 BLOB {This is a blob} blob}
|
|
|
| +# Inserting an integral value into a FLOAT can use more compact INTEGER
|
| +# storage.
|
| +do_test recover-types-7.0 {
|
| + db eval {
|
| + DROP TABLE IF EXISTS floats;
|
| + CREATE TABLE floats (value);
|
| + INSERT INTO floats VALUES (CAST (0 AS FLOAT));
|
| + INSERT INTO floats VALUES (CAST (1 AS FLOAT));
|
| + INSERT INTO floats VALUES (CAST (2 AS FLOAT));
|
| + INSERT INTO floats VALUES (1.0);
|
| + INSERT INTO floats VALUES (2.3);
|
| +
|
| + DROP TABLE IF EXISTS floats_new;
|
| + CREATE TABLE floats_new (value);
|
| + INSERT INTO floats_new SELECT value FROM floats;
|
| +
|
| + DROP TABLE IF EXISTS floats_recover;
|
| + CREATE VIRTUAL TABLE temp.floats_recover USING recover(
|
| + floats,
|
| + value FLOAT
|
| + );
|
| + }
|
| + execsql {SELECT rowid, value, TYPEOF(value) FROM floats_new}
|
| + execsql {SELECT rowid, value, TYPEOF(value) FROM floats_recover}
|
| +} {1 0.0 real 2 1.0 real 3 2.0 real 4 1.0 real 5 2.3 real}
|
| +
|
| finish_test
|
|
|