Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: third_party/sqlite/src/test/recover0.test

Issue 694353003: Get `gn gen` to succeed on Windows (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: remove GYP_DEFINES code Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/sqlite/src/test/recover.test ('k') | third_party/sqlite/src/test/recover1.test » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 # 2012 January 4 {}
2 #
3 # The author disclaims copyright to this source code. In place of
4 # a legal notice, here is a blessing:
5 #
6 # May you do good and not evil.
7 # May you find forgiveness for yourself and forgive others.
8 # May you share freely, never taking more than you give.
9 #
10 #***********************************************************************
11 # This file implements regression tests for SQLite library.
12 #
13 # Test recover module syntax.
14 #
15 # $Id$
16
17 # TODO(shess): Test with attached databases.
18
19 # TODO(shess): Handle column mismatches? As things stand, the code
20 # only needs to pull the root page, so that may not be completely
21 # feasible.
22
23 set testdir [file dirname $argv0]
24 source $testdir/tester.tcl
25
26 db eval {
27 DROP TABLE IF EXISTS backing;
28 CREATE TABLE backing (t TEXT);
29
30 DROP TABLE IF EXISTS backing2;
31 CREATE TABLE backing2 (id INTEGER PRIMARY KEY, t TEXT);
32 }
33
34 # Baseline create works.
35 do_test recover-syntax-0.0 {
36 db eval {DROP TABLE IF EXISTS temp.syntax}
37 catchsql {
38 CREATE VIRTUAL TABLE temp.syntax USING recover(
39 backing,
40 t TEXT
41 );
42 }
43 } {0 {}}
44
45 # Can specify database.
46 do_test recover-syntax-0.1 {
47 db eval {DROP TABLE IF EXISTS temp.syntax}
48 catchsql {
49 CREATE VIRTUAL TABLE temp.syntax USING recover(
50 main.backing,
51 t TEXT
52 );
53 }
54 } {0 {}}
55
56 # Can specify sqlite_master.
57 do_test recover-syntax-0.2 {
58 db eval {DROP TABLE IF EXISTS temp.syntax}
59 catchsql {
60 CREATE VIRTUAL TABLE temp.syntax USING recover(
61 sqlite_master,
62 type TEXT,
63 name TEXT,
64 tbl_name TEXT,
65 rootpage INTEGER,
66 sql TEXT
67 );
68 }
69 } {0 {}}
70
71 # Fails if virtual table is not in the temp database.
72 do_test recover-syntax-1.0 {
73 db eval {DROP TABLE IF EXISTS temp.syntax;}
74 catchsql {
75 CREATE VIRTUAL TABLE syntax USING recover(
76 backing,
77 t TEXT
78 );
79 }
80 } {1 {recover table must be in temp database}}
81
82 # Fails if mentions missing table.
83 do_test recover-syntax-2.0 {
84 db eval {DROP TABLE IF EXISTS temp.syntax;}
85 catchsql {
86 CREATE VIRTUAL TABLE temp.syntax USING recover(
87 snacking,
88 t TEXT
89 );
90 }
91 } {1 {unable to find backing table}}
92
93 # Fails if mentions missing database.
94 do_test recover-syntax-2.1 {
95 db eval {DROP TABLE IF EXISTS temp.syntax;}
96 catchsql {
97 CREATE VIRTUAL TABLE temp.syntax USING recover(
98 db.backing,
99 t TEXT
100 );
101 }
102 } {1 {unable to find backing table}}
103
104 # Fails if mentions garbage backing.
105 do_test recover-syntax-2.2 {
106 db eval {DROP TABLE IF EXISTS temp.syntax;}
107 catchsql {
108 CREATE VIRTUAL TABLE temp.syntax USING recover(
109 main.backing excess,
110 t TEXT
111 );
112 }
113 } {1 {unable to find backing table}}
114
115 # Database only fails.
116 do_test recover-syntax-2.3 {
117 db eval {DROP TABLE IF EXISTS temp.syntax;}
118 catchsql {
119 CREATE VIRTUAL TABLE temp.syntax USING recover(
120 main.,
121 t TEXT
122 );
123 }
124 } {1 {ill-formed table specifier}}
125
126 # Table only fails.
127 do_test recover-syntax-2.4 {
128 db eval {DROP TABLE IF EXISTS temp.syntax;}
129 catchsql {
130 CREATE VIRTUAL TABLE temp.syntax USING recover(
131 .backing,
132 t TEXT
133 );
134 }
135 } {1 {ill-formed table specifier}}
136
137 # Manifest typing.
138 do_test recover-syntax-3.0 {
139 db eval {DROP TABLE IF EXISTS temp.syntax}
140 execsql {
141 CREATE VIRTUAL TABLE temp.syntax USING recover(
142 backing,
143 t
144 );
145 PRAGMA table_info(syntax);
146 }
147 } {0 t {} 0 {} 0}
148
149 # ANY as an alternative for manifest typing.
150 do_test recover-syntax-3.1 {
151 db eval {DROP TABLE IF EXISTS temp.syntax}
152 execsql {
153 CREATE VIRTUAL TABLE temp.syntax USING recover(
154 backing,
155 t ANY
156 );
157 PRAGMA table_info(syntax);
158 }
159 } {0 t {} 0 {} 0}
160
161 # ANY NOT NULL
162 do_test recover-syntax-3.2 {
163 db eval {DROP TABLE IF EXISTS temp.syntax}
164 execsql {
165 CREATE VIRTUAL TABLE temp.syntax USING recover(
166 backing,
167 t ANY NOT NULL
168 );
169 PRAGMA table_info(syntax);
170 }
171 } {0 t {} 1 {} 0}
172
173 # ANY STRICT is not sensible.
174 do_test recover-syntax-3.3 {
175 db eval {DROP TABLE IF EXISTS temp.syntax}
176 catchsql {
177 CREATE VIRTUAL TABLE temp.syntax USING recover(
178 backing,
179 v ANY STRICT
180 );
181 PRAGMA table_info(syntax);
182 }
183 } {1 {unable to parse column 0}}
184
185 # TEXT column by type works.
186 do_test recover-syntax-4.0 {
187 db eval {DROP TABLE IF EXISTS temp.syntax}
188 execsql {
189 CREATE VIRTUAL TABLE temp.syntax USING recover(
190 backing,
191 t TEXT
192 );
193 PRAGMA table_info(syntax);
194 }
195 } {0 t TEXT 0 {} 0}
196
197 # TEXT NOT NULL
198 do_test recover-syntax-4.1 {
199 db eval {DROP TABLE IF EXISTS temp.syntax}
200 execsql {
201 CREATE VIRTUAL TABLE temp.syntax USING recover(
202 backing,
203 t TEXT NOT NULL
204 );
205 PRAGMA table_info(syntax);
206 }
207 } {0 t TEXT 1 {} 0}
208
209 # TEXT STRICT
210 do_test recover-syntax-4.2 {
211 db eval {DROP TABLE IF EXISTS temp.syntax}
212 execsql {
213 CREATE VIRTUAL TABLE temp.syntax USING recover(
214 backing,
215 t TEXT STRICT
216 );
217 PRAGMA table_info(syntax);
218 }
219 } {0 t TEXT 0 {} 0}
220
221 # TEXT STRICT NOT NULL
222 do_test recover-syntax-4.3 {
223 db eval {DROP TABLE IF EXISTS temp.syntax}
224 execsql {
225 CREATE VIRTUAL TABLE temp.syntax USING recover(
226 backing,
227 t TEXT STRICT NOT NULL
228 );
229 PRAGMA table_info(syntax);
230 }
231 } {0 t TEXT 1 {} 0}
232
233 # INTEGER
234 do_test recover-syntax-5.0 {
235 db eval {DROP TABLE IF EXISTS temp.syntax}
236 execsql {
237 CREATE VIRTUAL TABLE temp.syntax USING recover(
238 backing,
239 i INTEGER
240 );
241 PRAGMA table_info(syntax);
242 }
243 } {0 i INTEGER 0 {} 0}
244
245 # INTEGER NOT NULL
246 do_test recover-syntax-5.1 {
247 db eval {DROP TABLE IF EXISTS temp.syntax}
248 execsql {
249 CREATE VIRTUAL TABLE temp.syntax USING recover(
250 backing,
251 i INTEGER NOT NULL
252 );
253 PRAGMA table_info(syntax);
254 }
255 } {0 i INTEGER 1 {} 0}
256
257 # INTEGER STRICT
258 do_test recover-syntax-5.2 {
259 db eval {DROP TABLE IF EXISTS temp.syntax}
260 execsql {
261 CREATE VIRTUAL TABLE temp.syntax USING recover(
262 backing,
263 i INTEGER STRICT
264 );
265 PRAGMA table_info(syntax);
266 }
267 } {0 i INTEGER 0 {} 0}
268
269 # INTEGER STRICT NOT NULL
270 do_test recover-syntax-5.3 {
271 db eval {DROP TABLE IF EXISTS temp.syntax}
272 execsql {
273 CREATE VIRTUAL TABLE temp.syntax USING recover(
274 backing,
275 i INTEGER STRICT NOT NULL
276 );
277 PRAGMA table_info(syntax);
278 }
279 } {0 i INTEGER 1 {} 0}
280
281 # BLOB
282 do_test recover-syntax-6.0 {
283 db eval {DROP TABLE IF EXISTS temp.syntax}
284 execsql {
285 CREATE VIRTUAL TABLE temp.syntax USING recover(
286 backing,
287 b BLOB
288 );
289 PRAGMA table_info(syntax);
290 }
291 } {0 b BLOB 0 {} 0}
292
293 # BLOB NOT NULL
294 do_test recover-syntax-6.1 {
295 db eval {DROP TABLE IF EXISTS temp.syntax}
296 execsql {
297 CREATE VIRTUAL TABLE temp.syntax USING recover(
298 backing,
299 b BLOB NOT NULL
300 );
301 PRAGMA table_info(syntax);
302 }
303 } {0 b BLOB 1 {} 0}
304
305 # BLOB STRICT
306 do_test recover-syntax-6.2 {
307 db eval {DROP TABLE IF EXISTS temp.syntax}
308 execsql {
309 CREATE VIRTUAL TABLE temp.syntax USING recover(
310 backing,
311 b BLOB STRICT
312 );
313 PRAGMA table_info(syntax);
314 }
315 } {0 b BLOB 0 {} 0}
316
317 # BLOB STRICT NOT NULL
318 do_test recover-syntax-6.3 {
319 db eval {DROP TABLE IF EXISTS temp.syntax}
320 execsql {
321 CREATE VIRTUAL TABLE temp.syntax USING recover(
322 backing,
323 b BLOB STRICT NOT NULL
324 );
325 PRAGMA table_info(syntax);
326 }
327 } {0 b BLOB 1 {} 0}
328
329 # FLOAT
330 do_test recover-syntax-7.0 {
331 db eval {DROP TABLE IF EXISTS temp.syntax}
332 execsql {
333 CREATE VIRTUAL TABLE temp.syntax USING recover(
334 backing,
335 f FLOAT
336 );
337 PRAGMA table_info(syntax);
338 }
339 } {0 f FLOAT 0 {} 0}
340
341 # FLOAT NOT NULL
342 do_test recover-syntax-7.1 {
343 db eval {DROP TABLE IF EXISTS temp.syntax}
344 execsql {
345 CREATE VIRTUAL TABLE temp.syntax USING recover(
346 backing,
347 f FLOAT NOT NULL
348 );
349 PRAGMA table_info(syntax);
350 }
351 } {0 f FLOAT 1 {} 0}
352
353 # FLOAT STRICT
354 do_test recover-syntax-7.2 {
355 db eval {DROP TABLE IF EXISTS temp.syntax}
356 execsql {
357 CREATE VIRTUAL TABLE temp.syntax USING recover(
358 backing,
359 f FLOAT STRICT
360 );
361 PRAGMA table_info(syntax);
362 }
363 } {0 f FLOAT 0 {} 0}
364
365 # FLOAT STRICT NOT NULL
366 do_test recover-syntax-7.3 {
367 db eval {DROP TABLE IF EXISTS temp.syntax}
368 execsql {
369 CREATE VIRTUAL TABLE temp.syntax USING recover(
370 backing,
371 f FLOAT STRICT NOT NULL
372 );
373 PRAGMA table_info(syntax);
374 }
375 } {0 f FLOAT 1 {} 0}
376
377 # NUMERIC
378 do_test recover-syntax-8.0 {
379 db eval {DROP TABLE IF EXISTS temp.syntax}
380 execsql {
381 CREATE VIRTUAL TABLE temp.syntax USING recover(
382 backing,
383 f NUMERIC
384 );
385 PRAGMA table_info(syntax);
386 }
387 } {0 f NUMERIC 0 {} 0}
388
389 # NUMERIC NOT NULL
390 do_test recover-syntax-8.1 {
391 db eval {DROP TABLE IF EXISTS temp.syntax}
392 execsql {
393 CREATE VIRTUAL TABLE temp.syntax USING recover(
394 backing,
395 f NUMERIC NOT NULL
396 );
397 PRAGMA table_info(syntax);
398 }
399 } {0 f NUMERIC 1 {} 0}
400
401 # NUMERIC STRICT
402 do_test recover-syntax-8.2 {
403 db eval {DROP TABLE IF EXISTS temp.syntax}
404 execsql {
405 CREATE VIRTUAL TABLE temp.syntax USING recover(
406 backing,
407 f NUMERIC STRICT
408 );
409 PRAGMA table_info(syntax);
410 }
411 } {0 f NUMERIC 0 {} 0}
412
413 # NUMERIC STRICT NOT NULL
414 do_test recover-syntax-8.3 {
415 db eval {DROP TABLE IF EXISTS temp.syntax}
416 execsql {
417 CREATE VIRTUAL TABLE temp.syntax USING recover(
418 backing,
419 f NUMERIC STRICT NOT NULL
420 );
421 PRAGMA table_info(syntax);
422 }
423 } {0 f NUMERIC 1 {} 0}
424
425 # ROWID
426 do_test recover-syntax-9.0 {
427 db eval {DROP TABLE IF EXISTS temp.syntax}
428 execsql {
429 CREATE VIRTUAL TABLE temp.syntax USING recover(
430 backing2,
431 id ROWID,
432 v
433 );
434 PRAGMA table_info(syntax);
435 }
436 } {0 id INTEGER 1 {} 0 1 v {} 0 {} 0}
437
438 # ROWID NOT NULL (is default)
439 do_test recover-syntax-9.1 {
440 db eval {DROP TABLE IF EXISTS temp.syntax}
441 execsql {
442 CREATE VIRTUAL TABLE temp.syntax USING recover(
443 backing2,
444 id ROWID NOT NULL,
445 v
446 );
447 PRAGMA table_info(syntax);
448 }
449 } {0 id INTEGER 1 {} 0 1 v {} 0 {} 0}
450
451 # ROWID STRICT
452 do_test recover-syntax-9.0 {
453 db eval {DROP TABLE IF EXISTS temp.syntax}
454 execsql {
455 CREATE VIRTUAL TABLE temp.syntax USING recover(
456 backing2,
457 id ROWID STRICT,
458 v
459 );
460 PRAGMA table_info(syntax);
461 }
462 } {0 id INTEGER 1 {} 0 1 v {} 0 {} 0}
463
464 # ROWID STRICT NOT NULL (is default)
465 do_test recover-syntax-9.1 {
466 db eval {DROP TABLE IF EXISTS temp.syntax}
467 execsql {
468 CREATE VIRTUAL TABLE temp.syntax USING recover(
469 backing2,
470 id ROWID STRICT NOT NULL,
471 v
472 );
473 PRAGMA table_info(syntax);
474 }
475 } {0 id INTEGER 1 {} 0 1 v {} 0 {} 0}
476
477 # Invalid type info is not ignored.
478 do_test recover-syntax-10.0 {
479 db eval {DROP TABLE IF EXISTS temp.syntax}
480 catchsql {
481 CREATE VIRTUAL TABLE temp.syntax USING recover(
482 backing,
483 v GARBAGE
484 );
485 }
486 } {1 {unable to parse column 0}}
487
488 # Extraneous type info is not ignored.
489 do_test recover-syntax-10.1 {
490 db eval {DROP TABLE IF EXISTS temp.syntax}
491 catchsql {
492 CREATE VIRTUAL TABLE temp.syntax USING recover(
493 backing,
494 v INTEGER GARBAGE
495 );
496 }
497 } {1 {unable to parse column 0}}
498
499 # Extraneous type info is not ignored.
500 do_test recover-syntax-10.2 {
501 db eval {DROP TABLE IF EXISTS temp.syntax}
502 catchsql {
503 CREATE VIRTUAL TABLE temp.syntax USING recover(
504 backing,
505 v INTEGER NOT NULL GARBAGE
506 );
507 }
508 } {1 {unable to parse column 0}}
509
510 # Multiple types don't work.
511 do_test recover-syntax-10.3 {
512 db eval {DROP TABLE IF EXISTS temp.syntax}
513 catchsql {
514 CREATE VIRTUAL TABLE temp.syntax USING recover(
515 backing,
516 v INTEGER FLOAT BLOB
517 );
518 }
519 } {1 {unable to parse column 0}}
520
521 # Multiple types don't work.
522 do_test recover-syntax-10.4 {
523 db eval {DROP TABLE IF EXISTS temp.syntax}
524 catchsql {
525 CREATE VIRTUAL TABLE temp.syntax USING recover(
526 backing,
527 v INTEGER NOT NULL TEXT
528 );
529 }
530 } {1 {unable to parse column 0}}
531
532 finish_test
OLDNEW
« no previous file with comments | « third_party/sqlite/src/test/recover.test ('k') | third_party/sqlite/src/test/recover1.test » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698