/ Hex Artifact Content
Login

Artifact e3c7b0ce9b04cc02281dcc96812a277f02df03cd7dc082055d87e11eb18aaf56:


0000: 23 20 32 30 31 32 2d 31 32 2d 32 31 0a 23 0a 23  # 2012-12-21.#.#
0010: 20 54 68 65 20 61 75 74 68 6f 72 20 64 69 73 63   The author disc
0020: 6c 61 69 6d 73 20 63 6f 70 79 72 69 67 68 74 20  laims copyright 
0030: 74 6f 20 74 68 69 73 20 73 6f 75 72 63 65 20 63  to this source c
0040: 6f 64 65 2e 20 20 49 6e 20 70 6c 61 63 65 20 6f  ode.  In place o
0050: 66 0a 23 20 61 20 6c 65 67 61 6c 20 6e 6f 74 69  f.# a legal noti
0060: 63 65 2c 20 68 65 72 65 20 69 73 20 61 20 62 6c  ce, here is a bl
0070: 65 73 73 69 6e 67 3a 0a 23 0a 23 20 20 20 20 4d  essing:.#.#    M
0080: 61 79 20 79 6f 75 20 64 6f 20 67 6f 6f 64 20 61  ay you do good a
0090: 6e 64 20 6e 6f 74 20 65 76 69 6c 2e 0a 23 20 20  nd not evil..#  
00a0: 20 20 4d 61 79 20 79 6f 75 20 66 69 6e 64 20 66    May you find f
00b0: 6f 72 67 69 76 65 6e 65 73 73 20 66 6f 72 20 79  orgiveness for y
00c0: 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f 72 67  ourself and forg
00d0: 69 76 65 20 6f 74 68 65 72 73 2e 0a 23 20 20 20  ive others..#   
00e0: 20 4d 61 79 20 79 6f 75 20 73 68 61 72 65 20 66   May you share f
00f0: 72 65 65 6c 79 2c 20 6e 65 76 65 72 20 74 61 6b  reely, never tak
0100: 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f  ing more than yo
0110: 75 20 67 69 76 65 2e 0a 23 0a 23 2a 2a 2a 2a 2a  u give..#.#*****
0120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 0a 23 0a 23 20 54 65 73 74 20 63 61 73 65  **.#.# Test case
0170: 73 20 66 6f 72 20 63 6f 72 72 75 70 74 20 64 61  s for corrupt da
0180: 74 61 62 61 73 65 20 66 69 6c 65 73 2e 0a 0a 73  tabase files...s
0190: 65 74 20 74 65 73 74 64 69 72 20 5b 66 69 6c 65  et testdir [file
01a0: 20 64 69 72 6e 61 6d 65 20 24 61 72 67 76 30 5d   dirname $argv0]
01b0: 0a 73 6f 75 72 63 65 20 24 74 65 73 74 64 69 72  .source $testdir
01c0: 2f 74 65 73 74 65 72 2e 74 63 6c 0a 0a 69 66 63  /tester.tcl..ifc
01d0: 61 70 61 62 6c 65 20 21 64 65 73 65 72 69 61 6c  apable !deserial
01e0: 69 7a 65 7c 7c 21 66 74 73 33 20 7b 0a 20 20 66  ize||!fts3 {.  f
01f0: 69 6e 69 73 68 5f 74 65 73 74 0a 20 20 72 65 74  inish_test.  ret
0200: 75 72 6e 0a 7d 0a 64 61 74 61 62 61 73 65 5f 6d  urn.}.database_m
0210: 61 79 5f 62 65 5f 63 6f 72 72 75 70 74 0a 0a 64  ay_be_corrupt..d
0220: 6f 5f 74 65 73 74 20 66 74 73 33 66 75 7a 7a 30  o_test fts3fuzz0
0230: 30 31 2d 31 30 30 20 7b 0a 20 20 73 71 6c 69 74  01-100 {.  sqlit
0240: 65 33 20 64 62 20 7b 7d 0a 20 20 64 62 20 64 65  e3 db {}.  db de
0250: 73 65 72 69 61 6c 69 7a 65 20 5b 64 65 63 6f 64  serialize [decod
0260: 65 5f 68 65 78 64 62 20 7b 0a 7c 20 73 69 7a 65  e_hexdb {.| size
0270: 20 32 34 35 37 36 20 70 61 67 65 73 69 7a 65 20   24576 pagesize 
0280: 34 30 39 36 20 66 69 6c 65 6e 61 6d 65 20 63 36  4096 filename c6
0290: 2e 64 62 0a 7c 20 70 61 67 65 20 31 20 6f 66 66  .db.| page 1 off
02a0: 73 65 74 20 30 0a 7c 20 20 20 20 20 20 30 3a 20  set 0.|      0: 
02b0: 35 33 20 35 31 20 34 63 20 36 39 20 37 34 20 36  53 51 4c 69 74 6
02c0: 35 20 32 30 20 36 36 20 36 66 20 37 32 20 36 64  5 20 66 6f 72 6d
02d0: 20 36 31 20 37 34 20 32 30 20 33 33 20 30 30 20   61 74 20 33 00 
02e0: 20 20 53 51 4c 69 74 65 20 66 6f 72 6d 61 74 20    SQLite format 
02f0: 33 2e 0a 7c 20 20 20 20 20 31 36 3a 20 31 30 20  3..|     16: 10 
0300: 30 30 20 30 31 20 30 31 20 30 30 20 34 30 20 32  00 01 01 00 40 2
0310: 30 20 32 30 20 30 30 20 30 30 20 30 30 20 30 30  0 20 00 00 00 00
0320: 20 30 30 20 30 30 20 30 30 20 30 36 20 20 20 2e   00 00 00 06   .
0330: 2e 2e 2e 2e 40 20 20 2e 2e 2e 2e 2e 2e 2e 2e 0a  ....@  .........
0340: 7c 20 20 20 20 20 33 32 3a 20 30 30 20 30 30 20  |     32: 00 00 
0350: 30 30 20 30 30 20 30 30 20 30 30 20 30 30 20 30  00 00 00 00 00 0
0360: 30 20 30 30 20 30 30 20 30 30 20 30 35 20 30 30  0 00 00 00 05 00
0370: 20 30 30 20 30 30 20 30 34 20 20 20 2e 2e 2e 2e   00 00 04   ....
0380: 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 0a 7c 20 20  .............|  
0390: 20 20 20 34 38 3a 20 30 30 20 30 30 20 30 30 20     48: 00 00 00 
03a0: 30 30 20 30 30 20 30 30 20 30 30 20 30 30 20 30  00 00 00 00 00 0
03b0: 30 20 30 30 20 30 30 20 30 31 20 30 30 20 30 30  0 00 00 01 00 00
03c0: 20 30 30 20 30 30 20 20 20 2e 2e 2e 2e 2e 2e 2e   00 00   .......
03d0: 2e 2e 2e 2e 2e 2e 2e 2e 2e 0a 7c 20 20 20 20 20  ..........|     
03e0: 39 36 3a 20 30 30 20 30 30 20 30 30 20 30 30 20  96: 00 00 00 00 
03f0: 30 64 20 30 65 20 66 39 20 30 30 20 30 36 20 30  0d 0e f9 00 06 0
0400: 64 20 65 63 20 30 30 20 30 66 20 63 64 20 30 66  d ec 00 0f cd 0f
0410: 20 36 39 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e   69   ..........
0420: 2e 2e 2e 2e 2e 69 0a 7c 20 20 20 20 31 31 32 3a  .....i.|    112:
0430: 20 30 66 20 30 31 20 30 65 20 31 30 20 30 65 20   0f 01 0e 10 0e 
0440: 63 36 20 30 64 20 65 63 20 30 30 20 30 30 20 30  c6 0d ec 00 00 0
0450: 30 20 30 30 20 30 30 20 30 30 20 30 30 20 30 30  0 00 00 00 00 00
0460: 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e     .............
0470: 2e 2e 2e 0a 7c 20 20 20 33 35 35 32 3a 20 30 30  ....|   3552: 00
0480: 20 30 30 20 30 30 20 30 30 20 30 30 20 30 30 20   00 00 00 00 00 
0490: 30 30 20 30 30 20 30 30 20 30 30 20 30 30 20 30  00 00 00 00 00 0
04a0: 30 20 32 32 20 30 36 20 30 36 20 31 37 20 20 20  0 22 06 06 17   
04b0: 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 22 2e 2e 2e  ............"...
04c0: 0a 7c 20 20 20 33 35 36 38 3a 20 31 31 20 31 31  .|   3568: 11 11
04d0: 20 30 31 20 33 31 20 37 34 20 36 31 20 36 32 20   01 31 74 61 62 
04e0: 36 63 20 36 35 20 37 34 20 33 32 20 37 34 20 33  6c 65 74 32 74 3
04f0: 32 20 30 36 20 34 33 20 35 32 20 20 20 2e 2e 2e  2 06 43 52   ...
0500: 31 74 61 62 6c 65 74 32 74 32 2e 43 52 0a 7c 20  1tablet2t2.CR.| 
0510: 20 20 33 35 38 34 3a 20 34 35 20 34 31 20 35 34    3584: 45 41 54
0520: 20 34 35 20 32 30 20 35 34 20 34 31 20 34 32 20   45 20 54 41 42 
0530: 34 63 20 34 35 20 32 30 20 37 34 20 33 32 20 32  4c 45 20 74 32 2
0540: 38 20 37 38 20 32 39 20 20 20 45 41 54 45 20 54  8 78 29   EATE T
0550: 41 42 4c 45 20 74 32 28 78 29 0a 7c 20 20 20 33  ABLE t2(x).|   3
0560: 36 30 30 3a 20 38 31 20 33 33 20 30 34 20 30 37  600: 81 33 04 07
0570: 20 31 37 20 31 66 20 31 66 20 30 31 20 38 32 20   17 1f 1f 01 82 
0580: 33 35 20 37 34 20 36 31 20 36 32 20 36 63 20 36  35 74 61 62 6c 6
0590: 35 20 37 34 20 20 20 2e 33 2e 2e 2e 2e 2e 2e 2e  5 74   .3.......
05a0: 35 74 61 62 6c 65 74 0a 7c 20 20 20 33 36 31 36  5tablet.|   3616
05b0: 3a 20 33 31 20 35 66 20 37 33 20 36 35 20 36 37  : 31 5f 73 65 67
05c0: 20 36 34 20 36 39 20 37 32 20 37 34 20 33 31 20   64 69 72 74 31 
05d0: 35 66 20 37 33 20 36 35 20 36 37 20 36 34 20 36  5f 73 65 67 64 6
05e0: 39 20 20 20 31 5f 73 65 67 64 69 72 74 31 5f 73  9   1_segdirt1_s
05f0: 65 67 64 69 0a 7c 20 20 20 33 36 33 32 3a 20 37  egdi.|   3632: 7
0600: 32 20 30 34 20 34 33 20 35 32 20 34 35 20 34 31  2 04 43 52 45 41
0610: 20 35 34 20 34 35 20 32 30 20 35 34 20 34 31 20   54 45 20 54 41 
0620: 34 32 20 34 63 20 34 35 20 32 30 20 32 37 20 20  42 4c 45 20 27  
0630: 20 72 2e 43 52 45 41 54 45 20 54 41 42 4c 45 20   r.CREATE TABLE 
0640: 27 0a 7c 20 20 20 33 36 34 38 3a 20 37 34 20 33  '.|   3648: 74 3
0650: 31 20 35 66 20 37 33 20 36 35 20 36 37 20 36 34  1 5f 73 65 67 64
0660: 20 36 39 20 37 32 20 32 37 20 32 38 20 36 63 20   69 72 27 28 6c 
0670: 36 35 20 37 36 20 36 35 20 36 63 20 20 20 74 31  65 76 65 6c   t1
0680: 5f 73 65 67 64 69 72 27 28 6c 65 76 65 6c 0a 7c  _segdir'(level.|
0690: 20 20 20 33 36 36 34 3a 20 32 30 20 34 39 20 34     3664: 20 49 4
06a0: 65 20 35 34 20 34 35 20 34 37 20 34 35 20 35 32  e 54 45 47 45 52
06b0: 20 32 63 20 36 39 20 36 34 20 37 38 20 32 30 20   2c 69 64 78 20 
06c0: 34 39 20 34 65 20 35 34 20 20 20 20 49 4e 54 45  49 4e 54    INTE
06d0: 47 45 52 2c 69 64 78 20 49 4e 54 0a 7c 20 20 20  GER,idx INT.|   
06e0: 33 36 38 30 3a 20 34 35 20 34 37 20 34 35 20 35  3680: 45 47 45 5
06f0: 32 20 32 63 20 37 33 20 37 34 20 36 31 20 37 32  2 2c 73 74 61 72
0700: 20 37 34 20 35 66 20 36 32 20 36 63 20 36 66 20   74 5f 62 6c 6f 
0710: 36 33 20 36 62 20 20 20 45 47 45 52 2c 73 74 61  63 6b   EGER,sta
0720: 72 74 5f 62 6c 6f 63 6b 0a 7c 20 20 20 33 36 39  rt_block.|   369
0730: 36 3a 20 32 30 20 34 39 20 34 65 20 35 34 20 34  6: 20 49 4e 54 4
0740: 35 20 34 37 20 34 35 20 35 32 20 32 63 20 36 63  5 47 45 52 2c 6c
0750: 20 36 35 20 36 31 20 37 36 20 36 35 20 37 33 20   65 61 76 65 73 
0760: 35 66 20 20 20 20 49 4e 54 45 47 45 52 2c 6c 65  5f    INTEGER,le
0770: 61 76 65 73 5f 0a 7c 20 20 20 33 37 31 32 3a 20  aves_.|   3712: 
0780: 36 35 20 36 65 20 36 34 20 35 66 20 36 32 20 36  65 6e 64 5f 62 6
0790: 63 20 36 66 20 36 33 20 36 62 20 32 30 20 34 39  c 6f 63 6b 20 49
07a0: 20 34 65 20 35 34 20 34 35 20 34 37 20 34 35 20   4e 54 45 47 45 
07b0: 20 20 65 6e 64 5f 62 6c 6f 63 6b 20 49 4e 54 45    end_block INTE
07c0: 47 45 0a 7c 20 20 20 33 37 32 38 3a 20 35 32 20  GE.|   3728: 52 
07d0: 32 63 20 36 35 20 36 65 20 36 34 20 35 66 20 36  2c 65 6e 64 5f 6
07e0: 32 20 36 63 20 36 66 20 36 33 20 36 62 20 32 30  2 6c 6f 63 6b 20
07f0: 20 34 39 20 34 65 20 35 34 20 34 35 20 20 20 52   49 4e 54 45   R
0800: 2c 65 6e 64 5f 62 6c 6f 63 6b 20 49 4e 54 45 0a  ,end_block INTE.
0810: 7c 20 20 20 33 37 34 34 3a 20 34 37 20 34 35 20  |   3744: 47 45 
0820: 35 32 20 32 63 20 37 32 20 36 66 20 36 66 20 37  52 2c 72 6f 6f 7
0830: 34 20 32 30 20 34 32 20 34 63 20 34 66 20 34 32  4 20 42 4c 4f 42
0840: 20 32 63 20 35 30 20 35 32 20 20 20 47 45 52 2c   2c 50 52   GER,
0850: 72 6f 6f 74 20 42 4c 4f 42 2c 50 52 0a 7c 20 20  root BLOB,PR.|  
0860: 20 33 37 36 30 3a 20 34 39 20 34 64 20 34 31 20   3760: 49 4d 41 
0870: 35 32 20 35 39 20 32 30 20 34 62 20 34 35 20 35  52 59 20 4b 45 5
0880: 39 20 32 38 20 36 63 20 36 35 20 37 36 20 36 35  9 28 6c 65 76 65
0890: 20 36 63 20 32 63 20 20 20 49 4d 41 52 59 20 4b   6c 2c   IMARY K
08a0: 45 59 28 6c 65 76 65 6c 2c 0a 7c 20 20 20 33 37  EY(level,.|   37
08b0: 37 36 3a 20 32 30 20 36 39 20 36 34 20 37 38 20  76: 20 69 64 78 
08c0: 32 39 20 32 39 20 33 31 20 30 35 20 30 36 20 31  29 29 31 05 06 1
08d0: 37 20 34 35 20 31 66 20 30 31 20 30 30 20 36 39  7 45 1f 01 00 69
08e0: 20 36 65 20 20 20 20 69 64 78 29 29 31 2e 2e 2e   6e    idx))1...
08f0: 45 2e 2e 2e 69 6e 0a 7c 20 20 20 33 37 39 32 3a  E...in.|   3792:
0900: 20 36 34 20 36 35 20 37 38 20 37 33 20 37 31 20   64 65 78 73 71 
0910: 36 63 20 36 39 20 37 34 20 36 35 20 35 66 20 36  6c 69 74 65 5f 6
0920: 31 20 37 35 20 37 34 20 36 66 20 36 39 20 36 65  1 75 74 6f 69 6e
0930: 20 20 20 64 65 78 73 71 6c 69 74 65 5f 61 75 74     dexsqlite_aut
0940: 6f 69 6e 0a 7c 20 20 20 33 38 30 38 3a 20 36 34  oin.|   3808: 64
0950: 20 36 35 20 37 38 20 35 66 20 37 34 20 31 35 20   65 78 5f 74 15 
0960: 66 37 20 33 36 20 35 36 20 37 36 20 34 36 20 39  f7 36 56 76 46 9
0970: 37 20 32 35 20 66 33 20 31 37 20 34 33 20 20 20  7 25 f3 17 43   
0980: 64 65 78 5f 74 2e 2e 36 56 76 46 2e 25 2e 2e 43  dex_t..6VvF.%..C
0990: 0a 7c 20 20 20 33 38 32 34 3a 20 31 35 20 35 66  .|   3824: 15 5f
09a0: 20 37 33 20 36 35 20 36 37 20 36 34 20 36 39 20   73 65 67 64 69 
09b0: 37 32 20 30 35 20 30 30 20 30 30 20 30 30 20 30  72 05 00 00 00 0
09c0: 38 20 30 30 20 30 30 20 30 30 20 20 20 2e 5f 73  8 00 00 00   ._s
09d0: 65 67 64 69 72 2e 2e 2e 2e 2e 2e 2e 2e 0a 7c 20  egdir.........| 
09e0: 20 20 33 38 34 30 3a 20 30 30 20 36 36 20 30 33    3840: 00 66 03
09f0: 20 30 37 20 31 37 20 32 33 20 32 33 20 30 31 20   07 17 23 23 01 
0a00: 38 31 20 31 33 20 37 34 20 36 31 20 36 32 20 36  81 13 74 61 62 6
0a10: 63 20 36 35 20 37 34 20 20 20 2e 66 2e 2e 2e 23  c 65 74   .f...#
0a20: 23 2e 2e 2e 74 61 62 6c 65 74 0a 7c 20 20 20 33  #...tablet.|   3
0a30: 38 35 36 3a 20 33 31 20 35 66 20 37 33 20 36 35  856: 31 5f 73 65
0a40: 20 36 37 20 36 64 20 36 35 20 36 65 20 37 34 20   67 6d 65 6e 74 
0a50: 37 33 20 37 34 20 33 31 20 35 66 20 37 33 20 36  73 74 31 5f 73 6
0a60: 35 20 36 37 20 20 20 31 5f 73 65 67 6d 65 6e 74  5 67   1_segment
0a70: 73 74 31 5f 73 65 67 0a 7c 20 20 20 33 38 37 32  st1_seg.|   3872
0a80: 3a 20 36 64 20 36 35 20 36 65 20 37 34 20 37 33  : 6d 65 6e 74 73
0a90: 20 30 33 20 34 33 20 35 32 20 34 35 20 34 31 20   03 43 52 45 41 
0aa0: 35 34 20 34 35 20 32 30 20 35 34 20 34 31 20 34  54 45 20 54 41 4
0ab0: 32 20 20 20 6d 65 6e 74 73 2e 43 52 45 41 54 45  2   ments.CREATE
0ac0: 20 54 41 42 0a 7c 20 20 20 33 38 38 38 3a 20 34   TAB.|   3888: 4
0ad0: 63 20 34 35 20 32 30 20 32 37 20 37 34 20 33 31  c 45 20 27 74 31
0ae0: 20 35 66 20 37 33 20 36 35 20 36 37 20 36 64 20   5f 73 65 67 6d 
0af0: 36 35 20 36 65 20 37 34 20 37 33 20 32 37 20 20  65 6e 74 73 27  
0b00: 20 4c 45 20 27 74 31 5f 73 65 67 6d 65 6e 74 73   LE 't1_segments
0b10: 27 0a 7c 20 20 20 33 39 30 34 3a 20 32 38 20 36  '.|   3904: 28 6
0b20: 32 20 36 63 20 36 66 20 36 33 20 36 62 20 36 39  2 6c 6f 63 6b 69
0b30: 20 36 34 20 32 30 20 34 39 20 34 65 20 35 34 20   64 20 49 4e 54 
0b40: 34 35 20 34 37 20 34 35 20 35 32 20 20 20 28 62  45 47 45 52   (b
0b50: 6c 6f 63 6b 69 64 20 49 4e 54 45 47 45 52 0a 7c  lockid INTEGER.|
0b60: 20 20 20 33 39 32 30 3a 20 32 30 20 35 30 20 35     3920: 20 50 5
0b70: 32 20 34 39 20 34 64 20 34 31 20 35 32 20 35 39  2 49 4d 41 52 59
0b80: 20 32 30 20 34 62 20 34 35 20 35 39 20 32 63 20   20 4b 45 59 2c 
0b90: 32 30 20 36 32 20 36 63 20 20 20 20 50 52 49 4d  20 62 6c    PRIM
0ba0: 41 52 59 20 4b 45 59 2c 20 62 6c 0a 7c 20 20 20  ARY KEY, bl.|   
0bb0: 33 39 33 36 3a 20 36 66 20 36 33 20 36 62 20 32  3936: 6f 63 6b 2
0bc0: 30 20 34 32 20 34 63 20 34 66 20 34 32 20 32 39  0 42 4c 4f 42 29
0bd0: 20 36 32 20 30 32 20 30 37 20 31 37 20 32 31 20   62 02 07 17 21 
0be0: 32 31 20 30 31 20 20 20 6f 63 6b 20 42 4c 4f 42  21 01   ock BLOB
0bf0: 29 62 2e 2e 2e 21 21 2e 0a 7c 20 20 20 33 39 35  )b...!!..|   395
0c00: 32 3a 20 38 31 20 30 66 20 37 34 20 36 31 20 36  2: 81 0f 74 61 6
0c10: 32 20 36 63 20 36 35 20 37 34 20 33 31 20 35 66  2 6c 65 74 31 5f
0c20: 20 36 33 20 36 66 20 36 65 20 37 34 20 36 35 20   63 6f 6e 74 65 
0c30: 36 65 20 20 20 2e 2e 74 61 62 6c 65 74 31 5f 63  6e   ..tablet1_c
0c40: 6f 6e 74 65 6e 0a 7c 20 20 20 33 39 36 38 3a 20  onten.|   3968: 
0c50: 37 34 20 37 34 20 33 31 20 35 66 20 36 33 20 36  74 74 31 5f 63 6
0c60: 66 20 36 65 20 37 34 20 36 35 20 36 65 20 37 34  f 6e 74 65 6e 74
0c70: 20 30 32 20 34 33 20 35 32 20 34 35 20 34 31 20   02 43 52 45 41 
0c80: 20 20 74 74 31 5f 63 6f 6e 74 65 6e 74 2e 43 52    tt1_content.CR
0c90: 45 41 0a 7c 20 20 20 33 39 38 34 3a 20 35 34 20  EA.|   3984: 54 
0ca0: 34 35 20 32 30 20 35 34 20 34 31 20 34 32 20 34  45 20 54 41 42 4
0cb0: 63 20 34 35 20 32 30 20 32 37 20 37 34 20 33 31  c 45 20 27 74 31
0cc0: 20 35 66 20 36 33 20 36 66 20 36 65 20 20 20 54   5f 63 6f 6e   T
0cd0: 45 20 54 41 42 4c 45 20 27 74 31 5f 63 6f 6e 0a  E TABLE 't1_con.
0ce0: 7c 20 20 20 34 30 30 30 3a 20 37 34 20 36 35 20  |   4000: 74 65 
0cf0: 36 65 20 37 34 20 32 37 20 32 38 20 36 34 20 36  6e 74 27 28 64 6
0d00: 66 20 36 33 20 36 39 20 36 34 20 32 30 20 34 39  f 63 69 64 20 49
0d10: 20 34 65 20 35 34 20 34 35 20 20 20 74 65 6e 74   4e 54 45   tent
0d20: 27 28 64 6f 63 69 64 20 49 4e 54 45 0a 7c 20 20  '(docid INTE.|  
0d30: 20 34 30 31 36 3a 20 34 37 20 34 35 20 35 32 20   4016: 47 45 52 
0d40: 32 30 20 35 30 20 35 32 20 34 39 20 34 64 20 34  20 50 52 49 4d 4
0d50: 31 20 35 32 20 35 39 20 32 30 20 34 62 20 34 35  1 52 59 20 4b 45
0d60: 20 35 39 20 32 63 20 20 20 47 45 52 20 50 52 49   59 2c   GER PRI
0d70: 4d 41 52 59 20 4b 45 59 2c 0a 7c 20 20 20 34 30  MARY KEY,.|   40
0d80: 33 32 3a 20 32 30 20 32 37 20 36 33 20 33 30 20  32: 20 27 63 30 
0d90: 36 33 20 36 66 20 36 65 20 37 34 20 36 35 20 36  63 6f 6e 74 65 6
0da0: 65 20 37 34 20 32 37 20 32 39 20 33 31 20 30 31  e 74 27 29 31 01
0db0: 20 30 36 20 20 20 20 27 63 30 63 6f 6e 74 65 6e   06    'c0conten
0dc0: 74 27 29 31 2e 2e 0a 7c 20 20 20 34 30 34 38 3a  t')1...|   4048:
0dd0: 20 31 37 20 31 31 20 31 31 20 30 38 20 35 31 20   17 11 11 08 51 
0de0: 37 34 20 36 31 20 36 32 20 36 63 20 36 35 20 37  74 61 62 6c 65 7
0df0: 34 20 33 31 20 37 34 20 33 31 20 34 33 20 35 32  4 31 74 31 43 52
0e00: 20 20 20 2e 2e 2e 2e 51 74 61 62 6c 65 74 31 74     ....Qtablet1t
0e10: 31 43 52 0a 7c 20 20 20 34 30 36 34 3a 20 34 35  1CR.|   4064: 45
0e20: 20 34 31 20 35 34 20 34 35 20 32 30 20 35 36 20   41 54 45 20 56 
0e30: 34 39 20 35 32 20 35 34 20 35 35 20 34 31 20 34  49 52 54 55 41 4
0e40: 63 20 32 30 20 35 34 20 34 31 20 34 32 20 20 20  c 20 54 41 42   
0e50: 45 41 54 45 20 56 49 52 54 55 41 4c 20 54 41 42  EATE VIRTUAL TAB
0e60: 0a 7c 20 20 20 34 30 38 30 3a 20 34 63 20 34 35  .|   4080: 4c 45
0e70: 20 32 30 20 37 34 20 33 31 20 32 30 20 35 35 20   20 74 31 20 55 
0e80: 35 33 20 34 39 20 34 65 20 34 37 20 32 30 20 36  53 49 4e 47 20 6
0e90: 36 20 37 34 20 37 33 20 33 33 20 20 20 4c 45 20  6 74 73 33   LE 
0ea0: 74 31 20 55 53 49 4e 47 20 66 74 73 33 0a 7c 20  t1 USING fts3.| 
0eb0: 70 61 67 65 20 32 20 6f 66 66 73 65 74 20 34 30  page 2 offset 40
0ec0: 39 36 0a 7c 20 20 20 20 20 20 30 3a 20 30 64 20  96.|      0: 0d 
0ed0: 30 30 20 30 30 20 30 30 20 30 33 20 30 66 20 65  00 00 00 03 0f e
0ee0: 30 20 30 30 20 30 66 20 66 36 20 30 66 20 65 63  0 00 0f f6 0f ec
0ef0: 20 30 66 20 65 30 20 30 30 20 30 30 20 20 20 2e   0f e0 00 00   .
0f00: 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 0a  ................
0f10: 7c 20 20 20 34 30 36 34 3a 20 30 61 20 30 33 20  |   4064: 0a 03 
0f20: 30 33 20 30 30 20 31 62 20 36 31 20 36 32 20 36  03 00 1b 61 62 6
0f30: 31 20 36 65 20 36 34 20 36 66 20 36 65 20 30 38  1 6e 64 6f 6e 08
0f40: 20 30 32 20 30 33 20 30 30 20 20 20 2e 2e 2e 2e   02 03 00   ....
0f50: 2e 61 62 61 6e 64 6f 6e 2e 2e 2e 2e 0a 7c 20 20  .abandon.....|  
0f60: 20 34 30 38 30 3a 20 31 37 20 36 31 20 36 32 20   4080: 17 61 62 
0f70: 36 31 20 36 36 20 37 34 20 30 38 20 30 31 20 30  61 66 74 08 01 0
0f80: 33 20 30 30 20 31 37 20 36 31 20 36 32 20 36 31  3 00 17 61 62 61
0f90: 20 36 33 20 36 62 20 20 20 2e 61 62 61 66 74 2e   63 6b   .abaft.
0fa0: 2e 2e 2e 2e 61 62 61 63 6b 0a 7c 20 70 61 67 65  ....aback.| page
0fb0: 20 33 20 6f 66 66 73 65 74 20 38 31 39 32 0a 7c   3 offset 8192.|
0fc0: 20 20 20 20 20 20 30 3a 20 30 64 20 30 30 20 30        0: 0d 00 0
0fd0: 30 20 30 30 20 30 30 20 31 30 20 30 30 20 30 30  0 00 00 10 00 00
0fe0: 20 30 30 20 30 30 20 30 30 20 30 30 20 30 30 20   00 00 00 00 00 
0ff0: 30 30 20 30 30 20 30 30 20 20 20 2e 2e 2e 2e 2e  00 00 00   .....
1000: 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 0a 7c 20 70 61  ............| pa
1010: 67 65 20 34 20 6f 66 66 73 65 74 20 31 32 32 38  ge 4 offset 1228
1020: 38 0a 7c 20 20 20 20 20 20 30 3a 20 30 64 20 30  8.|      0: 0d 0
1030: 30 20 30 30 20 30 30 20 30 31 20 30 66 20 64 36  0 00 00 01 0f d6
1040: 20 30 30 20 30 66 20 30 30 20 30 30 20 30 30 20   00 0f 00 00 00 
1050: 30 30 20 30 30 20 30 30 20 30 30 20 20 20 2e 2e  00 00 00 00   ..
1060: 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 0a 7c  ...............|
1070: 20 20 20 34 30 34 38 3a 20 30 30 20 30 30 20 30     4048: 00 00 0
1080: 30 20 30 30 20 30 30 20 30 30 20 32 38 20 30 31  0 00 00 00 28 01
1090: 20 30 37 20 30 38 20 30 38 20 30 38 20 30 38 20   07 08 08 08 08 
10a0: 31 35 20 34 36 20 33 30 20 20 20 2e 2e 2e 2e 2e  15 46 30   .....
10b0: 2e 28 2e 2e 2e 2e 2e 2e 2e 46 30 0a 7c 20 20 20  .(.......F0.|   
10c0: 34 30 36 34 3a 20 32 30 20 33 32 20 33 39 20 30  4064: 20 32 39 0
10d0: 30 20 30 35 20 36 31 20 36 32 20 36 31 20 36 33  0 05 61 62 61 63
10e0: 20 36 62 20 30 33 20 30 31 20 30 32 20 30 30 20   6b 03 01 02 00 
10f0: 30 33 20 30 32 20 20 20 20 32 39 2e 2e 61 62 61  03 02    29..aba
1100: 63 6b 2e 2e 2e 2e 2e 2e 0a 7c 20 20 20 34 30 38  ck.......|   408
1110: 30 3a 20 36 36 20 37 34 20 30 33 20 30 32 20 30  0: 66 74 03 02 0
1120: 32 20 30 30 20 30 33 20 30 34 20 36 65 20 36 34  2 00 03 04 6e 64
1130: 20 36 66 20 36 65 20 30 33 20 30 33 20 30 32 20   6f 6e 03 03 02 
1140: 30 30 20 20 20 66 74 2e 2e 2e 2e 2e 2e 6e 64 6f  00   ft......ndo
1150: 6e 2e 2e 2e 2e 0a 7c 20 70 61 67 65 20 35 20 6f  n.....| page 5 o
1160: 66 66 73 65 74 20 31 36 33 38 34 0a 7c 20 20 20  ffset 16384.|   
1170: 20 20 20 30 3a 20 30 61 20 30 30 20 30 30 20 30     0: 0a 00 00 0
1180: 30 20 30 31 20 30 66 20 66 62 20 30 30 20 30 66  0 01 0f fb 00 0f
1190: 20 66 62 20 30 30 20 30 30 20 30 30 20 30 30 20   fb 00 00 00 00 
11a0: 30 30 20 30 30 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e  00 00   ........
11b0: 2e 2e 2e 2e 2e 2e 2e 2e 0a 7c 20 20 20 34 30 38  .........|   408
11c0: 30 3a 20 30 30 20 30 30 20 30 30 20 30 30 20 30  0: 00 00 00 00 0
11d0: 30 20 30 30 20 30 30 20 30 30 20 30 30 20 30 30  0 00 00 00 00 00
11e0: 20 30 30 20 30 34 20 30 34 20 30 38 20 30 38 20   00 04 04 08 08 
11f0: 30 39 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e  09   ...........
1200: 2e 2e 2e 2e 2e 0a 7c 20 70 61 67 65 20 36 20 6f  ......| page 6 o
1210: 66 66 73 65 74 20 32 30 34 38 30 0a 7c 20 20 20  ffset 20480.|   
1220: 20 20 20 30 3a 20 30 64 20 30 30 20 30 30 20 30     0: 0d 00 00 0
1230: 30 20 30 35 20 30 66 20 62 38 20 30 30 20 30 66  0 05 0f b8 00 0f
1240: 20 66 34 20 30 66 20 65 39 20 30 66 20 64 36 20   f4 0f e9 0f d6 
1250: 30 66 20 63 37 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e  0f c7   ........
1260: 2e 2e 2e 2e 2e 2e 2e 2e 0a 7c 20 20 20 20 20 31  .........|     1
1270: 36 3a 20 30 66 20 62 38 20 30 30 20 30 30 20 30  6: 0f b8 00 00 0
1280: 30 20 30 30 20 30 30 20 30 30 20 30 30 20 30 30  0 00 00 00 00 00
1290: 20 30 30 20 30 30 20 30 30 20 30 30 20 30 30 20   00 00 00 00 00 
12a0: 30 30 20 20 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e  00   ...........
12b0: 2e 2e 2e 2e 2e 0a 7c 20 20 20 34 30 31 36 3a 20  ......|   4016: 
12c0: 30 30 20 30 30 20 30 30 20 30 30 20 30 30 20 30  00 00 00 00 00 0
12d0: 30 20 30 30 20 30 30 20 30 64 20 30 35 20 30 32  0 00 00 0d 05 02
12e0: 20 32 33 20 36 31 20 37 35 20 37 34 20 36 66 20   23 61 75 74 6f 
12f0: 20 20 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 2e 23 61 75    ...........#au
1300: 74 6f 0a 7c 20 20 20 34 30 33 32 3a 20 36 64 20  to.|   4032: 6d 
1310: 36 35 20 37 32 20 36 37 20 36 35 20 33 64 20 33  65 72 67 65 3d 3
1320: 35 20 30 64 20 30 34 20 30 32 20 32 33 20 36 64  5 0d 04 02 23 6d
1330: 20 36 35 20 37 32 20 36 37 20 36 35 20 20 20 6d   65 72 67 65   m
1340: 65 72 67 65 3d 35 2e 2e 2e 23 6d 65 72 67 65 0a  erge=5...#merge.
1350: 7c 20 20 20 34 30 34 38 3a 20 33 64 20 33 31 20  |   4048: 3d 31 
1360: 33 30 20 33 30 20 32 63 20 33 38 20 31 31 20 30  30 30 2c 38 11 0
1370: 33 20 30 32 20 32 62 20 36 39 20 36 65 20 37 34  3 02 2b 69 6e 74
1380: 20 36 35 20 36 37 20 37 32 20 20 20 3d 31 30 30   65 67 72   =100
1390: 2c 38 2e 2e 2e 2b 69 6e 74 65 67 72 0a 7c 20 20  ,8...+integr.|  
13a0: 20 34 30 36 34 3a 20 36 39 20 37 34 20 37 39 20   4064: 69 74 79 
13b0: 33 64 20 36 33 20 36 38 20 36 35 20 36 33 20 36  3d 63 68 65 63 6
13c0: 62 20 30 39 20 30 32 20 30 32 20 31 62 20 37 32  b 09 02 02 1b 72
13d0: 20 36 35 20 36 32 20 20 20 69 74 79 3d 63 68 65   65 62   ity=che
13e0: 63 6b 2e 2e 2e 2e 72 65 62 0a 7c 20 20 20 34 30  ck....reb.|   40
13f0: 38 30 3a 20 37 35 20 36 39 20 36 63 20 36 34 20  80: 75 69 6c 64 
1400: 30 61 20 30 31 20 30 32 20 31 64 20 36 66 20 37  0a 01 02 1d 6f 7
1410: 30 20 37 34 20 36 39 20 36 64 20 36 39 20 37 61  0 74 69 6d 69 7a
1420: 20 36 35 20 20 20 75 69 6c 64 2e 2e 2e 2e 6f 70   65   uild....op
1430: 74 69 6d 69 7a 65 0a 7c 20 65 6e 64 20 63 36 2e  timize.| end c6.
1440: 64 62 0a 20 20 7d 5d 0a 20 20 63 61 74 63 68 73  db.  }].  catchs
1450: 71 6c 20 7b 0a 20 20 20 20 50 52 41 47 4d 41 20  ql {.    PRAGMA 
1460: 77 72 69 74 61 62 6c 65 5f 73 63 68 65 6d 61 3d  writable_schema=
1470: 6f 6e 3b 20 2d 2d 20 64 69 73 61 62 6c 65 20 73  on; -- disable s
1480: 63 68 65 6d 61 20 63 6f 72 72 75 70 74 69 6f 6e  chema corruption
1490: 20 64 65 74 65 63 74 69 6f 6e 0a 20 20 20 20 49   detection.    I
14a0: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28 74 31  NSERT INTO t1(t1
14b0: 29 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20  ) SELECT x FROM 
14c0: 74 32 3b 0a 20 20 7d 0a 7d 20 7b 31 20 7b 64 61  t2;.  }.} {1 {da
14d0: 74 61 62 61 73 65 20 64 69 73 6b 20 69 6d 61 67  tabase disk imag
14e0: 65 20 69 73 20 6d 61 6c 66 6f 72 6d 65 64 7d 7d  e is malformed}}
14f0: 0a 64 6f 5f 74 65 73 74 20 66 74 73 33 66 75 7a  .do_test fts3fuz
1500: 7a 30 30 31 2d 31 31 30 20 7b 0a 20 20 63 61 74  z001-110 {.  cat
1510: 63 68 73 71 6c 20 7b 0a 20 20 20 20 49 4e 53 45  chsql {.    INSE
1520: 52 54 20 49 4e 54 4f 20 74 31 28 74 31 29 20 56  RT INTO t1(t1) V
1530: 41 4c 55 45 53 28 27 69 6e 74 65 67 72 69 74 79  ALUES('integrity
1540: 2d 63 68 65 63 6b 27 29 3b 0a 20 20 7d 0a 7d 20  -check');.  }.} 
1550: 7b 31 20 7b 64 61 74 61 62 61 73 65 20 64 69 73  {1 {database dis
1560: 6b 20 69 6d 61 67 65 20 69 73 20 6d 61 6c 66 6f  k image is malfo
1570: 72 6d 65 64 7d 7d 0a 64 6f 5f 74 65 73 74 20 66  rmed}}.do_test f
1580: 74 73 33 66 75 7a 7a 30 30 31 2d 31 32 30 20 7b  ts3fuzz001-120 {
1590: 0a 20 20 63 61 74 63 68 73 71 6c 20 7b 0a 20 20  .  catchsql {.  
15a0: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31    INSERT INTO t1
15b0: 28 74 31 29 20 56 41 4c 55 45 53 28 27 6f 70 74  (t1) VALUES('opt
15c0: 69 6d 69 7a 65 27 29 3b 0a 20 20 7d 0a 7d 20 7b  imize');.  }.} {
15d0: 31 20 7b 64 61 74 61 62 61 73 65 20 64 69 73 6b  1 {database disk
15e0: 20 69 6d 61 67 65 20 69 73 20 6d 61 6c 66 6f 72   image is malfor
15f0: 6d 65 64 7d 7d 0a 64 6f 5f 74 65 73 74 20 66 74  med}}.do_test ft
1600: 73 33 66 75 7a 7a 30 30 31 2d 31 32 31 20 7b 0a  s3fuzz001-121 {.
1610: 20 20 63 61 74 63 68 73 71 6c 20 7b 0a 20 20 20    catchsql {.   
1620: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28   INSERT INTO t1(
1630: 74 31 29 20 56 41 4c 55 45 53 28 27 69 6e 74 65  t1) VALUES('inte
1640: 67 72 69 74 79 2d 63 68 65 63 6b 27 29 3b 0a 20  grity-check');. 
1650: 20 7d 0a 7d 20 7b 31 20 7b 64 61 74 61 62 61 73   }.} {1 {databas
1660: 65 20 64 69 73 6b 20 69 6d 61 67 65 20 69 73 20  e disk image is 
1670: 6d 61 6c 66 6f 72 6d 65 64 7d 7d 0a 0a 0a 66 69  malformed}}...fi
1680: 6e 69 73 68 5f 74 65 73 74 0a                    nish_test.