| OLD | NEW |
| (Empty) | |
| 1 -- SQLite -init file for driving some tests. |
| 2 |
| 3 DROP TABLE IF EXISTS overflow_test; |
| 4 CREATE TABLE overflow_test (value TEXT); |
| 5 INSERT INTO overflow_test VALUES ( |
| 6 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam sagittis gravida o
dio vitae ultrices. Nulla facilisi. Maecenas pulvinar, tellus ut bibendum semper
, nibh tellus auctor nulla, in dignissim nisi ipsum id arcu. Nullam tincidunt ar
cu malesuada turpis faucibus in adipiscing enim mattis. Fusce augue magna, scele
risque sollicitudin egestas in, cursus eu sapien. Pellentesque tempor risus at l
ectus convallis a convallis orci ornare. Integer tristique aliquam leo vel inter
dum. |
| 7 |
| 8 Phasellus quis dictum nisi. Curabitur at enim non felis pharetra imperdiet. Duis
tempus massa eu leo varius porta. Vestibulum sodales nulla at purus tincidunt u
ltrices. Nam euismod posuere nibh, nec sodales magna luctus ac. Ut commodo hendr
erit mauris vitae gravida. In interdum justo ut sem eleifend convallis. Donec cu
rsus molestie elementum. Suspendisse at nisl tellus, vel consequat mauris. Nulla
m non justo nibh. |
| 9 |
| 10 Maecenas varius sollicitudin libero, nec feugiat turpis facilisis eget. Quisque
et sem risus. Aenean a magna quis purus hendrerit mattis eu vel lorem. Aenean fr
ingilla diam eget tortor lacinia sed mollis eros feugiat. Quisque ac purus sapie
n. Nullam quis tellus vel magna convallis tincidunt. Donec eget ligula at libero
tincidunt congue ut ut lacus. Integer dignissim aliquet congue. Pellentesque se
d risus vitae lorem porta viverra ac eu risus. Vivamus congue suscipit odio pulv
inar aliquet. Aliquam porttitor nunc non sapien auctor et vehicula augue molesti
e. |
| 11 |
| 12 Aliquam et dui ac sem tempus dictum. Fusce arcu nulla, viverra sit amet suscipit
quis, malesuada at felis. Fusce ut diam felis. Fusce id ligula non eros ferment
um sodales in nec quam. Donec tempor bibendum arcu ac adipiscing. Praesent nisl
lectus, tempor ut vehicula eget, mattis a justo. Mauris condimentum luctus eros
a varius. Morbi mollis elit eget velit convallis eu sodales odio egestas. Cum so
ciis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
Vivamus interdum, metus sit amet varius varius, lectus eros semper risus, sed sa
gittis ipsum libero in sapien. Nam lacinia nulla vitae magna facilisis scelerisq
ue. Lorem ipsum dolor sit amet, consectetur adipiscing elit. |
| 13 |
| 14 Donec gravida dignissim eleifend. Aliquam vel tincidunt tortor. Curabitur massa
ante, blandit a auctor at, ullamcorper sed nisl. Class aptent taciti sociosqu ad
litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse ut feli
s a eros egestas ultricies et quis mi. Vivamus ut risus massa. Donec nec ornare
erat. Aliquam ornare, lorem a rhoncus aliquam, tellus diam tincidunt tellus, a m
attis nunc ante ac arcu. Curabitur nec metus id risus commodo ullamcorper eu ut
tortor." |
| 15 ); |
| 16 SELECT "overflow_test:"; |
| 17 SELECT rowid, length(value), TYPEOF(value) FROM overflow_test; |
| 18 |
| 19 SELECT "overflow_test_recover:"; |
| 20 CREATE VIRTUAL TABLE temp.overflow_test_recover USING recover( |
| 21 overflow_test, |
| 22 value TEXT |
| 23 ); |
| 24 SELECT rowid, length(value), TYPEOF(value) FROM overflow_test_recover; |
| 25 |
| 26 .exit |
| 27 |
| 28 -- FLOAT test. |
| 29 |
| 30 DROP TABLE IF EXISTS float_test; |
| 31 CREATE TABLE float_test (value FLOAT); |
| 32 INSERT INTO float_test VALUES (0); |
| 33 INSERT INTO float_test VALUES (1); |
| 34 INSERT INTO float_test VALUES (2); |
| 35 INSERT INTO float_test VALUES (1.0); |
| 36 INSERT INTO float_test VALUES (2.3); |
| 37 SELECT "float_test rows:"; |
| 38 SELECT rowid, value, TYPEOF(value) FROM float_test; |
| 39 |
| 40 SELECT "float_test_recover rows:"; |
| 41 CREATE VIRTUAL TABLE temp.float_test_recover USING recover( |
| 42 float_test, |
| 43 value FLOAT |
| 44 ); |
| 45 SELECT rowid, value, TYPEOF(value) FROM float_test_recover; |
| 46 |
| 47 .schema |
| 48 |
| 49 .exit |
| 50 |
| 51 -- Basic type test. |
| 52 DROP TABLE IF EXISTS baseline; |
| 53 CREATE TABLE baseline (rowtype TEXT, value); |
| 54 INSERT INTO baseline VALUES ("NULL", NULL); |
| 55 INSERT INTO baseline VALUES ("INTEGER", 1); |
| 56 INSERT INTO baseline VALUES ("TEXT", "text"); |
| 57 INSERT INTO baseline VALUES ("BLOB", CAST ("blob" AS BLOB)); |
| 58 INSERT INTO baseline VALUES ("FLOAT", 10.01); |
| 59 SELECT "baseline rows:"; |
| 60 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline; |
| 61 |
| 62 SELECT "null rows:"; |
| 63 DROP TABLE IF EXISTS temp.baseline_recover; |
| 64 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 65 baseline, |
| 66 rowtype TEXT, |
| 67 value NULL |
| 68 ); |
| 69 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 70 |
| 71 SELECT "integer rows:"; |
| 72 DROP TABLE IF EXISTS temp.baseline_recover; |
| 73 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 74 baseline, |
| 75 rowtype TEXT, |
| 76 value INTEGER |
| 77 ); |
| 78 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 79 |
| 80 SELECT "text rows:"; |
| 81 DROP TABLE IF EXISTS temp.baseline_recover; |
| 82 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 83 baseline, |
| 84 rowtype TEXT, |
| 85 value TEXT |
| 86 ); |
| 87 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 88 |
| 89 SELECT "blob rows:"; |
| 90 DROP TABLE IF EXISTS temp.baseline_recover; |
| 91 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 92 baseline, |
| 93 rowtype TEXT, |
| 94 value BLOB |
| 95 ); |
| 96 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 97 |
| 98 SELECT "float rows:"; |
| 99 DROP TABLE IF EXISTS temp.baseline_recover; |
| 100 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 101 baseline, |
| 102 rowtype TEXT, |
| 103 value FLOAT |
| 104 ); |
| 105 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 106 |
| 107 SELECT "all rows:"; |
| 108 DROP TABLE IF EXISTS temp.baseline_recover; |
| 109 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 110 baseline, |
| 111 rowtype TEXT, |
| 112 value ANY |
| 113 ); |
| 114 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 115 |
| 116 SELECT "all rows:"; |
| 117 DROP TABLE IF EXISTS temp.baseline_recover; |
| 118 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 119 baseline, |
| 120 rowtype TEXT, |
| 121 value |
| 122 ); |
| 123 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 124 |
| 125 SELECT "text not null rows:"; |
| 126 DROP TABLE IF EXISTS temp.baseline_recover; |
| 127 CREATE VIRTUAL TABLE temp.baseline_recover USING recover( |
| 128 baseline, |
| 129 rowtype TEXT, |
| 130 value TEXT NOT NULL |
| 131 ); |
| 132 SELECT rowid, rowtype, value, TYPEOF(value) FROM baseline_recover; |
| 133 |
| 134 .exit |
| 135 |
| 136 -- All of 'leaf' fits in a single leaf node. |
| 137 DROP TABLE IF EXISTS temp.leaf_recover; |
| 138 CREATE VIRTUAL TABLE temp.leaf_recover USING recover( |
| 139 leaf, |
| 140 file TEXT, |
| 141 lineno INT, |
| 142 line TEXT |
| 143 ); |
| 144 SELECT "leaf_recover"; |
| 145 SELECT rowid, * from leaf_recover; |
| 146 SELECT "leaf_recover lineno"; |
| 147 SELECT lineno from leaf_recover; |
| 148 |
| 149 -- The tree for 'interior' has root as an interior node. |
| 150 DROP TABLE IF EXISTS temp.interior_recover; |
| 151 CREATE VIRTUAL TABLE temp.interior_recover USING recover( |
| 152 interior, |
| 153 file TEXT, |
| 154 lineno INT, |
| 155 line TEXT |
| 156 ); |
| 157 .schema interior_recover |
| 158 SELECT "interior count: ", COUNT(*) FROM interior; |
| 159 SELECT "interior_recover count: ", COUNT(*) FROM interior_recover; |
| 160 |
| 161 -- The tree for 'interior2' has multiple levels of interior nodes. |
| 162 DROP TABLE IF EXISTS temp.interior2_recover; |
| 163 CREATE VIRTUAL TABLE temp.interior2_recover USING recover( |
| 164 interior2, |
| 165 file TEXT, |
| 166 lineno INT, |
| 167 line TEXT |
| 168 ); |
| 169 .schema interior2_recover |
| 170 SELECT "interior2 count: ", COUNT(*) FROM interior2; |
| 171 SELECT "interior2_recover count: ", COUNT(*) FROM interior2_recover; |
| 172 |
| 173 SELECT "interior2_check"; |
| 174 DROP TABLE IF EXISTS temp.interior2_check; |
| 175 CREATE TABLE temp.interior2_check (r INT); |
| 176 INSERT INTO interior2_check (r) SELECT rowid FROM interior2; |
| 177 SELECT r, COUNT(*) AS c FROM interior2_check GROUP BY r HAVING c > 1; |
| 178 SELECT "interior2_recover_check"; |
| 179 DROP TABLE IF EXISTS temp.interior2_recover_check; |
| 180 CREATE TABLE temp.interior2_recover_check (r INT); |
| 181 INSERT INTO interior2_recover_check (r) SELECT rowid FROM interior2_recover; |
| 182 SELECT r, COUNT(*) AS c FROM interior2_recover_check GROUP BY r HAVING c > 1; |
| 183 |
| 184 .exit |
| OLD | NEW |