/ Hex Artifact Content
Login

Artifact 46090311f85da51bb33bd5ce84f7948359c6d8d7:


0000: 23 20 32 30 30 36 20 53 65 70 74 65 6d 62 65 72  # 2006 September
0010: 20 39 0a 23 0a 23 20 54 68 65 20 61 75 74 68 6f   9.#.# 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 2a 2a 0a 23 20 54 68 69  **********.# Thi
0170: 73 20 66 69 6c 65 20 69 6d 70 6c 65 6d 65 6e 74  s file implement
0180: 73 20 72 65 67 72 65 73 73 69 6f 6e 20 74 65 73  s regression tes
0190: 74 73 20 66 6f 72 20 53 51 4c 69 74 65 20 6c 69  ts for SQLite li
01a0: 62 72 61 72 79 2e 20 20 54 68 65 0a 23 20 66 6f  brary.  The.# fo
01b0: 63 75 73 20 6f 66 20 74 68 69 73 20 73 63 72 69  cus of this scri
01c0: 70 74 20 69 73 20 74 65 73 74 69 6e 67 20 74 68  pt is testing th
01d0: 65 20 46 54 53 31 20 6d 6f 64 75 6c 65 2e 0a 23  e FTS1 module..#
01e0: 0a 23 20 24 49 64 3a 20 66 74 73 31 61 2e 74 65  .# $Id: fts1a.te
01f0: 73 74 2c 76 20 31 2e 34 20 32 30 30 36 2f 30 39  st,v 1.4 2006/09
0200: 2f 32 38 20 31 39 3a 34 33 3a 33 32 20 64 72 68  /28 19:43:32 drh
0210: 20 45 78 70 20 24 0a 23 0a 0a 73 65 74 20 74 65   Exp $.#..set te
0220: 73 74 64 69 72 20 5b 66 69 6c 65 20 64 69 72 6e  stdir [file dirn
0230: 61 6d 65 20 24 61 72 67 76 30 5d 0a 73 6f 75 72  ame $argv0].sour
0240: 63 65 20 24 74 65 73 74 64 69 72 2f 74 65 73 74  ce $testdir/test
0250: 65 72 2e 74 63 6c 0a 0a 23 20 49 66 20 53 51 4c  er.tcl..# If SQL
0260: 49 54 45 5f 45 4e 41 42 4c 45 5f 46 54 53 31 20  ITE_ENABLE_FTS1 
0270: 69 73 20 64 65 66 69 6e 65 64 2c 20 6f 6d 69 74  is defined, omit
0280: 20 74 68 69 73 20 66 69 6c 65 2e 0a 69 66 63 61   this file..ifca
0290: 70 61 62 6c 65 20 21 66 74 73 31 20 7b 0a 20 20  pable !fts1 {.  
02a0: 66 69 6e 69 73 68 5f 74 65 73 74 0a 20 20 72 65  finish_test.  re
02b0: 74 75 72 6e 0a 7d 0a 0a 23 20 43 6f 6e 73 74 72  turn.}..# Constr
02c0: 75 63 74 20 61 20 66 75 6c 6c 2d 74 65 78 74 20  uct a full-text 
02d0: 73 65 61 72 63 68 20 74 61 62 6c 65 20 63 6f 6e  search table con
02e0: 74 61 69 6e 69 6e 67 20 66 69 76 65 20 6b 65 79  taining five key
02f0: 77 6f 72 64 73 3a 0a 23 20 6f 6e 65 2c 20 74 77  words:.# one, tw
0300: 6f 2c 20 74 68 72 65 65 2c 20 66 6f 75 72 2c 20  o, three, four, 
0310: 61 6e 64 20 66 69 76 65 2c 20 69 6e 20 76 61 72  and five, in var
0320: 69 6f 75 73 20 63 6f 6d 62 69 6e 61 74 69 6f 6e  ious combination
0330: 73 2e 20 20 54 68 65 0a 23 20 72 6f 77 69 64 20  s.  The.# rowid 
0340: 66 6f 72 20 65 61 63 68 20 77 69 6c 6c 20 62 65  for each will be
0350: 20 61 20 62 69 74 6d 61 73 6b 20 66 6f 72 20 74   a bitmask for t
0360: 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 74 20 63  he elements it c
0370: 6f 6e 74 61 69 6e 73 2e 0a 23 0a 64 62 20 65 76  ontains..#.db ev
0380: 61 6c 20 7b 0a 20 20 43 52 45 41 54 45 20 56 49  al {.  CREATE VI
0390: 52 54 55 41 4c 20 54 41 42 4c 45 20 74 31 20 55  RTUAL TABLE t1 U
03a0: 53 49 4e 47 20 66 74 73 31 28 63 6f 6e 74 65 6e  SING fts1(conten
03b0: 74 29 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54  t);.  INSERT INT
03c0: 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29 20 56 41  O t1(content) VA
03d0: 4c 55 45 53 28 27 6f 6e 65 27 29 3b 0a 20 20 49  LUES('one');.  I
03e0: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28 63 6f  NSERT INTO t1(co
03f0: 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28 27 74  ntent) VALUES('t
0400: 77 6f 27 29 3b 0a 20 20 49 4e 53 45 52 54 20 49  wo');.  INSERT I
0410: 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29 20  NTO t1(content) 
0420: 56 41 4c 55 45 53 28 27 6f 6e 65 20 74 77 6f 27  VALUES('one two'
0430: 29 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  );.  INSERT INTO
0440: 20 74 31 28 63 6f 6e 74 65 6e 74 29 20 56 41 4c   t1(content) VAL
0450: 55 45 53 28 27 74 68 72 65 65 27 29 3b 0a 20 20  UES('three');.  
0460: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28 63  INSERT INTO t1(c
0470: 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28 27  ontent) VALUES('
0480: 6f 6e 65 20 74 68 72 65 65 27 29 3b 0a 20 20 49  one three');.  I
0490: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28 63 6f  NSERT INTO t1(co
04a0: 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28 27 74  ntent) VALUES('t
04b0: 77 6f 20 74 68 72 65 65 27 29 3b 0a 20 20 49 4e  wo three');.  IN
04c0: 53 45 52 54 20 49 4e 54 4f 20 74 31 28 63 6f 6e  SERT INTO t1(con
04d0: 74 65 6e 74 29 20 56 41 4c 55 45 53 28 27 6f 6e  tent) VALUES('on
04e0: 65 20 74 77 6f 20 74 68 72 65 65 27 29 3b 0a 20  e two three');. 
04f0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28   INSERT INTO t1(
0500: 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28  content) VALUES(
0510: 27 66 6f 75 72 27 29 3b 0a 20 20 49 4e 53 45 52  'four');.  INSER
0520: 54 20 49 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e  T INTO t1(conten
0530: 74 29 20 56 41 4c 55 45 53 28 27 6f 6e 65 20 66  t) VALUES('one f
0540: 6f 75 72 27 29 3b 0a 20 20 49 4e 53 45 52 54 20  our');.  INSERT 
0550: 49 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29  INTO t1(content)
0560: 20 56 41 4c 55 45 53 28 27 74 77 6f 20 66 6f 75   VALUES('two fou
0570: 72 27 29 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e  r');.  INSERT IN
0580: 54 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29 20 56  TO t1(content) V
0590: 41 4c 55 45 53 28 27 6f 6e 65 20 74 77 6f 20 66  ALUES('one two f
05a0: 6f 75 72 27 29 3b 0a 20 20 49 4e 53 45 52 54 20  our');.  INSERT 
05b0: 49 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29  INTO t1(content)
05c0: 20 56 41 4c 55 45 53 28 27 74 68 72 65 65 20 66   VALUES('three f
05d0: 6f 75 72 27 29 3b 0a 20 20 49 4e 53 45 52 54 20  our');.  INSERT 
05e0: 49 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29  INTO t1(content)
05f0: 20 56 41 4c 55 45 53 28 27 6f 6e 65 20 74 68 72   VALUES('one thr
0600: 65 65 20 66 6f 75 72 27 29 3b 0a 20 20 49 4e 53  ee four');.  INS
0610: 45 52 54 20 49 4e 54 4f 20 74 31 28 63 6f 6e 74  ERT INTO t1(cont
0620: 65 6e 74 29 20 56 41 4c 55 45 53 28 27 74 77 6f  ent) VALUES('two
0630: 20 74 68 72 65 65 20 66 6f 75 72 27 29 3b 0a 20   three four');. 
0640: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28   INSERT INTO t1(
0650: 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28  content) VALUES(
0660: 27 6f 6e 65 20 74 77 6f 20 74 68 72 65 65 20 66  'one two three f
0670: 6f 75 72 27 29 3b 0a 20 20 49 4e 53 45 52 54 20  our');.  INSERT 
0680: 49 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29  INTO t1(content)
0690: 20 56 41 4c 55 45 53 28 27 66 69 76 65 27 29 3b   VALUES('five');
06a0: 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74  .  INSERT INTO t
06b0: 31 28 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45  1(content) VALUE
06c0: 53 28 27 6f 6e 65 20 66 69 76 65 27 29 3b 0a 20  S('one five');. 
06d0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28   INSERT INTO t1(
06e0: 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28  content) VALUES(
06f0: 27 74 77 6f 20 66 69 76 65 27 29 3b 0a 20 20 49  'two five');.  I
0700: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28 63 6f  NSERT INTO t1(co
0710: 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28 27 6f  ntent) VALUES('o
0720: 6e 65 20 74 77 6f 20 66 69 76 65 27 29 3b 0a 20  ne two five');. 
0730: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28   INSERT INTO t1(
0740: 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28  content) VALUES(
0750: 27 74 68 72 65 65 20 66 69 76 65 27 29 3b 0a 20  'three five');. 
0760: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28   INSERT INTO t1(
0770: 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28  content) VALUES(
0780: 27 6f 6e 65 20 74 68 72 65 65 20 66 69 76 65 27  'one three five'
0790: 29 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  );.  INSERT INTO
07a0: 20 74 31 28 63 6f 6e 74 65 6e 74 29 20 56 41 4c   t1(content) VAL
07b0: 55 45 53 28 27 74 77 6f 20 74 68 72 65 65 20 66  UES('two three f
07c0: 69 76 65 27 29 3b 0a 20 20 49 4e 53 45 52 54 20  ive');.  INSERT 
07d0: 49 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29  INTO t1(content)
07e0: 20 56 41 4c 55 45 53 28 27 6f 6e 65 20 74 77 6f   VALUES('one two
07f0: 20 74 68 72 65 65 20 66 69 76 65 27 29 3b 0a 20   three five');. 
0800: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28   INSERT INTO t1(
0810: 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28  content) VALUES(
0820: 27 66 6f 75 72 20 66 69 76 65 27 29 3b 0a 20 20  'four five');.  
0830: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 28 63  INSERT INTO t1(c
0840: 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53 28 27  ontent) VALUES('
0850: 6f 6e 65 20 66 6f 75 72 20 66 69 76 65 27 29 3b  one four five');
0860: 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74  .  INSERT INTO t
0870: 31 28 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45  1(content) VALUE
0880: 53 28 27 74 77 6f 20 66 6f 75 72 20 66 69 76 65  S('two four five
0890: 27 29 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54  ');.  INSERT INT
08a0: 4f 20 74 31 28 63 6f 6e 74 65 6e 74 29 20 56 41  O t1(content) VA
08b0: 4c 55 45 53 28 27 6f 6e 65 20 74 77 6f 20 66 6f  LUES('one two fo
08c0: 75 72 20 66 69 76 65 27 29 3b 0a 20 20 49 4e 53  ur five');.  INS
08d0: 45 52 54 20 49 4e 54 4f 20 74 31 28 63 6f 6e 74  ERT INTO t1(cont
08e0: 65 6e 74 29 20 56 41 4c 55 45 53 28 27 74 68 72  ent) VALUES('thr
08f0: 65 65 20 66 6f 75 72 20 66 69 76 65 27 29 3b 0a  ee four five');.
0900: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31    INSERT INTO t1
0910: 28 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55 45 53  (content) VALUES
0920: 28 27 6f 6e 65 20 74 68 72 65 65 20 66 6f 75 72  ('one three four
0930: 20 66 69 76 65 27 29 3b 0a 20 20 49 4e 53 45 52   five');.  INSER
0940: 54 20 49 4e 54 4f 20 74 31 28 63 6f 6e 74 65 6e  T INTO t1(conten
0950: 74 29 20 56 41 4c 55 45 53 28 27 74 77 6f 20 74  t) VALUES('two t
0960: 68 72 65 65 20 66 6f 75 72 20 66 69 76 65 27 29  hree four five')
0970: 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20  ;.  INSERT INTO 
0980: 74 31 28 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55  t1(content) VALU
0990: 45 53 28 27 6f 6e 65 20 74 77 6f 20 74 68 72 65  ES('one two thre
09a0: 65 20 66 6f 75 72 20 66 69 76 65 27 29 3b 0a 7d  e four five');.}
09b0: 0a 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d  ..do_test fts1a-
09c0: 31 2e 31 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  1.1 {.  execsql 
09d0: 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52  {SELECT rowid FR
09e0: 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74  OM t1 WHERE cont
09f0: 65 6e 74 20 4d 41 54 43 48 20 27 6f 6e 65 27 7d  ent MATCH 'one'}
0a00: 0a 7d 20 7b 31 20 33 20 35 20 37 20 39 20 31 31  .} {1 3 5 7 9 11
0a10: 20 31 33 20 31 35 20 31 37 20 31 39 20 32 31 20   13 15 17 19 21 
0a20: 32 33 20 32 35 20 32 37 20 32 39 20 33 31 7d 0a  23 25 27 29 31}.
0a30: 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d 31 2e  do_test fts1a-1.
0a40: 32 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 53  2 {.  execsql {S
0a50: 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52 4f 4d  ELECT rowid FROM
0a60: 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74 65 6e   t1 WHERE conten
0a70: 74 20 4d 41 54 43 48 20 27 6f 6e 65 20 74 77 6f  t MATCH 'one two
0a80: 27 7d 0a 7d 20 7b 33 20 37 20 31 31 20 31 35 20  '}.} {3 7 11 15 
0a90: 31 39 20 32 33 20 32 37 20 33 31 7d 0a 64 6f 5f  19 23 27 31}.do_
0aa0: 74 65 73 74 20 66 74 73 31 61 2d 31 2e 33 20 7b  test fts1a-1.3 {
0ab0: 0a 20 20 65 78 65 63 73 71 6c 20 7b 53 45 4c 45  .  execsql {SELE
0ac0: 43 54 20 72 6f 77 69 64 20 46 52 4f 4d 20 74 31  CT rowid FROM t1
0ad0: 20 57 48 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d   WHERE content M
0ae0: 41 54 43 48 20 27 74 77 6f 20 6f 6e 65 27 7d 0a  ATCH 'two one'}.
0af0: 7d 20 7b 33 20 37 20 31 31 20 31 35 20 31 39 20  } {3 7 11 15 19 
0b00: 32 33 20 32 37 20 33 31 7d 0a 64 6f 5f 74 65 73  23 27 31}.do_tes
0b10: 74 20 66 74 73 31 61 2d 31 2e 34 20 7b 0a 20 20  t fts1a-1.4 {.  
0b20: 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20  execsql {SELECT 
0b30: 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48  rowid FROM t1 WH
0b40: 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43  ERE content MATC
0b50: 48 20 27 6f 6e 65 20 74 77 6f 20 74 68 72 65 65  H 'one two three
0b60: 27 7d 0a 7d 20 7b 37 20 31 35 20 32 33 20 33 31  '}.} {7 15 23 31
0b70: 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d  }.do_test fts1a-
0b80: 31 2e 35 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  1.5 {.  execsql 
0b90: 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52  {SELECT rowid FR
0ba0: 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74  OM t1 WHERE cont
0bb0: 65 6e 74 20 4d 41 54 43 48 20 27 6f 6e 65 20 74  ent MATCH 'one t
0bc0: 68 72 65 65 20 74 77 6f 27 7d 0a 7d 20 7b 37 20  hree two'}.} {7 
0bd0: 31 35 20 32 33 20 33 31 7d 0a 64 6f 5f 74 65 73  15 23 31}.do_tes
0be0: 74 20 66 74 73 31 61 2d 31 2e 36 20 7b 0a 20 20  t fts1a-1.6 {.  
0bf0: 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20  execsql {SELECT 
0c00: 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48  rowid FROM t1 WH
0c10: 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43  ERE content MATC
0c20: 48 20 27 74 77 6f 20 74 68 72 65 65 20 6f 6e 65  H 'two three one
0c30: 27 7d 0a 7d 20 7b 37 20 31 35 20 32 33 20 33 31  '}.} {7 15 23 31
0c40: 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d  }.do_test fts1a-
0c50: 31 2e 37 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  1.7 {.  execsql 
0c60: 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52  {SELECT rowid FR
0c70: 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74  OM t1 WHERE cont
0c80: 65 6e 74 20 4d 41 54 43 48 20 27 74 77 6f 20 6f  ent MATCH 'two o
0c90: 6e 65 20 74 68 72 65 65 27 7d 0a 7d 20 7b 37 20  ne three'}.} {7 
0ca0: 31 35 20 32 33 20 33 31 7d 0a 64 6f 5f 74 65 73  15 23 31}.do_tes
0cb0: 74 20 66 74 73 31 61 2d 31 2e 38 20 7b 0a 20 20  t fts1a-1.8 {.  
0cc0: 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20  execsql {SELECT 
0cd0: 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48  rowid FROM t1 WH
0ce0: 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43  ERE content MATC
0cf0: 48 20 27 74 68 72 65 65 20 6f 6e 65 20 74 77 6f  H 'three one two
0d00: 27 7d 0a 7d 20 7b 37 20 31 35 20 32 33 20 33 31  '}.} {7 15 23 31
0d10: 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d  }.do_test fts1a-
0d20: 31 2e 39 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  1.9 {.  execsql 
0d30: 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52  {SELECT rowid FR
0d40: 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74  OM t1 WHERE cont
0d50: 65 6e 74 20 4d 41 54 43 48 20 27 74 68 72 65 65  ent MATCH 'three
0d60: 20 74 77 6f 20 6f 6e 65 27 7d 0a 7d 20 7b 37 20   two one'}.} {7 
0d70: 31 35 20 32 33 20 33 31 7d 0a 64 6f 5f 74 65 73  15 23 31}.do_tes
0d80: 74 20 66 74 73 31 61 2d 31 2e 31 30 20 7b 0a 20  t fts1a-1.10 {. 
0d90: 20 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54   execsql {SELECT
0da0: 20 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57   rowid FROM t1 W
0db0: 48 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54  HERE content MAT
0dc0: 43 48 20 27 6f 6e 65 20 74 77 6f 20 54 48 52 45  CH 'one two THRE
0dd0: 45 27 7d 0a 7d 20 7b 37 20 31 35 20 32 33 20 33  E'}.} {7 15 23 3
0de0: 31 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61  1}.do_test fts1a
0df0: 2d 31 2e 31 31 20 7b 0a 20 20 65 78 65 63 73 71  -1.11 {.  execsq
0e00: 6c 20 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20  l {SELECT rowid 
0e10: 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f  FROM t1 WHERE co
0e20: 6e 74 65 6e 74 20 4d 41 54 43 48 20 27 20 20 4f  ntent MATCH '  O
0e30: 4e 45 20 20 20 20 54 77 6f 20 20 20 74 68 72 65  NE    Two   thre
0e40: 65 20 20 27 7d 0a 7d 20 7b 37 20 31 35 20 32 33  e  '}.} {7 15 23
0e50: 20 33 31 7d 0a 0a 64 6f 5f 74 65 73 74 20 66 74   31}..do_test ft
0e60: 73 31 61 2d 32 2e 31 20 7b 0a 20 20 65 78 65 63  s1a-2.1 {.  exec
0e70: 73 71 6c 20 7b 53 45 4c 45 43 54 20 72 6f 77 69  sql {SELECT rowi
0e80: 64 20 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20  d FROM t1 WHERE 
0e90: 63 6f 6e 74 65 6e 74 20 4d 41 54 43 48 20 27 22  content MATCH '"
0ea0: 6f 6e 65 22 27 7d 0a 7d 20 7b 31 20 33 20 35 20  one"'}.} {1 3 5 
0eb0: 37 20 39 20 31 31 20 31 33 20 31 35 20 31 37 20  7 9 11 13 15 17 
0ec0: 31 39 20 32 31 20 32 33 20 32 35 20 32 37 20 32  19 21 23 25 27 2
0ed0: 39 20 33 31 7d 0a 64 6f 5f 74 65 73 74 20 66 74  9 31}.do_test ft
0ee0: 73 31 61 2d 32 2e 32 20 7b 0a 20 20 65 78 65 63  s1a-2.2 {.  exec
0ef0: 73 71 6c 20 7b 53 45 4c 45 43 54 20 72 6f 77 69  sql {SELECT rowi
0f00: 64 20 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20  d FROM t1 WHERE 
0f10: 63 6f 6e 74 65 6e 74 20 4d 41 54 43 48 20 27 22  content MATCH '"
0f20: 6f 6e 65 20 74 77 6f 22 27 7d 0a 7d 20 7b 33 20  one two"'}.} {3 
0f30: 37 20 31 31 20 31 35 20 31 39 20 32 33 20 32 37  7 11 15 19 23 27
0f40: 20 33 31 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73   31}.do_test fts
0f50: 31 61 2d 32 2e 33 20 7b 0a 20 20 65 78 65 63 73  1a-2.3 {.  execs
0f60: 71 6c 20 7b 53 45 4c 45 43 54 20 72 6f 77 69 64  ql {SELECT rowid
0f70: 20 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 63   FROM t1 WHERE c
0f80: 6f 6e 74 65 6e 74 20 4d 41 54 43 48 20 27 22 74  ontent MATCH '"t
0f90: 77 6f 20 6f 6e 65 22 27 7d 0a 7d 20 7b 7d 0a 64  wo one"'}.} {}.d
0fa0: 6f 5f 74 65 73 74 20 66 74 73 31 61 2d 32 2e 34  o_test fts1a-2.4
0fb0: 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 53 45   {.  execsql {SE
0fc0: 4c 45 43 54 20 72 6f 77 69 64 20 46 52 4f 4d 20  LECT rowid FROM 
0fd0: 74 31 20 57 48 45 52 45 20 63 6f 6e 74 65 6e 74  t1 WHERE content
0fe0: 20 4d 41 54 43 48 20 27 22 6f 6e 65 20 74 77 6f   MATCH '"one two
0ff0: 20 74 68 72 65 65 22 27 7d 0a 7d 20 7b 37 20 31   three"'}.} {7 1
1000: 35 20 32 33 20 33 31 7d 0a 64 6f 5f 74 65 73 74  5 23 31}.do_test
1010: 20 66 74 73 31 61 2d 32 2e 35 20 7b 0a 20 20 65   fts1a-2.5 {.  e
1020: 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20 72  xecsql {SELECT r
1030: 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48 45  owid FROM t1 WHE
1040: 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43 48  RE content MATCH
1050: 20 27 22 6f 6e 65 20 74 68 72 65 65 20 74 77 6f   '"one three two
1060: 22 27 7d 0a 7d 20 7b 7d 0a 64 6f 5f 74 65 73 74  "'}.} {}.do_test
1070: 20 66 74 73 31 61 2d 32 2e 36 20 7b 0a 20 20 65   fts1a-2.6 {.  e
1080: 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20 72  xecsql {SELECT r
1090: 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48 45  owid FROM t1 WHE
10a0: 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43 48  RE content MATCH
10b0: 20 27 22 6f 6e 65 20 74 77 6f 20 74 68 72 65 65   '"one two three
10c0: 20 66 6f 75 72 22 27 7d 0a 7d 20 7b 31 35 20 33   four"'}.} {15 3
10d0: 31 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61  1}.do_test fts1a
10e0: 2d 32 2e 37 20 7b 0a 20 20 65 78 65 63 73 71 6c  -2.7 {.  execsql
10f0: 20 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46   {SELECT rowid F
1100: 52 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e  ROM t1 WHERE con
1110: 74 65 6e 74 20 4d 41 54 43 48 20 27 22 6f 6e 65  tent MATCH '"one
1120: 20 74 68 72 65 65 20 74 77 6f 20 66 6f 75 72 22   three two four"
1130: 27 7d 0a 7d 20 7b 7d 0a 64 6f 5f 74 65 73 74 20  '}.} {}.do_test 
1140: 66 74 73 31 61 2d 32 2e 38 20 7b 0a 20 20 65 78  fts1a-2.8 {.  ex
1150: 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20 72 6f  ecsql {SELECT ro
1160: 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48 45 52  wid FROM t1 WHER
1170: 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43 48 20  E content MATCH 
1180: 27 22 6f 6e 65 20 74 68 72 65 65 20 66 69 76 65  '"one three five
1190: 22 27 7d 0a 7d 20 7b 32 31 7d 0a 64 6f 5f 74 65  "'}.} {21}.do_te
11a0: 73 74 20 66 74 73 31 61 2d 32 2e 39 20 7b 0a 20  st fts1a-2.9 {. 
11b0: 20 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54   execsql {SELECT
11c0: 20 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57   rowid FROM t1 W
11d0: 48 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54  HERE content MAT
11e0: 43 48 20 27 22 6f 6e 65 20 74 68 72 65 65 22 20  CH '"one three" 
11f0: 66 69 76 65 27 7d 0a 7d 20 7b 32 31 20 32 39 7d  five'}.} {21 29}
1200: 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d 32  .do_test fts1a-2
1210: 2e 31 30 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  .10 {.  execsql 
1220: 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52  {SELECT rowid FR
1230: 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74  OM t1 WHERE cont
1240: 65 6e 74 20 4d 41 54 43 48 20 27 66 69 76 65 20  ent MATCH 'five 
1250: 22 6f 6e 65 20 74 68 72 65 65 22 27 7d 0a 7d 20  "one three"'}.} 
1260: 7b 32 31 20 32 39 7d 0a 64 6f 5f 74 65 73 74 20  {21 29}.do_test 
1270: 66 74 73 31 61 2d 32 2e 31 31 20 7b 0a 20 20 65  fts1a-2.11 {.  e
1280: 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20 72  xecsql {SELECT r
1290: 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48 45  owid FROM t1 WHE
12a0: 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43 48  RE content MATCH
12b0: 20 27 66 69 76 65 20 22 6f 6e 65 20 74 68 72 65   'five "one thre
12c0: 65 22 20 66 6f 75 72 27 7d 0a 7d 20 7b 32 39 7d  e" four'}.} {29}
12d0: 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d 32  .do_test fts1a-2
12e0: 2e 31 32 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  .12 {.  execsql 
12f0: 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52  {SELECT rowid FR
1300: 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74  OM t1 WHERE cont
1310: 65 6e 74 20 4d 41 54 43 48 20 27 66 69 76 65 20  ent MATCH 'five 
1320: 66 6f 75 72 20 22 6f 6e 65 20 74 68 72 65 65 22  four "one three"
1330: 27 7d 0a 7d 20 7b 32 39 7d 0a 64 6f 5f 74 65 73  '}.} {29}.do_tes
1340: 74 20 66 74 73 31 61 2d 32 2e 31 33 20 7b 0a 20  t fts1a-2.13 {. 
1350: 20 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54   execsql {SELECT
1360: 20 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57   rowid FROM t1 W
1370: 48 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54  HERE content MAT
1380: 43 48 20 27 22 6f 6e 65 20 74 68 72 65 65 22 20  CH '"one three" 
1390: 66 6f 75 72 20 66 69 76 65 27 7d 0a 7d 20 7b 32  four five'}.} {2
13a0: 39 7d 0a 0a 64 6f 5f 74 65 73 74 20 66 74 73 31  9}..do_test fts1
13b0: 61 2d 33 2e 31 20 7b 0a 20 20 65 78 65 63 73 71  a-3.1 {.  execsq
13c0: 6c 20 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20  l {SELECT rowid 
13d0: 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f  FROM t1 WHERE co
13e0: 6e 74 65 6e 74 20 4d 41 54 43 48 20 27 6f 6e 65  ntent MATCH 'one
13f0: 27 7d 0a 7d 20 7b 31 20 33 20 35 20 37 20 39 20  '}.} {1 3 5 7 9 
1400: 31 31 20 31 33 20 31 35 20 31 37 20 31 39 20 32  11 13 15 17 19 2
1410: 31 20 32 33 20 32 35 20 32 37 20 32 39 20 33 31  1 23 25 27 29 31
1420: 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d  }.do_test fts1a-
1430: 33 2e 32 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  3.2 {.  execsql 
1440: 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52  {SELECT rowid FR
1450: 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74  OM t1 WHERE cont
1460: 65 6e 74 20 4d 41 54 43 48 20 27 6f 6e 65 20 2d  ent MATCH 'one -
1470: 74 77 6f 27 7d 0a 7d 20 7b 31 20 35 20 39 20 31  two'}.} {1 5 9 1
1480: 33 20 31 37 20 32 31 20 32 35 20 32 39 7d 0a 64  3 17 21 25 29}.d
1490: 6f 5f 74 65 73 74 20 66 74 73 31 61 2d 33 2e 33  o_test fts1a-3.3
14a0: 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 53 45   {.  execsql {SE
14b0: 4c 45 43 54 20 72 6f 77 69 64 20 46 52 4f 4d 20  LECT rowid FROM 
14c0: 74 31 20 57 48 45 52 45 20 63 6f 6e 74 65 6e 74  t1 WHERE content
14d0: 20 4d 41 54 43 48 20 27 2d 74 77 6f 20 6f 6e 65   MATCH '-two one
14e0: 27 7d 0a 7d 20 7b 31 20 35 20 39 20 31 33 20 31  '}.} {1 5 9 13 1
14f0: 37 20 32 31 20 32 35 20 32 39 7d 0a 0a 64 6f 5f  7 21 25 29}..do_
1500: 74 65 73 74 20 66 74 73 31 61 2d 34 2e 31 20 7b  test fts1a-4.1 {
1510: 0a 20 20 65 78 65 63 73 71 6c 20 7b 53 45 4c 45  .  execsql {SELE
1520: 43 54 20 72 6f 77 69 64 20 46 52 4f 4d 20 74 31  CT rowid FROM t1
1530: 20 57 48 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d   WHERE content M
1540: 41 54 43 48 20 27 6f 6e 65 20 4f 52 20 74 77 6f  ATCH 'one OR two
1550: 27 7d 0a 7d 20 7b 31 20 32 20 33 20 35 20 36 20  '}.} {1 2 3 5 6 
1560: 37 20 39 20 31 30 20 31 31 20 31 33 20 31 34 20  7 9 10 11 13 14 
1570: 31 35 20 31 37 20 31 38 20 31 39 20 32 31 20 32  15 17 18 19 21 2
1580: 32 20 32 33 20 32 35 20 32 36 20 32 37 20 32 39  2 23 25 26 27 29
1590: 20 33 30 20 33 31 7d 0a 64 6f 5f 74 65 73 74 20   30 31}.do_test 
15a0: 66 74 73 31 61 2d 34 2e 32 20 7b 0a 20 20 65 78  fts1a-4.2 {.  ex
15b0: 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20 72 6f  ecsql {SELECT ro
15c0: 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48 45 52  wid FROM t1 WHER
15d0: 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43 48 20  E content MATCH 
15e0: 27 22 6f 6e 65 20 74 77 6f 22 20 4f 52 20 74 68  '"one two" OR th
15f0: 72 65 65 27 7d 0a 7d 20 7b 33 20 34 20 35 20 36  ree'}.} {3 4 5 6
1600: 20 37 20 31 31 20 31 32 20 31 33 20 31 34 20 31   7 11 12 13 14 1
1610: 35 20 31 39 20 32 30 20 32 31 20 32 32 20 32 33  5 19 20 21 22 23
1620: 20 32 37 20 32 38 20 32 39 20 33 30 20 33 31 7d   27 28 29 30 31}
1630: 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61 2d 34  .do_test fts1a-4
1640: 2e 33 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b  .3 {.  execsql {
1650: 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46 52 4f  SELECT rowid FRO
1660: 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e 74 65  M t1 WHERE conte
1670: 6e 74 20 4d 41 54 43 48 20 27 74 68 72 65 65 20  nt MATCH 'three 
1680: 4f 52 20 22 6f 6e 65 20 74 77 6f 22 27 7d 0a 7d  OR "one two"'}.}
1690: 20 7b 33 20 34 20 35 20 36 20 37 20 31 31 20 31   {3 4 5 6 7 11 1
16a0: 32 20 31 33 20 31 34 20 31 35 20 31 39 20 32 30  2 13 14 15 19 20
16b0: 20 32 31 20 32 32 20 32 33 20 32 37 20 32 38 20   21 22 23 27 28 
16c0: 32 39 20 33 30 20 33 31 7d 0a 64 6f 5f 74 65 73  29 30 31}.do_tes
16d0: 74 20 66 74 73 31 61 2d 34 2e 34 20 7b 0a 20 20  t fts1a-4.4 {.  
16e0: 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20  execsql {SELECT 
16f0: 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48  rowid FROM t1 WH
1700: 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43  ERE content MATC
1710: 48 20 27 6f 6e 65 20 74 77 6f 20 4f 52 20 74 68  H 'one two OR th
1720: 72 65 65 27 7d 0a 7d 20 7b 33 20 35 20 37 20 31  ree'}.} {3 5 7 1
1730: 31 20 31 33 20 31 35 20 31 39 20 32 31 20 32 33  1 13 15 19 21 23
1740: 20 32 37 20 32 39 20 33 31 7d 0a 64 6f 5f 74 65   27 29 31}.do_te
1750: 73 74 20 66 74 73 31 61 2d 34 2e 35 20 7b 0a 20  st fts1a-4.5 {. 
1760: 20 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54   execsql {SELECT
1770: 20 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57   rowid FROM t1 W
1780: 48 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54  HERE content MAT
1790: 43 48 20 27 74 68 72 65 65 20 4f 52 20 74 77 6f  CH 'three OR two
17a0: 20 6f 6e 65 27 7d 0a 7d 20 7b 33 20 35 20 37 20   one'}.} {3 5 7 
17b0: 31 31 20 31 33 20 31 35 20 31 39 20 32 31 20 32  11 13 15 19 21 2
17c0: 33 20 32 37 20 32 39 20 33 31 7d 0a 64 6f 5f 74  3 27 29 31}.do_t
17d0: 65 73 74 20 66 74 73 31 61 2d 34 2e 36 20 7b 0a  est fts1a-4.6 {.
17e0: 20 20 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43    execsql {SELEC
17f0: 54 20 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20  T rowid FROM t1 
1800: 57 48 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41  WHERE content MA
1810: 54 43 48 20 27 6f 6e 65 20 74 77 6f 20 4f 52 20  TCH 'one two OR 
1820: 74 68 72 65 65 20 4f 52 20 66 6f 75 72 27 7d 0a  three OR four'}.
1830: 7d 20 7b 33 20 35 20 37 20 39 20 31 31 20 31 33  } {3 5 7 9 11 13
1840: 20 31 35 20 31 39 20 32 31 20 32 33 20 32 35 20   15 19 21 23 25 
1850: 32 37 20 32 39 20 33 31 7d 0a 64 6f 5f 74 65 73  27 29 31}.do_tes
1860: 74 20 66 74 73 31 61 2d 34 2e 37 20 7b 0a 20 20  t fts1a-4.7 {.  
1870: 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20  execsql {SELECT 
1880: 72 6f 77 69 64 20 46 52 4f 4d 20 74 31 20 57 48  rowid FROM t1 WH
1890: 45 52 45 20 63 6f 6e 74 65 6e 74 20 4d 41 54 43  ERE content MATC
18a0: 48 20 27 74 77 6f 20 4f 52 20 74 68 72 65 65 20  H 'two OR three 
18b0: 4f 52 20 66 6f 75 72 20 6f 6e 65 27 7d 0a 7d 20  OR four one'}.} 
18c0: 7b 33 20 35 20 37 20 39 20 31 31 20 31 33 20 31  {3 5 7 9 11 13 1
18d0: 35 20 31 39 20 32 31 20 32 33 20 32 35 20 32 37  5 19 21 23 25 27
18e0: 20 32 39 20 33 31 7d 0a 0a 23 20 54 65 73 74 20   29 31}..# Test 
18f0: 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 68  the ability to h
1900: 61 6e 64 6c 65 20 4e 55 4c 4c 20 63 6f 6e 74 65  andle NULL conte
1910: 6e 74 0a 23 0a 64 6f 5f 74 65 73 74 20 66 74 73  nt.#.do_test fts
1920: 31 61 2d 35 2e 31 20 7b 0a 20 20 65 78 65 63 73  1a-5.1 {.  execs
1930: 71 6c 20 7b 49 4e 53 45 52 54 20 49 4e 54 4f 20  ql {INSERT INTO 
1940: 74 31 28 63 6f 6e 74 65 6e 74 29 20 56 41 4c 55  t1(content) VALU
1950: 45 53 28 4e 55 4c 4c 29 7d 0a 7d 20 7b 7d 0a 64  ES(NULL)}.} {}.d
1960: 6f 5f 74 65 73 74 20 66 74 73 31 61 2d 35 2e 32  o_test fts1a-5.2
1970: 20 7b 0a 20 20 73 65 74 20 72 6f 77 69 64 20 5b   {.  set rowid [
1980: 64 62 20 6c 61 73 74 5f 69 6e 73 65 72 74 5f 72  db last_insert_r
1990: 6f 77 69 64 5d 0a 20 20 65 78 65 63 73 71 6c 20  owid].  execsql 
19a0: 7b 53 45 4c 45 43 54 20 63 6f 6e 74 65 6e 74 20  {SELECT content 
19b0: 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 72 6f  FROM t1 WHERE ro
19c0: 77 69 64 3d 24 72 6f 77 69 64 7d 0a 7d 20 7b 7b  wid=$rowid}.} {{
19d0: 7d 7d 0a 64 6f 5f 74 65 73 74 20 66 74 73 31 61  }}.do_test fts1a
19e0: 2d 35 2e 33 20 7b 0a 20 20 65 78 65 63 73 71 6c  -5.3 {.  execsql
19f0: 20 7b 53 45 4c 45 43 54 20 72 6f 77 69 64 20 46   {SELECT rowid F
1a00: 52 4f 4d 20 74 31 20 57 48 45 52 45 20 63 6f 6e  ROM t1 WHERE con
1a10: 74 65 6e 74 20 4d 41 54 43 48 20 4e 55 4c 4c 7d  tent MATCH NULL}
1a20: 0a 7d 20 7b 7d 0a 0a 0a 0a 66 69 6e 69 73 68 5f  .} {}....finish_
1a30: 74 65 73 74 0a                                   test.