/ Hex Artifact Content
Login

Artifact 1b9152a086408ee789166d0a954abc597372f868:


0000: 23 20 32 30 30 38 20 44 65 63 65 6d 62 65 72 20  # 2008 December 
0010: 32 33 0a 23 0a 23 20 54 68 65 20 61 75 74 68 6f  23.#.# 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 20 54 68 69 73 20  ********.# This 
0170: 66 69 6c 65 20 69 6d 70 6c 65 6d 65 6e 74 73 20  file implements 
0180: 72 65 67 72 65 73 73 69 6f 6e 20 74 65 73 74 73  regression tests
0190: 20 66 6f 72 20 53 51 4c 69 74 65 20 6c 69 62 72   for SQLite libr
01a0: 61 72 79 2e 20 54 68 65 20 66 6f 63 75 73 0a 23  ary. The focus.#
01b0: 20 69 73 20 74 65 73 74 69 6e 67 20 6f 66 20 77   is testing of w
01c0: 68 65 72 65 2e 63 2e 20 4d 6f 72 65 20 73 70 65  here.c. More spe
01d0: 63 69 66 69 63 61 6c 6c 79 2c 20 74 68 65 20 66  cifically, the f
01e0: 6f 63 75 73 20 69 73 20 74 68 65 20 6f 70 74 69  ocus is the opti
01f0: 6d 69 7a 61 74 69 6f 6e 0a 23 20 6f 66 20 57 48  mization.# of WH
0200: 45 52 45 20 63 6c 61 75 73 65 73 20 74 68 61 74  ERE clauses that
0210: 20 66 65 61 74 75 72 65 20 74 68 65 20 4f 52 20   feature the OR 
0220: 6f 70 65 72 61 74 6f 72 2e 0a 23 0a 23 20 24 49  operator..#.# $I
0230: 64 3a 20 77 68 65 72 65 38 2e 74 65 73 74 2c 76  d: where8.test,v
0240: 20 31 2e 35 20 32 30 30 38 2f 31 32 2f 33 30 20   1.5 2008/12/30 
0250: 31 36 3a 31 33 3a 30 35 20 64 61 6e 69 65 6c 6b  16:13:05 danielk
0260: 31 39 37 37 20 45 78 70 20 24 0a 0a 73 65 74 20  1977 Exp $..set 
0270: 74 65 73 74 64 69 72 20 5b 66 69 6c 65 20 64 69  testdir [file di
0280: 72 6e 61 6d 65 20 24 61 72 67 76 30 5d 0a 73 6f  rname $argv0].so
0290: 75 72 63 65 20 24 74 65 73 74 64 69 72 2f 74 65  urce $testdir/te
02a0: 73 74 65 72 2e 74 63 6c 0a 0a 23 20 54 65 73 74  ster.tcl..# Test
02b0: 20 6f 72 67 61 6e 69 7a 61 74 69 6f 6e 3a 0a 23   organization:.#
02c0: 0a 23 20 20 20 77 68 65 72 65 38 2d 31 2e 2a 3a  .#   where8-1.*:
02d0: 20 54 65 73 74 73 20 74 6f 20 64 65 6d 6f 6e 73   Tests to demons
02e0: 74 72 61 74 65 20 73 69 6d 70 6c 65 20 63 61 73  trate simple cas
02f0: 65 73 20 77 6f 72 6b 20 77 69 74 68 20 61 20 73  es work with a s
0300: 69 6e 67 6c 65 20 74 61 62 6c 65 0a 23 20 20 20  ingle table.#   
0310: 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 74              in t
0320: 68 65 20 46 52 4f 4d 20 63 6c 61 75 73 65 2e 0a  he FROM clause..
0330: 23 0a 23 20 20 20 77 68 65 72 65 38 2d 32 2e 2a  #.#   where8-2.*
0340: 3a 20 54 65 73 74 73 20 73 75 72 72 6f 75 6e 64  : Tests surround
0350: 69 6e 67 20 76 69 72 74 75 61 6c 20 74 61 62 6c  ing virtual tabl
0360: 65 73 20 61 6e 64 20 74 68 65 20 4f 52 20 6f 70  es and the OR op
0370: 74 69 6d 69 7a 61 74 69 6f 6e 2e 0a 23 0a 23 20  timization..#.# 
0380: 20 20 77 68 65 72 65 38 2d 33 2e 2a 3a 20 54 65    where8-3.*: Te
0390: 73 74 73 20 77 69 74 68 20 6d 6f 72 65 20 74 68  sts with more th
03a0: 61 6e 20 6f 6e 65 20 74 61 62 6c 65 20 69 6e 20  an one table in 
03b0: 74 68 65 20 46 52 4f 4d 20 63 6c 61 75 73 65 2e  the FROM clause.
03c0: 0a 23 20 0a 0a 70 72 6f 63 20 65 78 65 63 73 71  .# ..proc execsq
03d0: 6c 5f 73 74 61 74 75 73 20 7b 73 71 6c 20 7b 64  l_status {sql {d
03e0: 62 20 64 62 7d 7d 20 7b 0a 20 20 73 65 74 20 72  b db}} {.  set r
03f0: 65 73 75 6c 74 20 5b 75 70 6c 65 76 65 6c 20 24  esult [uplevel $
0400: 64 62 20 65 76 61 6c 20 5b 6c 69 73 74 20 24 73  db eval [list $s
0410: 71 6c 5d 5d 0a 20 20 63 6f 6e 63 61 74 20 24 72  ql]].  concat $r
0420: 65 73 75 6c 74 20 5b 64 62 20 73 74 61 74 75 73  esult [db status
0430: 20 73 74 65 70 5d 20 5b 64 62 20 73 74 61 74 75   step] [db statu
0440: 73 20 73 6f 72 74 5d 0a 7d 0a 0a 70 72 6f 63 20  s sort].}..proc 
0450: 65 78 65 63 73 71 6c 5f 73 74 61 74 75 73 32 20  execsql_status2 
0460: 7b 73 71 6c 20 7b 64 62 20 64 62 7d 7d 20 7b 0a  {sql {db db}} {.
0470: 20 20 73 65 74 20 3a 3a 73 71 6c 69 74 65 5f 73    set ::sqlite_s
0480: 65 61 72 63 68 5f 63 6f 75 6e 74 20 30 0a 20 20  earch_count 0.  
0490: 73 65 74 20 72 65 73 75 6c 74 20 5b 75 70 6c 65  set result [uple
04a0: 76 65 6c 20 5b 6c 69 73 74 20 65 78 65 63 73 71  vel [list execsq
04b0: 6c 5f 73 74 61 74 75 73 20 24 73 71 6c 20 24 64  l_status $sql $d
04c0: 62 5d 5d 0a 20 20 63 6f 6e 63 61 74 20 24 72 65  b]].  concat $re
04d0: 73 75 6c 74 20 24 3a 3a 73 71 6c 69 74 65 5f 73  sult $::sqlite_s
04e0: 65 61 72 63 68 5f 63 6f 75 6e 74 0a 7d 0a 0a 64  earch_count.}..d
04f0: 6f 5f 74 65 73 74 20 77 68 65 72 65 38 2d 31 2e  o_test where8-1.
0500: 31 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a  1 {.  execsql {.
0510: 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45      CREATE TABLE
0520: 20 74 31 28 61 2c 20 62 2c 20 63 29 3b 0a 20 20   t1(a, b, c);.  
0530: 20 20 43 52 45 41 54 45 20 49 4e 44 45 58 20 69    CREATE INDEX i
0540: 31 20 4f 4e 20 74 31 28 61 29 3b 0a 20 20 20 20  1 ON t1(a);.    
0550: 43 52 45 41 54 45 20 49 4e 44 45 58 20 69 32 20  CREATE INDEX i2 
0560: 4f 4e 20 74 31 28 62 29 3b 0a 0a 20 20 20 20 49  ON t1(b);..    I
0570: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 56 41  NSERT INTO t1 VA
0580: 4c 55 45 53 28 31 2c 20 20 27 6f 6e 65 27 2c 20  LUES(1,  'one', 
0590: 20 20 27 49 27 29 3b 0a 20 20 20 20 49 4e 53 45    'I');.    INSE
05a0: 52 54 20 49 4e 54 4f 20 74 31 20 56 41 4c 55 45  RT INTO t1 VALUE
05b0: 53 28 32 2c 20 20 27 74 77 6f 27 2c 20 20 20 27  S(2,  'two',   '
05c0: 49 49 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  II');.    INSERT
05d0: 20 49 4e 54 4f 20 74 31 20 56 41 4c 55 45 53 28   INTO t1 VALUES(
05e0: 33 2c 20 20 27 74 68 72 65 65 27 2c 20 27 49 49  3,  'three', 'II
05f0: 49 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  I');.    INSERT 
0600: 49 4e 54 4f 20 74 31 20 56 41 4c 55 45 53 28 34  INTO t1 VALUES(4
0610: 2c 20 20 27 66 6f 75 72 27 2c 20 20 27 49 56 27  ,  'four',  'IV'
0620: 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  );.    INSERT IN
0630: 54 4f 20 74 31 20 56 41 4c 55 45 53 28 35 2c 20  TO t1 VALUES(5, 
0640: 20 27 66 69 76 65 27 2c 20 20 27 56 27 29 3b 0a   'five',  'V');.
0650: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
0660: 74 31 20 56 41 4c 55 45 53 28 36 2c 20 20 27 73  t1 VALUES(6,  's
0670: 69 78 27 2c 20 20 20 27 56 49 27 29 3b 0a 20 20  ix',   'VI');.  
0680: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31    INSERT INTO t1
0690: 20 56 41 4c 55 45 53 28 37 2c 20 20 27 73 65 76   VALUES(7,  'sev
06a0: 65 6e 27 2c 20 27 56 49 49 27 29 3b 0a 20 20 20  en', 'VII');.   
06b0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20   INSERT INTO t1 
06c0: 56 41 4c 55 45 53 28 38 2c 20 20 27 65 69 67 68  VALUES(8,  'eigh
06d0: 74 27 2c 20 27 56 49 49 49 27 29 3b 0a 20 20 20  t', 'VIII');.   
06e0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20   INSERT INTO t1 
06f0: 56 41 4c 55 45 53 28 39 2c 20 20 27 6e 69 6e 65  VALUES(9,  'nine
0700: 27 2c 20 20 27 49 58 27 29 3b 0a 20 20 20 20 49  ',  'IX');.    I
0710: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 56 41  NSERT INTO t1 VA
0720: 4c 55 45 53 28 31 30 2c 20 27 74 65 6e 27 2c 20  LUES(10, 'ten', 
0730: 20 20 27 58 27 29 3b 0a 20 20 7d 0a 7d 20 7b 7d    'X');.  }.} {}
0740: 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38  ..do_test where8
0750: 2d 31 2e 32 20 7b 20 0a 20 20 65 78 65 63 73 71  -1.2 { .  execsq
0760: 6c 5f 73 74 61 74 75 73 32 20 7b 20 53 45 4c 45  l_status2 { SELE
0770: 43 54 20 63 20 46 52 4f 4d 20 74 31 20 57 48 45  CT c FROM t1 WHE
0780: 52 45 20 61 20 3d 20 31 20 4f 52 20 62 20 3d 20  RE a = 1 OR b = 
0790: 27 6e 69 6e 65 27 20 7d 0a 7d 20 7b 49 20 49 58  'nine' }.} {I IX
07a0: 20 30 20 30 20 36 7d 0a 0a 64 6f 5f 74 65 73 74   0 0 6}..do_test
07b0: 20 77 68 65 72 65 38 2d 31 2e 33 20 7b 20 0a 20   where8-1.3 { . 
07c0: 20 65 78 65 63 73 71 6c 5f 73 74 61 74 75 73 32   execsql_status2
07d0: 20 7b 20 53 45 4c 45 43 54 20 63 20 46 52 4f 4d   { SELECT c FROM
07e0: 20 74 31 20 57 48 45 52 45 20 61 20 3e 20 38 20   t1 WHERE a > 8 
07f0: 4f 52 20 62 20 3d 20 27 74 77 6f 27 20 7d 0a 7d  OR b = 'two' }.}
0800: 20 7b 49 49 20 49 58 20 58 20 30 20 30 20 36 7d   {II IX X 0 0 6}
0810: 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38  ..do_test where8
0820: 2d 31 2e 34 20 7b 20 0a 20 20 65 78 65 63 73 71  -1.4 { .  execsq
0830: 6c 5f 73 74 61 74 75 73 32 20 7b 20 53 45 4c 45  l_status2 { SELE
0840: 43 54 20 63 20 46 52 4f 4d 20 74 31 20 57 48 45  CT c FROM t1 WHE
0850: 52 45 20 61 20 3e 20 38 20 4f 52 20 62 20 47 4c  RE a > 8 OR b GL
0860: 4f 42 20 27 74 2a 27 20 7d 0a 7d 20 7b 49 49 20  OB 't*' }.} {II 
0870: 49 49 49 20 49 58 20 58 20 30 20 30 20 39 7d 0a  III IX X 0 0 9}.
0880: 0a 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38 2d  .do_test where8-
0890: 31 2e 35 20 7b 20 0a 20 20 65 78 65 63 73 71 6c  1.5 { .  execsql
08a0: 5f 73 74 61 74 75 73 32 20 7b 20 53 45 4c 45 43  _status2 { SELEC
08b0: 54 20 63 20 46 52 4f 4d 20 74 31 20 57 48 45 52  T c FROM t1 WHER
08c0: 45 20 61 20 3e 20 38 20 4f 52 20 62 20 47 4c 4f  E a > 8 OR b GLO
08d0: 42 20 27 66 2a 27 20 7d 0a 7d 20 7b 49 56 20 56  B 'f*' }.} {IV V
08e0: 20 49 58 20 58 20 30 20 30 20 39 7d 0a 0a 64 6f   IX X 0 0 9}..do
08f0: 5f 74 65 73 74 20 77 68 65 72 65 38 2d 31 2e 36  _test where8-1.6
0900: 20 7b 20 0a 20 20 65 78 65 63 73 71 6c 5f 73 74   { .  execsql_st
0910: 61 74 75 73 20 7b 20 53 45 4c 45 43 54 20 63 20  atus { SELECT c 
0920: 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 61 20  FROM t1 WHERE a 
0930: 3d 20 31 20 4f 52 20 62 20 3d 20 27 74 68 72 65  = 1 OR b = 'thre
0940: 65 27 20 4f 52 44 45 52 20 42 59 20 72 6f 77 69  e' ORDER BY rowi
0950: 64 20 7d 0a 7d 20 7b 49 20 49 49 49 20 30 20 30  d }.} {I III 0 0
0960: 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65 72 65  }..do_test where
0970: 38 2d 31 2e 37 20 7b 20 0a 20 20 65 78 65 63 73  8-1.7 { .  execs
0980: 71 6c 5f 73 74 61 74 75 73 20 7b 20 53 45 4c 45  ql_status { SELE
0990: 43 54 20 63 20 46 52 4f 4d 20 74 31 20 57 48 45  CT c FROM t1 WHE
09a0: 52 45 20 61 20 3d 20 31 20 4f 52 20 62 20 3d 20  RE a = 1 OR b = 
09b0: 27 74 68 72 65 65 27 20 4f 52 44 45 52 20 42 59  'three' ORDER BY
09c0: 20 61 20 7d 0a 7d 20 7b 49 20 49 49 49 20 30 20   a }.} {I III 0 
09d0: 31 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65 72  1}..do_test wher
09e0: 65 38 2d 31 2e 38 20 7b 0a 20 20 23 20 31 38 20  e8-1.8 {.  # 18 
09f0: 73 65 61 72 63 68 65 73 2e 20 39 20 6f 6e 20 74  searches. 9 on t
0a00: 68 65 20 69 6e 64 65 78 20 63 75 72 73 6f 72 20  he index cursor 
0a10: 61 6e 64 20 39 20 6f 6e 20 74 68 65 20 74 61 62  and 9 on the tab
0a20: 6c 65 20 63 75 72 73 6f 72 2e 0a 20 20 65 78 65  le cursor..  exe
0a30: 63 73 71 6c 5f 73 74 61 74 75 73 32 20 7b 20 53  csql_status2 { S
0a40: 45 4c 45 43 54 20 63 20 46 52 4f 4d 20 74 31 20  ELECT c FROM t1 
0a50: 57 48 45 52 45 20 61 20 3e 20 31 20 41 4e 44 20  WHERE a > 1 AND 
0a60: 63 20 4c 49 4b 45 20 27 49 25 27 20 7d 0a 7d 20  c LIKE 'I%' }.} 
0a70: 7b 49 49 20 49 49 49 20 49 56 20 49 58 20 30 20  {II III IV IX 0 
0a80: 30 20 31 38 7d 0a 0a 64 6f 5f 74 65 73 74 20 77  0 18}..do_test w
0a90: 68 65 72 65 38 2d 31 2e 39 20 7b 0a 20 20 65 78  here8-1.9 {.  ex
0aa0: 65 63 73 71 6c 5f 73 74 61 74 75 73 32 20 7b 20  ecsql_status2 { 
0ab0: 53 45 4c 45 43 54 20 63 20 46 52 4f 4d 20 74 31  SELECT c FROM t1
0ac0: 20 57 48 45 52 45 20 61 20 3e 3d 20 39 20 4f 52   WHERE a >= 9 OR
0ad0: 20 62 20 3c 3d 20 27 65 69 67 68 74 27 20 7d 0a   b <= 'eight' }.
0ae0: 7d 20 7b 56 49 49 49 20 49 58 20 58 20 30 20 30  } {VIII IX X 0 0
0af0: 20 36 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65   6}..do_test whe
0b00: 72 65 38 2d 31 2e 31 30 20 7b 0a 20 20 65 78 65  re8-1.10 {.  exe
0b10: 63 73 71 6c 5f 73 74 61 74 75 73 32 20 7b 20 0a  csql_status2 { .
0b20: 20 20 20 20 53 45 4c 45 43 54 20 63 20 46 52 4f      SELECT c FRO
0b30: 4d 20 74 31 20 57 48 45 52 45 20 28 61 20 3e 3d  M t1 WHERE (a >=
0b40: 20 39 20 41 4e 44 20 63 20 21 3d 20 27 58 27 29   9 AND c != 'X')
0b50: 20 4f 52 20 62 20 3c 3d 20 27 65 69 67 68 74 27   OR b <= 'eight'
0b60: 20 0a 20 20 7d 0a 7d 20 7b 56 49 49 49 20 49 58   .  }.} {VIII IX
0b70: 20 30 20 30 20 37 7d 0a 0a 64 6f 5f 74 65 73 74   0 0 7}..do_test
0b80: 20 77 68 65 72 65 38 2d 31 2e 31 31 20 7b 0a 20   where8-1.11 {. 
0b90: 20 65 78 65 63 73 71 6c 5f 73 74 61 74 75 73 32   execsql_status2
0ba0: 20 7b 20 0a 20 20 20 20 53 45 4c 45 43 54 20 63   { .    SELECT c
0bb0: 20 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 28   FROM t1 WHERE (
0bc0: 61 20 3e 3d 20 34 20 41 4e 44 20 61 20 3c 3d 20  a >= 4 AND a <= 
0bd0: 36 29 20 4f 52 20 62 20 3d 20 27 6e 69 6e 65 27  6) OR b = 'nine'
0be0: 20 0a 20 20 7d 0a 7d 20 7b 49 56 20 56 20 56 49   .  }.} {IV V VI
0bf0: 20 49 58 20 30 20 30 20 31 30 7d 0a 0a 64 6f 5f   IX 0 0 10}..do_
0c00: 74 65 73 74 20 77 68 65 72 65 38 2d 31 2e 31 32  test where8-1.12
0c10: 2e 31 20 7b 0a 20 20 65 78 65 63 73 71 6c 5f 73  .1 {.  execsql_s
0c20: 74 61 74 75 73 32 20 7b 20 0a 20 20 20 20 53 45  tatus2 { .    SE
0c30: 4c 45 43 54 20 63 20 46 52 4f 4d 20 74 31 20 57  LECT c FROM t1 W
0c40: 48 45 52 45 20 61 20 49 4e 28 31 2c 20 32 2c 20  HERE a IN(1, 2, 
0c50: 33 29 20 4f 52 20 61 20 3d 20 35 0a 20 20 7d 0a  3) OR a = 5.  }.
0c60: 7d 20 7b 49 20 49 49 20 49 49 49 20 56 20 30 20  } {I II III V 0 
0c70: 30 20 31 34 7d 0a 0a 64 6f 5f 74 65 73 74 20 77  0 14}..do_test w
0c80: 68 65 72 65 38 2d 31 2e 31 32 2e 32 20 7b 0a 20  here8-1.12.2 {. 
0c90: 20 65 78 65 63 73 71 6c 5f 73 74 61 74 75 73 32   execsql_status2
0ca0: 20 7b 20 0a 20 20 20 20 53 45 4c 45 43 54 20 63   { .    SELECT c
0cb0: 20 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 2b   FROM t1 WHERE +
0cc0: 61 20 49 4e 28 31 2c 20 32 2c 20 33 29 20 4f 52  a IN(1, 2, 3) OR
0cd0: 20 2b 61 20 3d 20 35 0a 20 20 7d 0a 7d 20 7b 49   +a = 5.  }.} {I
0ce0: 20 49 49 20 49 49 49 20 56 20 39 20 30 20 39 7d   II III V 9 0 9}
0cf0: 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38  ..do_test where8
0d00: 2d 31 2e 31 33 20 7b 0a 20 20 65 78 65 63 73 71  -1.13 {.  execsq
0d10: 6c 5f 73 74 61 74 75 73 32 20 7b 0a 20 20 20 20  l_status2 {.    
0d20: 53 45 4c 45 43 54 20 63 20 46 52 4f 4d 20 74 31  SELECT c FROM t1
0d30: 0a 20 20 20 20 57 48 45 52 45 20 61 20 3d 20 32  .    WHERE a = 2
0d40: 20 4f 52 20 62 20 3d 20 27 74 68 72 65 65 27 20   OR b = 'three' 
0d50: 4f 52 20 61 20 3d 20 34 20 4f 52 20 62 20 3d 20  OR a = 4 OR b = 
0d60: 27 66 69 76 65 27 20 4f 52 20 61 20 3d 20 36 0a  'five' OR a = 6.
0d70: 20 20 20 20 4f 52 44 45 52 20 42 59 20 72 6f 77      ORDER BY row
0d80: 69 64 0a 20 20 7d 0a 7d 20 7b 49 49 20 49 49 49  id.  }.} {II III
0d90: 20 49 56 20 56 20 56 49 20 30 20 30 20 31 35 7d   IV V VI 0 0 15}
0da0: 0a 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38 2d  .do_test where8-
0db0: 31 2e 31 34 20 7b 0a 20 20 65 78 65 63 73 71 6c  1.14 {.  execsql
0dc0: 5f 73 74 61 74 75 73 32 20 7b 0a 20 20 20 20 53  _status2 {.    S
0dd0: 45 4c 45 43 54 20 63 20 46 52 4f 4d 20 74 31 0a  ELECT c FROM t1.
0de0: 20 20 20 20 57 48 45 52 45 20 0a 20 20 20 20 20      WHERE .     
0df0: 20 61 20 3d 20 32 20 4f 52 20 62 20 3d 20 27 74   a = 2 OR b = 't
0e00: 68 72 65 65 27 20 4f 52 20 61 20 3d 20 34 20 4f  hree' OR a = 4 O
0e10: 52 20 62 20 3d 20 27 66 69 76 65 27 20 4f 52 20  R b = 'five' OR 
0e20: 61 20 3d 20 36 20 4f 52 0a 20 20 20 20 20 20 62  a = 6 OR.      b
0e30: 20 3d 20 27 73 65 76 65 6e 27 20 4f 52 20 61 20   = 'seven' OR a 
0e40: 3d 20 38 20 4f 52 20 62 20 3d 20 27 6e 69 6e 65  = 8 OR b = 'nine
0e50: 27 20 4f 52 20 61 20 3d 20 31 30 0a 20 20 20 20  ' OR a = 10.    
0e60: 4f 52 44 45 52 20 42 59 20 72 6f 77 69 64 0a 20  ORDER BY rowid. 
0e70: 20 7d 0a 7d 20 7b 49 49 20 49 49 49 20 49 56 20   }.} {II III IV 
0e80: 56 20 56 49 20 56 49 49 20 56 49 49 49 20 49 58  V VI VII VIII IX
0e90: 20 58 20 30 20 30 20 32 36 7d 0a 0a 64 6f 5f 74   X 0 0 26}..do_t
0ea0: 65 73 74 20 77 68 65 72 65 38 2d 31 2e 31 35 20  est where8-1.15 
0eb0: 7b 0a 20 20 65 78 65 63 73 71 6c 5f 73 74 61 74  {.  execsql_stat
0ec0: 75 73 32 20 7b 0a 20 20 20 20 53 45 4c 45 43 54  us2 {.    SELECT
0ed0: 20 63 20 46 52 4f 4d 20 74 31 20 57 48 45 52 45   c FROM t1 WHERE
0ee0: 20 0a 20 20 20 20 20 20 61 20 42 45 54 57 45 45   .      a BETWEE
0ef0: 4e 20 32 20 41 4e 44 20 34 20 4f 52 20 62 20 3d  N 2 AND 4 OR b =
0f00: 20 27 6e 69 6e 65 27 0a 20 20 20 20 4f 52 44 45   'nine'.    ORDE
0f10: 52 20 42 59 20 72 6f 77 69 64 0a 20 20 7d 0a 7d  R BY rowid.  }.}
0f20: 20 7b 49 49 20 49 49 49 20 49 56 20 49 58 20 30   {II III IV IX 0
0f30: 20 30 20 31 30 7d 0a 0a 0a 0a 23 2d 2d 2d 2d 2d   0 10}....#-----
0f40: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0f50: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0f60: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0f70: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
0f80: 2d 2d 2d 2d 2d 0a 23 20 54 65 73 74 73 20 77 68  -----.# Tests wh
0f90: 65 72 65 38 2d 32 2e 2a 3a 20 56 69 72 74 75 61  ere8-2.*: Virtua
0fa0: 6c 20 74 61 62 6c 65 73 0a 23 20 0a 0a 69 66 20  l tables.# ..if 
0fb0: 30 20 7b 0a 69 66 63 61 70 61 62 6c 65 20 76 74  0 {.ifcapable vt
0fc0: 61 62 20 7b 0a 20 20 23 20 52 65 67 69 73 74 65  ab {.  # Registe
0fd0: 72 20 74 68 65 20 27 65 63 68 6f 27 20 6d 6f 64  r the 'echo' mod
0fe0: 75 6c 65 20 75 73 65 64 20 66 6f 72 20 74 65 73  ule used for tes
0ff0: 74 69 6e 67 20 76 69 72 74 75 61 6c 20 74 61 62  ting virtual tab
1000: 6c 65 73 2e 0a 20 20 23 0a 20 20 72 65 67 69 73  les..  #.  regis
1010: 74 65 72 5f 65 63 68 6f 5f 6d 6f 64 75 6c 65 20  ter_echo_module 
1020: 5b 73 71 6c 69 74 65 33 5f 63 6f 6e 6e 65 63 74  [sqlite3_connect
1030: 69 6f 6e 5f 70 6f 69 6e 74 65 72 20 64 62 5d 0a  ion_pointer db].
1040: 0a 20 20 64 6f 5f 74 65 73 74 20 77 68 65 72 65  .  do_test where
1050: 38 2d 32 2e 31 20 7b 0a 20 20 20 20 65 78 65 63  8-2.1 {.    exec
1060: 73 71 6c 20 7b 0a 20 20 20 20 20 20 43 52 45 41  sql {.      CREA
1070: 54 45 20 56 49 52 54 55 41 4c 20 54 41 42 4c 45  TE VIRTUAL TABLE
1080: 20 65 31 20 55 53 49 4e 47 20 65 63 68 6f 28 74   e1 USING echo(t
1090: 31 29 3b 0a 20 20 20 20 20 20 53 45 4c 45 43 54  1);.      SELECT
10a0: 20 62 20 46 52 4f 4d 20 65 31 3b 0a 20 20 20 20   b FROM e1;.    
10b0: 7d 0a 20 20 7d 20 7b 6f 6e 65 20 74 77 6f 20 74  }.  } {one two t
10c0: 68 72 65 65 20 66 6f 75 72 20 66 69 76 65 20 73  hree four five s
10d0: 69 78 20 73 65 76 65 6e 20 65 69 67 68 74 20 6e  ix seven eight n
10e0: 69 6e 65 20 74 65 6e 7d 0a 0a 20 20 64 6f 5f 74  ine ten}..  do_t
10f0: 65 73 74 20 77 68 65 72 65 38 2d 32 2e 32 2e 31  est where8-2.2.1
1100: 20 7b 0a 20 20 20 20 73 65 74 20 65 63 68 6f 5f   {.    set echo_
1110: 6d 6f 64 75 6c 65 20 22 22 0a 20 20 20 20 65 78  module "".    ex
1120: 65 63 73 71 6c 20 7b 0a 20 20 20 20 20 20 53 45  ecsql {.      SE
1130: 4c 45 43 54 20 63 20 46 52 4f 4d 20 65 31 20 57  LECT c FROM e1 W
1140: 48 45 52 45 20 61 3d 31 20 4f 52 20 62 3d 27 74  HERE a=1 OR b='t
1150: 68 72 65 65 27 3b 0a 20 20 20 20 7d 0a 20 20 7d  hree';.    }.  }
1160: 20 7b 49 20 49 49 49 7d 0a 20 20 64 6f 5f 74 65   {I III}.  do_te
1170: 73 74 20 77 68 65 72 65 38 2d 32 2e 32 2e 32 20  st where8-2.2.2 
1180: 7b 0a 20 20 20 20 73 65 74 20 65 63 68 6f 5f 6d  {.    set echo_m
1190: 6f 64 75 6c 65 0a 20 20 7d 20 7b 54 4f 44 4f 3a  odule.  } {TODO:
11a0: 20 57 68 61 74 20 73 68 6f 75 6c 64 20 74 68 69   What should thi
11b0: 73 20 62 65 3f 7d 0a 7d 0a 7d 0a 0a 23 2d 2d 2d  s be?}.}.}..#---
11c0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
11d0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
11e0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
11f0: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1200: 2d 2d 2d 2d 2d 2d 2d 0a 23 20 54 65 73 74 73 20  -------.# Tests 
1210: 77 68 65 72 65 38 2d 33 2e 2a 3a 20 43 61 73 65  where8-3.*: Case
1220: 73 20 77 69 74 68 20 6d 75 6c 74 69 70 6c 65 20  s with multiple 
1230: 74 61 62 6c 65 73 20 69 6e 20 74 68 65 20 46 52  tables in the FR
1240: 4f 4d 20 63 6c 61 75 73 65 2e 0a 23 20 0a 64 6f  OM clause..# .do
1250: 5f 74 65 73 74 20 77 68 65 72 65 38 2d 33 2e 31  _test where8-3.1
1260: 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20   {.  execsql {. 
1270: 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20     CREATE TABLE 
1280: 74 32 28 64 2c 20 65 2c 20 66 29 3b 0a 20 20 20  t2(d, e, f);.   
1290: 20 43 52 45 41 54 45 20 49 4e 44 45 58 20 69 33   CREATE INDEX i3
12a0: 20 4f 4e 20 74 32 28 64 29 3b 0a 20 20 20 20 43   ON t2(d);.    C
12b0: 52 45 41 54 45 20 49 4e 44 45 58 20 69 34 20 4f  REATE INDEX i4 O
12c0: 4e 20 74 32 28 65 29 3b 0a 0a 20 20 20 20 49 4e  N t2(e);..    IN
12d0: 53 45 52 54 20 49 4e 54 4f 20 74 32 20 56 41 4c  SERT INTO t2 VAL
12e0: 55 45 53 28 31 2c 20 20 4e 55 4c 4c 2c 20 20 20  UES(1,  NULL,   
12f0: 20 20 20 20 20 20 27 49 27 29 3b 0a 20 20 20 20        'I');.    
1300: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 32 20 56  INSERT INTO t2 V
1310: 41 4c 55 45 53 28 32 2c 20 20 27 66 6f 75 72 27  ALUES(2,  'four'
1320: 2c 20 20 20 20 20 20 20 27 49 56 27 29 3b 0a 20  ,       'IV');. 
1330: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
1340: 32 20 56 41 4c 55 45 53 28 33 2c 20 20 4e 55 4c  2 VALUES(3,  NUL
1350: 4c 2c 20 20 20 20 20 20 20 20 20 27 49 58 27 29  L,         'IX')
1360: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
1370: 4f 20 74 32 20 56 41 4c 55 45 53 28 34 2c 20 20  O t2 VALUES(4,  
1380: 27 73 69 78 74 65 65 6e 27 2c 20 20 20 20 27 58  'sixteen',    'X
1390: 56 49 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  VI');.    INSERT
13a0: 20 49 4e 54 4f 20 74 32 20 56 41 4c 55 45 53 28   INTO t2 VALUES(
13b0: 35 2c 20 20 4e 55 4c 4c 2c 20 20 20 20 20 20 20  5,  NULL,       
13c0: 20 20 27 58 58 56 27 29 3b 0a 20 20 20 20 49 4e    'XXV');.    IN
13d0: 53 45 52 54 20 49 4e 54 4f 20 74 32 20 56 41 4c  SERT INTO t2 VAL
13e0: 55 45 53 28 36 2c 20 20 27 74 68 69 72 74 79 73  UES(6,  'thirtys
13f0: 69 78 27 2c 20 20 27 58 58 58 56 49 27 29 3b 0a  ix',  'XXXVI');.
1400: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
1410: 74 32 20 56 41 4c 55 45 53 28 37 2c 20 20 27 66  t2 VALUES(7,  'f
1420: 6f 72 74 79 6e 69 6e 65 27 2c 20 20 27 58 4c 49  ortynine',  'XLI
1430: 58 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  X');.    INSERT 
1440: 49 4e 54 4f 20 74 32 20 56 41 4c 55 45 53 28 38  INTO t2 VALUES(8
1450: 2c 20 20 27 73 69 78 74 79 65 69 67 68 74 27 2c  ,  'sixtyeight',
1460: 20 27 4c 58 49 56 27 29 3b 0a 20 20 20 20 49 4e   'LXIV');.    IN
1470: 53 45 52 54 20 49 4e 54 4f 20 74 32 20 56 41 4c  SERT INTO t2 VAL
1480: 55 45 53 28 39 2c 20 20 27 65 69 67 68 74 79 6f  UES(9,  'eightyo
1490: 6e 65 27 2c 20 20 27 4c 58 58 58 49 58 27 29 3b  ne',  'LXXXIX');
14a0: 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  .    INSERT INTO
14b0: 20 74 32 20 56 41 4c 55 45 53 28 31 30 2c 20 4e   t2 VALUES(10, N
14c0: 55 4c 4c 2c 20 20 20 20 20 20 20 20 20 27 43 27  ULL,         'C'
14d0: 29 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f  );.  }.} {}..do_
14e0: 74 65 73 74 20 77 68 65 72 65 38 2d 33 2e 32 20  test where8-3.2 
14f0: 7b 0a 20 20 65 78 65 63 73 71 6c 5f 73 74 61 74  {.  execsql_stat
1500: 75 73 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20  us {.    SELECT 
1510: 61 2c 20 64 20 46 52 4f 4d 20 74 31 2c 20 74 32  a, d FROM t1, t2
1520: 20 57 48 45 52 45 20 62 3d 65 0a 20 20 7d 0a 7d   WHERE b=e.  }.}
1530: 20 7b 34 20 32 20 39 20 30 7d 0a 0a 64 6f 5f 74   {4 2 9 0}..do_t
1540: 65 73 74 20 77 68 65 72 65 38 2d 33 2e 33 20 7b  est where8-3.3 {
1550: 0a 20 20 65 78 65 63 73 71 6c 5f 73 74 61 74 75  .  execsql_statu
1560: 73 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 61  s {.    SELECT a
1570: 2c 20 64 20 46 52 4f 4d 20 74 31 2c 20 74 32 20  , d FROM t1, t2 
1580: 57 48 45 52 45 20 28 61 20 3d 20 32 20 4f 52 20  WHERE (a = 2 OR 
1590: 61 20 3d 20 33 29 20 41 4e 44 20 64 20 3d 20 36  a = 3) AND d = 6
15a0: 0a 20 20 7d 0a 7d 20 7b 32 20 36 20 33 20 36 20  .  }.} {2 6 3 6 
15b0: 30 20 30 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68  0 0}..do_test wh
15c0: 65 72 65 38 2d 33 2e 34 20 7b 0a 20 20 65 78 65  ere8-3.4 {.  exe
15d0: 63 73 71 6c 5f 73 74 61 74 75 73 20 7b 0a 20 20  csql_status {.  
15e0: 20 20 53 45 4c 45 43 54 20 61 2c 20 64 20 46 52    SELECT a, d FR
15f0: 4f 4d 20 74 31 2c 20 74 32 20 57 48 45 52 45 20  OM t1, t2 WHERE 
1600: 28 61 20 3d 20 32 20 4f 52 20 61 20 3d 20 33 29  (a = 2 OR a = 3)
1610: 20 41 4e 44 20 64 20 3d 20 61 0a 20 20 7d 0a 7d   AND d = a.  }.}
1620: 20 7b 32 20 32 20 33 20 33 20 30 20 30 7d 0a 0a   {2 2 3 3 0 0}..
1630: 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38 2d 33  do_test where8-3
1640: 2e 35 20 7b 0a 20 20 65 78 65 63 73 71 6c 5f 73  .5 {.  execsql_s
1650: 74 61 74 75 73 20 7b 0a 20 20 20 20 53 45 4c 45  tatus {.    SELE
1660: 43 54 20 61 2c 20 64 20 46 52 4f 4d 20 74 31 2c  CT a, d FROM t1,
1670: 20 74 32 20 57 48 45 52 45 20 28 61 20 3d 20 32   t2 WHERE (a = 2
1680: 20 4f 52 20 61 20 3d 20 33 29 20 41 4e 44 20 28   OR a = 3) AND (
1690: 64 20 3d 20 61 20 4f 52 20 65 20 3d 20 27 73 69  d = a OR e = 'si
16a0: 78 74 65 65 6e 27 29 0a 20 20 7d 0a 7d 20 7b 32  xteen').  }.} {2
16b0: 20 32 20 32 20 34 20 33 20 33 20 33 20 34 20 30   2 2 4 3 3 3 4 0
16c0: 20 30 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65   0}..do_test whe
16d0: 72 65 38 2d 33 2e 36 20 7b 0a 20 20 23 20 54 68  re8-3.6 {.  # Th
16e0: 65 20 66 69 72 73 74 20 70 61 72 74 20 6f 66 20  e first part of 
16f0: 74 68 65 20 57 48 45 52 45 20 63 6c 61 75 73 65  the WHERE clause
1700: 20 69 6e 20 74 68 69 73 20 71 75 65 72 79 2c 20   in this query, 
1710: 28 61 3d 32 20 4f 52 20 61 3d 33 29 20 69 73 0a  (a=2 OR a=3) is.
1720: 20 20 23 20 74 72 61 6e 73 66 6f 72 6d 65 64 20    # transformed 
1730: 69 6e 74 6f 20 22 61 20 49 4e 20 28 32 2c 20 33  into "a IN (2, 3
1740: 29 22 2e 20 54 68 69 73 20 69 73 20 77 68 79 20  )". This is why 
1750: 74 68 65 20 73 6f 72 74 20 69 73 20 72 65 71 75  the sort is requ
1760: 69 72 65 64 2e 0a 20 20 23 0a 20 20 65 78 65 63  ired..  #.  exec
1770: 73 71 6c 5f 73 74 61 74 75 73 20 7b 0a 20 20 20  sql_status {.   
1780: 20 53 45 4c 45 43 54 20 61 2c 20 64 20 0a 20 20   SELECT a, d .  
1790: 20 20 46 52 4f 4d 20 74 31 2c 20 74 32 20 0a 20    FROM t1, t2 . 
17a0: 20 20 20 57 48 45 52 45 20 28 61 20 3d 20 32 20     WHERE (a = 2 
17b0: 4f 52 20 61 20 3d 20 33 29 20 41 4e 44 20 28 64  OR a = 3) AND (d
17c0: 20 3d 20 61 20 4f 52 20 65 20 3d 20 27 73 69 78   = a OR e = 'six
17d0: 74 65 65 6e 27 29 0a 20 20 20 20 4f 52 44 45 52  teen').    ORDER
17e0: 20 42 59 20 74 31 2e 72 6f 77 69 64 0a 20 20 7d   BY t1.rowid.  }
17f0: 0a 7d 20 7b 32 20 32 20 32 20 34 20 33 20 33 20  .} {2 2 2 4 3 3 
1800: 33 20 34 20 30 20 31 7d 0a 64 6f 5f 74 65 73 74  3 4 0 1}.do_test
1810: 20 77 68 65 72 65 38 2d 33 2e 37 20 7b 0a 20 20   where8-3.7 {.  
1820: 65 78 65 63 73 71 6c 5f 73 74 61 74 75 73 20 7b  execsql_status {
1830: 0a 20 20 20 20 53 45 4c 45 43 54 20 61 2c 20 64  .    SELECT a, d
1840: 20 0a 20 20 20 20 46 52 4f 4d 20 74 31 2c 20 74   .    FROM t1, t
1850: 32 20 0a 20 20 20 20 57 48 45 52 45 20 61 20 3d  2 .    WHERE a =
1860: 20 32 20 41 4e 44 20 28 64 20 3d 20 61 20 4f 52   2 AND (d = a OR
1870: 20 65 20 3d 20 27 73 69 78 74 65 65 6e 27 29 0a   e = 'sixteen').
1880: 20 20 20 20 4f 52 44 45 52 20 42 59 20 74 31 2e      ORDER BY t1.
1890: 72 6f 77 69 64 0a 20 20 7d 0a 7d 20 7b 32 20 32  rowid.  }.} {2 2
18a0: 20 32 20 34 20 30 20 30 7d 0a 64 6f 5f 74 65 73   2 4 0 0}.do_tes
18b0: 74 20 77 68 65 72 65 38 2d 33 2e 38 20 7b 0a 20  t where8-3.8 {. 
18c0: 20 65 78 65 63 73 71 6c 5f 73 74 61 74 75 73 20   execsql_status 
18d0: 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 61 2c 20  {.    SELECT a, 
18e0: 64 20 0a 20 20 20 20 46 52 4f 4d 20 74 31 2c 20  d .    FROM t1, 
18f0: 74 32 20 0a 20 20 20 20 57 48 45 52 45 20 28 61  t2 .    WHERE (a
1900: 20 3d 20 32 20 4f 52 20 62 20 3d 20 27 74 68 72   = 2 OR b = 'thr
1910: 65 65 27 29 20 41 4e 44 20 28 64 20 3d 20 61 20  ee') AND (d = a 
1920: 4f 52 20 65 20 3d 20 27 73 69 78 74 65 65 6e 27  OR e = 'sixteen'
1930: 29 0a 20 20 20 20 4f 52 44 45 52 20 42 59 20 74  ).    ORDER BY t
1940: 31 2e 72 6f 77 69 64 0a 20 20 7d 0a 7d 20 7b 32  1.rowid.  }.} {2
1950: 20 32 20 32 20 34 20 33 20 33 20 33 20 34 20 30   2 2 4 3 3 3 4 0
1960: 20 30 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65   0}..do_test whe
1970: 72 65 38 2d 33 2e 39 20 7b 0a 20 20 23 20 54 68  re8-3.9 {.  # Th
1980: 65 20 22 4f 52 20 63 20 3d 20 27 49 58 27 22 20  e "OR c = 'IX'" 
1990: 74 65 72 6d 20 66 6f 72 63 65 73 20 61 20 6c 69  term forces a li
19a0: 6e 65 61 72 20 73 63 61 6e 2e 0a 20 20 65 78 65  near scan..  exe
19b0: 63 73 71 6c 5f 73 74 61 74 75 73 20 7b 0a 20 20  csql_status {.  
19c0: 20 20 53 45 4c 45 43 54 20 61 2c 20 64 20 0a 20    SELECT a, d . 
19d0: 20 20 20 46 52 4f 4d 20 74 31 2c 20 74 32 20 0a     FROM t1, t2 .
19e0: 20 20 20 20 57 48 45 52 45 20 28 61 20 3d 20 32      WHERE (a = 2
19f0: 20 4f 52 20 62 20 3d 20 27 74 68 72 65 65 27 20   OR b = 'three' 
1a00: 4f 52 20 63 20 3d 20 27 49 58 27 29 20 41 4e 44  OR c = 'IX') AND
1a10: 20 28 64 20 3d 20 61 20 4f 52 20 65 20 3d 20 27   (d = a OR e = '
1a20: 73 69 78 74 65 65 6e 27 29 0a 20 20 20 20 4f 52  sixteen').    OR
1a30: 44 45 52 20 42 59 20 74 31 2e 72 6f 77 69 64 0a  DER BY t1.rowid.
1a40: 20 20 7d 0a 7d 20 7b 32 20 32 20 32 20 34 20 33    }.} {2 2 2 4 3
1a50: 20 33 20 33 20 34 20 39 20 34 20 39 20 39 20 39   3 3 4 9 4 9 9 9
1a60: 20 30 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65   0}..do_test whe
1a70: 72 65 38 2d 33 2e 31 30 20 7b 0a 20 20 65 78 65  re8-3.10 {.  exe
1a80: 63 73 71 6c 5f 73 74 61 74 75 73 20 7b 0a 20 20  csql_status {.  
1a90: 20 20 53 45 4c 45 43 54 20 64 20 46 52 4f 4d 20    SELECT d FROM 
1aa0: 74 32 20 57 48 45 52 45 20 65 20 49 53 20 4e 55  t2 WHERE e IS NU
1ab0: 4c 4c 20 4f 52 20 65 20 3d 20 27 66 6f 75 72 27  LL OR e = 'four'
1ac0: 0a 20 20 7d 0a 7d 20 7b 31 20 32 20 33 20 35 20  .  }.} {1 2 3 5 
1ad0: 31 30 20 30 20 30 7d 0a 0a 64 6f 5f 74 65 73 74  10 0 0}..do_test
1ae0: 20 77 68 65 72 65 38 2d 33 2e 31 31 20 7b 0a 20   where8-3.11 {. 
1af0: 20 65 78 65 63 73 71 6c 5f 73 74 61 74 75 73 20   execsql_status 
1b00: 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 61 2c 20  {.    SELECT a, 
1b10: 64 20 46 52 4f 4d 20 74 31 2c 20 74 32 20 57 48  d FROM t1, t2 WH
1b20: 45 52 45 20 28 61 3d 64 20 4f 52 20 62 3d 65 29  ERE (a=d OR b=e)
1b30: 20 41 4e 44 20 61 3c 35 20 4f 52 44 45 52 20 42   AND a<5 ORDER B
1b40: 59 20 61 0a 20 20 7d 0a 7d 20 7b 31 20 31 20 32  Y a.  }.} {1 1 2
1b50: 20 32 20 33 20 33 20 34 20 32 20 34 20 34 20 30   2 3 3 4 2 4 4 0
1b60: 20 30 7d 0a 64 6f 5f 74 65 73 74 20 77 68 65 72   0}.do_test wher
1b70: 65 38 2d 33 2e 31 32 20 7b 0a 20 20 65 78 65 63  e8-3.12 {.  exec
1b80: 73 71 6c 5f 73 74 61 74 75 73 20 7b 0a 20 20 20  sql_status {.   
1b90: 20 53 45 4c 45 43 54 20 61 2c 20 64 20 46 52 4f   SELECT a, d FRO
1ba0: 4d 20 74 31 2c 20 74 32 20 57 48 45 52 45 20 28  M t1, t2 WHERE (
1bb0: 61 3d 64 20 4f 52 20 62 3d 65 29 20 41 4e 44 20  a=d OR b=e) AND 
1bc0: 2b 61 3c 35 20 4f 52 44 45 52 20 42 59 20 61 0a  +a<5 ORDER BY a.
1bd0: 20 20 7d 0a 7d 20 7b 31 20 31 20 32 20 32 20 33    }.} {1 1 2 2 3
1be0: 20 33 20 34 20 32 20 34 20 34 20 30 20 30 7d 0a   3 4 2 4 4 0 0}.
1bf0: 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38 2d 33  do_test where8-3
1c00: 2e 31 33 20 7b 0a 20 20 65 78 65 63 73 71 6c 5f  .13 {.  execsql_
1c10: 73 74 61 74 75 73 20 7b 0a 20 20 20 20 53 45 4c  status {.    SEL
1c20: 45 43 54 20 61 2c 20 64 20 46 52 4f 4d 20 74 31  ECT a, d FROM t1
1c30: 2c 20 74 32 20 57 48 45 52 45 20 28 61 3d 64 20  , t2 WHERE (a=d 
1c40: 4f 52 20 62 3d 65 29 20 41 4e 44 20 2b 61 3c 35  OR b=e) AND +a<5
1c50: 0a 20 20 7d 0a 7d 20 7b 31 20 31 20 32 20 32 20  .  }.} {1 1 2 2 
1c60: 33 20 33 20 34 20 32 20 34 20 34 20 39 20 30 7d  3 3 4 2 4 4 9 0}
1c70: 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65 72 65 38  ..do_test where8
1c80: 2d 33 2e 31 34 20 7b 0a 20 20 65 78 65 63 73 71  -3.14 {.  execsq
1c90: 6c 5f 73 74 61 74 75 73 20 7b 0a 20 20 20 20 53  l_status {.    S
1ca0: 45 4c 45 43 54 20 63 20 46 52 4f 4d 20 74 31 20  ELECT c FROM t1 
1cb0: 57 48 45 52 45 20 61 20 3e 20 28 53 45 4c 45 43  WHERE a > (SELEC
1cc0: 54 20 64 20 46 52 4f 4d 20 74 32 20 57 48 45 52  T d FROM t2 WHER
1cd0: 45 20 65 20 3d 20 62 29 20 4f 52 20 61 20 3d 20  E e = b) OR a = 
1ce0: 35 0a 20 20 7d 0a 7d 20 7b 49 56 20 56 20 39 20  5.  }.} {IV V 9 
1cf0: 30 7d 0a 0a 64 6f 5f 74 65 73 74 20 77 68 65 72  0}..do_test wher
1d00: 65 38 2d 33 2e 31 35 20 7b 0a 20 20 65 78 65 63  e8-3.15 {.  exec
1d10: 73 71 6c 5f 73 74 61 74 75 73 20 7b 0a 20 20 20  sql_status {.   
1d20: 20 53 45 4c 45 43 54 20 63 20 46 52 4f 4d 20 74   SELECT c FROM t
1d30: 31 2c 20 74 32 20 57 48 45 52 45 20 61 20 42 45  1, t2 WHERE a BE
1d40: 54 57 45 45 4e 20 31 20 41 4e 44 20 32 20 4f 52  TWEEN 1 AND 2 OR
1d50: 20 61 20 3d 20 28 0a 20 20 20 20 20 20 53 45 4c   a = (.      SEL
1d60: 45 43 54 20 73 75 6d 28 65 20 49 53 20 4e 55 4c  ECT sum(e IS NUL
1d70: 4c 29 20 46 52 4f 4d 20 74 32 20 41 53 20 69 6e  L) FROM t2 AS in
1d80: 6e 65 72 20 57 48 45 52 45 20 74 32 2e 64 3e 69  ner WHERE t2.d>i
1d90: 6e 6e 65 72 2e 64 0a 20 20 20 20 29 0a 20 20 7d  nner.d.    ).  }
1da0: 0a 7d 20 7b 49 20 49 20 49 20 49 20 49 20 49 20  .} {I I I I I I 
1db0: 49 20 49 20 49 20 49 20 49 49 20 49 49 20 49 49  I I I I II II II
1dc0: 20 49 49 20 49 49 20 49 49 20 49 49 20 49 49 20   II II II II II 
1dd0: 49 49 20 49 49 20 49 49 49 20 49 49 49 20 49 49  II II III III II
1de0: 49 20 49 49 49 20 49 49 49 20 39 39 20 30 7d 0a  I III III 99 0}.
1df0: 0a 23 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  .#--------------
1e00: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1e10: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1e20: 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d  ----------------
1e30: 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 23 20 54 68 65 20  ---------.# The 
1e40: 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 73 20  following tests 
1e50: 2d 20 77 68 65 72 65 38 2d 34 2e 2a 20 2d 20 76  - where8-4.* - v
1e60: 65 72 69 66 79 20 74 68 61 74 20 61 64 64 69 6e  erify that addin
1e70: 67 20 6f 72 20 72 65 6d 6f 76 69 6e 67 20 0a 23  g or removing .#
1e80: 20 69 6e 64 65 78 65 73 20 64 6f 65 73 20 6e 6f   indexes does no
1e90: 74 20 63 68 61 6e 67 65 20 74 68 65 20 72 65 73  t change the res
1ea0: 75 6c 74 73 20 72 65 74 75 72 6e 65 64 20 62 79  ults returned by
1eb0: 20 76 61 72 69 6f 75 73 20 71 75 65 72 69 65 73   various queries
1ec0: 2e 0a 23 0a 64 6f 5f 74 65 73 74 20 77 68 65 72  ..#.do_test wher
1ed0: 65 38 2d 34 2e 31 20 7b 0a 20 20 65 78 65 63 73  e8-4.1 {.  execs
1ee0: 71 6c 20 7b 0a 20 20 20 20 42 45 47 49 4e 3b 0a  ql {.    BEGIN;.
1ef0: 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45      CREATE TABLE
1f00: 20 74 33 28 61 20 49 4e 54 45 47 45 52 2c 20 62   t3(a INTEGER, b
1f10: 20 52 45 41 4c 2c 20 63 20 54 45 58 54 29 3b 0a   REAL, c TEXT);.
1f20: 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45      CREATE TABLE
1f30: 20 74 34 28 66 20 49 4e 54 45 47 45 52 2c 20 67   t4(f INTEGER, g
1f40: 20 52 45 41 4c 2c 20 68 20 54 45 58 54 29 3b 0a   REAL, h TEXT);.
1f50: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
1f60: 74 33 20 56 41 4c 55 45 53 28 27 68 69 6c 6c 73  t3 VALUES('hills
1f70: 27 2c 20 4e 55 4c 4c 2c 20 31 34 31 35 39 32 36  ', NULL, 1415926
1f80: 35 33 35 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  535);.    INSERT
1f90: 20 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28   INTO t3 VALUES(
1fa0: 27 61 6e 64 27 2c 20 27 6f 66 27 2c 20 4e 55 4c  'and', 'of', NUL
1fb0: 4c 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49  L);.    INSERT I
1fc0: 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27 68  NTO t3 VALUES('h
1fd0: 61 76 65 27 2c 20 27 74 6f 77 65 72 69 6e 67 27  ave', 'towering'
1fe0: 2c 20 35 33 35 39 34 2e 30 38 31 32 38 29 3b 0a  , 53594.08128);.
1ff0: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
2000: 74 33 20 56 41 4c 55 45 53 28 4e 55 4c 4c 2c 20  t3 VALUES(NULL, 
2010: 34 35 2e 36 34 38 35 36 36 39 32 2c 20 27 4e 6f  45.64856692, 'No
2020: 74 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  t');.    INSERT 
2030: 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27  INTO t3 VALUES('
2040: 73 61 6d 65 27 2c 20 35 30 32 38 38 34 31 39 37  same', 502884197
2050: 31 2c 20 4e 55 4c 4c 29 3b 0a 20 20 20 20 49 4e  1, NULL);.    IN
2060: 53 45 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c  SERT INTO t3 VAL
2070: 55 45 53 28 27 6f 6e 6c 6f 6f 6b 65 72 73 27 2c  UES('onlookers',
2080: 20 27 69 6e 27 2c 20 38 32 31 34 38 30 38 36 35   'in', 821480865
2090: 31 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49  1);.    INSERT I
20a0: 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 33 34  NTO t3 VALUES(34
20b0: 36 2e 30 33 34 38 36 31 30 2c 20 32 36 34 33 33  6.0348610, 26433
20c0: 38 33 32 37 39 2c 20 4e 55 4c 4c 29 3b 0a 20 20  83279, NULL);.  
20d0: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33    INSERT INTO t3
20e0: 20 56 41 4c 55 45 53 28 31 34 31 35 39 32 36 35   VALUES(14159265
20f0: 33 35 2c 20 27 6f 66 27 2c 20 27 61 72 65 27 29  35, 'of', 'are')
2100: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
2110: 4f 20 74 33 20 56 41 4c 55 45 53 28 4e 55 4c 4c  O t3 VALUES(NULL
2120: 2c 20 30 2e 34 38 31 31 31 37 34 35 30 32 2c 20  , 0.4811174502, 
2130: 27 73 6e 61 70 73 68 6f 74 73 27 29 3b 0a 20 20  'snapshots');.  
2140: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33    INSERT INTO t3
2150: 20 56 41 4c 55 45 53 28 27 6f 76 65 72 27 2c 20   VALUES('over', 
2160: 27 74 68 65 27 2c 20 38 36 32 38 30 33 34 38 32  'the', 862803482
2170: 35 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49  5);.    INSERT I
2180: 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 38 36  NTO t3 VALUES(86
2190: 32 38 30 33 34 38 32 35 2c 20 36 36 2e 35 39 33  28034825, 66.593
21a0: 33 34 34 36 31 2c 20 32 38 34 37 35 36 34 2e 38  34461, 2847564.8
21b0: 32 33 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  23);.    INSERT 
21c0: 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27  INTO t3 VALUES('
21d0: 6f 6e 6c 6f 6f 6b 65 72 73 27 2c 20 27 73 61 6d  onlookers', 'sam
21e0: 65 27 2c 20 27 61 6e 64 27 29 3b 0a 20 20 20 20  e', 'and');.    
21f0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20 56  INSERT INTO t3 V
2200: 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27 6c 69 67  ALUES(NULL, 'lig
2210: 68 74 27 2c 20 36 39 33 39 39 33 37 35 31 30 29  ht', 6939937510)
2220: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
2230: 4f 20 74 33 20 56 41 4c 55 45 53 28 27 66 72 6f  O t3 VALUES('fro
2240: 6d 27 2c 20 27 74 68 65 69 72 27 2c 20 27 76 69  m', 'their', 'vi
2250: 65 77 65 64 27 29 3b 0a 20 20 20 20 49 4e 53 45  ewed');.    INSE
2260: 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55 45  RT INTO t3 VALUE
2270: 53 28 27 66 72 6f 6d 27 2c 20 27 41 6c 70 69 6e  S('from', 'Alpin
2280: 65 27 2c 20 27 73 6e 61 70 73 68 6f 74 73 27 29  e', 'snapshots')
2290: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
22a0: 4f 20 74 33 20 56 41 4c 55 45 53 28 27 66 72 6f  O t3 VALUES('fro
22b0: 6d 27 2c 20 27 73 6f 6d 65 74 69 6d 65 73 27 2c  m', 'sometimes',
22c0: 20 27 75 6e 61 6c 69 6b 65 27 29 3b 0a 20 20 20   'unalike');.   
22d0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20   INSERT INTO t3 
22e0: 56 41 4c 55 45 53 28 31 33 33 39 2e 33 36 30 37  VALUES(1339.3607
22f0: 32 36 2c 20 27 6c 69 67 68 74 27 2c 20 27 68 61  26, 'light', 'ha
2300: 76 65 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  ve');.    INSERT
2310: 20 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28   INTO t3 VALUES(
2320: 36 39 33 39 39 33 37 35 31 30 2c 20 33 32 38 32  6939937510, 3282
2330: 33 30 36 36 34 37 2c 20 27 6f 74 68 65 72 27 29  306647, 'other')
2340: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
2350: 4f 20 74 33 20 56 41 4c 55 45 53 28 27 70 61 69  O t3 VALUES('pai
2360: 6e 74 69 6e 67 73 27 2c 20 38 36 32 38 30 33 34  ntings', 8628034
2370: 38 32 35 2c 20 27 61 6c 6c 27 29 3b 0a 20 20 20  825, 'all');.   
2380: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20   INSERT INTO t3 
2390: 56 41 4c 55 45 53 28 27 70 61 69 6e 74 69 6e 67  VALUES('painting
23a0: 73 27 2c 20 4e 55 4c 4c 2c 20 27 73 61 6d 65 27  s', NULL, 'same'
23b0: 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  );.    INSERT IN
23c0: 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27 41 6c  TO t3 VALUES('Al
23d0: 70 69 6e 65 27 2c 20 33 37 38 36 37 38 33 31 36  pine', 378678316
23e0: 2e 35 2c 20 27 75 6e 61 6c 69 6b 65 27 29 3b 0a  .5, 'unalike');.
23f0: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
2400: 74 33 20 56 41 4c 55 45 53 28 27 41 6c 70 69 6e  t3 VALUES('Alpin
2410: 65 27 2c 20 4e 55 4c 4c 2c 20 27 73 61 6d 65 27  e', NULL, 'same'
2420: 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  );.    INSERT IN
2430: 54 4f 20 74 33 20 56 41 4c 55 45 53 28 31 33 33  TO t3 VALUES(133
2440: 39 2e 33 36 30 37 32 36 2c 20 32 38 34 37 35 36  9.360726, 284756
2450: 34 2e 38 32 33 2c 20 27 6f 76 65 72 27 29 3b 0a  4.823, 'over');.
2460: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
2470: 74 33 20 56 41 4c 55 45 53 28 27 76 69 6c 6c 61  t3 VALUES('villa
2480: 67 65 73 27 2c 20 27 74 68 65 69 72 27 2c 20 27  ges', 'their', '
2490: 68 61 76 65 27 29 3b 0a 20 20 20 20 49 4e 53 45  have');.    INSE
24a0: 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55 45  RT INTO t3 VALUE
24b0: 53 28 27 75 6e 61 6c 69 6b 65 27 2c 20 27 72 65  S('unalike', 're
24c0: 6d 61 72 6b 61 62 6c 79 27 2c 20 27 69 6e 27 29  markably', 'in')
24d0: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
24e0: 4f 20 74 33 20 56 41 4c 55 45 53 28 27 61 6e 64  O t3 VALUES('and
24f0: 27 2c 20 38 39 37 39 33 32 33 38 34 36 2c 20 27  ', 8979323846, '
2500: 61 6e 64 27 29 3b 0a 20 20 20 20 49 4e 53 45 52  and');.    INSER
2510: 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53  T INTO t3 VALUES
2520: 28 4e 55 4c 4c 2c 20 31 34 31 35 39 32 36 35 33  (NULL, 141592653
2530: 35 2c 20 27 61 6e 27 29 3b 0a 20 20 20 20 49 4e  5, 'an');.    IN
2540: 53 45 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c  SERT INTO t3 VAL
2550: 55 45 53 28 32 37 31 2e 32 30 31 39 30 39 31 2c  UES(271.2019091,
2560: 20 38 36 32 38 30 33 34 38 32 35 2c 20 30 2e 34   8628034825, 0.4
2570: 38 31 31 31 37 34 35 30 32 29 3b 0a 20 20 20 20  811174502);.    
2580: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20 56  INSERT INTO t3 V
2590: 41 4c 55 45 53 28 27 61 6c 6c 27 2c 20 33 34 32  ALUES('all', 342
25a0: 31 31 37 30 36 37 39 2c 20 27 74 68 65 27 29 3b  1170679, 'the');
25b0: 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  .    INSERT INTO
25c0: 20 74 33 20 56 41 4c 55 45 53 28 27 4e 6f 74 27   t3 VALUES('Not'
25d0: 2c 20 27 61 6e 64 27 2c 20 31 34 31 35 39 32 36  , 'and', 1415926
25e0: 35 33 35 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  535);.    INSERT
25f0: 20 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28   INTO t3 VALUES(
2600: 27 6f 66 27 2c 20 27 6f 74 68 65 72 27 2c 20 27  'of', 'other', '
2610: 6c 69 67 68 74 27 29 3b 0a 20 20 20 20 49 4e 53  light');.    INS
2620: 45 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55  ERT INTO t3 VALU
2630: 45 53 28 4e 55 4c 4c 2c 20 27 74 6f 77 65 72 69  ES(NULL, 'toweri
2640: 6e 67 27 2c 20 27 4e 6f 74 27 29 3b 0a 20 20 20  ng', 'Not');.   
2650: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20   INSERT INTO t3 
2660: 56 41 4c 55 45 53 28 33 34 36 2e 30 33 34 38 36  VALUES(346.03486
2670: 31 30 2c 20 4e 55 4c 4c 2c 20 27 6f 74 68 65 72  10, NULL, 'other
2680: 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49  ');.    INSERT I
2690: 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27 4e  NTO t3 VALUES('N
26a0: 6f 74 27 2c 20 33 37 38 36 37 38 33 31 36 2e 35  ot', 378678316.5
26b0: 2c 20 4e 55 4c 4c 29 3b 0a 20 20 20 20 49 4e 53  , NULL);.    INS
26c0: 45 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55  ERT INTO t3 VALU
26d0: 45 53 28 27 73 6e 61 70 73 68 6f 74 73 27 2c 20  ES('snapshots', 
26e0: 38 36 32 38 30 33 34 38 32 35 2c 20 27 6f 66 27  8628034825, 'of'
26f0: 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  );.    INSERT IN
2700: 54 4f 20 74 33 20 56 41 4c 55 45 53 28 33 32 38  TO t3 VALUES(328
2710: 32 33 30 36 36 34 37 2c 20 32 37 31 2e 32 30 31  2306647, 271.201
2720: 39 30 39 31 2c 20 27 61 6e 64 27 29 3b 0a 20 20  9091, 'and');.  
2730: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33    INSERT INTO t3
2740: 20 56 41 4c 55 45 53 28 35 30 2e 35 38 32 32 33   VALUES(50.58223
2750: 31 37 32 2c 20 33 37 38 36 37 38 33 31 36 2e 35  172, 378678316.5
2760: 2c 20 35 30 32 38 38 34 31 39 37 31 29 3b 0a 20  , 5028841971);. 
2770: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2780: 33 20 56 41 4c 55 45 53 28 35 30 2e 35 38 32 32  3 VALUES(50.5822
2790: 33 31 37 32 2c 20 32 36 34 33 33 38 33 32 37 39  3172, 2643383279
27a0: 2c 20 27 73 6e 61 70 73 68 6f 74 73 27 29 3b 0a  , 'snapshots');.
27b0: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
27c0: 74 33 20 56 41 4c 55 45 53 28 27 77 72 69 74 69  t3 VALUES('writi
27d0: 6e 67 73 27 2c 20 38 39 37 39 33 32 33 38 34 36  ngs', 8979323846
27e0: 2c 20 38 39 37 39 33 32 33 38 34 36 29 3b 0a 20  , 8979323846);. 
27f0: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2800: 33 20 56 41 4c 55 45 53 28 27 6f 6e 6c 6f 6f 6b  3 VALUES('onlook
2810: 65 72 73 27 2c 20 27 68 69 73 27 2c 20 27 69 6e  ers', 'his', 'in
2820: 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49  ');.    INSERT I
2830: 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27 75  NTO t3 VALUES('u
2840: 6e 61 6c 69 6b 65 27 2c 20 38 36 32 38 30 33 34  nalike', 8628034
2850: 38 32 35 2c 20 31 33 33 39 2e 33 36 30 37 32 36  825, 1339.360726
2860: 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  );.    INSERT IN
2870: 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27 6f 66  TO t3 VALUES('of
2880: 27 2c 20 27 41 6c 70 69 6e 65 27 2c 20 27 61 6e  ', 'Alpine', 'an
2890: 64 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  d');.    INSERT 
28a0: 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27  INTO t3 VALUES('
28b0: 6f 6e 6c 6f 6f 6b 65 72 73 27 2c 20 4e 55 4c 4c  onlookers', NULL
28c0: 2c 20 27 66 72 6f 6d 27 29 3b 0a 20 20 20 20 49  , 'from');.    I
28d0: 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20 56 41  NSERT INTO t3 VA
28e0: 4c 55 45 53 28 27 77 72 69 74 69 6e 67 73 27 2c  LUES('writings',
28f0: 20 27 69 74 27 2c 20 31 33 33 39 2e 33 36 30 37   'it', 1339.3607
2900: 32 36 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  26);.    INSERT 
2910: 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 27  INTO t3 VALUES('
2920: 69 74 27 2c 20 27 61 6e 64 27 2c 20 27 76 69 6c  it', 'and', 'vil
2930: 6c 61 67 65 73 27 29 3b 0a 20 20 20 20 49 4e 53  lages');.    INS
2940: 45 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55  ERT INTO t3 VALU
2950: 45 53 28 27 61 6e 27 2c 20 27 74 68 65 27 2c 20  ES('an', 'the', 
2960: 27 76 69 6c 6c 61 67 65 73 27 29 3b 0a 20 20 20  'villages');.   
2970: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20   INSERT INTO t3 
2980: 56 41 4c 55 45 53 28 38 32 31 34 38 30 38 36 35  VALUES(821480865
2990: 31 2c 20 38 32 31 34 38 30 38 36 35 31 2c 20 27  1, 8214808651, '
29a0: 73 61 6d 65 27 29 3b 0a 20 20 20 20 49 4e 53 45  same');.    INSE
29b0: 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55 45  RT INTO t3 VALUE
29c0: 53 28 33 34 36 2e 30 33 34 38 36 31 30 2c 20 27  S(346.0348610, '
29d0: 6c 69 67 68 74 27 2c 20 31 34 31 35 39 32 36 35  light', 14159265
29e0: 33 35 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  35);.    INSERT 
29f0: 49 4e 54 4f 20 74 33 20 56 41 4c 55 45 53 28 4e  INTO t3 VALUES(N
2a00: 55 4c 4c 2c 20 38 39 37 39 33 32 33 38 34 36 2c  ULL, 8979323846,
2a10: 20 27 61 6e 64 27 29 3b 0a 20 20 20 20 49 4e 53   'and');.    INS
2a20: 45 52 54 20 49 4e 54 4f 20 74 33 20 56 41 4c 55  ERT INTO t3 VALU
2a30: 45 53 28 4e 55 4c 4c 2c 20 27 73 61 6d 65 27 2c  ES(NULL, 'same',
2a40: 20 31 33 33 39 2e 33 36 30 37 32 36 29 3b 0a 20   1339.360726);. 
2a50: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2a60: 34 20 56 41 4c 55 45 53 28 27 68 69 73 27 2c 20  4 VALUES('his', 
2a70: 27 66 72 6f 6d 27 2c 20 27 61 6e 27 29 3b 0a 20  'from', 'an');. 
2a80: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2a90: 34 20 56 41 4c 55 45 53 28 27 73 6e 61 70 73 68  4 VALUES('snapsh
2aa0: 6f 74 73 27 2c 20 27 6f 72 27 2c 20 4e 55 4c 4c  ots', 'or', NULL
2ab0: 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  );.    INSERT IN
2ac0: 54 4f 20 74 34 20 56 41 4c 55 45 53 28 27 41 6c  TO t4 VALUES('Al
2ad0: 70 69 6e 65 27 2c 20 27 68 61 76 65 27 2c 20 27  pine', 'have', '
2ae0: 69 74 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  it');.    INSERT
2af0: 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53 28   INTO t4 VALUES(
2b00: 27 68 61 76 65 27 2c 20 27 70 65 61 6b 27 2c 20  'have', 'peak', 
2b10: 27 72 65 6d 61 72 6b 61 62 6c 79 27 29 3b 0a 20  'remarkably');. 
2b20: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2b30: 34 20 56 41 4c 55 45 53 28 27 68 69 6c 6c 73 27  4 VALUES('hills'
2b40: 2c 20 4e 55 4c 4c 2c 20 27 4e 6f 74 27 29 3b 0a  , NULL, 'Not');.
2b50: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
2b60: 74 34 20 56 41 4c 55 45 53 28 27 73 61 6d 65 27  t4 VALUES('same'
2b70: 2c 20 27 66 72 6f 6d 27 2c 20 32 36 34 33 33 38  , 'from', 264338
2b80: 33 32 37 39 29 3b 0a 20 20 20 20 49 4e 53 45 52  3279);.    INSER
2b90: 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53  T INTO t4 VALUES
2ba0: 28 27 68 61 76 65 27 2c 20 27 61 6e 67 6c 65 27  ('have', 'angle'
2bb0: 2c 20 38 36 32 38 30 33 34 38 32 35 29 3b 0a 20  , 8628034825);. 
2bc0: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2bd0: 34 20 56 41 4c 55 45 53 28 27 73 6f 6d 65 74 69  4 VALUES('someti
2be0: 6d 65 73 27 2c 20 27 69 74 27 2c 20 32 38 34 37  mes', 'it', 2847
2bf0: 35 36 34 2e 38 32 33 29 3b 0a 20 20 20 20 49 4e  564.823);.    IN
2c00: 53 45 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c  SERT INTO t4 VAL
2c10: 55 45 53 28 30 39 33 38 34 34 36 30 39 35 2c 20  UES(0938446095, 
2c20: 27 70 65 61 6b 27 2c 20 27 6f 66 27 29 3b 0a 20  'peak', 'of');. 
2c30: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2c40: 34 20 56 41 4c 55 45 53 28 38 36 32 38 30 33 34  4 VALUES(8628034
2c50: 38 32 35 2c 20 27 61 6e 64 27 2c 20 27 73 61 6d  825, 'and', 'sam
2c60: 65 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  e');.    INSERT 
2c70: 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53 28 27  INTO t4 VALUES('
2c80: 61 6e 64 27 2c 20 32 37 31 2e 32 30 31 39 30 39  and', 271.201909
2c90: 31 2c 20 27 74 68 65 69 72 27 29 3b 0a 20 20 20  1, 'their');.   
2ca0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20   INSERT INTO t4 
2cb0: 56 41 4c 55 45 53 28 27 74 68 65 27 2c 20 27 6f  VALUES('the', 'o
2cc0: 66 27 2c 20 27 72 65 6d 61 72 6b 61 62 6c 79 27  f', 'remarkably'
2cd0: 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  );.    INSERT IN
2ce0: 54 4f 20 74 34 20 56 41 4c 55 45 53 28 27 61 6e  TO t4 VALUES('an
2cf0: 64 27 2c 20 33 34 32 31 31 37 30 36 37 39 2c 20  d', 3421170679, 
2d00: 31 34 31 35 39 32 36 35 33 35 29 3b 0a 20 20 20  1415926535);.   
2d10: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20   INSERT INTO t4 
2d20: 56 41 4c 55 45 53 28 27 61 6e 64 27 2c 20 27 69  VALUES('and', 'i
2d30: 6e 27 2c 20 27 61 6c 6c 27 29 3b 0a 20 20 20 20  n', 'all');.    
2d40: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20 56  INSERT INTO t4 V
2d50: 41 4c 55 45 53 28 33 37 38 36 37 38 33 31 36 2e  ALUES(378678316.
2d60: 35 2c 20 30 2e 34 38 31 31 31 37 34 35 30 32 2c  5, 0.4811174502,
2d70: 20 27 73 6e 61 70 73 68 6f 74 73 27 29 3b 0a 20   'snapshots');. 
2d80: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2d90: 34 20 56 41 4c 55 45 53 28 27 69 74 27 2c 20 27  4 VALUES('it', '
2da0: 61 72 65 27 2c 20 27 68 61 76 65 27 29 3b 0a 20  are', 'have');. 
2db0: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
2dc0: 34 20 56 41 4c 55 45 53 28 27 61 6e 67 6c 65 27  4 VALUES('angle'
2dd0: 2c 20 27 73 6e 61 70 73 68 6f 74 73 27 2c 20 33  , 'snapshots', 3
2de0: 37 38 36 37 38 33 31 36 2e 35 29 3b 0a 20 20 20  78678316.5);.   
2df0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20   INSERT INTO t4 
2e00: 56 41 4c 55 45 53 28 27 66 72 6f 6d 27 2c 20 31  VALUES('from', 1
2e10: 34 31 35 39 32 36 35 33 35 2c 20 38 36 32 38 30  415926535, 86280
2e20: 33 34 38 32 35 29 3b 0a 20 20 20 20 49 4e 53 45  34825);.    INSE
2e30: 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45  RT INTO t4 VALUE
2e40: 53 28 27 73 6e 61 70 73 68 6f 74 73 27 2c 20 27  S('snapshots', '
2e50: 61 6e 67 6c 65 27 2c 20 27 68 61 76 65 27 29 3b  angle', 'have');
2e60: 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  .    INSERT INTO
2e70: 20 74 34 20 56 41 4c 55 45 53 28 33 34 32 31 31   t4 VALUES(34211
2e80: 37 30 36 37 39 2c 20 30 39 33 38 34 34 36 30 39  70679, 093844609
2e90: 35 2c 20 27 4e 6f 74 27 29 3b 0a 20 20 20 20 49  5, 'Not');.    I
2ea0: 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20 56 41  NSERT INTO t4 VA
2eb0: 4c 55 45 53 28 27 70 65 61 6b 27 2c 20 4e 55 4c  LUES('peak', NUL
2ec0: 4c 2c 20 30 2e 34 38 31 31 31 37 34 35 30 32 29  L, 0.4811174502)
2ed0: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
2ee0: 4f 20 74 34 20 56 41 4c 55 45 53 28 27 73 61 6d  O t4 VALUES('sam
2ef0: 65 27 2c 20 27 68 61 76 65 27 2c 20 27 41 6c 70  e', 'have', 'Alp
2f00: 69 6e 65 27 29 3b 0a 20 20 20 20 49 4e 53 45 52  ine');.    INSER
2f10: 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53  T INTO t4 VALUES
2f20: 28 32 37 31 2e 32 30 31 39 30 39 31 2c 20 36 36  (271.2019091, 66
2f30: 2e 35 39 33 33 34 34 36 31 2c 20 30 39 33 38 34  .59334461, 09384
2f40: 34 36 30 39 35 29 3b 0a 20 20 20 20 49 4e 53 45  46095);.    INSE
2f50: 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45  RT INTO t4 VALUE
2f60: 53 28 38 39 37 39 33 32 33 38 34 36 2c 20 27 68  S(8979323846, 'h
2f70: 69 73 27 2c 20 27 61 6e 27 29 3b 0a 20 20 20 20  is', 'an');.    
2f80: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20 56  INSERT INTO t4 V
2f90: 41 4c 55 45 53 28 4e 55 4c 4c 2c 20 27 61 6e 64  ALUES(NULL, 'and
2fa0: 27 2c 20 33 32 38 32 33 30 36 36 34 37 29 3b 0a  ', 3282306647);.
2fb0: 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20      INSERT INTO 
2fc0: 74 34 20 56 41 4c 55 45 53 28 27 72 65 6d 61 72  t4 VALUES('remar
2fd0: 6b 61 62 6c 79 27 2c 20 4e 55 4c 4c 2c 20 27 4e  kably', NULL, 'N
2fe0: 6f 74 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  ot');.    INSERT
2ff0: 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53 28   INTO t4 VALUES(
3000: 27 76 69 6c 6c 61 67 65 73 27 2c 20 34 35 34 33  'villages', 4543
3010: 2e 32 36 36 34 38 32 2c 20 27 68 69 73 27 29 3b  .266482, 'his');
3020: 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  .    INSERT INTO
3030: 20 74 34 20 56 41 4c 55 45 53 28 32 36 34 33 33   t4 VALUES(26433
3040: 38 33 32 37 39 2c 20 27 70 61 69 6e 74 69 6e 67  83279, 'painting
3050: 73 27 2c 20 27 6f 6e 6c 6f 6f 6b 65 72 73 27 29  s', 'onlookers')
3060: 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ;.    INSERT INT
3070: 4f 20 74 34 20 56 41 4c 55 45 53 28 31 33 33 39  O t4 VALUES(1339
3080: 2e 33 36 30 37 32 36 2c 20 27 6f 66 27 2c 20 27  .360726, 'of', '
3090: 74 68 65 27 29 3b 0a 20 20 20 20 49 4e 53 45 52  the');.    INSER
30a0: 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53  T INTO t4 VALUES
30b0: 28 27 70 65 61 6b 27 2c 20 27 6f 74 68 65 72 27  ('peak', 'other'
30c0: 2c 20 27 70 65 61 6b 27 29 3b 0a 20 20 20 20 49  , 'peak');.    I
30d0: 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20 56 41  NSERT INTO t4 VA
30e0: 4c 55 45 53 28 27 69 74 27 2c 20 27 6f 72 27 2c  LUES('it', 'or',
30f0: 20 38 39 37 39 33 32 33 38 34 36 29 3b 0a 20 20   8979323846);.  
3100: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34    INSERT INTO t4
3110: 20 56 41 4c 55 45 53 28 27 6f 6e 6c 6f 6f 6b 65   VALUES('onlooke
3120: 72 73 27 2c 20 27 4e 6f 74 27 2c 20 27 74 6f 77  rs', 'Not', 'tow
3130: 65 72 69 6e 67 27 29 3b 0a 20 20 20 20 49 4e 53  ering');.    INS
3140: 45 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55  ERT INTO t4 VALU
3150: 45 53 28 4e 55 4c 4c 2c 20 27 70 65 61 6b 27 2c  ES(NULL, 'peak',
3160: 20 27 4e 6f 74 27 29 3b 0a 20 20 20 20 49 4e 53   'Not');.    INS
3170: 45 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55  ERT INTO t4 VALU
3180: 45 53 28 27 6f 66 27 2c 20 27 68 61 76 65 27 2c  ES('of', 'have',
3190: 20 36 39 33 39 39 33 37 35 31 30 29 3b 0a 20 20   6939937510);.  
31a0: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34    INSERT INTO t4
31b0: 20 56 41 4c 55 45 53 28 27 6c 69 67 68 74 27 2c   VALUES('light',
31c0: 20 27 68 69 6c 6c 73 27 2c 20 30 2e 34 38 31 31   'hills', 0.4811
31d0: 31 37 34 35 30 32 29 3b 0a 20 20 20 20 49 4e 53  174502);.    INS
31e0: 45 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55  ERT INTO t4 VALU
31f0: 45 53 28 35 30 32 38 38 34 31 39 37 31 2c 20 27  ES(5028841971, '
3200: 4e 6f 74 27 2c 20 27 69 74 27 29 3b 0a 20 20 20  Not', 'it');.   
3210: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20   INSERT INTO t4 
3220: 56 41 4c 55 45 53 28 27 61 6e 64 27 2c 20 27 4e  VALUES('and', 'N
3230: 6f 74 27 2c 20 4e 55 4c 4c 29 3b 0a 20 20 20 20  ot', NULL);.    
3240: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20 56  INSERT INTO t4 V
3250: 41 4c 55 45 53 28 33 34 36 2e 30 33 34 38 36 31  ALUES(346.034861
3260: 30 2c 20 27 76 69 6c 6c 61 67 65 73 27 2c 20 4e  0, 'villages', N
3270: 55 4c 4c 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  ULL);.    INSERT
3280: 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53 28   INTO t4 VALUES(
3290: 38 39 37 39 33 32 33 38 34 36 2c 20 4e 55 4c 4c  8979323846, NULL
32a0: 2c 20 36 39 33 39 39 33 37 35 31 30 29 3b 0a 20  , 6939937510);. 
32b0: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
32c0: 34 20 56 41 4c 55 45 53 28 27 61 6e 27 2c 20 27  4 VALUES('an', '
32d0: 6c 69 67 68 74 27 2c 20 27 70 65 61 6b 27 29 3b  light', 'peak');
32e0: 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  .    INSERT INTO
32f0: 20 74 34 20 56 41 4c 55 45 53 28 35 30 32 38 38   t4 VALUES(50288
3300: 34 31 39 37 31 2c 20 36 39 33 39 39 33 37 35 31  41971, 693993751
3310: 30 2c 20 27 6c 69 67 68 74 27 29 3b 0a 20 20 20  0, 'light');.   
3320: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20   INSERT INTO t4 
3330: 56 41 4c 55 45 53 28 27 73 6f 6d 65 74 69 6d 65  VALUES('sometime
3340: 73 27 2c 20 27 70 65 61 6b 27 2c 20 27 70 65 61  s', 'peak', 'pea
3350: 6b 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20  k');.    INSERT 
3360: 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53 28 33  INTO t4 VALUES(3
3370: 37 38 36 37 38 33 31 36 2e 35 2c 20 35 30 32 38  78678316.5, 5028
3380: 38 34 31 39 37 31 2c 20 27 61 6e 27 29 3b 0a 20  841971, 'an');. 
3390: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
33a0: 34 20 56 41 4c 55 45 53 28 33 37 38 36 37 38 33  4 VALUES(3786783
33b0: 31 36 2e 35 2c 20 27 68 69 73 27 2c 20 27 41 6c  16.5, 'his', 'Al
33c0: 70 69 6e 65 27 29 3b 0a 20 20 20 20 49 4e 53 45  pine');.    INSE
33d0: 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45  RT INTO t4 VALUE
33e0: 53 28 27 66 72 6f 6d 27 2c 20 27 6f 66 27 2c 20  S('from', 'of', 
33f0: 27 61 6c 6c 27 29 3b 0a 20 20 20 20 49 4e 53 45  'all');.    INSE
3400: 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45  RT INTO t4 VALUE
3410: 53 28 30 39 33 38 34 34 36 30 39 35 2c 20 27 73  S(0938446095, 's
3420: 61 6d 65 27 2c 20 4e 55 4c 4c 29 3b 0a 20 20 20  ame', NULL);.   
3430: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 34 20   INSERT INTO t4 
3440: 56 41 4c 55 45 53 28 30 39 33 38 34 34 36 30 39  VALUES(093844609
3450: 35 2c 20 27 41 6c 70 69 6e 65 27 2c 20 4e 55 4c  5, 'Alpine', NUL
3460: 4c 29 3b 0a 20 20 20 20 49 4e 53 45 52 54 20 49  L);.    INSERT I
3470: 4e 54 4f 20 74 34 20 56 41 4c 55 45 53 28 27 68  NTO t4 VALUES('h
3480: 69 73 27 2c 20 27 6f 66 27 2c 20 33 37 38 36 37  is', 'of', 37867
3490: 38 33 31 36 2e 35 29 3b 0a 20 20 20 20 49 4e 53  8316.5);.    INS
34a0: 45 52 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55  ERT INTO t4 VALU
34b0: 45 53 28 32 37 31 2e 32 30 31 39 30 39 31 2c 20  ES(271.2019091, 
34c0: 27 76 69 65 77 65 64 27 2c 20 33 32 38 32 33 30  'viewed', 328230
34d0: 36 36 34 37 29 3b 0a 20 20 20 20 49 4e 53 45 52  6647);.    INSER
34e0: 54 20 49 4e 54 4f 20 74 34 20 56 41 4c 55 45 53  T INTO t4 VALUES
34f0: 28 27 68 69 6c 6c 73 27 2c 20 27 61 6c 6c 27 2c  ('hills', 'all',
3500: 20 27 70 65 61 6b 27 29 3b 0a 20 20 20 20 43 4f   'peak');.    CO
3510: 4d 4d 49 54 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a  MMIT;.  }.} {}..
3520: 63 61 74 63 68 20 7b 75 6e 73 65 74 20 72 65 73  catch {unset res
3530: 75 6c 74 73 7d 0a 63 61 74 63 68 20 7b 75 6e 73  ults}.catch {uns
3540: 65 74 20 41 7d 0a 63 61 74 63 68 20 7b 75 6e 73  et A}.catch {uns
3550: 65 74 20 42 7d 0a 0a 73 65 74 20 41 20 32 0a 66  et B}..set A 2.f
3560: 6f 72 65 61 63 68 20 69 64 78 73 71 6c 20 7b 0a  oreach idxsql {.
3570: 20 20 7b 20 0a 20 20 20 20 2f 2a 20 4e 6f 20 69    { .    /* No i
3580: 6e 64 65 78 65 73 20 2a 2f 20 0a 20 20 7d 20 7b  ndexes */ .  } {
3590: 0a 20 20 20 20 43 52 45 41 54 45 20 49 4e 44 45  .    CREATE INDE
35a0: 58 20 69 35 20 4f 4e 20 74 33 28 61 29 3b 0a 20  X i5 ON t3(a);. 
35b0: 20 7d 20 7b 0a 20 20 20 20 43 52 45 41 54 45 20   } {.    CREATE 
35c0: 49 4e 44 45 58 20 69 35 20 4f 4e 20 74 33 28 61  INDEX i5 ON t3(a
35d0: 2c 20 62 29 3b 0a 20 20 20 20 43 52 45 41 54 45  , b);.    CREATE
35e0: 20 49 4e 44 45 58 20 69 36 20 4f 4e 20 74 34 28   INDEX i6 ON t4(
35f0: 66 29 3b 0a 20 20 7d 20 7b 0a 20 20 20 20 43 52  f);.  } {.    CR
3600: 45 41 54 45 20 55 4e 49 51 55 45 20 49 4e 44 45  EATE UNIQUE INDE
3610: 58 20 69 35 20 4f 4e 20 74 33 28 61 2c 20 62 29  X i5 ON t3(a, b)
3620: 3b 0a 20 20 20 20 43 52 45 41 54 45 20 49 4e 44  ;.    CREATE IND
3630: 45 58 20 69 37 20 4f 4e 20 74 33 28 63 29 3b 0a  EX i7 ON t3(c);.
3640: 20 20 20 20 43 52 45 41 54 45 20 49 4e 44 45 58      CREATE INDEX
3650: 20 69 36 20 4f 4e 20 74 34 28 66 29 3b 0a 20 20   i6 ON t4(f);.  
3660: 20 20 43 52 45 41 54 45 20 49 4e 44 45 58 20 69    CREATE INDEX i
3670: 38 20 4f 4e 20 74 34 28 68 29 3b 0a 20 20 7d 20  8 ON t4(h);.  } 
3680: 7b 0a 20 20 20 20 43 52 45 41 54 45 20 49 4e 44  {.    CREATE IND
3690: 45 58 20 69 35 20 4f 4e 20 74 33 28 61 2c 20 62  EX i5 ON t3(a, b
36a0: 2c 20 63 29 3b 0a 20 20 20 20 43 52 45 41 54 45  , c);.    CREATE
36b0: 20 49 4e 44 45 58 20 69 36 20 4f 4e 20 74 34 28   INDEX i6 ON t4(
36c0: 66 2c 20 67 2c 20 68 29 3b 0a 20 20 20 20 43 52  f, g, h);.    CR
36d0: 45 41 54 45 20 49 4e 44 45 58 20 69 37 20 4f 4e  EATE INDEX i7 ON
36e0: 20 74 33 28 63 2c 20 62 2c 20 61 29 3b 0a 20 20   t3(c, b, a);.  
36f0: 20 20 43 52 45 41 54 45 20 49 4e 44 45 58 20 69    CREATE INDEX i
3700: 38 20 4f 4e 20 74 34 28 68 2c 20 67 2c 20 66 29  8 ON t4(h, g, f)
3710: 3b 0a 20 20 7d 0a 7d 20 7b 0a 0a 20 20 65 78 65  ;.  }.} {..  exe
3720: 63 73 71 6c 20 7b 0a 20 20 20 20 44 52 4f 50 20  csql {.    DROP 
3730: 49 4e 44 45 58 20 49 46 20 45 58 49 53 54 53 20  INDEX IF EXISTS 
3740: 69 35 3b 0a 20 20 20 20 44 52 4f 50 20 49 4e 44  i5;.    DROP IND
3750: 45 58 20 49 46 20 45 58 49 53 54 53 20 69 36 3b  EX IF EXISTS i6;
3760: 0a 20 20 20 20 44 52 4f 50 20 49 4e 44 45 58 20  .    DROP INDEX 
3770: 49 46 20 45 58 49 53 54 53 20 69 37 3b 0a 20 20  IF EXISTS i7;.  
3780: 20 20 44 52 4f 50 20 49 4e 44 45 58 20 49 46 20    DROP INDEX IF 
3790: 45 58 49 53 54 53 20 69 38 3b 0a 20 20 7d 0a 20  EXISTS i8;.  }. 
37a0: 20 65 78 65 63 73 71 6c 20 24 69 64 78 73 71 6c   execsql $idxsql
37b0: 0a 0a 20 20 66 6f 72 65 61 63 68 20 7b 42 20 73  ..  foreach {B s
37c0: 71 6c 7d 20 7b 0a 20 31 20 20 7b 20 53 45 4c 45  ql} {. 1  { SELE
37d0: 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45  CT * FROM t3 WHE
37e0: 52 45 20 63 20 4c 49 4b 45 20 62 20 7d 0a 20 32  RE c LIKE b }. 2
37f0: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
3800: 4d 20 74 33 20 57 48 45 52 45 20 63 7c 7c 27 27  M t3 WHERE c||''
3810: 20 4c 49 4b 45 20 27 74 68 65 25 27 20 7d 0a 20   LIKE 'the%' }. 
3820: 33 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  3  { SELECT * FR
3830: 4f 4d 20 74 33 20 57 48 45 52 45 20 72 6f 77 69  OM t3 WHERE rowi
3840: 64 20 4c 49 4b 45 20 27 31 32 25 27 20 7d 0a 20  d LIKE '12%' }. 
3850: 34 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  4  { SELECT * FR
3860: 4f 4d 20 74 33 20 57 48 45 52 45 20 2b 63 20 4c  OM t3 WHERE +c L
3870: 49 4b 45 20 27 74 68 65 25 27 20 7d 0a 20 35 20  IKE 'the%' }. 5 
3880: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
3890: 20 74 33 20 57 48 45 52 45 20 63 20 4c 49 4b 45   t3 WHERE c LIKE
38a0: 20 27 74 68 65 25 27 20 7d 0a 20 36 20 20 7b 20   'the%' }. 6  { 
38b0: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
38c0: 20 57 48 45 52 45 20 63 20 47 4c 4f 42 20 27 2a   WHERE c GLOB '*
38d0: 6c 6c 6f 27 20 7d 0a 0a 20 37 20 20 7b 20 53 45  llo' }.. 7  { SE
38e0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57  LECT * FROM t3 W
38f0: 48 45 52 45 20 61 20 3d 20 27 61 6e 67 6c 65 27  HERE a = 'angle'
3900: 20 7d 0a 20 38 20 20 7b 20 53 45 4c 45 43 54 20   }. 8  { SELECT 
3910: 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  * FROM t3 WHERE 
3920: 61 20 3d 20 27 69 74 27 20 4f 52 20 62 20 3d 20  a = 'it' OR b = 
3930: 36 39 33 39 39 33 37 35 31 30 20 7d 0a 20 39 20  6939937510 }. 9 
3940: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
3950: 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 61 20   t3, t4 WHERE a 
3960: 3d 20 27 70 61 69 6e 74 69 6e 67 27 20 4f 52 20  = 'painting' OR 
3970: 61 20 3d 20 27 61 72 65 27 20 4f 52 20 61 20 3d  a = 'are' OR a =
3980: 20 66 20 7d 0a 31 30 20 20 7b 20 53 45 4c 45 43   f }.10  { SELEC
3990: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
39a0: 57 48 45 52 45 20 61 20 3d 20 27 61 6c 6c 27 20  WHERE a = 'all' 
39b0: 4f 52 20 61 20 3d 20 27 61 6e 64 27 20 4f 52 20  OR a = 'and' OR 
39c0: 61 20 3d 20 68 20 7d 0a 31 31 20 20 7b 20 53 45  a = h }.11  { SE
39d0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
39e0: 74 34 20 57 48 45 52 45 20 61 20 3c 20 27 6f 66  t4 WHERE a < 'of
39f0: 27 20 4f 52 20 62 20 3e 20 33 34 36 20 41 4e 44  ' OR b > 346 AND
3a00: 20 63 20 49 53 20 4e 55 4c 4c 20 7d 0a 31 32 20   c IS NULL }.12 
3a10: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
3a20: 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 27 74   t3, t4 WHERE 't
3a30: 68 65 27 20 3e 20 61 20 4f 52 20 62 20 3e 20 27  he' > a OR b > '
3a40: 68 61 76 65 27 20 41 4e 44 20 63 20 3d 20 31 34  have' AND c = 14
3a50: 31 35 39 32 36 35 33 35 20 7d 0a 0a 31 33 20 20  15926535 }..13  
3a60: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
3a70: 74 33 20 57 48 45 52 45 20 61 20 42 45 54 57 45  t3 WHERE a BETWE
3a80: 45 4e 20 27 6f 6e 65 27 20 41 4e 44 20 27 74 77  EN 'one' AND 'tw
3a90: 6f 27 20 4f 52 20 61 20 3d 20 33 34 32 31 31 37  o' OR a = 342117
3aa0: 30 36 37 39 20 7d 0a 31 34 20 20 7b 20 53 45 4c  0679 }.14  { SEL
3ab0: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48  ECT * FROM t3 WH
3ac0: 45 52 45 20 61 20 42 45 54 57 45 45 4e 20 27 6f  ERE a BETWEEN 'o
3ad0: 6e 65 27 20 41 4e 44 20 27 74 77 6f 27 20 4f 52  ne' AND 'two' OR
3ae0: 20 61 20 49 53 20 4e 55 4c 4c 20 7d 0a 31 35 20   a IS NULL }.15 
3af0: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
3b00: 20 74 33 20 57 48 45 52 45 20 63 20 3e 20 27 6f   t3 WHERE c > 'o
3b10: 6e 65 27 20 4f 52 20 63 20 3e 3d 20 27 6f 6e 65  ne' OR c >= 'one
3b20: 27 20 4f 52 20 63 20 4c 49 4b 45 20 27 6f 6e 65  ' OR c LIKE 'one
3b30: 25 27 20 7d 0a 31 36 20 20 7b 20 53 45 4c 45 43  %' }.16  { SELEC
3b40: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
3b50: 45 20 63 20 3e 20 27 6f 6e 65 27 20 4f 52 20 63  E c > 'one' OR c
3b60: 20 3d 20 63 20 4f 52 20 63 20 3d 20 61 20 7d 0a   = c OR c = a }.
3b70: 31 37 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  17  { SELECT * F
3b80: 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63 20 49  ROM t3 WHERE c I
3b90: 53 20 4e 55 4c 4c 20 4f 52 20 61 20 3e 3d 20 27  S NULL OR a >= '
3ba0: 70 65 61 6b 27 20 7d 0a 31 38 20 20 7b 20 53 45  peak' }.18  { SE
3bb0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57  LECT * FROM t3 W
3bc0: 48 45 52 45 20 63 20 49 4e 20 28 27 6f 74 68 65  HERE c IN ('othe
3bd0: 72 27 2c 20 27 61 6c 6c 27 2c 20 27 73 6e 61 70  r', 'all', 'snap
3be0: 73 68 6f 74 73 27 29 20 4f 52 20 61 3e 31 20 7d  shots') OR a>1 }
3bf0: 0a 31 39 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .19  { SELECT * 
3c00: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63 20  FROM t3 WHERE c 
3c10: 49 4e 20 28 27 6f 74 68 65 72 27 2c 20 27 61 6c  IN ('other', 'al
3c20: 6c 27 2c 20 27 73 6e 61 70 73 68 6f 74 73 27 29  l', 'snapshots')
3c30: 20 41 4e 44 20 61 3e 31 20 7d 0a 32 30 20 20 7b   AND a>1 }.20  {
3c40: 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74   SELECT * FROM t
3c50: 33 20 57 48 45 52 45 20 63 20 49 53 20 4e 55 4c  3 WHERE c IS NUL
3c60: 4c 20 41 4e 44 20 61 3e 27 6f 6e 65 27 20 7d 0a  L AND a>'one' }.
3c70: 32 31 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  21  { SELECT * F
3c80: 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63 20 49  ROM t3 WHERE c I
3c90: 53 20 4e 55 4c 4c 20 4f 52 20 61 3e 27 6f 6e 65  S NULL OR a>'one
3ca0: 27 20 7d 0a 32 32 20 20 7b 20 53 45 4c 45 43 54  ' }.22  { SELECT
3cb0: 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45   * FROM t3 WHERE
3cc0: 20 62 20 3d 20 62 20 41 4e 44 20 61 20 3e 20 27   b = b AND a > '
3cd0: 61 72 65 27 20 7d 0a 32 33 20 20 7b 20 53 45 4c  are' }.23  { SEL
3ce0: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48  ECT * FROM t3 WH
3cf0: 45 52 45 20 63 20 3c 3d 20 62 20 4f 52 20 62 20  ERE c <= b OR b 
3d00: 3c 20 27 73 6e 61 70 73 68 6f 74 73 27 20 7d 0a  < 'snapshots' }.
3d10: 32 34 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  24  { SELECT * F
3d20: 52 4f 4d 20 74 33 20 57 48 45 52 45 20 27 6f 6e  ROM t3 WHERE 'on
3d30: 6c 6f 6f 6b 65 72 73 27 20 3e 3d 20 63 20 41 4e  lookers' >= c AN
3d40: 44 20 61 20 3c 3d 20 62 20 4f 52 20 62 20 3d 20  D a <= b OR b = 
3d50: 27 61 6e 67 6c 65 27 20 7d 0a 32 35 20 20 7b 20  'angle' }.25  { 
3d60: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
3d70: 20 57 48 45 52 45 20 62 20 3d 20 27 66 72 6f 6d   WHERE b = 'from
3d80: 27 20 7d 0a 32 36 20 20 7b 20 53 45 4c 45 43 54  ' }.26  { SELECT
3d90: 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45   * FROM t3 WHERE
3da0: 20 62 20 3d 20 34 35 34 33 2e 32 36 36 34 38 32   b = 4543.266482
3db0: 20 7d 0a 32 37 20 20 7b 20 53 45 4c 45 43 54 20   }.27  { SELECT 
3dc0: 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  * FROM t3 WHERE 
3dd0: 63 20 3c 20 33 32 38 32 33 30 36 36 34 37 20 7d  c < 3282306647 }
3de0: 0a 32 38 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .28  { SELECT * 
3df0: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63 20  FROM t3 WHERE c 
3e00: 49 53 20 4e 55 4c 4c 20 41 4e 44 20 62 20 3e 3d  IS NULL AND b >=
3e10: 20 63 20 7d 0a 32 39 20 20 7b 20 53 45 4c 45 43   c }.29  { SELEC
3e20: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
3e30: 45 20 62 20 3e 20 30 2e 34 38 31 31 31 37 34 35  E b > 0.48111745
3e40: 30 32 20 41 4e 44 20 63 20 3d 20 27 6f 74 68 65  02 AND c = 'othe
3e50: 72 27 20 41 4e 44 20 27 76 69 65 77 65 64 27 20  r' AND 'viewed' 
3e60: 3e 20 61 20 7d 0a 33 30 20 20 7b 20 53 45 4c 45  > a }.30  { SELE
3e70: 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45  CT * FROM t3 WHE
3e80: 52 45 20 63 20 3d 20 27 70 65 61 6b 27 20 7d 0a  RE c = 'peak' }.
3e90: 33 31 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  31  { SELECT * F
3ea0: 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63 20 3c  ROM t3 WHERE c <
3eb0: 20 35 33 35 39 34 2e 30 38 31 32 38 20 4f 52 20   53594.08128 OR 
3ec0: 63 20 3c 3d 20 62 20 7d 0a 33 32 20 20 7b 20 53  c <= b }.32  { S
3ed0: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20  ELECT * FROM t3 
3ee0: 57 48 45 52 45 20 27 77 72 69 74 69 6e 67 73 27  WHERE 'writings'
3ef0: 20 3c 3d 20 62 20 7d 0a 33 33 20 20 7b 20 53 45   <= b }.33  { SE
3f00: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57  LECT * FROM t3 W
3f10: 48 45 52 45 20 32 36 34 33 33 38 33 32 37 39 20  HERE 2643383279 
3f20: 3d 20 62 20 4f 52 20 63 20 3c 20 62 20 41 4e 44  = b OR c < b AND
3f30: 20 62 20 3c 3d 20 33 32 38 32 33 30 36 36 34 37   b <= 3282306647
3f40: 20 7d 0a 33 34 20 20 7b 20 53 45 4c 45 43 54 20   }.34  { SELECT 
3f50: 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  * FROM t3 WHERE 
3f60: 61 20 49 53 20 4e 55 4c 4c 20 7d 0a 33 35 20 20  a IS NULL }.35  
3f70: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
3f80: 74 33 20 57 48 45 52 45 20 27 77 72 69 74 69 6e  t3 WHERE 'writin
3f90: 67 73 27 20 3d 20 61 20 4f 52 20 62 20 3d 20 33  gs' = a OR b = 3
3fa0: 37 38 36 37 38 33 31 36 2e 35 20 7d 0a 33 36 20  78678316.5 }.36 
3fb0: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
3fc0: 20 74 33 20 57 48 45 52 45 20 27 61 6e 64 27 20   t3 WHERE 'and' 
3fd0: 3e 3d 20 63 20 7d 0a 33 37 20 20 7b 20 53 45 4c  >= c }.37  { SEL
3fe0: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48  ECT * FROM t3 WH
3ff0: 45 52 45 20 63 20 3c 20 27 66 72 6f 6d 27 20 7d  ERE c < 'from' }
4000: 0a 33 38 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .38  { SELECT * 
4010: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 27 68  FROM t3 WHERE 'h
4020: 69 73 27 20 3c 20 63 20 4f 52 20 62 20 3c 20 62  is' < c OR b < b
4030: 20 7d 0a 33 39 20 20 7b 20 53 45 4c 45 43 54 20   }.39  { SELECT 
4040: 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  * FROM t3 WHERE 
4050: 35 33 35 39 34 2e 30 38 31 32 38 20 3d 20 62 20  53594.08128 = b 
4060: 41 4e 44 20 63 20 3e 3d 20 62 20 7d 0a 34 30 20  AND c >= b }.40 
4070: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
4080: 20 74 33 20 57 48 45 52 45 20 27 75 6e 61 6c 69   t3 WHERE 'unali
4090: 6b 65 27 20 3c 20 63 20 41 4e 44 20 27 61 72 65  ke' < c AND 'are
40a0: 27 20 3e 3d 20 63 20 41 4e 44 20 61 20 3c 3d 20  ' >= c AND a <= 
40b0: 62 20 7d 0a 34 31 20 20 7b 20 53 45 4c 45 43 54  b }.41  { SELECT
40c0: 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45   * FROM t3 WHERE
40d0: 20 62 20 3e 3d 20 34 35 34 33 2e 32 36 36 34 38   b >= 4543.26648
40e0: 32 20 4f 52 20 27 41 6c 70 69 6e 65 27 20 3e 20  2 OR 'Alpine' > 
40f0: 61 20 4f 52 20 32 37 31 2e 32 30 31 39 30 39 31  a OR 271.2019091
4100: 20 3c 3d 20 61 20 7d 0a 34 32 20 20 7b 20 53 45   <= a }.42  { SE
4110: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57  LECT * FROM t3 W
4120: 48 45 52 45 20 62 20 3d 20 63 20 7d 0a 34 33 20  HERE b = c }.43 
4130: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
4140: 20 74 33 20 57 48 45 52 45 20 63 20 3e 20 61 20   t3 WHERE c > a 
4150: 41 4e 44 20 62 20 3c 20 27 61 6c 6c 27 20 7d 0a  AND b < 'all' }.
4160: 34 34 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  44  { SELECT * F
4170: 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63 20 42  ROM t3 WHERE c B
4180: 45 54 57 45 45 4e 20 27 68 69 6c 6c 73 27 20 41  ETWEEN 'hills' A
4190: 4e 44 20 27 73 6e 61 70 73 68 6f 74 73 27 20 41  ND 'snapshots' A
41a0: 4e 44 20 63 20 3c 3d 20 27 74 68 65 27 20 4f 52  ND c <= 'the' OR
41b0: 20 63 20 3d 20 61 20 7d 0a 34 35 20 20 7b 20 53   c = a }.45  { S
41c0: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20  ELECT * FROM t3 
41d0: 57 48 45 52 45 20 62 20 3e 20 63 20 41 4e 44 20  WHERE b > c AND 
41e0: 63 20 3e 3d 20 27 68 69 6c 6c 73 27 20 7d 0a 34  c >= 'hills' }.4
41f0: 36 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  6  { SELECT * FR
4200: 4f 4d 20 74 33 20 57 48 45 52 45 20 62 20 3e 20  OM t3 WHERE b > 
4210: 27 6f 72 27 20 4f 52 20 61 20 3c 3d 20 27 68 69  'or' OR a <= 'hi
4220: 6c 6c 73 27 20 4f 52 20 63 20 49 53 20 4e 55 4c  lls' OR c IS NUL
4230: 4c 20 7d 0a 34 37 20 20 7b 20 53 45 4c 45 43 54  L }.47  { SELECT
4240: 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45   * FROM t3 WHERE
4250: 20 63 20 3e 20 62 20 4f 52 20 62 20 42 45 54 57   c > b OR b BETW
4260: 45 45 4e 20 31 33 33 39 2e 33 36 30 37 32 36 20  EEN 1339.360726 
4270: 41 4e 44 20 27 6f 6e 6c 6f 6f 6b 65 72 73 27 20  AND 'onlookers' 
4280: 4f 52 20 31 34 31 35 39 32 36 35 33 35 20 3e 3d  OR 1415926535 >=
4290: 20 62 20 7d 0a 34 38 20 20 7b 20 53 45 4c 45 43   b }.48  { SELEC
42a0: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
42b0: 45 20 61 20 49 53 20 4e 55 4c 4c 20 7d 0a 34 39  E a IS NULL }.49
42c0: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
42d0: 4d 20 74 33 20 57 48 45 52 45 20 61 20 3e 20 27  M t3 WHERE a > '
42e0: 6f 74 68 65 72 27 20 7d 0a 35 30 20 20 7b 20 53  other' }.50  { S
42f0: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20  ELECT * FROM t3 
4300: 57 48 45 52 45 20 27 74 68 65 27 20 3c 3d 20 63  WHERE 'the' <= c
4310: 20 41 4e 44 20 61 20 3c 3d 20 63 20 7d 0a 35 31   AND a <= c }.51
4320: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
4330: 4d 20 74 33 20 57 48 45 52 45 20 33 34 36 2e 30  M t3 WHERE 346.0
4340: 33 34 38 36 31 30 20 3d 20 61 20 41 4e 44 20 63  348610 = a AND c
4350: 20 3d 20 62 20 7d 0a 35 32 20 20 7b 20 53 45 4c   = b }.52  { SEL
4360: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48  ECT * FROM t3 WH
4370: 45 52 45 20 63 20 42 45 54 57 45 45 4e 20 35 30  ERE c BETWEEN 50
4380: 2e 35 38 32 32 33 31 37 32 20 41 4e 44 20 27 73  .58223172 AND 's
4390: 61 6d 65 27 20 41 4e 44 20 61 20 3c 20 62 20 7d  ame' AND a < b }
43a0: 0a 35 33 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .53  { SELECT * 
43b0: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 27 41  FROM t3 WHERE 'A
43c0: 6c 70 69 6e 65 27 20 3c 3d 20 62 20 41 4e 44 20  lpine' <= b AND 
43d0: 63 20 3e 3d 20 27 61 6e 67 6c 65 27 20 4f 52 20  c >= 'angle' OR 
43e0: 62 20 3c 3d 20 32 37 31 2e 32 30 31 39 30 39 31  b <= 271.2019091
43f0: 20 7d 0a 35 34 20 20 7b 20 53 45 4c 45 43 54 20   }.54  { SELECT 
4400: 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  * FROM t3 WHERE 
4410: 61 20 3c 20 61 20 41 4e 44 20 31 34 31 35 39 32  a < a AND 141592
4420: 36 35 33 35 20 3e 20 62 20 7d 0a 35 35 20 20 7b  6535 > b }.55  {
4430: 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74   SELECT * FROM t
4440: 33 20 57 48 45 52 45 20 63 20 3e 20 61 20 41 4e  3 WHERE c > a AN
4450: 44 20 27 68 61 76 65 27 20 3e 3d 20 63 20 7d 0a  D 'have' >= c }.
4460: 35 36 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  56  { SELECT * F
4470: 52 4f 4d 20 74 33 20 57 48 45 52 45 20 62 20 3c  ROM t3 WHERE b <
4480: 3d 20 62 20 41 4e 44 20 63 20 3e 20 62 20 7d 0a  = b AND c > b }.
4490: 35 37 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  57  { SELECT * F
44a0: 52 4f 4d 20 74 33 20 57 48 45 52 45 20 61 20 49  ROM t3 WHERE a I
44b0: 53 20 4e 55 4c 4c 20 41 4e 44 20 63 20 3c 3d 20  S NULL AND c <= 
44c0: 63 20 7d 0a 35 38 20 20 7b 20 53 45 4c 45 43 54  c }.58  { SELECT
44d0: 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45   * FROM t3 WHERE
44e0: 20 62 20 3c 20 63 20 4f 52 20 62 20 3d 20 63 20   b < c OR b = c 
44f0: 7d 0a 35 39 20 20 7b 20 53 45 4c 45 43 54 20 2a  }.59  { SELECT *
4500: 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63   FROM t3 WHERE c
4510: 20 3c 20 62 20 41 4e 44 20 62 20 3e 3d 20 27 69   < b AND b >= 'i
4520: 74 27 20 7d 0a 36 30 20 20 7b 20 53 45 4c 45 43  t' }.60  { SELEC
4530: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
4540: 45 20 61 20 3d 20 62 20 41 4e 44 20 61 20 3c 3d  E a = b AND a <=
4550: 20 62 20 4f 52 20 62 20 3e 3d 20 61 20 7d 0a 36   b OR b >= a }.6
4560: 31 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  1  { SELECT * FR
4570: 4f 4d 20 74 33 20 57 48 45 52 45 20 62 20 3d 20  OM t3 WHERE b = 
4580: 63 20 7d 0a 36 32 20 20 7b 20 53 45 4c 45 43 54  c }.62  { SELECT
4590: 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45   * FROM t3 WHERE
45a0: 20 63 20 42 45 54 57 45 45 4e 20 27 74 68 65 27   c BETWEEN 'the'
45b0: 20 41 4e 44 20 32 37 31 2e 32 30 31 39 30 39 31   AND 271.2019091
45c0: 20 4f 52 20 63 20 3c 3d 20 33 32 38 32 33 30 36   OR c <= 3282306
45d0: 36 34 37 20 41 4e 44 20 63 20 3e 3d 20 62 20 7d  647 AND c >= b }
45e0: 0a 36 33 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .63  { SELECT * 
45f0: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63 20  FROM t3 WHERE c 
4600: 3e 3d 20 63 20 41 4e 44 20 63 20 3c 20 27 77 72  >= c AND c < 'wr
4610: 69 74 69 6e 67 73 27 20 7d 0a 36 34 20 20 7b 20  itings' }.64  { 
4620: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
4630: 20 57 48 45 52 45 20 63 20 3c 3d 20 33 32 38 32   WHERE c <= 3282
4640: 33 30 36 36 34 37 20 41 4e 44 20 62 20 3e 20 61  306647 AND b > a
4650: 20 4f 52 20 27 75 6e 61 6c 69 6b 65 27 20 3c 3d   OR 'unalike' <=
4660: 20 61 20 7d 0a 36 35 20 20 7b 20 53 45 4c 45 43   a }.65  { SELEC
4670: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
4680: 45 20 61 20 3e 20 63 20 7d 0a 36 36 20 20 7b 20  E a > c }.66  { 
4690: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
46a0: 20 57 48 45 52 45 20 63 20 3d 20 27 69 74 27 20   WHERE c = 'it' 
46b0: 4f 52 20 62 20 3e 3d 20 62 20 7d 0a 36 37 20 20  OR b >= b }.67  
46c0: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
46d0: 74 33 20 57 48 45 52 45 20 63 20 3d 20 61 20 4f  t3 WHERE c = a O
46e0: 52 20 62 20 3c 20 63 20 7d 0a 36 38 20 20 7b 20  R b < c }.68  { 
46f0: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
4700: 20 57 48 45 52 45 20 62 20 3e 20 61 20 7d 0a 36   WHERE b > a }.6
4710: 39 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  9  { SELECT * FR
4720: 4f 4d 20 74 33 20 57 48 45 52 45 20 61 20 3c 20  OM t3 WHERE a < 
4730: 62 20 4f 52 20 61 20 3e 20 34 35 34 33 2e 32 36  b OR a > 4543.26
4740: 36 34 38 32 20 4f 52 20 27 73 61 6d 65 27 20 3d  6482 OR 'same' =
4750: 20 62 20 7d 0a 37 30 20 20 7b 20 53 45 4c 45 43   b }.70  { SELEC
4760: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
4770: 45 20 63 20 3c 20 63 20 4f 52 20 62 20 3c 3d 20  E c < c OR b <= 
4780: 63 20 4f 52 20 61 20 3c 3d 20 62 20 7d 0a 37 31  c OR a <= b }.71
4790: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
47a0: 4d 20 74 33 20 57 48 45 52 45 20 63 20 3e 20 61  M t3 WHERE c > a
47b0: 20 7d 0a 37 32 20 20 7b 20 53 45 4c 45 43 54 20   }.72  { SELECT 
47c0: 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  * FROM t3 WHERE 
47d0: 63 20 3e 20 62 20 7d 0a 37 33 20 20 7b 20 53 45  c > b }.73  { SE
47e0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57  LECT * FROM t3 W
47f0: 48 45 52 45 20 62 20 3c 3d 20 61 20 7d 0a 37 34  HERE b <= a }.74
4800: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
4810: 4d 20 74 33 20 57 48 45 52 45 20 33 32 38 32 33  M t3 WHERE 32823
4820: 30 36 36 34 37 20 3c 20 62 20 41 4e 44 20 61 20  06647 < b AND a 
4830: 3e 3d 20 27 6f 72 27 20 4f 52 20 61 20 3e 3d 20  >= 'or' OR a >= 
4840: 33 37 38 36 37 38 33 31 36 2e 35 20 7d 0a 37 35  378678316.5 }.75
4850: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
4860: 4d 20 74 33 20 57 48 45 52 45 20 35 30 2e 35 38  M t3 WHERE 50.58
4870: 32 32 33 31 37 32 20 3c 3d 20 63 20 4f 52 20 63  223172 <= c OR c
4880: 20 3d 20 63 20 41 4e 44 20 62 20 3c 20 62 20 7d   = c AND b < b }
4890: 0a 37 36 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .76  { SELECT * 
48a0: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 27 61  FROM t3 WHERE 'a
48b0: 6e 64 27 20 3c 20 62 20 4f 52 20 62 20 3c 20 63  nd' < b OR b < c
48c0: 20 4f 52 20 63 20 3e 20 31 33 33 39 2e 33 36 30   OR c > 1339.360
48d0: 37 32 36 20 7d 0a 37 37 20 20 7b 20 53 45 4c 45  726 }.77  { SELE
48e0: 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45  CT * FROM t3 WHE
48f0: 52 45 20 62 20 3c 3d 20 63 20 7d 0a 37 38 20 20  RE b <= c }.78  
4900: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
4910: 74 33 20 57 48 45 52 45 20 27 69 6e 27 20 3c 3d  t3 WHERE 'in' <=
4920: 20 63 20 7d 0a 37 39 20 20 7b 20 53 45 4c 45 43   c }.79  { SELEC
4930: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
4940: 45 20 63 20 3c 3d 20 62 20 41 4e 44 20 61 20 3e  E c <= b AND a >
4950: 20 61 20 41 4e 44 20 63 20 3c 20 62 20 7d 0a 38   a AND c < b }.8
4960: 30 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  0  { SELECT * FR
4970: 4f 4d 20 74 33 20 57 48 45 52 45 20 27 6f 76 65  OM t3 WHERE 'ove
4980: 72 27 20 3c 20 62 20 7d 0a 38 31 20 20 7b 20 53  r' < b }.81  { S
4990: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20  ELECT * FROM t3 
49a0: 57 48 45 52 45 20 62 20 3e 3d 20 62 20 4f 52 20  WHERE b >= b OR 
49b0: 62 20 3c 20 63 20 4f 52 20 61 20 3c 20 62 20 7d  b < c OR a < b }
49c0: 0a 38 32 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .82  { SELECT * 
49d0: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 27 74  FROM t3 WHERE 't
49e0: 6f 77 65 72 69 6e 67 27 20 3c 3d 20 62 20 4f 52  owering' <= b OR
49f0: 20 27 74 6f 77 65 72 69 6e 67 27 20 3d 20 61 20   'towering' = a 
4a00: 41 4e 44 20 63 20 3e 20 62 20 7d 0a 38 33 20 20  AND c > b }.83  
4a10: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
4a20: 74 33 20 57 48 45 52 45 20 27 70 65 61 6b 27 20  t3 WHERE 'peak' 
4a30: 3d 20 61 20 4f 52 20 62 20 42 45 54 57 45 45 4e  = a OR b BETWEEN
4a40: 20 32 36 34 33 33 38 33 32 37 39 20 41 4e 44 20   2643383279 AND 
4a50: 27 74 68 65 27 20 7d 0a 38 34 20 20 7b 20 53 45  'the' }.84  { SE
4a60: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57  LECT * FROM t3 W
4a70: 48 45 52 45 20 27 61 6e 27 20 3c 20 63 20 41 4e  HERE 'an' < c AN
4a80: 44 20 63 20 3e 20 27 74 68 65 27 20 41 4e 44 20  D c > 'the' AND 
4a90: 63 20 49 53 20 4e 55 4c 4c 20 7d 0a 38 35 20 20  c IS NULL }.85  
4aa0: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
4ab0: 74 33 20 57 48 45 52 45 20 61 20 3c 3d 20 27 73  t3 WHERE a <= 's
4ac0: 6f 6d 65 74 69 6d 65 73 27 20 41 4e 44 20 61 20  ometimes' AND a 
4ad0: 42 45 54 57 45 45 4e 20 27 75 6e 61 6c 69 6b 65  BETWEEN 'unalike
4ae0: 27 20 41 4e 44 20 31 33 33 39 2e 33 36 30 37 32  ' AND 1339.36072
4af0: 36 20 7d 0a 38 36 20 20 7b 20 53 45 4c 45 43 54  6 }.86  { SELECT
4b00: 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45   * FROM t3 WHERE
4b10: 20 31 33 33 39 2e 33 36 30 37 32 36 20 3c 20 63   1339.360726 < c
4b20: 20 41 4e 44 20 63 20 49 53 20 4e 55 4c 4c 20 7d   AND c IS NULL }
4b30: 0a 38 37 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  .87  { SELECT * 
4b40: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 62 20  FROM t3 WHERE b 
4b50: 3e 20 27 74 68 65 27 20 7d 0a 38 38 20 20 7b 20  > 'the' }.88  { 
4b60: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
4b70: 20 57 48 45 52 45 20 27 61 6e 64 27 20 3d 20 61   WHERE 'and' = a
4b80: 20 7d 0a 38 39 20 20 7b 20 53 45 4c 45 43 54 20   }.89  { SELECT 
4b90: 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  * FROM t3 WHERE 
4ba0: 62 20 3e 3d 20 62 20 7d 0a 39 30 20 20 7b 20 53  b >= b }.90  { S
4bb0: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20  ELECT * FROM t3 
4bc0: 57 48 45 52 45 20 62 20 3e 3d 20 38 39 37 39 33  WHERE b >= 89793
4bd0: 32 33 38 34 36 20 7d 0a 39 31 20 20 7b 20 53 45  23846 }.91  { SE
4be0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57  LECT * FROM t3 W
4bf0: 48 45 52 45 20 63 20 3c 3d 20 61 20 7d 0a 39 32  HERE c <= a }.92
4c00: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
4c10: 4d 20 74 33 20 57 48 45 52 45 20 61 20 42 45 54  M t3 WHERE a BET
4c20: 57 45 45 4e 20 27 68 61 76 65 27 20 41 4e 44 20  WEEN 'have' AND 
4c30: 27 6c 69 67 68 74 27 20 4f 52 20 61 20 3e 20 62  'light' OR a > b
4c40: 20 4f 52 20 61 20 3e 3d 20 33 37 38 36 37 38 33   OR a >= 3786783
4c50: 31 36 2e 35 20 7d 0a 39 33 20 20 7b 20 53 45 4c  16.5 }.93  { SEL
4c60: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48  ECT * FROM t3 WH
4c70: 45 52 45 20 63 20 3e 20 33 32 38 32 33 30 36 36  ERE c > 32823066
4c80: 34 37 20 7d 0a 39 34 20 20 7b 20 53 45 4c 45 43  47 }.94  { SELEC
4c90: 54 20 2a 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T * FROM t3 WHER
4ca0: 45 20 62 20 3e 20 63 20 7d 0a 39 35 20 20 7b 20  E b > c }.95  { 
4cb0: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
4cc0: 20 57 48 45 52 45 20 62 20 3e 3d 20 61 20 41 4e   WHERE b >= a AN
4cd0: 44 20 27 76 69 6c 6c 61 67 65 73 27 20 3e 20 61  D 'villages' > a
4ce0: 20 41 4e 44 20 62 20 3e 3d 20 63 20 7d 0a 39 36   AND b >= c }.96
4cf0: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
4d00: 4d 20 74 33 20 57 48 45 52 45 20 27 61 6e 67 6c  M t3 WHERE 'angl
4d10: 65 27 20 3e 20 61 20 7d 0a 39 37 20 20 7b 20 53  e' > a }.97  { S
4d20: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20  ELECT * FROM t3 
4d30: 57 48 45 52 45 20 27 70 61 69 6e 74 69 6e 67 73  WHERE 'paintings
4d40: 27 20 3e 3d 20 61 20 7d 0a 39 38 20 20 7b 20 53  ' >= a }.98  { S
4d50: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 20  ELECT * FROM t3 
4d60: 57 48 45 52 45 20 27 6f 72 27 20 3e 3d 20 63 20  WHERE 'or' >= c 
4d70: 7d 0a 39 39 20 20 7b 20 53 45 4c 45 43 54 20 2a  }.99  { SELECT *
4d80: 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 63   FROM t3 WHERE c
4d90: 20 3c 20 62 20 7d 0a 0a 0a 31 30 31 20 20 7b 20   < b }...101  { 
4da0: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
4db0: 2c 20 74 34 20 57 48 45 52 45 20 66 20 3c 20 27  , t4 WHERE f < '
4dc0: 73 6f 6d 65 74 69 6d 65 73 27 20 4f 52 20 27 6f  sometimes' OR 'o
4dd0: 76 65 72 27 20 3c 3d 20 67 20 41 4e 44 20 68 20  ver' <= g AND h 
4de0: 3c 20 31 34 31 35 39 32 36 35 33 35 20 7d 0a 31  < 1415926535 }.1
4df0: 30 32 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  02  { SELECT * F
4e00: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
4e10: 20 68 20 3e 3d 20 27 66 72 6f 6d 27 20 41 4e 44   h >= 'from' AND
4e20: 20 68 20 3c 20 36 39 33 39 39 33 37 35 31 30 20   h < 6939937510 
4e30: 4f 52 20 67 20 3e 20 68 20 7d 0a 31 30 33 20 20  OR g > h }.103  
4e40: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
4e50: 74 33 2c 20 74 34 20 57 48 45 52 45 20 63 20 3c  t3, t4 WHERE c <
4e60: 3d 20 68 20 41 4e 44 20 67 20 3d 20 68 20 41 4e  = h AND g = h AN
4e70: 44 20 63 20 3e 3d 20 27 61 6c 6c 27 20 7d 0a 31  D c >= 'all' }.1
4e80: 30 34 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  04  { SELECT * F
4e90: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
4ea0: 20 63 20 3d 20 61 20 7d 0a 31 30 35 20 20 7b 20   c = a }.105  { 
4eb0: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
4ec0: 2c 20 74 34 20 57 48 45 52 45 20 27 6f 66 27 20  , t4 WHERE 'of' 
4ed0: 3e 3d 20 68 20 7d 0a 31 30 36 20 20 7b 20 53 45  >= h }.106  { SE
4ee0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
4ef0: 74 34 20 57 48 45 52 45 20 66 20 3e 3d 20 62 20  t4 WHERE f >= b 
4f00: 41 4e 44 20 61 20 3c 20 67 20 41 4e 44 20 68 20  AND a < g AND h 
4f10: 3c 20 27 61 6e 64 27 20 7d 0a 31 30 37 20 20 7b  < 'and' }.107  {
4f20: 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74   SELECT * FROM t
4f30: 33 2c 20 74 34 20 57 48 45 52 45 20 66 20 3c 3d  3, t4 WHERE f <=
4f40: 20 38 36 32 38 30 33 34 38 32 35 20 41 4e 44 20   8628034825 AND 
4f50: 30 39 33 38 34 34 36 30 39 35 20 3e 3d 20 62 20  0938446095 >= b 
4f60: 7d 0a 31 30 38 20 20 7b 20 53 45 4c 45 43 54 20  }.108  { SELECT 
4f70: 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48  * FROM t3, t4 WH
4f80: 45 52 45 20 61 20 3c 20 27 74 68 65 27 20 7d 0a  ERE a < 'the' }.
4f90: 31 30 39 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  109  { SELECT * 
4fa0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
4fb0: 45 20 66 20 3d 20 27 73 6f 6d 65 74 69 6d 65 73  E f = 'sometimes
4fc0: 27 20 4f 52 20 62 20 3c 20 27 6f 66 27 20 7d 0a  ' OR b < 'of' }.
4fd0: 31 31 30 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  110  { SELECT * 
4fe0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
4ff0: 45 20 63 20 49 53 20 4e 55 4c 4c 20 7d 0a 31 31  E c IS NULL }.11
5000: 31 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  1  { SELECT * FR
5010: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
5020: 27 68 61 76 65 27 20 3d 20 62 20 4f 52 20 67 20  'have' = b OR g 
5030: 3c 3d 20 33 34 36 2e 30 33 34 38 36 31 30 20 7d  <= 346.0348610 }
5040: 0a 31 31 32 20 20 7b 20 53 45 4c 45 43 54 20 2a  .112  { SELECT *
5050: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
5060: 52 45 20 66 20 3e 20 62 20 41 4e 44 20 62 20 3c  RE f > b AND b <
5070: 3d 20 68 20 7d 0a 31 31 33 20 20 7b 20 53 45 4c  = h }.113  { SEL
5080: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74  ECT * FROM t3, t
5090: 34 20 57 48 45 52 45 20 66 20 3e 20 63 20 4f 52  4 WHERE f > c OR
50a0: 20 27 74 68 65 27 20 3d 20 61 20 4f 52 20 35 30   'the' = a OR 50
50b0: 2e 35 38 32 32 33 31 37 32 20 3d 20 61 20 7d 0a  .58223172 = a }.
50c0: 31 31 34 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  114  { SELECT * 
50d0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
50e0: 45 20 32 36 34 33 33 38 33 32 37 39 20 3c 3d 20  E 2643383279 <= 
50f0: 61 20 41 4e 44 20 63 20 3d 20 61 20 7d 0a 31 31  a AND c = a }.11
5100: 35 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  5  { SELECT * FR
5110: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
5120: 68 20 3e 3d 20 62 20 41 4e 44 20 27 69 74 27 20  h >= b AND 'it' 
5130: 3c 3d 20 62 20 7d 0a 31 31 36 20 20 7b 20 53 45  <= b }.116  { SE
5140: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
5150: 74 34 20 57 48 45 52 45 20 67 20 42 45 54 57 45  t4 WHERE g BETWE
5160: 45 4e 20 27 66 72 6f 6d 27 20 41 4e 44 20 27 70  EN 'from' AND 'p
5170: 65 61 6b 27 20 7d 0a 31 31 37 20 20 7b 20 53 45  eak' }.117  { SE
5180: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
5190: 74 34 20 57 48 45 52 45 20 27 74 68 65 69 72 27  t4 WHERE 'their'
51a0: 20 3e 20 61 20 41 4e 44 20 67 20 3e 20 62 20 41   > a AND g > b A
51b0: 4e 44 20 66 20 3c 3d 20 63 20 7d 0a 31 31 38 20  ND f <= c }.118 
51c0: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
51d0: 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 68 20   t3, t4 WHERE h 
51e0: 3d 20 35 30 32 38 38 34 31 39 37 31 20 41 4e 44  = 5028841971 AND
51f0: 20 27 75 6e 61 6c 69 6b 65 27 20 3c 3d 20 66 20   'unalike' <= f 
5200: 7d 0a 31 31 39 20 20 7b 20 53 45 4c 45 43 54 20  }.119  { SELECT 
5210: 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48  * FROM t3, t4 WH
5220: 45 52 45 20 63 20 49 53 20 4e 55 4c 4c 20 41 4e  ERE c IS NULL AN
5230: 44 20 61 20 3d 20 33 32 38 32 33 30 36 36 34 37  D a = 3282306647
5240: 20 4f 52 20 61 20 3c 3d 20 27 41 6c 70 69 6e 65   OR a <= 'Alpine
5250: 27 20 7d 0a 31 32 30 20 20 7b 20 53 45 4c 45 43  ' }.120  { SELEC
5260: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
5270: 57 48 45 52 45 20 27 73 6f 6d 65 74 69 6d 65 73  WHERE 'sometimes
5280: 27 20 3c 3d 20 66 20 4f 52 20 38 32 31 34 38 30  ' <= f OR 821480
5290: 38 36 35 31 20 3e 3d 20 61 20 41 4e 44 20 62 20  8651 >= a AND b 
52a0: 3c 3d 20 35 33 35 39 34 2e 30 38 31 32 38 20 7d  <= 53594.08128 }
52b0: 0a 31 32 31 20 20 7b 20 53 45 4c 45 43 54 20 2a  .121  { SELECT *
52c0: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
52d0: 52 45 20 36 39 33 39 39 33 37 35 31 30 20 3c 3d  RE 6939937510 <=
52e0: 20 66 20 4f 52 20 63 20 3c 20 66 20 4f 52 20 27   f OR c < f OR '
52f0: 73 6f 6d 65 74 69 6d 65 73 27 20 3d 20 63 20 7d  sometimes' = c }
5300: 0a 31 32 32 20 20 7b 20 53 45 4c 45 43 54 20 2a  .122  { SELECT *
5310: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
5320: 52 45 20 62 20 3c 20 27 6f 6e 6c 6f 6f 6b 65 72  RE b < 'onlooker
5330: 73 27 20 41 4e 44 20 27 70 61 69 6e 74 69 6e 67  s' AND 'painting
5340: 73 27 20 3d 20 67 20 41 4e 44 20 63 20 3c 3d 20  s' = g AND c <= 
5350: 68 20 7d 0a 31 32 33 20 20 7b 20 53 45 4c 45 43  h }.123  { SELEC
5360: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
5370: 57 48 45 52 45 20 61 20 42 45 54 57 45 45 4e 20  WHERE a BETWEEN 
5380: 27 61 6c 6c 27 20 41 4e 44 20 27 66 72 6f 6d 27  'all' AND 'from'
5390: 20 4f 52 20 63 20 3e 20 33 34 36 2e 30 33 34 38   OR c > 346.0348
53a0: 36 31 30 20 7d 0a 31 32 34 20 20 7b 20 53 45 4c  610 }.124  { SEL
53b0: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74  ECT * FROM t3, t
53c0: 34 20 57 48 45 52 45 20 27 66 72 6f 6d 27 20 3c  4 WHERE 'from' <
53d0: 3d 20 62 20 4f 52 20 61 20 42 45 54 57 45 45 4e  = b OR a BETWEEN
53e0: 20 35 33 35 39 34 2e 30 38 31 32 38 20 41 4e 44   53594.08128 AND
53f0: 20 27 74 68 65 69 72 27 20 41 4e 44 20 63 20 3e   'their' AND c >
5400: 20 61 20 7d 0a 31 32 35 20 20 7b 20 53 45 4c 45   a }.125  { SELE
5410: 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34  CT * FROM t3, t4
5420: 20 57 48 45 52 45 20 68 20 3d 20 32 36 34 33 33   WHERE h = 26433
5430: 38 33 32 37 39 20 7d 0a 31 32 36 20 20 7b 20 53  83279 }.126  { S
5440: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
5450: 20 74 34 20 57 48 45 52 45 20 61 20 3c 3d 20 27   t4 WHERE a <= '
5460: 74 68 65 27 20 7d 0a 31 32 37 20 20 7b 20 53 45  the' }.127  { SE
5470: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
5480: 74 34 20 57 48 45 52 45 20 68 20 3c 3d 20 63 20  t4 WHERE h <= c 
5490: 7d 0a 31 32 38 20 20 7b 20 53 45 4c 45 43 54 20  }.128  { SELECT 
54a0: 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48  * FROM t3, t4 WH
54b0: 45 52 45 20 67 20 3c 3d 20 33 34 36 2e 30 33 34  ERE g <= 346.034
54c0: 38 36 31 30 20 41 4e 44 20 36 36 2e 35 39 33 33  8610 AND 66.5933
54d0: 34 34 36 31 20 3e 3d 20 66 20 41 4e 44 20 66 20  4461 >= f AND f 
54e0: 3c 3d 20 66 20 7d 0a 31 32 39 20 20 7b 20 53 45  <= f }.129  { SE
54f0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
5500: 74 34 20 57 48 45 52 45 20 67 20 3e 3d 20 63 20  t4 WHERE g >= c 
5510: 4f 52 20 27 69 6e 27 20 3c 20 62 20 4f 52 20 62  OR 'in' < b OR b
5520: 20 3e 20 67 20 7d 0a 31 33 30 20 20 7b 20 53 45   > g }.130  { SE
5530: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
5540: 74 34 20 57 48 45 52 45 20 27 6f 76 65 72 27 20  t4 WHERE 'over' 
5550: 3e 20 67 20 41 4e 44 20 62 20 42 45 54 57 45 45  > g AND b BETWEE
5560: 4e 20 27 75 6e 61 6c 69 6b 65 27 20 41 4e 44 20  N 'unalike' AND 
5570: 27 72 65 6d 61 72 6b 61 62 6c 79 27 20 7d 0a 31  'remarkably' }.1
5580: 33 31 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  31  { SELECT * F
5590: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
55a0: 20 68 20 3c 3d 20 32 38 34 37 35 36 34 2e 38 32   h <= 2847564.82
55b0: 33 20 7d 0a 31 33 32 20 20 7b 20 53 45 4c 45 43  3 }.132  { SELEC
55c0: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
55d0: 57 48 45 52 45 20 68 20 3c 3d 20 27 72 65 6d 61  WHERE h <= 'rema
55e0: 72 6b 61 62 6c 79 27 20 41 4e 44 20 34 35 34 33  rkably' AND 4543
55f0: 2e 32 36 36 34 38 32 20 3e 20 68 20 7d 0a 31 33  .266482 > h }.13
5600: 33 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  3  { SELECT * FR
5610: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
5620: 61 20 3e 3d 20 63 20 41 4e 44 20 27 69 74 27 20  a >= c AND 'it' 
5630: 3e 20 67 20 41 4e 44 20 63 20 3c 20 63 20 7d 0a  > g AND c < c }.
5640: 31 33 34 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  134  { SELECT * 
5650: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
5660: 45 20 68 20 3c 3d 20 36 36 2e 35 39 33 33 34 34  E h <= 66.593344
5670: 36 31 20 41 4e 44 20 62 20 3e 20 33 34 32 31 31  61 AND b > 34211
5680: 37 30 36 37 39 20 7d 0a 31 33 35 20 20 7b 20 53  70679 }.135  { S
5690: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
56a0: 20 74 34 20 57 48 45 52 45 20 68 20 3c 20 27 61   t4 WHERE h < 'a
56b0: 72 65 27 20 4f 52 20 66 20 42 45 54 57 45 45 4e  re' OR f BETWEEN
56c0: 20 30 39 33 38 34 34 36 30 39 35 20 41 4e 44 20   0938446095 AND 
56d0: 27 61 72 65 27 20 4f 52 20 62 20 3d 20 62 20 7d  'are' OR b = b }
56e0: 0a 31 33 36 20 20 7b 20 53 45 4c 45 43 54 20 2a  .136  { SELECT *
56f0: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
5700: 52 45 20 68 20 3d 20 61 20 4f 52 20 36 36 2e 35  RE h = a OR 66.5
5710: 39 33 33 34 34 36 31 20 3c 3d 20 66 20 7d 0a 31  9334461 <= f }.1
5720: 33 37 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  37  { SELECT * F
5730: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
5740: 20 66 20 3e 20 27 6f 66 27 20 4f 52 20 68 20 3c   f > 'of' OR h <
5750: 3d 20 68 20 4f 52 20 61 20 3d 20 66 20 7d 0a 31  = h OR a = f }.1
5760: 33 38 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  38  { SELECT * F
5770: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
5780: 20 27 6f 74 68 65 72 27 20 3e 3d 20 67 20 7d 0a   'other' >= g }.
5790: 31 33 39 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  139  { SELECT * 
57a0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
57b0: 45 20 62 20 3c 3d 20 33 34 32 31 31 37 30 36 37  E b <= 342117067
57c0: 39 20 7d 0a 31 34 30 20 20 7b 20 53 45 4c 45 43  9 }.140  { SELEC
57d0: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
57e0: 57 48 45 52 45 20 27 61 6c 6c 27 20 3d 20 66 20  WHERE 'all' = f 
57f0: 41 4e 44 20 34 35 34 33 2e 32 36 36 34 38 32 20  AND 4543.266482 
5800: 3d 20 62 20 4f 52 20 66 20 42 45 54 57 45 45 4e  = b OR f BETWEEN
5810: 20 27 61 6e 64 27 20 41 4e 44 20 27 61 6e 67 6c   'and' AND 'angl
5820: 65 27 20 7d 0a 31 34 31 20 20 7b 20 53 45 4c 45  e' }.141  { SELE
5830: 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34  CT * FROM t3, t4
5840: 20 57 48 45 52 45 20 27 6c 69 67 68 74 27 20 3d   WHERE 'light' =
5850: 20 66 20 4f 52 20 68 20 42 45 54 57 45 45 4e 20   f OR h BETWEEN 
5860: 27 72 65 6d 61 72 6b 61 62 6c 79 27 20 41 4e 44  'remarkably' AND
5870: 20 31 34 31 35 39 32 36 35 33 35 20 7d 0a 31 34   1415926535 }.14
5880: 32 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  2  { SELECT * FR
5890: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
58a0: 27 68 69 6c 6c 73 27 20 3d 20 66 20 4f 52 20 27  'hills' = f OR '
58b0: 74 68 65 27 20 3e 3d 20 66 20 7d 0a 31 34 33 20  the' >= f }.143 
58c0: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
58d0: 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 61 20   t3, t4 WHERE a 
58e0: 3e 20 33 34 36 2e 30 33 34 38 36 31 30 20 7d 0a  > 346.0348610 }.
58f0: 31 34 34 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  144  { SELECT * 
5900: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
5910: 45 20 35 30 32 38 38 34 31 39 37 31 20 3d 20 68  E 5028841971 = h
5920: 20 7d 0a 31 34 35 20 20 7b 20 53 45 4c 45 43 54   }.145  { SELECT
5930: 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57   * FROM t3, t4 W
5940: 48 45 52 45 20 62 20 3e 3d 20 63 20 41 4e 44 20  HERE b >= c AND 
5950: 27 74 68 65 27 20 3e 3d 20 67 20 4f 52 20 34 35  'the' >= g OR 45
5960: 2e 36 34 38 35 36 36 39 32 20 3c 3d 20 67 20 7d  .64856692 <= g }
5970: 0a 31 34 36 20 20 7b 20 53 45 4c 45 43 54 20 2a  .146  { SELECT *
5980: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
5990: 52 45 20 63 20 3c 20 35 30 32 38 38 34 31 39 37  RE c < 502884197
59a0: 31 20 7d 0a 31 34 37 20 20 7b 20 53 45 4c 45 43  1 }.147  { SELEC
59b0: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
59c0: 57 48 45 52 45 20 61 20 3e 20 61 20 7d 0a 31 34  WHERE a > a }.14
59d0: 38 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  8  { SELECT * FR
59e0: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
59f0: 63 20 3d 20 27 73 6e 61 70 73 68 6f 74 73 27 20  c = 'snapshots' 
5a00: 7d 0a 31 34 39 20 20 7b 20 53 45 4c 45 43 54 20  }.149  { SELECT 
5a10: 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48  * FROM t3, t4 WH
5a20: 45 52 45 20 68 20 3e 20 31 33 33 39 2e 33 36 30  ERE h > 1339.360
5a30: 37 32 36 20 41 4e 44 20 27 61 6e 64 27 20 3e 20  726 AND 'and' > 
5a40: 63 20 7d 0a 31 35 30 20 20 7b 20 53 45 4c 45 43  c }.150  { SELEC
5a50: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
5a60: 57 48 45 52 45 20 27 61 6e 64 27 20 3e 20 67 20  WHERE 'and' > g 
5a70: 4f 52 20 27 73 6f 6d 65 74 69 6d 65 73 27 20 3d  OR 'sometimes' =
5a80: 20 63 20 7d 0a 31 35 31 20 20 7b 20 53 45 4c 45   c }.151  { SELE
5a90: 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34  CT * FROM t3, t4
5aa0: 20 57 48 45 52 45 20 67 20 3e 3d 20 27 74 68 65   WHERE g >= 'the
5ab0: 27 20 41 4e 44 20 62 20 3e 3d 20 27 6f 6e 6c 6f  ' AND b >= 'onlo
5ac0: 6f 6b 65 72 73 27 20 7d 0a 31 35 32 20 20 7b 20  okers' }.152  { 
5ad0: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
5ae0: 2c 20 74 34 20 57 48 45 52 45 20 68 20 42 45 54  , t4 WHERE h BET
5af0: 57 45 45 4e 20 27 6f 74 68 65 72 27 20 41 4e 44  WEEN 'other' AND
5b00: 20 32 36 34 33 33 38 33 32 37 39 20 7d 0a 31 35   2643383279 }.15
5b10: 33 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  3  { SELECT * FR
5b20: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
5b30: 27 69 74 27 20 3d 20 62 20 7d 0a 31 35 34 20 20  'it' = b }.154  
5b40: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
5b50: 74 33 2c 20 74 34 20 57 48 45 52 45 20 66 20 3d  t3, t4 WHERE f =
5b60: 20 63 20 4f 52 20 63 20 42 45 54 57 45 45 4e 20   c OR c BETWEEN 
5b70: 27 61 6e 64 27 20 41 4e 44 20 30 2e 34 38 31 31  'and' AND 0.4811
5b80: 31 37 34 35 30 32 20 7d 0a 31 35 35 20 20 7b 20  174502 }.155  { 
5b90: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
5ba0: 2c 20 74 34 20 57 48 45 52 45 20 62 20 3c 3d 20  , t4 WHERE b <= 
5bb0: 27 73 6f 6d 65 74 69 6d 65 73 27 20 4f 52 20 63  'sometimes' OR c
5bc0: 20 3c 3d 20 30 39 33 38 34 34 36 30 39 35 20 7d   <= 0938446095 }
5bd0: 0a 31 35 36 20 20 7b 20 53 45 4c 45 43 54 20 2a  .156  { SELECT *
5be0: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
5bf0: 52 45 20 27 61 6e 64 27 20 3c 3d 20 62 20 7d 0a  RE 'and' <= b }.
5c00: 31 35 37 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  157  { SELECT * 
5c10: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
5c20: 45 20 67 20 3e 20 61 20 41 4e 44 20 66 20 3d 20  E g > a AND f = 
5c30: 27 74 68 65 27 20 41 4e 44 20 62 20 3c 20 61 20  'the' AND b < a 
5c40: 7d 0a 31 35 38 20 20 7b 20 53 45 4c 45 43 54 20  }.158  { SELECT 
5c50: 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48  * FROM t3, t4 WH
5c60: 45 52 45 20 61 20 3c 20 27 61 6e 27 20 7d 0a 31  ERE a < 'an' }.1
5c70: 35 39 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  59  { SELECT * F
5c80: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
5c90: 20 61 20 42 45 54 57 45 45 4e 20 27 68 69 73 27   a BETWEEN 'his'
5ca0: 20 41 4e 44 20 27 73 61 6d 65 27 20 4f 52 20 38   AND 'same' OR 8
5cb0: 36 32 38 30 33 34 38 32 35 20 3e 20 66 20 7d 0a  628034825 > f }.
5cc0: 31 36 30 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  160  { SELECT * 
5cd0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
5ce0: 45 20 62 20 3d 20 27 70 65 61 6b 27 20 7d 0a 31  E b = 'peak' }.1
5cf0: 36 31 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  61  { SELECT * F
5d00: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
5d10: 20 66 20 49 53 20 4e 55 4c 4c 20 41 4e 44 20 61   f IS NULL AND a
5d20: 20 3e 3d 20 68 20 7d 0a 31 36 32 20 20 7b 20 53   >= h }.162  { S
5d30: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
5d40: 20 74 34 20 57 48 45 52 45 20 61 20 49 53 20 4e   t4 WHERE a IS N
5d50: 55 4c 4c 20 4f 52 20 32 36 34 33 33 38 33 32 37  ULL OR 264338327
5d60: 39 20 3d 20 63 20 7d 0a 31 36 33 20 20 7b 20 53  9 = c }.163  { S
5d70: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
5d80: 20 74 34 20 57 48 45 52 45 20 62 20 3e 3d 20 35   t4 WHERE b >= 5
5d90: 30 32 38 38 34 31 39 37 31 20 41 4e 44 20 66 20  028841971 AND f 
5da0: 3c 20 63 20 41 4e 44 20 61 20 49 53 20 4e 55 4c  < c AND a IS NUL
5db0: 4c 20 7d 0a 31 36 34 20 20 7b 20 53 45 4c 45 43  L }.164  { SELEC
5dc0: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
5dd0: 57 48 45 52 45 20 61 20 3e 3d 20 67 20 7d 0a 31  WHERE a >= g }.1
5de0: 36 35 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  65  { SELECT * F
5df0: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
5e00: 20 63 20 49 53 20 4e 55 4c 4c 20 7d 0a 31 36 36   c IS NULL }.166
5e10: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
5e20: 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 68  M t3, t4 WHERE h
5e30: 20 3e 3d 20 68 20 7d 0a 31 36 37 20 20 7b 20 53   >= h }.167  { S
5e40: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
5e50: 20 74 34 20 57 48 45 52 45 20 27 6f 76 65 72 27   t4 WHERE 'over'
5e60: 20 3c 3d 20 68 20 7d 0a 31 36 38 20 20 7b 20 53   <= h }.168  { S
5e70: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
5e80: 20 74 34 20 57 48 45 52 45 20 62 20 3c 20 34 35   t4 WHERE b < 45
5e90: 34 33 2e 32 36 36 34 38 32 20 4f 52 20 62 20 3d  43.266482 OR b =
5ea0: 20 32 36 34 33 33 38 33 32 37 39 20 4f 52 20 38   2643383279 OR 8
5eb0: 36 32 38 30 33 34 38 32 35 20 3c 20 62 20 7d 0a  628034825 < b }.
5ec0: 31 36 39 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  169  { SELECT * 
5ed0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
5ee0: 45 20 67 20 3e 3d 20 36 39 33 39 39 33 37 35 31  E g >= 693993751
5ef0: 30 20 7d 0a 31 37 30 20 20 7b 20 53 45 4c 45 43  0 }.170  { SELEC
5f00: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
5f10: 57 48 45 52 45 20 27 6f 72 27 20 3c 20 61 20 4f  WHERE 'or' < a O
5f20: 52 20 62 20 3c 20 67 20 7d 0a 31 37 31 20 20 7b  R b < g }.171  {
5f30: 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74   SELECT * FROM t
5f40: 33 2c 20 74 34 20 57 48 45 52 45 20 68 20 3c 20  3, t4 WHERE h < 
5f50: 27 68 69 6c 6c 73 27 20 4f 52 20 27 61 6e 64 27  'hills' OR 'and'
5f60: 20 3e 20 67 20 7d 0a 31 37 32 20 20 7b 20 53 45   > g }.172  { SE
5f70: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
5f80: 74 34 20 57 48 45 52 45 20 27 66 72 6f 6d 27 20  t4 WHERE 'from' 
5f90: 3e 20 66 20 4f 52 20 66 20 3c 3d 20 66 20 7d 0a  > f OR f <= f }.
5fa0: 31 37 33 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  173  { SELECT * 
5fb0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
5fc0: 45 20 27 76 69 65 77 65 64 27 20 3e 20 62 20 41  E 'viewed' > b A
5fd0: 4e 44 20 66 20 3c 20 63 20 7d 0a 31 37 34 20 20  ND f < c }.174  
5fe0: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
5ff0: 74 33 2c 20 74 34 20 57 48 45 52 45 20 27 6f 66  t3, t4 WHERE 'of
6000: 27 20 3c 3d 20 61 20 7d 0a 31 37 35 20 20 7b 20  ' <= a }.175  { 
6010: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
6020: 2c 20 74 34 20 57 48 45 52 45 20 66 20 3e 20 30  , t4 WHERE f > 0
6030: 39 33 38 34 34 36 30 39 35 20 7d 0a 31 37 36 20  938446095 }.176 
6040: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
6050: 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 61 20   t3, t4 WHERE a 
6060: 3d 20 67 20 7d 0a 31 37 37 20 20 7b 20 53 45 4c  = g }.177  { SEL
6070: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74  ECT * FROM t3, t
6080: 34 20 57 48 45 52 45 20 67 20 3e 3d 20 62 20 41  4 WHERE g >= b A
6090: 4e 44 20 66 20 42 45 54 57 45 45 4e 20 27 70 65  ND f BETWEEN 'pe
60a0: 61 6b 27 20 41 4e 44 20 27 61 6e 64 27 20 7d 0a  ak' AND 'and' }.
60b0: 31 37 38 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  178  { SELECT * 
60c0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
60d0: 45 20 67 20 3d 20 61 20 41 4e 44 20 27 69 74 27  E g = a AND 'it'
60e0: 20 3e 20 66 20 7d 0a 31 37 39 20 20 7b 20 53 45   > f }.179  { SE
60f0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20  LECT * FROM t3, 
6100: 74 34 20 57 48 45 52 45 20 61 20 3c 3d 20 62 20  t4 WHERE a <= b 
6110: 4f 52 20 27 66 72 6f 6d 27 20 3e 20 66 20 7d 0a  OR 'from' > f }.
6120: 31 38 30 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  180  { SELECT * 
6130: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
6140: 45 20 66 20 3c 20 27 61 6e 64 27 20 7d 0a 31 38  E f < 'and' }.18
6150: 31 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  1  { SELECT * FR
6160: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
6170: 36 39 33 39 39 33 37 35 31 30 20 3c 20 62 20 4f  6939937510 < b O
6180: 52 20 27 73 6f 6d 65 74 69 6d 65 73 27 20 3c 20  R 'sometimes' < 
6190: 68 20 7d 0a 31 38 32 20 20 7b 20 53 45 4c 45 43  h }.182  { SELEC
61a0: 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74 34 20  T * FROM t3, t4 
61b0: 57 48 45 52 45 20 66 20 3e 20 67 20 41 4e 44 20  WHERE f > g AND 
61c0: 66 20 3c 20 27 70 65 61 6b 27 20 7d 0a 31 38 33  f < 'peak' }.183
61d0: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
61e0: 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 61  M t3, t4 WHERE a
61f0: 20 3c 3d 20 35 33 35 39 34 2e 30 38 31 32 38 20   <= 53594.08128 
6200: 41 4e 44 20 63 20 3c 3d 20 66 20 41 4e 44 20 66  AND c <= f AND f
6210: 20 3e 3d 20 63 20 7d 0a 31 38 34 20 20 7b 20 53   >= c }.184  { S
6220: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
6230: 20 74 34 20 57 48 45 52 45 20 66 20 3d 20 63 20   t4 WHERE f = c 
6240: 4f 52 20 27 69 74 27 20 3e 20 62 20 4f 52 20 67  OR 'it' > b OR g
6250: 20 42 45 54 57 45 45 4e 20 27 74 68 65 27 20 41   BETWEEN 'the' A
6260: 4e 44 20 27 61 6c 6c 27 20 7d 0a 31 38 35 20 20  ND 'all' }.185  
6270: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
6280: 74 33 2c 20 74 34 20 57 48 45 52 45 20 63 20 3c  t3, t4 WHERE c <
6290: 3d 20 67 20 4f 52 20 61 20 3d 20 68 20 7d 0a 31  = g OR a = h }.1
62a0: 38 36 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46  86  { SELECT * F
62b0: 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45  ROM t3, t4 WHERE
62c0: 20 27 73 61 6d 65 27 20 3d 20 62 20 4f 52 20 63   'same' = b OR c
62d0: 20 3e 3d 20 32 36 34 33 33 38 33 32 37 39 20 7d   >= 2643383279 }
62e0: 0a 31 38 37 20 20 7b 20 53 45 4c 45 43 54 20 2a  .187  { SELECT *
62f0: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
6300: 52 45 20 68 20 3c 3d 20 67 20 4f 52 20 63 20 3e  RE h <= g OR c >
6310: 20 36 36 2e 35 39 33 33 34 34 36 31 20 4f 52 20   66.59334461 OR 
6320: 61 20 3c 3d 20 66 20 7d 0a 31 38 38 20 20 7b 20  a <= f }.188  { 
6330: 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33  SELECT * FROM t3
6340: 2c 20 74 34 20 57 48 45 52 45 20 62 20 3c 20 63  , t4 WHERE b < c
6350: 20 41 4e 44 20 66 20 3d 20 27 77 72 69 74 69 6e   AND f = 'writin
6360: 67 73 27 20 7d 0a 31 38 39 20 20 7b 20 53 45 4c  gs' }.189  { SEL
6370: 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c 20 74  ECT * FROM t3, t
6380: 34 20 57 48 45 52 45 20 62 20 3c 20 61 20 7d 0a  4 WHERE b < a }.
6390: 31 39 30 20 20 7b 20 53 45 4c 45 43 54 20 2a 20  190  { SELECT * 
63a0: 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52  FROM t3, t4 WHER
63b0: 45 20 63 20 3e 3d 20 66 20 4f 52 20 63 20 3d 20  E c >= f OR c = 
63c0: 27 61 6e 64 27 20 7d 0a 31 39 31 20 20 7b 20 53  'and' }.191  { S
63d0: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
63e0: 20 74 34 20 57 48 45 52 45 20 66 20 3e 3d 20 27   t4 WHERE f >= '
63f0: 70 65 61 6b 27 20 41 4e 44 20 67 20 3e 20 66 20  peak' AND g > f 
6400: 41 4e 44 20 68 20 3e 20 67 20 7d 0a 31 39 32 20  AND h > g }.192 
6410: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
6420: 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 61 20   t3, t4 WHERE a 
6430: 3e 3d 20 38 39 37 39 33 32 33 38 34 36 20 41 4e  >= 8979323846 AN
6440: 44 20 27 73 61 6d 65 27 20 3e 20 62 20 4f 52 20  D 'same' > b OR 
6450: 63 20 3d 20 27 61 6e 64 27 20 7d 0a 31 39 33 20  c = 'and' }.193 
6460: 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d   { SELECT * FROM
6470: 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 63 20   t3, t4 WHERE c 
6480: 3e 3d 20 67 20 4f 52 20 27 77 72 69 74 69 6e 67  >= g OR 'writing
6490: 73 27 20 3e 3d 20 63 20 41 4e 44 20 62 20 3d 20  s' >= c AND b = 
64a0: 27 61 6c 6c 27 20 7d 0a 31 39 34 20 20 7b 20 53  'all' }.194  { S
64b0: 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20 74 33 2c  ELECT * FROM t3,
64c0: 20 74 34 20 57 48 45 52 45 20 27 72 65 6d 61 72   t4 WHERE 'remar
64d0: 6b 61 62 6c 79 27 20 3c 20 67 20 7d 0a 31 39 35  kably' < g }.195
64e0: 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f    { SELECT * FRO
64f0: 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20 61  M t3, t4 WHERE a
6500: 20 42 45 54 57 45 45 4e 20 27 6f 72 27 20 41 4e   BETWEEN 'or' AN
6510: 44 20 27 70 61 69 6e 74 69 6e 67 73 27 20 41 4e  D 'paintings' AN
6520: 44 20 67 20 3c 3d 20 66 20 7d 0a 31 39 36 20 20  D g <= f }.196  
6530: 7b 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20  { SELECT * FROM 
6540: 74 33 2c 20 74 34 20 57 48 45 52 45 20 30 39 33  t3, t4 WHERE 093
6550: 38 34 34 36 30 39 35 20 3e 20 62 20 4f 52 20 67  8446095 > b OR g
6560: 20 3c 3d 20 61 20 4f 52 20 68 20 3e 20 62 20 7d   <= a OR h > b }
6570: 0a 31 39 37 20 20 7b 20 53 45 4c 45 43 54 20 2a  .197  { SELECT *
6580: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
6590: 52 45 20 67 20 3d 20 32 36 34 33 33 38 33 32 37  RE g = 264338327
65a0: 39 20 41 4e 44 20 66 20 3d 20 67 20 7d 0a 31 39  9 AND f = g }.19
65b0: 38 20 20 7b 20 53 45 4c 45 43 54 20 2a 20 46 52  8  { SELECT * FR
65c0: 4f 4d 20 74 33 2c 20 74 34 20 57 48 45 52 45 20  OM t3, t4 WHERE 
65d0: 67 20 3c 20 38 39 37 39 33 32 33 38 34 36 20 7d  g < 8979323846 }
65e0: 0a 31 39 39 20 20 7b 20 53 45 4c 45 43 54 20 2a  .199  { SELECT *
65f0: 20 46 52 4f 4d 20 74 33 2c 20 74 34 20 57 48 45   FROM t3, t4 WHE
6600: 52 45 20 27 61 72 65 27 20 3c 3d 20 62 20 7d 0a  RE 'are' <= b }.
6610: 0a 20 20 7d 20 7b 0a 20 20 20 20 64 6f 5f 74 65  .  } {.    do_te
6620: 73 74 20 77 68 65 72 65 38 2d 34 2e 24 41 2e 24  st where8-4.$A.$
6630: 42 2e 31 20 7b 0a 20 20 20 20 20 20 73 65 74 20  B.1 {.      set 
6640: 52 20 5b 65 78 65 63 73 71 6c 20 24 73 71 6c 5d  R [execsql $sql]
6650: 0a 20 20 20 20 20 20 69 66 20 7b 21 5b 69 6e 66  .      if {![inf
6660: 6f 20 65 78 69 73 74 73 20 72 65 73 75 6c 74 73  o exists results
6670: 28 24 42 29 5d 7d 20 7b 0a 20 20 20 20 20 20 20  ($B)]} {.       
6680: 20 73 65 74 20 72 65 73 75 6c 74 73 28 24 42 29   set results($B)
6690: 20 24 52 0a 20 20 20 20 20 20 7d 0a 20 20 20 20   $R.      }.    
66a0: 20 20 6c 69 73 74 0a 20 20 20 20 7d 20 7b 7d 0a    list.    } {}.
66b0: 0a 20 20 20 20 64 6f 5f 74 65 73 74 20 77 68 65  .    do_test whe
66c0: 72 65 38 2d 34 2e 24 41 2e 24 42 2e 32 20 7b 20  re8-4.$A.$B.2 { 
66d0: 6c 73 6f 72 74 20 24 52 20 7d 20 5b 6c 73 6f 72  lsort $R } [lsor
66e0: 74 20 24 72 65 73 75 6c 74 73 28 24 42 29 5d 0a  t $results($B)].
66f0: 20 20 7d 0a 20 20 69 6e 63 72 20 41 0a 7d 0a 0a    }.  incr A.}..
6700: 63 61 74 63 68 20 7b 75 6e 73 65 74 20 72 65 73  catch {unset res
6710: 75 6c 74 73 7d 0a 63 61 74 63 68 20 7b 75 6e 73  ults}.catch {uns
6720: 65 74 20 41 7d 0a 63 61 74 63 68 20 7b 75 6e 73  et A}.catch {uns
6730: 65 74 20 42 7d 0a 0a 66 69 6e 69 73 68 5f 74 65  et B}..finish_te
6740: 73 74 0a 0a                                      st..