CoolFace
Modelpublic

AryaWu/sqlite

sourceHugging Faceupdated 9mo agoView on Hugging Face
0likes
dbfuzz001.test398 linesDownload Raw Back to test
1# 2012-12-132#3# The author disclaims copyright to this source code.  In place of4# 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#12# Test cases for corrupt database files.13 14set testdir [file dirname $argv0]15source $testdir/tester.tcl16 17ifcapable !deserialize {18  finish_test19  return20}21database_may_be_corrupt22 23# In the following database file, there is 384 bytes of free space24# on page 8 that does not appear on the freeblock list.25#26do_test dbfuzz001-100 {27  sqlite3 db {}28  db deserialize [decode_hexdb {29    | size 5632 pagesize 512 filename c4.db30    | page 1 offset 031    |      0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00   SQLite format 3.32    |     16: 02 00 01 01 00 40 20 20 00 00 00 02 00 00 00 0b   .....@  ........33    |     32: 00 00 00 06 00 00 00 01 00 00 00 28 00 00 00 04   ...........(....34    |     48: 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00   ................35    |     80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02   ................36    |     96: 00 2e 30 38 0d 00 00 00 06 01 06 00 01 da 01 b0   ..08............37    |    112: 01 56 01 86 01 2a 01 06 00 00 00 00 00 00 00 00   .V...*..........38    |    256: 00 00 00 00 00 00 22 07 06 17 11 11 01 31 74 61   ......"......1ta39    |    272: 62 6c 65 74 34 74 34 07 43 52 45 41 54 45 20 54   blet4t4.CREATE T40    |    288: 41 42 4c 45 20 74 34 28 78 29 2a 06 06 17 13 11   ABLE t4(x)*.....41    |    304: 01 3f 69 6e 64 65 78 00 00 00 00 00 00 00 00 00   .?index.........42    |    336: 20 74 33 28 78 29 2e 04 06 17 15 11 01 45 69 6e    t3(x).......Ein43    |    352: 64 65 78 74 32 63 64 74 32 05 43 52 45 41 54 45   dext2cdt2.CREATE44    |    368: 20 49 4e 44 45 58 20 74 32 63 64 20 4f 4e 20 74    INDEX t2cd ON t45    |    384: 32 28 63 2c 64 29 28 05 06 17 11 11 01 3d 74 61   2(c,d)(......=ta46    |    400: 62 6c 65 74 33 74 33 04 43 52 45 41 54 45 20 54   blet3t3.CREATE T47    |    416: 41 42 4c 45 20 74 33 28 63 2c 78 2c 65 2c 66 29   ABLE t3(c,x,e,f)48    |    432: 28 02 06 17 11 11 01 3d 74 61 62 6c 65 74 32 74   (......=tablet2t49    |    448: 32 03 43 52 45 41 54 45 20 54 41 42 4c 45 20 74   2.CREATE TABLE t50    |    464: 32 28 63 2c 64 2c 65 2c 66 29 24 01 06 17 11 11   2(c,d,e,f)$.....51    |    480: 01 35 74 61 62 6c 65 74 31 74 31 02 43 52 45 41   .5tablet1t1.CREA52    |    496: 54 45 20 54 41 42 4c 45 20 74 31 28 61 2c 62 29   TE TABLE t1(a,b)53    | page 2 offset 51254    |      0: 0d 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00   ................55    | page 3 offset 102456    |      0: 0d 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00   ................57    | page 4 offset 153658    |      0: 05 00 00 00 03 01 f1 00 00 00 00 0b 01 fb 01 f6   ................59    |     16: 01 f1 00 16 00 00 09 06 05 01 01 01 01 04 04 03   ................60    |     32: 03 07 05 05 01 01 09 09 02 02 19 04 05 17 17 17   ................61    |     48: 17 73 65 76 65 6e 65 69 67 68 74 65 69 67 68 74   .seveneighteight62    |     64: 73 65 76 65 6e 25 03 05 07 07 07 07 40 14 00 00   seven%......@...63    |     80: 00 00 00 00 40 18 00 00 00 00 00 00 40 18 00 00   ....@.......@...64    |     96: 00 00 00 00 40 14 00 00 00 00 00 00 09 02 05 01   ....@...........65    |    112: 01 01 01 03 04 04 03 07 01 05 09 01 01 09 02 02   ................66    |    352: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1a   ................67    |    496: 00 00 00 00 0a 3e 00 00 00 09 21 00 00 00 08 06   .....>....!.....68    | page 5 offset 204869    |      0: 0a 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00   ................70    | page 7 offset 307271    |      0: 0d 00 00 00 08 01 c2 00 01 fb 01 f6 01 f1 01 ec   ................72    |     16: 01 e0 01 d4 01 cb 01 c2 00 00 00 00 00 00 00 00   ................73    |     96: 00 00 00 00 13 00 00 00 00 00 00 00 00 00 00 00   ................74    |    224: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02   ................75    |    288: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03   ................76    |    448: 00 00 07 08 02 17 65 69 67 68 74 07 07 02 17 65   ......eight....e77    |    464: 69 67 68 74 0a 06 02 07 40 18 00 00 00 00 00 00   ight....@.......78    |    480: 0a 05 02 07 40 18 00 00 00 00 00 00 03 04 02 01   ....@...........79    |    496: 04 03 03 02 01 04 03 02 02 01 02 03 01 02 01 02   ................80    | page 8 offset 358481    |      0: 0d 00 21 00 01 00 16 00 00 16 00 16 00 16 00 16   ..!.............82    |     16: 00 16 00 16 00 00 09 06 05 01 01 01 01 04 04 03   ................83    |     32: 03 00 00 00 5f 01 09 09 02 02 00 00 00 56 17 17   ...._........V..84    |     48: 17 73 65 76 65 6e 65 69 67 68 74 65 69 67 68 74   .seveneighteight85    |     64: 73 65 76 65 6e 00 00 00 3b 07 07 07 40 14 00 00   seven...;...@...86    |     80: 00 00 00 00 40 18 00 00 00 00 00 00 40 18 00 00   ....@.......@...87    |     96: 00 00 00 00 40 14 00 00 00 00 00 00 00 00 00 14   ....@...........88    |    112: 01 01 01 03 04 04 03 00 00 00 09 01 01 09 02 02   ................89    |    352: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1a   ................90    | page 9 offset 409691    |      0: 0d 00 00 00 1b 00 47 00 01 d9 01 be 01 af 01 a0   ......G.........92    |     16: 01 91 01 82 01 73 01 64 01 55 01 46 01 37 01 28   .....s.d.U.F.7.(93    |     32: 01 19 01 0a 00 fb 00 ec 00 dd 00 ce 00 bf 00 b0   ................94    |     48: 00 a1 00 92 00 83 00 74 00 65 00 56 00 47 00 00   .......t.e.V.G..95    |     64: 00 00 00 00 00 00 00 0d 21 00 00 48 01 54 00 01   ........!..H.T..96    |     80: f7 01 ec 01 c5 01 0d 20 00 00 48 01 54 00 01 f7   ....... ..H.T...97    |     96: 01 ec 01 c5 01 0d 1f 00 00 48 01 54 00 01 f7 01   .........H.T....98    |    112: ec 01 c5 01 0d 1e 00 00 48 01 54 00 01 f7 01 ec   ........H.T.....99    |    128: 01 c5 01 0d 1d 00 00 48 01 54 00 01 f7 01 ec 01   .......H.T......100    |    144: c5 01 0d 1c 00 00 48 01 54 00 01 f7 01 ec 01 c5   ......H.T.......101    |    160: 01 0d 1b 00 00 48 01 54 00 01 f7 01 ec 01 c5 01   .....H.T........102    |    176: 0d 1a 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d   ....H.T.........103    |    192: 19 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d 18   ...H.T..........104    |    208: 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d 17 00   ..H.T...........105    |    224: 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d 16 00 00   .H.T............106    |    240: 48 01 54 00 01 f7 01 ec 01 c5 01 0d 15 00 00 48   H.T............H107    |    256: 01 54 00 01 f7 01 ec 01 c5 01 0d 14 00 00 48 01   .T............H.108    |    272: 54 00 01 f7 01 ec 01 c5 01 0d 13 00 00 48 01 54   T............H.T109    |    288: 00 01 f7 01 ec 01 c5 01 0d 12 00 00 48 01 54 00   ............H.T.110    |    304: 01 f7 01 ec 01 c5 01 0d 11 00 00 48 01 54 00 01   ...........H.T..111    |    320: f7 01 ec 01 c5 01 0d 10 00 00 48 01 54 00 01 f7   ..........H.T...112    |    336: 01 ec 01 c5 01 0d 0f 00 00 48 01 54 00 01 f7 01   .........H.T....113    |    352: ec 01 c5 01 0d 0e 00 00 48 01 54 00 01 f7 01 ec   ........H.T.....114    |    368: 01 c5 01 0d 0d 00 00 48 01 54 00 01 f7 01 ec 01   .......H.T......115    |    384: c5 01 0d 0c 00 00 48 01 54 00 01 f7 01 ec 01 c5   ......H.T.......116    |    400: 01 0d 0b 00 00 48 01 54 00 01 f7 01 ec 01 c5 01   .....H.T........117    |    416: 0d 0a 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d   ....H.T.........118    |    432: 09 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 19 08   ...H.T..........119    |    448: 05 17 17 17 17 65 69 67 68 74 65 69 67 68 74 73   .....eighteights120    |    464: 65 76 65 6e 73 65 76 65 6e 25 07 05 07 07 07 07   evenseven%......121    |    480: 40 18 00 00 00 00 00 00 40 18 00 00 00 00 00 00   @.......@.......122    |    496: 40 14 00 00 00 00 00 00 40 14 00 00 00 00 00 00   @.......@.......123    | page 10 offset 4608124    |      0: 0d 00 00 00 1d 00 4d 00 01 f1 01 e2 01 d3 01 c4   ......M.........125    |     16: 01 b5 01 a6 01 97 01 88 01 79 01 6a 01 5b 01 4c   .........y.j.[.L126    |     32: 01 3d 01 2e 01 1f 01 10 01 01 00 f2 00 e3 00 d4   .=..............127    |     48: 00 c5 00 b6 00 a7 00 98 00 89 00 7a 00 6b 00 5c   ...........z.k.\128    |     64: 00 4d 00 00 00 00 00 00 00 00 00 00 00 0d 3e 00   .M............>.129    |     80: 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d 3d 00 00   .H.T.........=..130    |     96: 48 01 54 00 01 f7 01 ec 01 c5 01 0d 3c 00 00 48   H.T.........<..H131    |    112: 01 54 00 01 f7 01 ec 01 c5 01 0d 3b 00 00 48 01   .T.........;..H.132    |    128: 54 00 01 f7 01 ec 01 c5 01 0d 3a 00 00 48 01 54   T.........:..H.T133    |    144: 00 01 f7 01 ec 01 c5 01 0d 39 00 00 48 01 54 00   .........9..H.T.134    |    160: 01 f7 01 ec 01 c5 01 0d 38 00 00 48 01 54 00 01   ........8..H.T..135    |    176: f7 01 ec 01 c5 01 0d 37 00 00 48 01 54 00 01 f7   .......7..H.T...136    |    192: 01 ec 01 c5 01 0d 36 00 00 48 01 54 00 01 f7 01   ......6..H.T....137    |    208: ec 01 c5 01 0d 35 00 00 48 01 54 00 01 f7 01 ec   .....5..H.T.....138    |    224: 01 c5 01 0d 34 00 00 48 01 54 00 01 f7 01 ec 01   ....4..H.T......139    |    240: c5 01 0d 33 00 00 48 01 54 00 01 f7 01 ec 01 c5   ...3..H.T.......140    |    256: 01 0d 32 00 00 48 01 54 00 01 f7 01 ec 01 c5 01   ..2..H.T........141    |    272: 0d 31 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d   .1..H.T.........142    |    288: 30 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d 2f   0..H.T........./143    |    304: 00 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d 2e 00   ..H.T...........144    |    320: 00 48 01 54 00 01 f7 01 ec 01 c5 01 0d 2d 00 00   .H.T.........-..145    |    336: 48 01 54 00 01 f7 01 ec 01 c5 01 0d 2c 00 00 48   H.T.........,..H146    |    352: 01 54 00 01 f7 01 ec 01 c5 01 0d 2b 00 00 48 01   .T.........+..H.147    |    368: 54 00 01 f7 01 ec 01 c5 01 0d 2a 00 00 48 01 54   T.........*..H.T148    |    384: 00 01 f7 01 ec 01 c5 01 0d 29 00 00 48 01 54 00   .........)..H.T.149    |    400: 01 f7 01 ec 01 c5 01 0d 28 00 00 48 01 54 00 01   ........(..H.T..150    |    416: f7 01 ec 01 c5 01 0d 27 00 00 48 01 54 00 01 f7   .......'..H.T...151    |    432: 01 ec 01 c5 01 0d 26 00 00 48 01 54 00 01 f7 01   ......&..H.T....152    |    448: ec 01 c5 01 0d 25 00 00 48 01 54 00 01 f7 01 ec   .....%..H.T.....153    |    464: 01 c5 01 0d 24 00 00 48 01 54 00 01 f7 01 ec 01   ....$..H.T......154    |    480: c5 01 0d 23 00 00 48 01 54 00 01 f7 01 ec 01 c5   ...#..H.T.......155    |    496: 01 0d 22 00 00 48 01 54 00 01 f7 01 ec 01 c5 01   .."..H.T........156    | page 11 offset 5120157    |      0: 0d 00 00 00 0a 01 6a 00 01 f1 01 e2 01 d3 01 c4   ......j.........158    |     16: 01 b5 01 a6 01 97 01 88 01 79 01 6a 00 00 00 00   .........y.j....159    |    352: 00 00 00 00 00 00 00 00 00 00 0d 48 00 00 48 01   ...........H..H.160    |    368: 54 00 01 f7 01 ec 01 c5 01 0d 47 00 00 48 01 54   T.........G..H.T161    |    384: 00 01 f7 01 ec 01 c5 01 0d 46 00 00 48 01 54 00   .........F..H.T.162    |    400: 01 f7 01 ec 01 c5 01 0d 45 00 00 48 01 54 00 01   ........E..H.T..163    |    416: f7 01 ec 01 c5 01 0d 44 00 00 48 01 54 00 01 f7   .......D..H.T...164    |    432: 01 ec 01 c5 01 0d 43 00 00 48 01 54 00 01 f7 01   ......C..H.T....165    |    448: ec 01 c5 01 0d 42 00 00 48 01 54 00 01 f7 01 ec   .....B..H.T.....166    |    464: 01 c5 01 0d 41 00 00 48 01 54 00 01 f7 01 ec 01   ....A..H.T......167    |    480: c5 01 0d 40 00 00 48 01 54 00 01 f7 01 ec 01 c5   ...@..H.T.......168    |    496: 01 0d 3f 00 00 48 01 54 00 01 f7 01 ec 01 c5 01   ..?..H.T........169    | end c4.db170  }]171} {}172 173ifcapable !oversize_cell_check {174  # Non SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds:175  do_test dbfuzz001-101a {176    db eval {PRAGMA writable_schema=on; PRAGMA integrity_check}177  } {/Fragmentation of 384 bytes reported as 0 on page 8/}178} else {179  # SQLITE_ENABLE_OVERSIZE_CELL_CHECK builds:180  do_catchsql_test dbfuzz001-101b {181    PRAGMA writable_schema=on; 182    PRAGMA integrity_check;183  } {1 {database disk image is malformed}}184}185 186# The DELETE query below deletes the very last cell from page 8.187# Prior to a certain fix to sqlite3BtreeDelete() and because of the188# corruption to the freeblock list on page 8, this would fail to189# cause a rebalance operation, which would leave the btree in a weird190# state that would lead to segfaults and or assertion faults.191#192do_execsql_test dbfuzz001-110 {193  DELETE FROM t3 WHERE x IS NOT NULL AND +rowid=6;194} {}195 196# This is a dbfuzz2-generate test case that can cause a page with197# pPage->nCell==0 to enter the balancer.198#199do_test dbfuzz001-200 {200  db deserialize [decode_hexdb {201    | size 3076 pagesize 512 filename c03.db202    | page 1 offset 0203    |      0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00   SQLite format 3.204    |     16: 02 00 01 01 00 40 20 20 00 00 00 0c 00 00 00 07   .....@  ........205    |     32: 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 04   ................206    |     48: 00 00 00 00 00 00 00 03 e8 00 00 01 00 00 00 00   ................207    |     80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c   ................208    |     96: 00 2e 2c 50 0d 00 00 00 06 01 06 00 01 da 01 b0   ..,P............209    |    112: 01 56 01 86 01 2a 01 06 00 00 00 00 00 00 00 00   .V...*..........210    |    128: 00 00 00 00 00 00 00 00 ef 00 00 00 00 00 00 00   ................211    |    192: 00 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................212    |    224: 00 00 00 00 00 00 00 00 00 00 00 00 00 ff e9 00   ................213    |    256: 00 00 00 00 00 00 22 07 06 17 11 11 01 31 74 61   ......"......1ta214    |    272: 62 6c 65 74 34 74 34 07 43 52 45 41 54 45 20 54   blet4t4.CREATE T215    |    288: 41 42 4c 45 20 74 34 28 78 29 2a 06 06 17 13 11   ABLE t4(x)*.....216    |    304: 01 3f 69 6e 64 65 78 74 33 78 74 33 06 43 52 45   .?indext3xt3.CRE217    |    320: 41 54 45 20 49 4e 44 45 58 20 74 33 64 20 4f 4e   ATE INDEX t3d ON218    |    336: 20 74 33 28 78 29 2e 04 06 17 15 11 01 45 69 6e    t3(x).......Ein219    |    352: 64 65 78 74 32 63 64 74 32 05 43 52 45 41 54 45   dext2cdt2.CREATE220    |    368: 20 49 4e 44 45 58 20 74 32 63 64 20 4f 4e 20 74    INDEX t2cd ON t221    |    384: 32 28 63 2c 64 29 28 05 06 17 11 11 01 3d 74 61   2(c,d)(......=ta222    |    400: 62 6c 65 74 33 74 33 04 43 52 45 41 54 45 20 54   blet3t3.CREATE T223    |    416: 41 42 4c 45 20 74 33 28 63 2c 78 2c 65 2c 66 29   ABLE t3(c,x,e,f)224    |    432: 28 02 06 17 11 11 01 3d 74 61 62 6c 65 74 32 74   (......=tablet2t225    |    448: 32 03 43 52 45 41 54 45 20 54 41 42 4c 45 20 74   2.CREATE TABLE t226    |    464: 32 28 63 2c 64 2c 65 2c 66 29 24 01 06 17 11 11   2(c,d,e,f)$.....227    |    480: 01 35 74 61 62 6c 65 74 31 74 31 02 43 52 45 41   .5tablet1t1.CREA228    |    496: 54 45 20 54 41 42 4c 45 20 74 31 28 61 2c 62 29   TE TABLE t1(a,b)229    | page 2 offset 512230    |      0: 0d 00 00 00 04 01 cf 00 01 fa 01 f3 01 de 01 cf   ................231    |    176: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................232    |    256: 00 00 14 00 00 00 00 00 00 00 00 00 00 00 00 00   ................233    |    368: 00 00 00 00 00 00 00 00 00 00 00 00 1e 00 00 00   ................234    |    416: 00 00 00 1b 00 00 00 00 04 00 00 00 00 00 00 00   ................235    |    448: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0d   ................236    |    464: 04 03 17 17 73 65 76 65 6e 65 69 67 68 74 13 03   ....seveneight..237    |    480: 03 07 07 40 14 00 00 00 00 00 00 40 18 00 00 00   ...@.......@....238    |    496: 00 00 00 05 02 03 01 01 03 04 04 01 03 09 01 02   ................239    | page 3 offset 1024240    |      0: 0d 00 00 00 08 01 54 00 01 f7 01 ec 01 c5 01 aa   ......T.........241    |     16: 01 a1 01 96 01 6f 01 54 00 00 00 00 00 00 00 00   .....o.T........242    |     32: 00 00 00 00 00 00 00 03 e8 00 00 00 00 00 00 00   ................243    |    336: 00 00 00 00 19 08 05 16 17 17 17 65 69 67 68 74   ...........eight244    |    352: 65 69 67 68 74 73 65 76 65 6e 73 65 76 ff ff ff   eightsevensev...245    |    368: 0e 05 07 07 07 07 40 18 00 00 00 00 00 00 40 18   ......@.......@.246    |    384: 00 00 00 00 00 00 40 14 00 00 00 00 00 00 40 14   ......@.......@.247    |    400: 00 00 00 00 00 00 09 06 05 01 01 01 01 04 04 03   ................248    |    416: 03 07 05 05 01 01 09 09 02 02 19 04 05 17 17 17   ................249    |    432: 17 73 65 6f 65 6e 65 69 67 68 74 65 69 67 68 74   .seoeneighteight250    |    448: 73 65 76 65 6e 25 03 05 07 07 07 07 40 14 00 00   seven%......@...251    |    464: 00 00 00 00 40 18 00 00 00 00 00 00 40 18 00 00   ....@.......@...252    |    480: 00 00 00 00 40 14 00 00 00 00 00 00 09 02 05 01   ....@...........253    |    496: 01 01 01 03 04 04 03 07 01 05 09 01 01 09 02 02   ................254    | page 4 offset 1536255    |      0: 0d 00 00 00 00 00 10 00 00 00 00 00 00 00 00 00   ................256    |    160: 00 00 00 ea 00 00 00 00 00 00 00 00 00 00 00 00   ................257    |    336: 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00   ............ ...258    | page 5 offset 2048259    |      0: 0a 00 00 00 08 01 96 00 01 fa 01 c4 01 f2 01 bc   ................260    |     16: 01 dc 01 a6 01 96 01 cc 00 00 00 00 00 00 00 00   ................261    |     48: 00 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00   ................262    |    288: 00 00 00 00 00 00 00 00 00 64 00 00 00 2b 00 00   .........d...+..263    |    400: 00 00 00 00 00 00 0f 04 17 17 01 65 69 67 68 74   ...........eight264    |    416: 65 69 6f 68 74 08 15 04 07 07 01 40 18 00 00 00   eioht......@....265    |    432: 00 00 00 40 18 00 00 00 00 00 00 07 07 04 01 01   ...@............266    |    448: 01 04 04 06 07 04 01 01 01 02 02 05 0f 04 17 17   ................267    |    464: 01 73 65 76 65 6e 65 69 67 68 74 04 15 04 07 07   .seveneight.....268    |    480: 01 40 14 00 00 00 00 00 00 40 18 00 00 00 00 00   .@.......@......269    |    496: 00 03 07 04 01 01 01 03 04 02 05 04 09 01 09 02   ................270    | page 6 offset 2560271    |      0: 0a 00 00 00 00 02 00 00 00 00 00 00 00 0d 00 00   ................272    |     16: 00 08 01 c2 00 01 fb 01 f6 01 f1 01 ec 01 e0 01   ................273    |     32: d4 01 cb 01 c2 00 00 00 00 00 00 00 00 00 00 00   ................274    |    160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 00   ................275    |    448: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 07   ................276    |    464: 08 02 17 65 69 67 68 74 07 07 02 17 65 69 67 68   ...eight....eigh277    |    480: 74 0a 06 02 07 40 18 00 00 00 00 00 00 0a 05 02   t....@..........278    |    496: 07 40 18 00 04 02 01 04 03 03 02 01 04 03 02 02   .@..............279    | end x/c03.db280  }]281  catchsql {INSERT INTO t3 SELECT * FROM t2;}282} {1 {database disk image is malformed}}283 284 285do_test dbfuzz001-310 {286  sqlite3 db {}287  db deserialize [decode_hexdb {288| size 3584 pagesize 512 filename x/c02.db289| page 1 offset 0290|      0: 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20 33 00   SQLite format 3.291|     16: 02 00 01 01 00 40 20 20 00 00 00 0c 00 00 00 07   .....@  ........292|     32: 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 04   ................293|     48: 00 00 00 00 00 00 00 04 00 00 00 01 00 00 00 00   ................294|     80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0c   ................295|     96: 00 2e 2c 50 0d 00 00 00 06 01 06 00 01 da 01 b0   ..,P............296|    112: 01 56 01 86 01 2a 01 06 00 00 00 00 00 00 00 00   .V...*..........297|    256: 00 00 00 00 00 00 22 07 06 17 11 11 01 31 74 61   ......"......1ta298|    272: 62 6c 65 74 34 74 34 07 43 52 45 41 54 45 20 54   blet4t4.CREATE T299|    288: 41 42 4c 45 20 74 34 28 78 29 2a 06 06 17 13 11   ABLE t4(x)*.....300|    304: 01 3f 69 6e 64 65 78 74 33 78 74 33 05 43 52 45   .?indext3xt3.CRE301|    320: 41 54 45 20 49 4e 44 45 58 20 74 33 78 20 4f 4e   ATE INDEX t3x ON302|    336: 20 74 33 28 78 29 2e 04 06 17 15 11 01 45 69 6e    t3(x).......Ein303|    352: 64 65 78 74 32 63 64 74 32 05 43 52 45 41 54 45   dext2cdt2.CREATE304|    368: 20 49 4e 44 45 58 20 74 32 63 64 20 4f 4e 20 74    INDEX t2cd ON t305|    384: 32 28 63 2c 64 29 28 05 06 17 11 11 01 3d 74 61   2(c,d)(......=ta306|    400: 62 6c 65 74 33 74 33 07 43 52 45 41 54 45 20 54   blet3t3.CREATE T307|    416: 41 42 4c 45 20 74 33 28 63 2c 78 2c 65 2c 66 29   ABLE t3(c,x,e,f)308|    432: 28 02 06 17 11 11 01 3d 74 61 62 6c 65 74 32 74   (......=tablet2t309|    448: 32 32 43 52 45 41 54 45 20 54 41 42 4c 45 20 74   22CREATE TABLE t310|    464: 32 28 63 2c 64 2c 65 2c 66 29 24 01 06 17 11 11   2(c,d,e,f)$.....311|    480: 01 35 74 61 62 6c 65 74 31 74 31 02 43 52 45 41   .5tablet1t1.CREA312|    496: 54 45 20 54 41 42 4c 45 20 74 31 28 61 2c 62 29   TE TABLE t1(a,b)313| page 2 offset 512314|      0: 0d 00 00 00 04 01 cf 00 01 fa 01 f3 01 de 01 cf   ................315|    160: 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00   .. .............316|    448: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0d   ................317|    464: 04 03 17 17 73 65 76 65 6e 65 69 67 68 74 13 03   ....seveneight..318|    480: 03 07 07 40 14 00 00 00 00 00 00 40 18 00 00 00   ...@.......@....319|    496: 00 00 00 05 02 03 01 01 03 04 04 01 03 09 01 02   ................320| page 3 offset 1024321|      0: 0d 00 00 00 08 01 54 00 01 f7 01 ec 01 c5 01 aa   ......T.........322|     16: 01 a1 01 96 01 6f 01 54 00 00 00 00 00 00 00 00   .....o.T........323|    112: 00 00 dd 00 00 00 00 00 00 00 00 00 00 00 00 00   ................324|    336: 00 00 00 00 19 08 05 17 17 17 17 65 69 67 68 74   ...........eight325|    352: 65 69 67 68 74 73 65 76 65 6e 73 65 76 65 6e 25   eightsevenseven%326|    368: 07 05 07 07 07 07 40 18 00 00 00 00 00 00 40 18   ......@.......@.327|    384: 00 00 00 00 00 00 40 14 00 00 00 00 00 00 40 14   ......@.......@.328|    400: 00 00 00 00 00 00 09 06 05 01 01 01 01 04 04 03   ................329|    416: 03 07 05 05 01 01 09 09 02 02 19 04 05 17 17 17   ................330|    432: 17 73 65 76 65 6e 65 69 67 68 74 65 69 67 68 74   .seveneighteight331|    448: 73 65 76 65 6e 25 03 05 07 07 07 07 40 14 00 00   seven%......@...332|    464: 00 00 00 00 40 18 00 00 00 00 00 00 40 18 00 00   ....@.......@...333|    480: 00 00 00 00 40 14 00 00 00 00 00 00 09 02 05 01   ....@...........334|    496: 01 01 01 03 04 04 03 07 01 05 09 01 01 09 02 02   ................335| page 4 offset 1536336|      0: 0d 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00   ................337|    192: 00 00 00 00 00 00 7f 00 00 00 00 00 00 00 00 00   ................338|    208: 00 e5 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................339| page 5 offset 2048340|      0: 0a 00 00 00 08 01 96 00 01 fa 01 c4 01 f2 01 bc   ................341|     16: 01 dc 01 a6 01 96 01 cc 00 00 00 00 00 00 00 00   ................342|    240: 00 00 00 00 00 00 00 00 00 00 00 00 00 0e 00 00   ................343|    400: 00 00 00 00 00 00 0f 04 17 07 01 65 69 67 68 74   ...........eight344|    416: 65 69 67 68 74 08 15 04 07 07 01 40 18 00 00 00   eight......@....345|    432: 00 00 00 40 18 00 00 00 00 00 00 07 07 04 01 01   ...@............346|    448: 01 04 04 06 07 04 01 01 01 02 02 05 0f 04 17 17   ................347|    464: 01 73 65 76 65 6e 65 69 67 68 74 04 15 04 07 07   .seveneight.....348|    480: 01 40 14 00 00 00 00 00 00 40 18 00 00 00 00 00   .@.......@......349|    496: 00 03 07 04 01 01 01 03 04 02 05 04 09 01 09 02   ................350| page 6 offset 2560351|      0: 0a 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00   ................352|    464: 00 00 00 00 00 00 00 00 00 00 7f 00 00 00 00 00   ................353| page 7 offset 3072354|      0: 0d 00 00 00 08 01 c2 00 01 fb 01 f6 01 f1 01 ec   ................355|     16: 01 e0 01 d4 01 cb 01 c2 00 00 00 00 00 00 00 00   ................356|    448: 00 00 07 08 02 17 65 69 67 68 74 07 07 02 17 65   ......eight....e357|    464: 69 67 68 74 0a 06 02 07 40 18 00 00 00 00 00 00   ight....@.......358|    480: 0a 05 02 07 40 18 00 00 00 00 00 00 03 04 02 01   ....@...........359|    496: 04 03 03 02 01 04 03 02 02 01 02 03 01 02 01 02   ................360| end x/c02.db361  }]362} {}363 364extra_schema_checks 0365do_catchsql_test dbfuzz001-320 {366  PRAGMA integrity_check;367} {1 {database disk image is malformed}}368 369do_catchsql_test dbfuzz001-330 {370  DELETE FROM t3 WHERE x IN (SELECT x FROM t4);371} {1 {database disk image is malformed}}372extra_schema_checks 1373 374#-------------------------------------------------------------------------375reset_db376 377do_execsql_test dbfuzz001-430 {378  CREATE TABLE t1(a INTEGER, b INT, c DEFAULT 0);379}380 381do_execsql_test dbfuzz001-420 {382  PRAGMA locking_mode=EXCLUSIVE;383  PRAGMA journal_mode = memory;384  INSERT INTO t1 VALUES(1,2,3);385  PRAGMA journal_mode=PERSIST;386} {exclusive memory persist}387 388do_execsql_test dbfuzz001-430 {389  INSERT INTO t1 VALUES(4, 5, 6);390}391 392do_execsql_test dbfuzz001-440 {393  PRAGMA journal_mode=MEMORY;394  INSERT INTO t1 VALUES(7, 8, 9);395} {memory}396 397finish_test398