/ Hex Artifact Content
Login

Artifact 2459e7fa3e22734aed237d1e2ae192f5541c4d8b218956ad2d90754977bf907f:


0000: 23 20 32 30 31 31 20 4a 61 6e 75 61 72 79 20 32  # 2011 January 2
0010: 37 0a 23 0a 23 20 54 68 65 20 61 75 74 68 6f 72  7.#.# The author
0020: 20 64 69 73 63 6c 61 69 6d 73 20 63 6f 70 79 72   disclaims copyr
0030: 69 67 68 74 20 74 6f 20 74 68 69 73 20 73 6f 75  ight to this sou
0040: 72 63 65 20 63 6f 64 65 2e 20 20 49 6e 20 70 6c  rce code.  In pl
0050: 61 63 65 20 6f 66 0a 23 20 61 20 6c 65 67 61 6c  ace of.# a legal
0060: 20 6e 6f 74 69 63 65 2c 20 68 65 72 65 20 69 73   notice, here is
0070: 20 61 20 62 6c 65 73 73 69 6e 67 3a 0a 23 0a 23   a blessing:.#.#
0080: 20 20 20 20 4d 61 79 20 79 6f 75 20 64 6f 20 67      May you do g
0090: 6f 6f 64 20 61 6e 64 20 6e 6f 74 20 65 76 69 6c  ood and not evil
00a0: 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20 66  ..#    May you f
00b0: 69 6e 64 20 66 6f 72 67 69 76 65 6e 65 73 73 20  ind forgiveness 
00c0: 66 6f 72 20 79 6f 75 72 73 65 6c 66 20 61 6e 64  for yourself and
00d0: 20 66 6f 72 67 69 76 65 20 6f 74 68 65 72 73 2e   forgive others.
00e0: 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20 73 68  .#    May you sh
00f0: 61 72 65 20 66 72 65 65 6c 79 2c 20 6e 65 76 65  are freely, neve
0100: 72 20 74 61 6b 69 6e 67 20 6d 6f 72 65 20 74 68  r taking more th
0110: 61 6e 20 79 6f 75 20 67 69 76 65 2e 0a 23 0a 23  an you 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 2a 2a 2a 2a 2a 2a 2a 0a 23 20 54 68 69 73  *********.# This
0170: 20 66 69 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73   file implements
0180: 20 72 65 67 72 65 73 73 69 6f 6e 20 74 65 73 74   regression test
0190: 73 20 66 6f 72 20 53 51 4c 69 74 65 20 6c 69 62  s for SQLite lib
01a0: 72 61 72 79 2e 20 20 54 68 65 0a 23 20 66 6f 63  rary.  The.# foc
01b0: 75 73 20 6f 66 20 74 68 69 73 20 73 63 72 69 70  us of this scrip
01c0: 74 20 69 73 20 74 65 73 74 69 6e 67 20 74 68 65  t is testing the
01d0: 20 46 54 53 33 20 6d 6f 64 75 6c 65 2e 0a 23 0a   FTS3 module..#.
01e0: 0a 73 65 74 20 74 65 73 74 64 69 72 20 5b 66 69  .set testdir [fi
01f0: 6c 65 20 64 69 72 6e 61 6d 65 20 24 61 72 67 76  le dirname $argv
0200: 30 5d 0a 73 6f 75 72 63 65 20 24 74 65 73 74 64  0].source $testd
0210: 69 72 2f 74 65 73 74 65 72 2e 74 63 6c 0a 69 66  ir/tester.tcl.if
0220: 63 61 70 61 62 6c 65 20 21 66 74 73 33 20 7b 20  capable !fts3 { 
0230: 66 69 6e 69 73 68 5f 74 65 73 74 20 3b 20 72 65  finish_test ; re
0240: 74 75 72 6e 20 7d 0a 73 65 74 20 3a 3a 74 65 73  turn }.set ::tes
0250: 74 70 72 65 66 69 78 20 66 74 73 33 61 75 78 32  tprefix fts3aux2
0260: 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73  ..do_execsql_tes
0270: 74 20 31 2e 31 20 7b 0a 20 20 43 52 45 41 54 45  t 1.1 {.  CREATE
0280: 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20 74   VIRTUAL TABLE t
0290: 31 20 55 53 49 4e 47 20 66 74 73 34 28 61 2c 20  1 USING fts4(a, 
02a0: 62 2c 20 6c 61 6e 67 75 61 67 65 69 64 3d 6c 29  b, languageid=l)
02b0: 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20  ;.  INSERT INTO 
02c0: 74 31 28 61 2c 20 62 2c 20 6c 29 20 56 41 4c 55  t1(a, b, l) VALU
02d0: 45 53 0a 20 20 20 20 28 27 7a 65 72 6f 20 7a 65  ES.    ('zero ze
02e0: 72 6f 27 2c 20 27 7a 65 72 6f 20 7a 65 72 6f 27  ro', 'zero zero'
02f0: 2c 20 30 29 2c 0a 20 20 20 20 28 27 6f 6e 65 20  , 0),.    ('one 
0300: 74 77 6f 27 2c 20 27 74 68 72 65 65 20 66 6f 75  two', 'three fou
0310: 72 27 2c 20 31 29 2c 0a 20 20 20 20 28 27 66 69  r', 1),.    ('fi
0320: 76 65 20 73 69 78 27 2c 20 27 73 65 76 65 6e 20  ve six', 'seven 
0330: 65 69 67 68 74 27 2c 20 32 29 0a 20 20 3b 0a 20  eight', 2).  ;. 
0340: 20 43 52 45 41 54 45 20 56 49 52 54 55 41 4c 20   CREATE VIRTUAL 
0350: 54 41 42 4c 45 20 74 65 72 6d 73 20 55 53 49 4e  TABLE terms USIN
0360: 47 20 66 74 73 34 61 75 78 28 74 31 29 3b 0a 7d  G fts4aux(t1);.}
0370: 20 7b 7d 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f   {}..do_execsql_
0380: 74 65 73 74 20 31 2e 32 2e 31 20 7b 0a 20 20 53  test 1.2.1 {.  S
0390: 45 4c 45 43 54 20 74 65 72 6d 2c 20 64 6f 63 75  ELECT term, docu
03a0: 6d 65 6e 74 73 2c 20 6f 63 63 75 72 72 65 6e 63  ments, occurrenc
03b0: 65 73 2c 20 6c 61 6e 67 75 61 67 65 69 64 20 46  es, languageid F
03c0: 52 4f 4d 20 74 65 72 6d 73 20 57 48 45 52 45 20  ROM terms WHERE 
03d0: 63 6f 6c 20 3d 20 27 2a 27 3b 0a 7d 20 7b 7a 65  col = '*';.} {ze
03e0: 72 6f 20 31 20 34 20 30 7d 0a 0a 64 6f 5f 65 78  ro 1 4 0}..do_ex
03f0: 65 63 73 71 6c 5f 74 65 73 74 20 31 2e 32 2e 32  ecsql_test 1.2.2
0400: 20 7b 0a 20 20 53 45 4c 45 43 54 20 2a 20 46 52   {.  SELECT * FR
0410: 4f 4d 20 74 65 72 6d 73 3b 0a 7d 20 7b 7a 65 72  OM terms;.} {zer
0420: 6f 20 2a 20 31 20 34 20 7a 65 72 6f 20 30 20 31  o * 1 4 zero 0 1
0430: 20 32 20 7a 65 72 6f 20 31 20 31 20 32 7d 0a 0a   2 zero 1 1 2}..
0440: 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73 74 20  do_execsql_test 
0450: 31 2e 32 2e 33 20 7b 0a 20 20 53 45 4c 45 43 54  1.2.3 {.  SELECT
0460: 20 2a 20 46 52 4f 4d 20 74 65 72 6d 73 20 57 48   * FROM terms WH
0470: 45 52 45 20 6c 61 6e 67 75 61 67 65 69 64 3d 27  ERE languageid='
0480: 27 3b 0a 7d 20 7b 7d 0a 0a 64 6f 5f 65 78 65 63  ';.} {}..do_exec
0490: 73 71 6c 5f 74 65 73 74 20 31 2e 32 2e 34 20 7b  sql_test 1.2.4 {
04a0: 0a 20 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d  .  SELECT * FROM
04b0: 20 74 65 72 6d 73 20 57 48 45 52 45 20 6c 61 6e   terms WHERE lan
04c0: 67 75 61 67 65 69 64 3d 2d 31 3b 0a 7d 20 7b 7d  guageid=-1;.} {}
04d0: 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73  ..do_execsql_tes
04e0: 74 20 31 2e 32 2e 35 20 7b 0a 20 20 53 45 4c 45  t 1.2.5 {.  SELE
04f0: 43 54 20 2a 20 46 52 4f 4d 20 74 65 72 6d 73 20  CT * FROM terms 
0500: 57 48 45 52 45 20 6c 61 6e 67 75 61 67 65 69 64  WHERE languageid
0510: 3d 39 32 32 33 33 37 32 30 33 36 38 35 34 37 37  =922337203685477
0520: 35 38 30 37 3b 0a 7d 20 7b 7d 0a 0a 64 6f 5f 65  5807;.} {}..do_e
0530: 78 65 63 73 71 6c 5f 74 65 73 74 20 31 2e 32 2e  xecsql_test 1.2.
0540: 36 20 7b 0a 20 20 53 45 4c 45 43 54 20 2a 20 46  6 {.  SELECT * F
0550: 52 4f 4d 20 74 65 72 6d 73 20 57 48 45 52 45 20  ROM terms WHERE 
0560: 6c 61 6e 67 75 61 67 65 69 64 3d 2d 39 32 32 33  languageid=-9223
0570: 33 37 32 30 33 36 38 35 34 37 37 35 38 30 38 3b  372036854775808;
0580: 0a 7d 20 7b 7d 0a 0a 64 6f 5f 65 78 65 63 73 71  .} {}..do_execsq
0590: 6c 5f 74 65 73 74 20 31 2e 32 2e 37 20 7b 0a 20  l_test 1.2.7 {. 
05a0: 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74   SELECT * FROM t
05b0: 65 72 6d 73 20 57 48 45 52 45 20 6c 61 6e 67 75  erms WHERE langu
05c0: 61 67 65 69 64 3d 4e 55 4c 4c 3b 0a 7d 20 7b 7d  ageid=NULL;.} {}
05d0: 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73  ..do_execsql_tes
05e0: 74 20 31 2e 33 2e 31 20 7b 0a 20 20 53 45 4c 45  t 1.3.1 {.  SELE
05f0: 43 54 20 74 65 72 6d 2c 20 64 6f 63 75 6d 65 6e  CT term, documen
0600: 74 73 2c 20 6f 63 63 75 72 72 65 6e 63 65 73 2c  ts, occurrences,
0610: 20 6c 61 6e 67 75 61 67 65 69 64 20 0a 20 20 46   languageid .  F
0620: 52 4f 4d 20 74 65 72 6d 73 20 57 48 45 52 45 20  ROM terms WHERE 
0630: 63 6f 6c 20 3d 20 27 2a 27 20 41 4e 44 20 6c 61  col = '*' AND la
0640: 6e 67 75 61 67 65 69 64 3d 31 3b 0a 7d 20 7b 0a  nguageid=1;.} {.
0650: 20 20 66 6f 75 72 20 31 20 31 20 31 20 6f 6e 65    four 1 1 1 one
0660: 20 31 20 31 20 31 20 74 68 72 65 65 20 31 20 31   1 1 1 three 1 1
0670: 20 31 20 74 77 6f 20 31 20 31 20 31 20 0a 7d 0a   1 two 1 1 1 .}.
0680: 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73 74  .do_execsql_test
0690: 20 31 2e 33 2e 32 20 7b 0a 20 20 53 45 4c 45 43   1.3.2 {.  SELEC
06a0: 54 20 74 65 72 6d 2c 20 63 6f 6c 2c 20 64 6f 63  T term, col, doc
06b0: 75 6d 65 6e 74 73 2c 20 6f 63 63 75 72 72 65 6e  uments, occurren
06c0: 63 65 73 2c 20 6c 61 6e 67 75 61 67 65 69 64 20  ces, languageid 
06d0: 0a 20 20 46 52 4f 4d 20 74 65 72 6d 73 20 57 48  .  FROM terms WH
06e0: 45 52 45 20 6c 61 6e 67 75 61 67 65 69 64 3d 31  ERE languageid=1
06f0: 3b 0a 7d 20 7b 0a 20 20 66 6f 75 72 20 2a 20 31  ;.} {.  four * 1
0700: 20 31 20 31 20 20 20 66 6f 75 72 20 31 20 31 20   1 1   four 1 1 
0710: 31 20 31 20 0a 20 20 6f 6e 65 20 2a 20 31 20 31  1 1 .  one * 1 1
0720: 20 31 20 20 20 20 6f 6e 65 20 30 20 31 20 31 20   1    one 0 1 1 
0730: 31 20 0a 20 20 74 68 72 65 65 20 2a 20 31 20 31  1 .  three * 1 1
0740: 20 31 20 20 74 68 72 65 65 20 31 20 31 20 31 20   1  three 1 1 1 
0750: 31 20 0a 20 20 74 77 6f 20 2a 20 31 20 31 20 31  1 .  two * 1 1 1
0760: 20 20 20 20 74 77 6f 20 30 20 31 20 31 20 31 20      two 0 1 1 1 
0770: 0a 7d 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74  .}..do_execsql_t
0780: 65 73 74 20 31 2e 33 2e 33 20 7b 0a 20 20 53 45  est 1.3.3 {.  SE
0790: 4c 45 43 54 20 74 65 72 6d 2c 20 63 6f 6c 2c 20  LECT term, col, 
07a0: 64 6f 63 75 6d 65 6e 74 73 2c 20 6f 63 63 75 72  documents, occur
07b0: 72 65 6e 63 65 73 2c 20 6c 61 6e 67 75 61 67 65  rences, language
07c0: 69 64 20 0a 20 20 46 52 4f 4d 20 74 65 72 6d 73  id .  FROM terms
07d0: 20 57 48 45 52 45 20 6c 61 6e 67 75 61 67 65 69   WHERE languagei
07e0: 64 3d 31 20 41 4e 44 20 74 65 72 6d 3d 27 7a 65  d=1 AND term='ze
07f0: 72 6f 27 0a 7d 20 7b 0a 7d 0a 0a 64 6f 5f 65 78  ro'.} {.}..do_ex
0800: 65 63 73 71 6c 5f 74 65 73 74 20 31 2e 33 2e 34  ecsql_test 1.3.4
0810: 20 7b 0a 20 20 53 45 4c 45 43 54 20 74 65 72 6d   {.  SELECT term
0820: 2c 20 63 6f 6c 2c 20 64 6f 63 75 6d 65 6e 74 73  , col, documents
0830: 2c 20 6f 63 63 75 72 72 65 6e 63 65 73 2c 20 6c  , occurrences, l
0840: 61 6e 67 75 61 67 65 69 64 20 0a 20 20 46 52 4f  anguageid .  FRO
0850: 4d 20 74 65 72 6d 73 20 57 48 45 52 45 20 6c 61  M terms WHERE la
0860: 6e 67 75 61 67 65 69 64 3d 27 31 27 20 41 4e 44  nguageid='1' AND
0870: 20 74 65 72 6d 3d 27 74 77 6f 27 0a 7d 20 7b 0a   term='two'.} {.
0880: 20 20 74 77 6f 20 2a 20 31 20 31 20 31 20 20 20    two * 1 1 1   
0890: 20 74 77 6f 20 30 20 31 20 31 20 31 20 0a 7d 0a   two 0 1 1 1 .}.
08a0: 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73 74  .do_execsql_test
08b0: 20 31 2e 33 2e 35 20 7b 0a 20 20 53 45 4c 45 43   1.3.5 {.  SELEC
08c0: 54 20 74 65 72 6d 2c 20 63 6f 6c 2c 20 64 6f 63  T term, col, doc
08d0: 75 6d 65 6e 74 73 2c 20 6f 63 63 75 72 72 65 6e  uments, occurren
08e0: 63 65 73 2c 20 6c 61 6e 67 75 61 67 65 69 64 20  ces, languageid 
08f0: 0a 20 20 46 52 4f 4d 20 74 65 72 6d 73 20 57 48  .  FROM terms WH
0900: 45 52 45 20 6c 61 6e 67 75 61 67 65 69 64 3d 27  ERE languageid='
0910: 2b 31 27 20 41 4e 44 20 74 65 72 6d 3e 27 66 6f  +1' AND term>'fo
0920: 75 72 27 0a 7d 20 7b 0a 20 20 6f 6e 65 20 2a 20  ur'.} {.  one * 
0930: 31 20 31 20 31 20 20 20 20 6f 6e 65 20 30 20 31  1 1 1    one 0 1
0940: 20 31 20 31 20 0a 20 20 74 68 72 65 65 20 2a 20   1 1 .  three * 
0950: 31 20 31 20 31 20 20 74 68 72 65 65 20 31 20 31  1 1 1  three 1 1
0960: 20 31 20 31 20 0a 20 20 74 77 6f 20 2a 20 31 20   1 1 .  two * 1 
0970: 31 20 31 20 20 20 20 74 77 6f 20 30 20 31 20 31  1 1    two 0 1 1
0980: 20 31 20 0a 7d 0a 0a 64 6f 5f 65 78 65 63 73 71   1 .}..do_execsq
0990: 6c 5f 74 65 73 74 20 31 2e 34 2e 31 20 7b 0a 20  l_test 1.4.1 {. 
09a0: 20 53 45 4c 45 43 54 20 74 65 72 6d 2c 20 64 6f   SELECT term, do
09b0: 63 75 6d 65 6e 74 73 2c 20 6f 63 63 75 72 72 65  cuments, occurre
09c0: 6e 63 65 73 2c 20 6c 61 6e 67 75 61 67 65 69 64  nces, languageid
09d0: 20 0a 20 20 46 52 4f 4d 20 74 65 72 6d 73 20 57   .  FROM terms W
09e0: 48 45 52 45 20 63 6f 6c 20 3d 20 27 2a 27 20 41  HERE col = '*' A
09f0: 4e 44 20 6c 61 6e 67 75 61 67 65 69 64 3d 32 3b  ND languageid=2;
0a00: 0a 7d 20 7b 0a 20 20 65 69 67 68 74 20 31 20 31  .} {.  eight 1 1
0a10: 20 32 20 66 69 76 65 20 31 20 31 20 32 20 73 65   2 five 1 1 2 se
0a20: 76 65 6e 20 31 20 31 20 32 20 73 69 78 20 31 20  ven 1 1 2 six 1 
0a30: 31 20 32 0a 7d 0a 0a 64 6f 5f 65 78 65 63 73 71  1 2.}..do_execsq
0a40: 6c 5f 74 65 73 74 20 31 2e 34 2e 32 20 7b 0a 20  l_test 1.4.2 {. 
0a50: 20 53 45 4c 45 43 54 20 74 65 72 6d 2c 20 63 6f   SELECT term, co
0a60: 6c 2c 20 64 6f 63 75 6d 65 6e 74 73 2c 20 6f 63  l, documents, oc
0a70: 63 75 72 72 65 6e 63 65 73 2c 20 6c 61 6e 67 75  currences, langu
0a80: 61 67 65 69 64 20 0a 20 20 46 52 4f 4d 20 74 65  ageid .  FROM te
0a90: 72 6d 73 20 57 48 45 52 45 20 6c 61 6e 67 75 61  rms WHERE langua
0aa0: 67 65 69 64 3d 32 3b 0a 7d 20 7b 0a 20 20 65 69  geid=2;.} {.  ei
0ab0: 67 68 74 20 2a 20 31 20 31 20 32 20 20 20 20 65  ght * 1 1 2    e
0ac0: 69 67 68 74 20 31 20 31 20 31 20 32 20 0a 20 20  ight 1 1 1 2 .  
0ad0: 66 69 76 65 20 2a 20 31 20 31 20 32 20 20 20 20  five * 1 1 2    
0ae0: 20 66 69 76 65 20 30 20 31 20 31 20 32 20 0a 20   five 0 1 1 2 . 
0af0: 20 73 65 76 65 6e 20 2a 20 31 20 31 20 32 20 20   seven * 1 1 2  
0b00: 20 20 73 65 76 65 6e 20 31 20 31 20 31 20 32 20    seven 1 1 1 2 
0b10: 0a 20 20 73 69 78 20 2a 20 31 20 31 20 32 20 20  .  six * 1 1 2  
0b20: 20 20 20 20 73 69 78 20 30 20 31 20 31 20 32 0a      six 0 1 1 2.
0b30: 7d 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65  }..do_execsql_te
0b40: 73 74 20 31 2e 34 2e 33 20 7b 0a 20 20 53 45 4c  st 1.4.3 {.  SEL
0b50: 45 43 54 20 74 65 72 6d 2c 20 63 6f 6c 2c 20 64  ECT term, col, d
0b60: 6f 63 75 6d 65 6e 74 73 2c 20 6f 63 63 75 72 72  ocuments, occurr
0b70: 65 6e 63 65 73 2c 20 6c 61 6e 67 75 61 67 65 69  ences, languagei
0b80: 64 20 0a 20 20 46 52 4f 4d 20 74 65 72 6d 73 20  d .  FROM terms 
0b90: 57 48 45 52 45 20 6c 61 6e 67 75 61 67 65 69 64  WHERE languageid
0ba0: 3d 32 20 41 4e 44 20 74 65 72 6d 3d 27 66 69 76  =2 AND term='fiv
0bb0: 65 27 3b 0a 7d 20 7b 0a 20 20 66 69 76 65 20 2a  e';.} {.  five *
0bc0: 20 31 20 31 20 32 20 20 20 20 20 66 69 76 65 20   1 1 2     five 
0bd0: 30 20 31 20 31 20 32 20 0a 7d 0a 0a 64 6f 5f 65  0 1 1 2 .}..do_e
0be0: 78 65 63 73 71 6c 5f 74 65 73 74 20 31 2e 34 2e  xecsql_test 1.4.
0bf0: 34 20 7b 0a 20 20 53 45 4c 45 43 54 20 74 65 72  4 {.  SELECT ter
0c00: 6d 2c 20 63 6f 6c 2c 20 64 6f 63 75 6d 65 6e 74  m, col, document
0c10: 73 2c 20 6f 63 63 75 72 72 65 6e 63 65 73 2c 20  s, occurrences, 
0c20: 6c 61 6e 67 75 61 67 65 69 64 20 0a 20 20 46 52  languageid .  FR
0c30: 4f 4d 20 74 65 72 6d 73 20 57 48 45 52 45 20 74  OM terms WHERE t
0c40: 65 72 6d 3d 27 66 69 76 65 27 20 41 4e 44 20 6c  erm='five' AND l
0c50: 61 6e 67 75 61 67 65 69 64 3d 32 20 0a 7d 20 7b  anguageid=2 .} {
0c60: 0a 20 20 66 69 76 65 20 2a 20 31 20 31 20 32 20  .  five * 1 1 2 
0c70: 20 20 20 20 66 69 76 65 20 30 20 31 20 31 20 32      five 0 1 1 2
0c80: 20 0a 7d 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f   .}..do_execsql_
0c90: 74 65 73 74 20 31 2e 34 2e 35 20 7b 0a 20 20 53  test 1.4.5 {.  S
0ca0: 45 4c 45 43 54 20 74 65 72 6d 2c 20 63 6f 6c 2c  ELECT term, col,
0cb0: 20 64 6f 63 75 6d 65 6e 74 73 2c 20 6f 63 63 75   documents, occu
0cc0: 72 72 65 6e 63 65 73 2c 20 6c 61 6e 67 75 61 67  rrences, languag
0cd0: 65 69 64 20 0a 20 20 46 52 4f 4d 20 74 65 72 6d  eid .  FROM term
0ce0: 73 20 57 48 45 52 45 20 74 65 72 6d 3e 3d 27 73  s WHERE term>='s
0cf0: 65 76 65 6e 27 20 41 4e 44 20 6c 61 6e 67 75 61  even' AND langua
0d00: 67 65 69 64 3d 32 0a 7d 20 7b 0a 20 20 73 65 76  geid=2.} {.  sev
0d10: 65 6e 20 2a 20 31 20 31 20 32 20 20 20 20 73 65  en * 1 1 2    se
0d20: 76 65 6e 20 31 20 31 20 31 20 32 20 0a 20 20 73  ven 1 1 1 2 .  s
0d30: 69 78 20 2a 20 31 20 31 20 32 20 20 20 20 20 20  ix * 1 1 2      
0d40: 73 69 78 20 30 20 31 20 31 20 32 0a 7d 0a 0a 64  six 0 1 1 2.}..d
0d50: 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73 74 20 31  o_execsql_test 1
0d60: 2e 34 2e 36 20 7b 0a 20 20 53 45 4c 45 43 54 20  .4.6 {.  SELECT 
0d70: 74 65 72 6d 2c 20 63 6f 6c 2c 20 64 6f 63 75 6d  term, col, docum
0d80: 65 6e 74 73 2c 20 6f 63 63 75 72 72 65 6e 63 65  ents, occurrence
0d90: 73 2c 20 6c 61 6e 67 75 61 67 65 69 64 20 0a 20  s, languageid . 
0da0: 20 46 52 4f 4d 20 74 65 72 6d 73 20 57 48 45 52   FROM terms WHER
0db0: 45 20 74 65 72 6d 3e 3d 27 65 27 20 41 4e 44 20  E term>='e' AND 
0dc0: 74 65 72 6d 3c 27 73 65 76 65 6e 27 20 41 4e 44  term<'seven' AND
0dd0: 20 6c 61 6e 67 75 61 67 65 69 64 3d 32 0a 7d 20   languageid=2.} 
0de0: 7b 0a 20 20 65 69 67 68 74 20 2a 20 31 20 31 20  {.  eight * 1 1 
0df0: 32 20 20 20 20 65 69 67 68 74 20 31 20 31 20 31  2    eight 1 1 1
0e00: 20 32 20 0a 20 20 66 69 76 65 20 2a 20 31 20 31   2 .  five * 1 1
0e10: 20 32 20 20 20 20 20 66 69 76 65 20 30 20 31 20   2     five 0 1 
0e20: 31 20 32 20 0a 7d 0a 0a 23 2d 2d 2d 2d 2d 2d 2d  1 2 .}..#-------
0e30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0e40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0e50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0e60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0e70: 2d 2d 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65  --.do_execsql_te
0e80: 73 74 20 32 2e 30 20 7b 0a 20 20 43 52 45 41 54  st 2.0 {.  CREAT
0e90: 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45 20  E VIRTUAL TABLE 
0ea0: 66 74 20 55 53 49 4e 47 20 66 74 73 33 28 29 3b  ft USING fts3();
0eb0: 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 66  .  INSERT INTO f
0ec0: 74 20 56 41 4c 55 45 53 28 27 61 5f 32 33 34 35  t VALUES('a_2345
0ed0: 36 37 38 39 30 31 32 33 34 35 36 37 38 39 27 29  67890123456789')
0ee0: 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20  ;.  INSERT INTO 
0ef0: 66 74 20 56 41 4c 55 45 53 28 27 62 5f 32 33 34  ft VALUES('b_234
0f00: 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 27  567890123456789'
0f10: 29 3b 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  );.  INSERT INTO
0f20: 20 66 74 20 56 41 4c 55 45 53 28 27 63 5f 32 33   ft VALUES('c_23
0f30: 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39  4567890123456789
0f40: 27 29 3b 0a 20 20 43 52 45 41 54 45 20 56 49 52  ');.  CREATE VIR
0f50: 54 55 41 4c 20 54 41 42 4c 45 20 74 32 20 55 53  TUAL TABLE t2 US
0f60: 49 4e 47 20 66 74 73 34 61 75 78 28 66 74 29 3b  ING fts4aux(ft);
0f70: 0a 7d 0a 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74  .}..do_execsql_t
0f80: 65 73 74 20 32 2e 31 20 7b 0a 20 20 53 45 4c 45  est 2.1 {.  SELE
0f90: 43 54 20 74 65 72 6d 20 46 52 4f 4d 20 74 32 20  CT term FROM t2 
0fa0: 57 48 45 52 45 20 74 65 72 6d 3d 58 27 36 32 35  WHERE term=X'625
0fb0: 66 33 32 33 33 33 34 33 35 33 36 33 37 33 38 33  f323334353637383
0fc0: 39 33 30 33 31 33 32 33 33 33 34 33 35 33 36 33  9303132333435363
0fd0: 37 33 38 33 39 27 3b 0a 7d 0a 0a 64 6f 5f 65 78  73839';.}..do_ex
0fe0: 65 63 73 71 6c 5f 74 65 73 74 20 32 2e 32 20 7b  ecsql_test 2.2 {
0ff0: 0a 20 20 53 45 4c 45 43 54 20 74 65 72 6d 20 46  .  SELECT term F
1000: 52 4f 4d 20 74 32 20 57 48 45 52 45 20 74 65 72  ROM t2 WHERE ter
1010: 6d 3c 58 27 36 32 35 66 30 30 33 33 33 34 33 35  m<X'625f00333435
1020: 33 36 33 37 33 38 33 39 33 30 33 31 33 32 33 33  3637383930313233
1030: 33 34 33 35 33 36 33 37 33 38 33 39 27 3b 0a 7d  343536373839';.}
1040: 20 7b 0a 20 20 32 33 34 35 36 37 38 39 30 31 32   {.  23456789012
1050: 33 34 35 36 37 38 39 20 32 33 34 35 36 37 38 39  3456789 23456789
1060: 30 31 32 33 34 35 36 37 38 39 20 61 20 61 20 62  0123456789 a a b
1070: 20 62 0a 7d 0a 0a 64 6f 5f 65 78 65 63 73 71 6c   b.}..do_execsql
1080: 5f 74 65 73 74 20 32 2e 33 20 7b 0a 20 20 53 45  _test 2.3 {.  SE
1090: 4c 45 43 54 20 74 65 72 6d 20 46 52 4f 4d 20 74  LECT term FROM t
10a0: 32 20 57 48 45 52 45 20 74 65 72 6d 3d 58 27 36  2 WHERE term=X'6
10b0: 32 35 66 30 30 33 33 33 34 33 35 33 36 33 37 33  25f0033343536373
10c0: 38 33 39 33 30 33 31 33 32 33 33 33 34 33 35 33  8393031323334353
10d0: 36 33 37 33 38 33 39 27 3b 0a 7d 0a 0a 0a 66 69  6373839';.}...fi
10e0: 6e 69 73 68 5f 74 65 73 74 0a                    nish_test.