/ Hex Artifact Content
Login

Artifact 1ceb51b2678c472ba6cf1e5da96679ce8347889fe2c3bf93a0e0fa73f00b00d3:


0000: 23 20 32 30 31 36 20 44 65 63 65 6d 62 65 72 20  # 2016 December 
0010: 31 35 0a 23 0a 23 20 54 68 65 20 61 75 74 68 6f  15.#.# The autho
0020: 72 20 64 69 73 63 6c 61 69 6d 73 20 63 6f 70 79  r disclaims copy
0030: 72 69 67 68 74 20 74 6f 20 74 68 69 73 20 73 6f  right to this so
0040: 75 72 63 65 20 63 6f 64 65 2e 20 20 49 6e 20 70  urce code.  In p
0050: 6c 61 63 65 20 6f 66 0a 23 20 61 20 6c 65 67 61  lace of.# a lega
0060: 6c 20 6e 6f 74 69 63 65 2c 20 68 65 72 65 20 69  l notice, here i
0070: 73 20 61 20 62 6c 65 73 73 69 6e 67 3a 0a 23 0a  s a blessing:.#.
0080: 23 20 20 20 20 4d 61 79 20 79 6f 75 20 64 6f 20  #    May you do 
0090: 67 6f 6f 64 20 61 6e 64 20 6e 6f 74 20 65 76 69  good and not evi
00a0: 6c 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20  l..#    May you 
00b0: 66 69 6e 64 20 66 6f 72 67 69 76 65 6e 65 73 73  find forgiveness
00c0: 20 66 6f 72 20 79 6f 75 72 73 65 6c 66 20 61 6e   for yourself an
00d0: 64 20 66 6f 72 67 69 76 65 20 6f 74 68 65 72 73  d forgive others
00e0: 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20 73  ..#    May you s
00f0: 68 61 72 65 20 66 72 65 65 6c 79 2c 20 6e 65 76  hare freely, nev
0100: 65 72 20 74 61 6b 69 6e 67 20 6d 6f 72 65 20 74  er taking more t
0110: 68 61 6e 20 79 6f 75 20 67 69 76 65 2e 0a 23 0a  han you give..#.
0120: 23 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 2a 2a 2a 2a 2a 2a 0a 23 0a 23 20 54 65 73  ********.#.# Tes
0170: 74 20 74 68 65 20 73 68 65 6c 6c 20 74 6f 6f 6c  t the shell tool
0180: 20 22 2e 6c 69 6e 74 20 66 6b 65 79 2d 69 6e 64   ".lint fkey-ind
0190: 65 78 65 73 22 20 63 6f 6d 6d 61 6e 64 2e 0a 23  exes" command..#
01a0: 0a 0a 73 65 74 20 74 65 73 74 64 69 72 20 5b 66  ..set testdir [f
01b0: 69 6c 65 20 64 69 72 6e 61 6d 65 20 24 61 72 67  ile dirname $arg
01c0: 76 30 5d 0a 73 6f 75 72 63 65 20 24 74 65 73 74  v0].source $test
01d0: 64 69 72 2f 74 65 73 74 65 72 2e 74 63 6c 0a 69  dir/tester.tcl.i
01e0: 66 63 61 70 61 62 6c 65 20 21 76 74 61 62 20 7b  fcapable !vtab {
01f0: 66 69 6e 69 73 68 5f 74 65 73 74 3b 20 72 65 74  finish_test; ret
0200: 75 72 6e 7d 0a 73 65 74 20 74 65 73 74 70 72 65  urn}.set testpre
0210: 66 69 78 20 73 68 65 6c 6c 36 0a 73 65 74 20 43  fix shell6.set C
0220: 4c 49 20 5b 74 65 73 74 5f 66 69 6e 64 5f 63 6c  LI [test_find_cl
0230: 69 5d 0a 64 62 20 63 6c 6f 73 65 0a 66 6f 72 63  i].db close.forc
0240: 65 64 65 6c 65 74 65 20 74 65 73 74 2e 64 62 20  edelete test.db 
0250: 74 65 73 74 2e 64 62 2d 6a 6f 75 72 6e 61 6c 20  test.db-journal 
0260: 74 65 73 74 2e 64 62 2d 77 61 6c 0a 0a 66 6f 72  test.db-wal..for
0270: 65 61 63 68 20 7b 74 6e 20 73 63 68 65 6d 61 20  each {tn schema 
0280: 6f 75 74 70 75 74 7d 20 7b 0a 20 20 31 20 7b 0a  output} {.  1 {.
0290: 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45      CREATE TABLE
02a0: 20 70 31 28 61 20 50 52 49 4d 41 52 59 20 4b 45   p1(a PRIMARY KE
02b0: 59 2c 20 62 29 3b 0a 20 20 20 20 43 52 45 41 54  Y, b);.    CREAT
02c0: 45 20 54 41 42 4c 45 20 63 31 28 78 2c 20 79 20  E TABLE c1(x, y 
02d0: 52 45 46 45 52 45 4e 43 45 53 20 70 31 29 3b 0a  REFERENCES p1);.
02e0: 20 20 7d 20 7b 0a 20 20 20 20 43 52 45 41 54 45    } {.    CREATE
02f0: 20 49 4e 44 45 58 20 27 63 31 5f 79 27 20 4f 4e   INDEX 'c1_y' ON
0300: 20 27 63 31 27 28 27 79 27 29 3b 20 2d 2d 3e 20   'c1'('y'); --> 
0310: 70 31 28 61 29 0a 20 20 7d 0a 0a 20 20 32 20 7b  p1(a).  }..  2 {
0320: 0a 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c  .    CREATE TABL
0330: 45 20 70 31 28 61 20 50 52 49 4d 41 52 59 20 4b  E p1(a PRIMARY K
0340: 45 59 2c 20 62 29 3b 0a 20 20 20 20 43 52 45 41  EY, b);.    CREA
0350: 54 45 20 54 41 42 4c 45 20 63 32 28 78 20 52 45  TE TABLE c2(x RE
0360: 46 45 52 45 4e 43 45 53 20 70 31 2c 20 79 20 52  FERENCES p1, y R
0370: 45 46 45 52 45 4e 43 45 53 20 70 31 29 3b 0a 20  EFERENCES p1);. 
0380: 20 7d 20 7b 0a 20 20 20 20 43 52 45 41 54 45 20   } {.    CREATE 
0390: 49 4e 44 45 58 20 27 63 32 5f 79 27 20 4f 4e 20  INDEX 'c2_y' ON 
03a0: 27 63 32 27 28 27 79 27 29 3b 20 2d 2d 3e 20 70  'c2'('y'); --> p
03b0: 31 28 61 29 0a 20 20 20 20 43 52 45 41 54 45 20  1(a).    CREATE 
03c0: 49 4e 44 45 58 20 27 63 32 5f 78 27 20 4f 4e 20  INDEX 'c2_x' ON 
03d0: 27 63 32 27 28 27 78 27 29 3b 20 2d 2d 3e 20 70  'c2'('x'); --> p
03e0: 31 28 61 29 0a 20 20 7d 0a 0a 20 20 33 20 7b 0a  1(a).  }..  3 {.
03f0: 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45      CREATE TABLE
0400: 20 27 70 20 31 27 28 61 2c 20 62 2c 20 63 2c 20   'p 1'(a, b, c, 
0410: 50 52 49 4d 41 52 59 20 4b 45 59 28 63 2c 20 62  PRIMARY KEY(c, b
0420: 29 29 3b 0a 20 20 20 20 43 52 45 41 54 45 20 54  ));.    CREATE T
0430: 41 42 4c 45 20 27 63 20 31 27 28 78 2c 20 79 2c  ABLE 'c 1'(x, y,
0440: 20 7a 2c 20 46 4f 52 45 49 47 4e 20 4b 45 59 20   z, FOREIGN KEY 
0450: 28 7a 2c 20 79 29 20 52 45 46 45 52 45 4e 43 45  (z, y) REFERENCE
0460: 53 20 27 70 20 31 27 29 3b 0a 20 20 7d 20 7b 0a  S 'p 1');.  } {.
0470: 20 20 20 20 43 52 45 41 54 45 20 49 4e 44 45 58      CREATE INDEX
0480: 20 27 63 20 31 5f 7a 5f 79 27 20 4f 4e 20 27 63   'c 1_z_y' ON 'c
0490: 20 31 27 28 27 7a 27 2c 20 27 79 27 29 3b 20 2d   1'('z', 'y'); -
04a0: 2d 3e 20 70 20 31 28 63 2c 62 29 0a 20 20 7d 0a  -> p 1(c,b).  }.
04b0: 0a 20 20 34 20 7b 0a 20 20 20 20 43 52 45 41 54  .  4 {.    CREAT
04c0: 45 20 54 41 42 4c 45 20 70 31 28 61 2c 20 27 62  E TABLE p1(a, 'b
04d0: 20 62 20 62 27 20 50 52 49 4d 41 52 59 20 4b 45   b b' PRIMARY KE
04e0: 59 29 3b 0a 20 20 20 20 43 52 45 41 54 45 20 54  Y);.    CREATE T
04f0: 41 42 4c 45 20 63 31 28 27 78 20 79 20 7a 27 20  ABLE c1('x y z' 
0500: 52 45 46 45 52 45 4e 43 45 53 20 70 31 29 3b 0a  REFERENCES p1);.
0510: 20 20 20 20 43 52 45 41 54 45 20 49 4e 44 45 58      CREATE INDEX
0520: 20 69 31 20 4f 4e 20 63 31 28 27 78 20 79 20 7a   i1 ON c1('x y z
0530: 27 29 20 57 48 45 52 45 20 22 78 20 79 20 7a 22  ') WHERE "x y z"
0540: 20 49 53 20 4e 4f 54 20 4e 55 4c 4c 3b 0a 20 20   IS NOT NULL;.  
0550: 7d 20 7b 0a 20 20 7d 0a 0a 20 20 35 20 7b 0a 20  } {.  }..  5 {. 
0560: 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20     CREATE TABLE 
0570: 70 31 28 61 2c 20 27 62 20 62 20 62 27 20 50 52  p1(a, 'b b b' PR
0580: 49 4d 41 52 59 20 4b 45 59 29 3b 0a 20 20 20 20  IMARY KEY);.    
0590: 43 52 45 41 54 45 20 54 41 42 4c 45 20 63 31 28  CREATE TABLE c1(
05a0: 27 78 20 79 20 7a 27 20 52 45 46 45 52 45 4e 43  'x y z' REFERENC
05b0: 45 53 20 70 31 29 3b 0a 20 20 20 20 43 52 45 41  ES p1);.    CREA
05c0: 54 45 20 49 4e 44 45 58 20 69 31 20 4f 4e 20 63  TE INDEX i1 ON c
05d0: 31 28 27 78 20 79 20 7a 27 29 20 57 48 45 52 45  1('x y z') WHERE
05e0: 20 22 78 20 79 20 7a 22 20 49 53 20 4e 4f 54 20   "x y z" IS NOT 
05f0: 31 32 3b 0a 20 20 7d 20 7b 0a 20 20 20 20 43 52  12;.  } {.    CR
0600: 45 41 54 45 20 49 4e 44 45 58 20 27 63 31 5f 78  EATE INDEX 'c1_x
0610: 20 79 20 7a 27 20 4f 4e 20 27 63 31 27 28 27 78   y z' ON 'c1'('x
0620: 20 79 20 7a 27 29 3b 20 2d 2d 3e 20 70 31 28 62   y z'); --> p1(b
0630: 20 62 20 62 29 0a 20 20 7d 0a 0a 20 20 36 20 7b   b b).  }..  6 {
0640: 0a 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c  .    CREATE TABL
0650: 45 20 78 31 28 61 2c 20 62 2c 20 63 2c 20 55 4e  E x1(a, b, c, UN
0660: 49 51 55 45 28 61 2c 20 62 29 29 3b 0a 20 20 20  IQUE(a, b));.   
0670: 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 79 31   CREATE TABLE y1
0680: 28 61 2c 20 62 2c 20 63 2c 20 46 4f 52 45 49 47  (a, b, c, FOREIG
0690: 4e 20 4b 45 59 28 62 2c 20 61 29 20 52 45 46 45  N KEY(b, a) REFE
06a0: 52 45 4e 43 45 53 20 78 31 28 61 2c 20 62 29 29  RENCES x1(a, b))
06b0: 3b 0a 20 20 20 20 43 52 45 41 54 45 20 49 4e 44  ;.    CREATE IND
06c0: 45 58 20 79 31 69 20 4f 4e 20 79 31 28 61 2c 20  EX y1i ON y1(a, 
06d0: 63 2c 20 62 29 3b 0a 20 20 7d 20 7b 0a 20 20 20  c, b);.  } {.   
06e0: 20 43 52 45 41 54 45 20 49 4e 44 45 58 20 27 79   CREATE INDEX 'y
06f0: 31 5f 62 5f 61 27 20 4f 4e 20 27 79 31 27 28 27  1_b_a' ON 'y1'('
0700: 62 27 2c 20 27 61 27 29 3b 20 2d 2d 3e 20 78 31  b', 'a'); --> x1
0710: 28 61 2c 62 29 0a 20 20 7d 0a 0a 20 20 36 20 7b  (a,b).  }..  6 {
0720: 0a 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c  .    CREATE TABL
0730: 45 20 78 31 28 61 20 43 4f 4c 4c 41 54 45 20 6e  E x1(a COLLATE n
0740: 6f 63 61 73 65 2c 20 62 2c 20 55 4e 49 51 55 45  ocase, b, UNIQUE
0750: 28 61 29 29 3b 0a 20 20 20 20 43 52 45 41 54 45  (a));.    CREATE
0760: 20 54 41 42 4c 45 20 79 31 28 61 20 43 4f 4c 4c   TABLE y1(a COLL
0770: 41 54 45 20 72 74 72 69 6d 20 52 45 46 45 52 45  ATE rtrim REFERE
0780: 4e 43 45 53 20 78 31 28 61 29 29 3b 0a 20 20 7d  NCES x1(a));.  }
0790: 20 7b 0a 20 20 20 20 43 52 45 41 54 45 20 49 4e   {.    CREATE IN
07a0: 44 45 58 20 27 79 31 5f 61 27 20 4f 4e 20 27 79  DEX 'y1_a' ON 'y
07b0: 31 27 28 27 61 27 20 43 4f 4c 4c 41 54 45 20 6e  1'('a' COLLATE n
07c0: 6f 63 61 73 65 29 3b 20 2d 2d 3e 20 78 31 28 61  ocase); --> x1(a
07d0: 29 0a 20 20 7d 0a 0a 20 20 37 20 7b 0a 20 20 20  ).  }..  7 {.   
07e0: 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 78 31   CREATE TABLE x1
07f0: 28 61 20 50 52 49 4d 41 52 59 20 4b 45 59 20 43  (a PRIMARY KEY C
0800: 4f 4c 4c 41 54 45 20 6e 6f 63 61 73 65 2c 20 62  OLLATE nocase, b
0810: 29 3b 0a 20 20 20 20 43 52 45 41 54 45 20 54 41  );.    CREATE TA
0820: 42 4c 45 20 79 31 28 61 20 52 45 46 45 52 45 4e  BLE y1(a REFEREN
0830: 43 45 53 20 78 31 29 3b 0a 20 20 7d 20 7b 0a 20  CES x1);.  } {. 
0840: 20 20 20 43 52 45 41 54 45 20 49 4e 44 45 58 20     CREATE INDEX 
0850: 27 79 31 5f 61 27 20 4f 4e 20 27 79 31 27 28 27  'y1_a' ON 'y1'('
0860: 61 27 20 43 4f 4c 4c 41 54 45 20 6e 6f 63 61 73  a' COLLATE nocas
0870: 65 29 3b 20 2d 2d 3e 20 78 31 28 61 29 0a 20 20  e); --> x1(a).  
0880: 7d 0a 0a 20 20 38 20 7b 0a 20 20 20 20 43 52 45  }..  8 {.    CRE
0890: 41 54 45 20 54 41 42 4c 45 20 78 31 28 61 2c 20  ATE TABLE x1(a, 
08a0: 62 20 43 4f 4c 4c 41 54 45 20 6e 6f 63 61 73 65  b COLLATE nocase
08b0: 2c 20 63 20 43 4f 4c 4c 41 54 45 20 72 74 72 69  , c COLLATE rtri
08c0: 6d 2c 20 50 52 49 4d 41 52 59 20 4b 45 59 28 63  m, PRIMARY KEY(c
08d0: 2c 20 62 2c 20 61 29 29 3b 0a 20 20 20 20 43 52  , b, a));.    CR
08e0: 45 41 54 45 20 54 41 42 4c 45 20 79 31 28 64 2c  EATE TABLE y1(d,
08f0: 20 65 2c 20 66 2c 20 46 4f 52 45 49 47 4e 20 4b   e, f, FOREIGN K
0900: 45 59 28 64 2c 20 65 2c 20 66 29 20 52 45 46 45  EY(d, e, f) REFE
0910: 52 45 4e 43 45 53 20 78 31 29 3b 0a 20 20 7d 20  RENCES x1);.  } 
0920: 7b 0a 20 20 20 20 43 52 45 41 54 45 20 49 4e 44  {.    CREATE IND
0930: 45 58 20 27 79 31 5f 64 5f 65 5f 66 27 20 4f 4e  EX 'y1_d_e_f' ON
0940: 20 27 79 31 27 28 27 64 27 20 43 4f 4c 4c 41 54   'y1'('d' COLLAT
0950: 45 20 72 74 72 69 6d 2c 20 27 65 27 20 43 4f 4c  E rtrim, 'e' COL
0960: 4c 41 54 45 20 6e 6f 63 61 73 65 2c 20 27 66 27  LATE nocase, 'f'
0970: 29 3b 20 2d 2d 3e 20 78 31 28 63 2c 62 2c 61 29  ); --> x1(c,b,a)
0980: 0a 20 20 7d 0a 0a 20 20 39 20 7b 0a 20 20 20 20  .  }..  9 {.    
0990: 43 52 45 41 54 45 20 54 41 42 4c 45 20 70 31 28  CREATE TABLE p1(
09a0: 61 2c 20 62 20 55 4e 49 51 55 45 29 3b 0a 20 20  a, b UNIQUE);.  
09b0: 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 63    CREATE TABLE c
09c0: 31 28 78 20 49 4e 54 45 47 45 52 20 50 52 49 4d  1(x INTEGER PRIM
09d0: 41 52 59 20 4b 45 59 20 52 45 46 45 52 45 4e 43  ARY KEY REFERENC
09e0: 45 53 20 70 31 28 62 29 29 3b 0a 20 20 7d 20 7b  ES p1(b));.  } {
09f0: 0a 20 20 7d 0a 0a 20 20 31 30 20 7b 0a 20 20 20  .  }..  10 {.   
0a00: 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 70 61   CREATE TABLE pa
0a10: 72 65 6e 74 20 28 69 64 20 49 4e 54 45 47 45 52  rent (id INTEGER
0a20: 20 50 52 49 4d 41 52 59 20 4b 45 59 29 3b 20 0a   PRIMARY KEY); .
0a30: 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45      CREATE TABLE
0a40: 20 63 68 69 6c 64 32 20 28 69 64 20 49 4e 54 20   child2 (id INT 
0a50: 50 52 49 4d 41 52 59 20 4b 45 59 2c 20 70 61 72  PRIMARY KEY, par
0a60: 65 6e 74 49 44 20 49 4e 54 20 52 45 46 45 52 45  entID INT REFERE
0a70: 4e 43 45 53 20 70 61 72 65 6e 74 29 20 0a 20 20  NCES parent) .  
0a80: 20 20 20 20 57 49 54 48 4f 55 54 20 52 4f 57 49      WITHOUT ROWI
0a90: 44 3b 0a 20 20 7d 20 7b 0a 20 20 20 20 43 52 45  D;.  } {.    CRE
0aa0: 41 54 45 20 49 4e 44 45 58 20 27 63 68 69 6c 64  ATE INDEX 'child
0ab0: 32 5f 70 61 72 65 6e 74 49 44 27 20 4f 4e 20 27  2_parentID' ON '
0ac0: 63 68 69 6c 64 32 27 28 27 70 61 72 65 6e 74 49  child2'('parentI
0ad0: 44 27 29 3b 20 2d 2d 3e 20 70 61 72 65 6e 74 28  D'); --> parent(
0ae0: 69 64 29 0a 20 20 7d 0a 0a 7d 20 7b 0a 20 20 66  id).  }..} {.  f
0af0: 6f 72 63 65 64 65 6c 65 74 65 20 74 65 73 74 2e  orcedelete test.
0b00: 64 62 0a 20 20 73 71 6c 69 74 65 33 20 64 62 20  db.  sqlite3 db 
0b10: 74 65 73 74 2e 64 62 0a 20 20 65 78 65 63 73 71  test.db.  execsq
0b20: 6c 20 24 73 63 68 65 6d 61 0a 0a 20 20 73 65 74  l $schema..  set
0b30: 20 65 78 70 65 63 74 65 64 20 22 22 0a 20 20 66   expected "".  f
0b40: 6f 72 65 61 63 68 20 6c 69 6e 65 20 5b 73 70 6c  oreach line [spl
0b50: 69 74 20 24 6f 75 74 70 75 74 20 22 5c 6e 22 5d  it $output "\n"]
0b60: 20 7b 0a 20 20 20 20 73 65 74 20 6c 69 6e 65 20   {.    set line 
0b70: 5b 73 74 72 69 6e 67 20 74 72 69 6d 20 24 6c 69  [string trim $li
0b80: 6e 65 5d 0a 20 20 20 20 69 66 20 7b 24 6c 69 6e  ne].    if {$lin
0b90: 65 21 3d 22 22 7d 20 7b 0a 20 20 20 20 20 20 61  e!=""} {.      a
0ba0: 70 70 65 6e 64 20 65 78 70 65 63 74 65 64 20 22  ppend expected "
0bb0: 24 6c 69 6e 65 5c 6e 22 0a 20 20 20 20 7d 0a 20  $line\n".    }. 
0bc0: 20 7d 0a 0a 20 20 64 6f 5f 74 65 73 74 20 31 2e   }..  do_test 1.
0bd0: 24 74 6e 2e 31 20 7b 0a 20 20 20 20 73 65 74 20  $tn.1 {.    set 
0be0: 52 45 53 20 5b 63 61 74 63 68 63 6d 64 20 74 65  RES [catchcmd te
0bf0: 73 74 2e 64 62 20 5b 6c 69 73 74 20 2e 6c 69 6e  st.db [list .lin
0c00: 74 20 66 6b 65 79 2d 69 6e 64 65 78 65 73 5d 5d  t fkey-indexes]]
0c10: 0a 20 20 7d 20 5b 6c 69 73 74 20 30 20 5b 73 74  .  } [list 0 [st
0c20: 72 69 6e 67 20 74 72 69 6d 20 24 65 78 70 65 63  ring trim $expec
0c30: 74 65 64 5d 5d 0a 0a 20 20 64 6f 5f 74 65 73 74  ted]]..  do_test
0c40: 20 31 2e 24 74 6e 2e 32 20 7b 0a 20 20 20 20 65   1.$tn.2 {.    e
0c50: 78 65 63 73 71 6c 20 5b 6c 69 6e 64 65 78 20 24  xecsql [lindex $
0c60: 52 45 53 20 31 5d 0a 20 20 20 20 63 61 74 63 68  RES 1].    catch
0c70: 63 6d 64 20 74 65 73 74 2e 64 62 20 5b 6c 69 73  cmd test.db [lis
0c80: 74 20 2e 6c 69 6e 74 20 66 6b 65 79 2d 69 6e 64  t .lint fkey-ind
0c90: 65 78 65 73 5d 0a 20 20 7d 20 7b 30 20 7b 7d 7d  exes].  } {0 {}}
0ca0: 0a 0a 20 20 64 62 20 63 6c 6f 73 65 0a 7d 0a 0a  ..  db close.}..
0cb0: 66 69 6e 69 73 68 5f 74 65 73 74 0a              finish_test.