/ Hex Artifact Content
Login

Artifact b2ef151d0984b2ebf237760dbeaa50724e5a0667:


0000: 23 20 32 30 31 34 20 4a 75 6e 65 20 32 36 0a 23  # 2014 June 26.#
0010: 0a 23 20 54 68 65 20 61 75 74 68 6f 72 20 64 69  .# The author di
0020: 73 63 6c 61 69 6d 73 20 63 6f 70 79 72 69 67 68  sclaims copyrigh
0030: 74 20 74 6f 20 74 68 69 73 20 73 6f 75 72 63 65  t to this source
0040: 20 63 6f 64 65 2e 20 20 49 6e 20 70 6c 61 63 65   code.  In place
0050: 20 6f 66 0a 23 20 61 20 6c 65 67 61 6c 20 6e 6f   of.# a legal no
0060: 74 69 63 65 2c 20 68 65 72 65 20 69 73 20 61 20  tice, here is a 
0070: 62 6c 65 73 73 69 6e 67 3a 0a 23 0a 23 20 20 20  blessing:.#.#   
0080: 20 4d 61 79 20 79 6f 75 20 64 6f 20 67 6f 6f 64   May you do good
0090: 20 61 6e 64 20 6e 6f 74 20 65 76 69 6c 2e 0a 23   and not evil..#
00a0: 20 20 20 20 4d 61 79 20 79 6f 75 20 66 69 6e 64      May you find
00b0: 20 66 6f 72 67 69 76 65 6e 65 73 73 20 66 6f 72   forgiveness for
00c0: 20 79 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f   yourself and fo
00d0: 72 67 69 76 65 20 6f 74 68 65 72 73 2e 0a 23 20  rgive others..# 
00e0: 20 20 20 4d 61 79 20 79 6f 75 20 73 68 61 72 65     May you share
00f0: 20 66 72 65 65 6c 79 2c 20 6e 65 76 65 72 20 74   freely, never t
0100: 61 6b 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20  aking more than 
0110: 79 6f 75 20 67 69 76 65 2e 0a 23 0a 23 2a 2a 2a  you give..#.#***
0120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 2a 2a 0a 23 20 54 68 69 73 20 66 69 6c 65  ****.# This file
0170: 20 69 6d 70 6c 65 6d 65 6e 74 73 20 72 65 67 72   implements regr
0180: 65 73 73 69 6f 6e 20 74 65 73 74 73 20 66 6f 72  ession tests for
0190: 20 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79 2e   SQLite library.
01a0: 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69  .#.# This file i
01b0: 6d 70 6c 65 6d 65 6e 74 73 20 74 65 73 74 73 20  mplements tests 
01c0: 74 6f 20 76 65 72 69 66 79 20 74 68 61 74 20 74  to verify that t
01d0: 69 63 6b 65 74 20 5b 39 61 38 62 30 39 66 38 65  icket [9a8b09f8e
01e0: 36 5d 20 68 61 73 20 62 65 65 6e 0a 23 20 66 69  6] has been.# fi
01f0: 78 65 64 2e 0a 23 0a 0a 73 65 74 20 74 65 73 74  xed..#..set test
0200: 64 69 72 20 5b 66 69 6c 65 20 64 69 72 6e 61 6d  dir [file dirnam
0210: 65 20 24 61 72 67 76 30 5d 0a 73 6f 75 72 63 65  e $argv0].source
0220: 20 24 74 65 73 74 64 69 72 2f 74 65 73 74 65 72   $testdir/tester
0230: 2e 74 63 6c 0a 73 65 74 20 74 65 73 74 70 72 65  .tcl.set testpre
0240: 66 69 78 20 74 6b 74 2d 39 61 38 62 30 39 66 38  fix tkt-9a8b09f8
0250: 65 36 0a 0a 64 6f 5f 74 65 73 74 20 31 2e 31 20  e6..do_test 1.1 
0260: 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20  {.  execsql {.  
0270: 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 74    CREATE TABLE t
0280: 31 28 78 20 54 45 58 54 29 3b 0a 20 20 20 20 49  1(x TEXT);.    I
0290: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 56 41  NSERT INTO t1 VA
02a0: 4c 55 45 53 28 27 31 27 29 3b 0a 20 20 7d 0a 7d  LUES('1');.  }.}
02b0: 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 31 2e 32   {}..do_test 1.2
02c0: 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20   {.  execsql {. 
02d0: 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20     CREATE TABLE 
02e0: 74 32 28 78 20 49 4e 54 45 47 45 52 29 3b 0a 20  t2(x INTEGER);. 
02f0: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
0300: 32 20 56 41 4c 55 45 53 28 31 29 3b 0a 20 20 7d  2 VALUES(1);.  }
0310: 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 31  .} {}..do_test 1
0320: 2e 33 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b  .3 {.  execsql {
0330: 0a 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c  .    CREATE TABL
0340: 45 20 74 33 28 78 20 52 45 41 4c 29 3b 0a 20 20  E t3(x REAL);.  
0350: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33    INSERT INTO t3
0360: 20 56 41 4c 55 45 53 28 31 2e 30 29 3b 0a 20 20   VALUES(1.0);.  
0370: 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20  }.} {}..do_test 
0380: 31 2e 34 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  1.4 {.  execsql 
0390: 7b 0a 20 20 20 20 43 52 45 41 54 45 20 54 41 42  {.    CREATE TAB
03a0: 4c 45 20 74 34 28 78 20 52 45 41 4c 29 3b 0a 20  LE t4(x REAL);. 
03b0: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
03c0: 34 20 56 41 4c 55 45 53 28 31 2e 31 31 29 3b 0a  4 VALUES(1.11);.
03d0: 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73    }.} {}..do_tes
03e0: 74 20 31 2e 35 20 7b 0a 20 20 65 78 65 63 73 71  t 1.5 {.  execsq
03f0: 6c 20 7b 0a 20 20 20 20 43 52 45 41 54 45 20 54  l {.    CREATE T
0400: 41 42 4c 45 20 74 35 28 78 2c 20 79 29 3b 0a 20  ABLE t5(x, y);. 
0410: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
0420: 35 20 56 41 4c 55 45 53 28 27 31 27 2c 20 27 6f  5 VALUES('1', 'o
0430: 6e 65 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  ne');.    INSERT
0440: 20 49 4e 54 4f 20 74 35 20 56 41 4c 55 45 53 28   INTO t5 VALUES(
0450: 31 2c 20 27 74 77 6f 27 29 3b 0a 20 20 20 20 49  1, 'two');.    I
0460: 4e 53 45 52 54 20 49 4e 54 4f 20 74 35 20 56 41  NSERT INTO t5 VA
0470: 4c 55 45 53 28 27 31 2e 30 27 2c 20 27 74 68 72  LUES('1.0', 'thr
0480: 65 65 27 29 3b 0a 20 20 20 20 49 4e 53 45 52 54  ee');.    INSERT
0490: 20 49 4e 54 4f 20 74 35 20 56 41 4c 55 45 53 28   INTO t5 VALUES(
04a0: 31 2e 30 2c 20 27 66 6f 75 72 27 29 3b 0a 20 20  1.0, 'four');.  
04b0: 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20  }.} {}..do_test 
04c0: 32 2e 31 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  2.1 {.  execsql 
04d0: 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20 46  {.    SELECT x F
04e0: 52 4f 4d 20 74 31 20 57 48 45 52 45 20 78 20 49  ROM t1 WHERE x I
04f0: 4e 20 28 31 29 3b 0a 20 20 7d 0a 7d 20 7b 31 7d  N (1);.  }.} {1}
0500: 0a 0a 64 6f 5f 74 65 73 74 20 32 2e 32 20 7b 0a  ..do_test 2.2 {.
0510: 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20    execsql {.    
0520: 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20 74 31  SELECT x FROM t1
0530: 20 57 48 45 52 45 20 78 20 49 4e 20 28 31 2e 30   WHERE x IN (1.0
0540: 29 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f  );.  }.} {}..do_
0550: 74 65 73 74 20 32 2e 33 20 7b 0a 20 20 65 78 65  test 2.3 {.  exe
0560: 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43  csql {.    SELEC
0570: 54 20 78 20 46 52 4f 4d 20 74 31 20 57 48 45 52  T x FROM t1 WHER
0580: 45 20 78 20 49 4e 20 28 27 31 27 29 3b 0a 20 20  E x IN ('1');.  
0590: 7d 0a 7d 20 7b 31 7d 0a 0a 64 6f 5f 74 65 73 74  }.} {1}..do_test
05a0: 20 32 2e 34 20 7b 0a 20 20 65 78 65 63 73 71 6c   2.4 {.  execsql
05b0: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20   {.    SELECT x 
05c0: 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 78 20  FROM t1 WHERE x 
05d0: 49 4e 20 28 27 31 2e 30 27 29 3b 0a 20 20 7d 0a  IN ('1.0');.  }.
05e0: 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 32 2e  } {}..do_test 2.
05f0: 35 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a  5 {.  execsql {.
0600: 20 20 20 20 53 45 4c 45 43 54 20 78 20 46 52 4f      SELECT x FRO
0610: 4d 20 74 31 20 57 48 45 52 45 20 31 20 49 4e 20  M t1 WHERE 1 IN 
0620: 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a 64  (x);.  }.} {}..d
0630: 6f 5f 74 65 73 74 20 32 2e 36 20 7b 0a 20 20 65  o_test 2.6 {.  e
0640: 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c  xecsql {.    SEL
0650: 45 43 54 20 78 20 46 52 4f 4d 20 74 31 20 57 48  ECT x FROM t1 WH
0660: 45 52 45 20 31 2e 30 20 49 4e 20 28 78 29 3b 0a  ERE 1.0 IN (x);.
0670: 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73    }.} {}..do_tes
0680: 74 20 32 2e 37 20 7b 0a 20 20 65 78 65 63 73 71  t 2.7 {.  execsq
0690: 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78  l {.    SELECT x
06a0: 20 46 52 4f 4d 20 74 31 20 57 48 45 52 45 20 27   FROM t1 WHERE '
06b0: 31 27 20 49 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d  1' IN (x);.  }.}
06c0: 20 7b 31 7d 0a 0a 64 6f 5f 74 65 73 74 20 32 2e   {1}..do_test 2.
06d0: 38 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a  8 {.  execsql {.
06e0: 20 20 20 20 53 45 4c 45 43 54 20 78 20 46 52 4f      SELECT x FRO
06f0: 4d 20 74 31 20 57 48 45 52 45 20 27 31 2e 30 27  M t1 WHERE '1.0'
0700: 20 49 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b   IN (x);.  }.} {
0710: 7d 0a 0a 64 6f 5f 74 65 73 74 20 33 2e 31 20 7b  }..do_test 3.1 {
0720: 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20  .  execsql {.   
0730: 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20 74   SELECT x FROM t
0740: 32 20 57 48 45 52 45 20 78 20 49 4e 20 28 31 29  2 WHERE x IN (1)
0750: 3b 0a 20 20 7d 0a 7d 20 7b 31 7d 0a 0a 64 6f 5f  ;.  }.} {1}..do_
0760: 74 65 73 74 20 33 2e 32 20 7b 0a 20 20 65 78 65  test 3.2 {.  exe
0770: 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43  csql {.    SELEC
0780: 54 20 78 20 46 52 4f 4d 20 74 32 20 57 48 45 52  T x FROM t2 WHER
0790: 45 20 78 20 49 4e 20 28 31 2e 30 29 3b 0a 20 20  E x IN (1.0);.  
07a0: 7d 0a 7d 20 7b 31 7d 0a 0a 64 6f 5f 74 65 73 74  }.} {1}..do_test
07b0: 20 33 2e 33 20 7b 0a 20 20 65 78 65 63 73 71 6c   3.3 {.  execsql
07c0: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20   {.    SELECT x 
07d0: 46 52 4f 4d 20 74 32 20 57 48 45 52 45 20 78 20  FROM t2 WHERE x 
07e0: 49 4e 20 28 27 31 27 29 3b 0a 20 20 7d 0a 7d 20  IN ('1');.  }.} 
07f0: 7b 31 7d 0a 0a 64 6f 5f 74 65 73 74 20 33 2e 34  {1}..do_test 3.4
0800: 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20   {.  execsql {. 
0810: 20 20 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d     SELECT x FROM
0820: 20 74 32 20 57 48 45 52 45 20 78 20 49 4e 20 28   t2 WHERE x IN (
0830: 27 31 2e 30 27 29 3b 0a 20 20 7d 0a 7d 20 7b 31  '1.0');.  }.} {1
0840: 7d 0a 0a 64 6f 5f 74 65 73 74 20 33 2e 35 20 7b  }..do_test 3.5 {
0850: 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20  .  execsql {.   
0860: 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20 74   SELECT x FROM t
0870: 32 20 57 48 45 52 45 20 31 20 49 4e 20 28 78 29  2 WHERE 1 IN (x)
0880: 3b 0a 20 20 7d 0a 7d 20 7b 31 7d 0a 0a 64 6f 5f  ;.  }.} {1}..do_
0890: 74 65 73 74 20 33 2e 36 20 7b 0a 20 20 65 78 65  test 3.6 {.  exe
08a0: 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43  csql {.    SELEC
08b0: 54 20 78 20 46 52 4f 4d 20 74 32 20 57 48 45 52  T x FROM t2 WHER
08c0: 45 20 31 2e 30 20 49 4e 20 28 78 29 3b 0a 20 20  E 1.0 IN (x);.  
08d0: 7d 0a 7d 20 7b 31 7d 0a 0a 64 6f 5f 74 65 73 74  }.} {1}..do_test
08e0: 20 33 2e 37 20 7b 0a 20 20 65 78 65 63 73 71 6c   3.7 {.  execsql
08f0: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20   {.    SELECT x 
0900: 46 52 4f 4d 20 74 32 20 57 48 45 52 45 20 27 31  FROM t2 WHERE '1
0910: 27 20 49 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20  ' IN (x);.  }.} 
0920: 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 33 2e 38 20  {}..do_test 3.8 
0930: 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20  {.  execsql {.  
0940: 20 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20    SELECT x FROM 
0950: 74 32 20 57 48 45 52 45 20 27 31 2e 30 27 20 49  t2 WHERE '1.0' I
0960: 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a  N (x);.  }.} {}.
0970: 0a 64 6f 5f 74 65 73 74 20 34 2e 31 20 7b 0a 20  .do_test 4.1 {. 
0980: 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 53   execsql {.    S
0990: 45 4c 45 43 54 20 78 20 46 52 4f 4d 20 74 33 20  ELECT x FROM t3 
09a0: 57 48 45 52 45 20 78 20 49 4e 20 28 31 29 3b 0a  WHERE x IN (1);.
09b0: 20 20 7d 0a 7d 20 7b 31 2e 30 7d 0a 0a 64 6f 5f    }.} {1.0}..do_
09c0: 74 65 73 74 20 34 2e 32 20 7b 0a 20 20 65 78 65  test 4.2 {.  exe
09d0: 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43  csql {.    SELEC
09e0: 54 20 78 20 46 52 4f 4d 20 74 33 20 57 48 45 52  T x FROM t3 WHER
09f0: 45 20 78 20 49 4e 20 28 31 2e 30 29 3b 0a 20 20  E x IN (1.0);.  
0a00: 7d 0a 7d 20 7b 31 2e 30 7d 0a 0a 64 6f 5f 74 65  }.} {1.0}..do_te
0a10: 73 74 20 34 2e 33 20 7b 0a 20 20 65 78 65 63 73  st 4.3 {.  execs
0a20: 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20  ql {.    SELECT 
0a30: 78 20 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20  x FROM t3 WHERE 
0a40: 78 20 49 4e 20 28 27 31 27 29 3b 0a 20 20 7d 0a  x IN ('1');.  }.
0a50: 7d 20 7b 31 2e 30 7d 0a 0a 64 6f 5f 74 65 73 74  } {1.0}..do_test
0a60: 20 34 2e 34 20 7b 0a 20 20 65 78 65 63 73 71 6c   4.4 {.  execsql
0a70: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20   {.    SELECT x 
0a80: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 78 20  FROM t3 WHERE x 
0a90: 49 4e 20 28 27 31 2e 30 27 29 3b 0a 20 20 7d 0a  IN ('1.0');.  }.
0aa0: 7d 20 7b 31 2e 30 7d 0a 0a 64 6f 5f 74 65 73 74  } {1.0}..do_test
0ab0: 20 34 2e 35 20 7b 0a 20 20 65 78 65 63 73 71 6c   4.5 {.  execsql
0ac0: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20   {.    SELECT x 
0ad0: 46 52 4f 4d 20 74 33 20 57 48 45 52 45 20 31 20  FROM t3 WHERE 1 
0ae0: 49 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b 31  IN (x);.  }.} {1
0af0: 2e 30 7d 0a 0a 64 6f 5f 74 65 73 74 20 34 2e 36  .0}..do_test 4.6
0b00: 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20   {.  execsql {. 
0b10: 20 20 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d     SELECT x FROM
0b20: 20 74 33 20 57 48 45 52 45 20 31 2e 30 20 49 4e   t3 WHERE 1.0 IN
0b30: 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b 31 2e 30   (x);.  }.} {1.0
0b40: 7d 0a 0a 64 6f 5f 74 65 73 74 20 34 2e 37 20 7b  }..do_test 4.7 {
0b50: 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20  .  execsql {.   
0b60: 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20 74   SELECT x FROM t
0b70: 33 20 57 48 45 52 45 20 27 31 27 20 49 4e 20 28  3 WHERE '1' IN (
0b80: 78 29 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f  x);.  }.} {}..do
0b90: 5f 74 65 73 74 20 34 2e 38 20 7b 0a 20 20 65 78  _test 4.8 {.  ex
0ba0: 65 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45  ecsql {.    SELE
0bb0: 43 54 20 78 20 46 52 4f 4d 20 74 33 20 57 48 45  CT x FROM t3 WHE
0bc0: 52 45 20 27 31 2e 30 27 20 49 4e 20 28 78 29 3b  RE '1.0' IN (x);
0bd0: 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65  .  }.} {}..do_te
0be0: 73 74 20 35 2e 31 20 7b 0a 20 20 65 78 65 63 73  st 5.1 {.  execs
0bf0: 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20  ql {.    SELECT 
0c00: 78 20 46 52 4f 4d 20 74 34 20 57 48 45 52 45 20  x FROM t4 WHERE 
0c10: 78 20 49 4e 20 28 31 29 3b 0a 20 20 7d 0a 7d 20  x IN (1);.  }.} 
0c20: 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 35 2e 32 20  {}..do_test 5.2 
0c30: 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20  {.  execsql {.  
0c40: 20 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20    SELECT x FROM 
0c50: 74 34 20 57 48 45 52 45 20 78 20 49 4e 20 28 31  t4 WHERE x IN (1
0c60: 2e 30 29 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a 64  .0);.  }.} {}..d
0c70: 6f 5f 74 65 73 74 20 35 2e 33 20 7b 0a 20 20 65  o_test 5.3 {.  e
0c80: 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c  xecsql {.    SEL
0c90: 45 43 54 20 78 20 46 52 4f 4d 20 74 34 20 57 48  ECT x FROM t4 WH
0ca0: 45 52 45 20 78 20 49 4e 20 28 27 31 27 29 3b 0a  ERE x IN ('1');.
0cb0: 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73    }.} {}..do_tes
0cc0: 74 20 35 2e 34 20 7b 0a 20 20 65 78 65 63 73 71  t 5.4 {.  execsq
0cd0: 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78  l {.    SELECT x
0ce0: 20 46 52 4f 4d 20 74 34 20 57 48 45 52 45 20 78   FROM t4 WHERE x
0cf0: 20 49 4e 20 28 27 31 2e 30 27 29 3b 0a 20 20 7d   IN ('1.0');.  }
0d00: 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 35  .} {}..do_test 5
0d10: 2e 35 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b  .5 {.  execsql {
0d20: 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20 46 52  .    SELECT x FR
0d30: 4f 4d 20 74 34 20 57 48 45 52 45 20 78 20 49 4e  OM t4 WHERE x IN
0d40: 20 28 31 2e 31 31 29 3b 0a 20 20 7d 0a 7d 20 7b   (1.11);.  }.} {
0d50: 31 2e 31 31 7d 0a 0a 64 6f 5f 74 65 73 74 20 35  1.11}..do_test 5
0d60: 2e 36 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b  .6 {.  execsql {
0d70: 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20 46 52  .    SELECT x FR
0d80: 4f 4d 20 74 34 20 57 48 45 52 45 20 78 20 49 4e  OM t4 WHERE x IN
0d90: 20 28 27 31 2e 31 31 27 29 3b 0a 20 20 7d 0a 7d   ('1.11');.  }.}
0da0: 20 7b 31 2e 31 31 7d 0a 0a 64 6f 5f 74 65 73 74   {1.11}..do_test
0db0: 20 35 2e 37 20 7b 0a 20 20 65 78 65 63 73 71 6c   5.7 {.  execsql
0dc0: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20   {.    SELECT x 
0dd0: 46 52 4f 4d 20 74 34 20 57 48 45 52 45 20 31 20  FROM t4 WHERE 1 
0de0: 49 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b 7d  IN (x);.  }.} {}
0df0: 0a 0a 64 6f 5f 74 65 73 74 20 35 2e 38 20 7b 0a  ..do_test 5.8 {.
0e00: 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20    execsql {.    
0e10: 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20 74 34  SELECT x FROM t4
0e20: 20 57 48 45 52 45 20 31 2e 30 20 49 4e 20 28 78   WHERE 1.0 IN (x
0e30: 29 3b 0a 20 20 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f  );.  }.} {}..do_
0e40: 74 65 73 74 20 35 2e 39 20 7b 0a 20 20 65 78 65  test 5.9 {.  exe
0e50: 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43  csql {.    SELEC
0e60: 54 20 78 20 46 52 4f 4d 20 74 34 20 57 48 45 52  T x FROM t4 WHER
0e70: 45 20 27 31 27 20 49 4e 20 28 78 29 3b 0a 20 20  E '1' IN (x);.  
0e80: 7d 0a 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20  }.} {}..do_test 
0e90: 35 2e 31 30 20 7b 0a 20 20 65 78 65 63 73 71 6c  5.10 {.  execsql
0ea0: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20   {.    SELECT x 
0eb0: 46 52 4f 4d 20 74 34 20 57 48 45 52 45 20 27 31  FROM t4 WHERE '1
0ec0: 2e 30 27 20 49 4e 20 28 78 29 3b 0a 20 20 7d 0a  .0' IN (x);.  }.
0ed0: 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 35 2e  } {}..do_test 5.
0ee0: 31 31 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b  11 {.  execsql {
0ef0: 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20 46 52  .    SELECT x FR
0f00: 4f 4d 20 74 34 20 57 48 45 52 45 20 31 2e 31 31  OM t4 WHERE 1.11
0f10: 20 49 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b   IN (x);.  }.} {
0f20: 31 2e 31 31 7d 0a 0a 64 6f 5f 74 65 73 74 20 35  1.11}..do_test 5
0f30: 2e 31 32 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  .12 {.  execsql 
0f40: 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 20 46  {.    SELECT x F
0f50: 52 4f 4d 20 74 34 20 57 48 45 52 45 20 27 31 2e  ROM t4 WHERE '1.
0f60: 31 31 27 20 49 4e 20 28 78 29 3b 0a 20 20 7d 0a  11' IN (x);.  }.
0f70: 7d 20 7b 7d 0a 0a 64 6f 5f 74 65 73 74 20 36 2e  } {}..do_test 6.
0f80: 31 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a  1 {.  execsql {.
0f90: 20 20 20 20 53 45 4c 45 43 54 20 78 2c 20 79 20      SELECT x, y 
0fa0: 46 52 4f 4d 20 74 35 20 57 48 45 52 45 20 78 20  FROM t5 WHERE x 
0fb0: 49 4e 20 28 31 29 3b 0a 20 20 7d 0a 7d 20 7b 31  IN (1);.  }.} {1
0fc0: 20 74 77 6f 20 31 2e 30 20 66 6f 75 72 7d 0a 0a   two 1.0 four}..
0fd0: 64 6f 5f 74 65 73 74 20 36 2e 32 20 7b 0a 20 20  do_test 6.2 {.  
0fe0: 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 53 45  execsql {.    SE
0ff0: 4c 45 43 54 20 78 2c 20 79 20 46 52 4f 4d 20 74  LECT x, y FROM t
1000: 35 20 57 48 45 52 45 20 78 20 49 4e 20 28 31 2e  5 WHERE x IN (1.
1010: 30 29 3b 0a 20 20 7d 0a 7d 20 7b 31 20 74 77 6f  0);.  }.} {1 two
1020: 20 31 2e 30 20 66 6f 75 72 7d 0a 0a 64 6f 5f 74   1.0 four}..do_t
1030: 65 73 74 20 36 2e 33 20 7b 0a 20 20 65 78 65 63  est 6.3 {.  exec
1040: 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43 54  sql {.    SELECT
1050: 20 78 2c 20 79 20 46 52 4f 4d 20 74 35 20 57 48   x, y FROM t5 WH
1060: 45 52 45 20 78 20 49 4e 20 28 27 31 27 29 3b 0a  ERE x IN ('1');.
1070: 20 20 7d 0a 7d 20 7b 31 20 6f 6e 65 7d 0a 0a 64    }.} {1 one}..d
1080: 6f 5f 74 65 73 74 20 36 2e 34 20 7b 0a 20 20 65  o_test 6.4 {.  e
1090: 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c  xecsql {.    SEL
10a0: 45 43 54 20 78 2c 20 79 20 46 52 4f 4d 20 74 35  ECT x, y FROM t5
10b0: 20 57 48 45 52 45 20 78 20 49 4e 20 28 27 31 2e   WHERE x IN ('1.
10c0: 30 27 29 3b 0a 20 20 7d 0a 7d 20 7b 31 2e 30 20  0');.  }.} {1.0 
10d0: 74 68 72 65 65 7d 0a 0a 64 6f 5f 74 65 73 74 20  three}..do_test 
10e0: 36 2e 35 20 7b 0a 20 20 65 78 65 63 73 71 6c 20  6.5 {.  execsql 
10f0: 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 78 2c 20  {.    SELECT x, 
1100: 79 20 46 52 4f 4d 20 74 35 20 57 48 45 52 45 20  y FROM t5 WHERE 
1110: 31 20 49 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20  1 IN (x);.  }.} 
1120: 7b 31 20 74 77 6f 20 31 2e 30 20 66 6f 75 72 7d  {1 two 1.0 four}
1130: 0a 0a 64 6f 5f 74 65 73 74 20 36 2e 36 20 7b 0a  ..do_test 6.6 {.
1140: 20 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20    execsql {.    
1150: 53 45 4c 45 43 54 20 78 2c 20 79 20 46 52 4f 4d  SELECT x, y FROM
1160: 20 74 35 20 57 48 45 52 45 20 31 2e 30 20 49 4e   t5 WHERE 1.0 IN
1170: 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b 31 20 74   (x);.  }.} {1 t
1180: 77 6f 20 31 2e 30 20 66 6f 75 72 7d 0a 0a 64 6f  wo 1.0 four}..do
1190: 5f 74 65 73 74 20 36 2e 37 20 7b 0a 20 20 65 78  _test 6.7 {.  ex
11a0: 65 63 73 71 6c 20 7b 0a 20 20 20 20 53 45 4c 45  ecsql {.    SELE
11b0: 43 54 20 78 2c 20 79 20 46 52 4f 4d 20 74 35 20  CT x, y FROM t5 
11c0: 57 48 45 52 45 20 27 31 27 20 49 4e 20 28 78 29  WHERE '1' IN (x)
11d0: 3b 0a 20 20 7d 0a 7d 20 7b 31 20 6f 6e 65 7d 0a  ;.  }.} {1 one}.
11e0: 0a 64 6f 5f 74 65 73 74 20 36 2e 38 20 7b 0a 20  .do_test 6.8 {. 
11f0: 20 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 53   execsql {.    S
1200: 45 4c 45 43 54 20 78 2c 20 79 20 46 52 4f 4d 20  ELECT x, y FROM 
1210: 74 35 20 57 48 45 52 45 20 27 31 2e 30 27 20 49  t5 WHERE '1.0' I
1220: 4e 20 28 78 29 3b 0a 20 20 7d 0a 7d 20 7b 31 2e  N (x);.  }.} {1.
1230: 30 20 74 68 72 65 65 7d 0a 0a 66 69 6e 69 73 68  0 three}..finish
1240: 5f 74 65 73 74 0a                                _test.