/ Hex Artifact Content
Login

Artifact c7d2d2a5a20dc37d3605a8067f0df5af2240122e:


0000: 23 20 32 30 30 35 20 4d 61 72 20 31 36 0a 23 0a  # 2005 Mar 16.#.
0010: 23 20 54 68 65 20 61 75 74 68 6f 72 20 64 69 73  # The author dis
0020: 63 6c 61 69 6d 73 20 63 6f 70 79 72 69 67 68 74  claims copyright
0030: 20 74 6f 20 74 68 69 73 20 73 6f 75 72 63 65 20   to this source 
0040: 63 6f 64 65 2e 20 20 49 6e 20 70 6c 61 63 65 20  code.  In place 
0050: 6f 66 0a 23 20 61 20 6c 65 67 61 6c 20 6e 6f 74  of.# a legal not
0060: 69 63 65 2c 20 68 65 72 65 20 69 73 20 61 20 62  ice, here is a b
0070: 6c 65 73 73 69 6e 67 3a 0a 23 0a 23 20 20 20 20  lessing:.#.#    
0080: 4d 61 79 20 79 6f 75 20 64 6f 20 67 6f 6f 64 20  May you do good 
0090: 61 6e 64 20 6e 6f 74 20 65 76 69 6c 2e 0a 23 20  and not evil..# 
00a0: 20 20 20 4d 61 79 20 79 6f 75 20 66 69 6e 64 20     May you find 
00b0: 66 6f 72 67 69 76 65 6e 65 73 73 20 66 6f 72 20  forgiveness for 
00c0: 79 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f 72  yourself and for
00d0: 67 69 76 65 20 6f 74 68 65 72 73 2e 0a 23 20 20  give others..#  
00e0: 20 20 4d 61 79 20 79 6f 75 20 73 68 61 72 65 20    May you share 
00f0: 66 72 65 65 6c 79 2c 20 6e 65 76 65 72 20 74 61  freely, never ta
0100: 6b 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 79  king more than y
0110: 6f 75 20 67 69 76 65 2e 0a 23 0a 23 2a 2a 2a 2a  ou 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 0a 23 20 54 68 69 73 20 66 69 6c 65 20  ***.# This file 
0170: 69 6d 70 6c 65 6d 65 6e 74 73 20 72 65 67 72 65  implements regre
0180: 73 73 69 6f 6e 20 74 65 73 74 73 20 66 6f 72 20  ssion tests for 
0190: 53 51 4c 69 74 65 20 6c 69 62 72 61 72 79 2e 0a  SQLite library..
01a0: 23 0a 23 20 54 68 69 73 20 66 69 6c 65 20 69 6d  #.# This file im
01b0: 70 6c 65 6d 65 6e 74 73 20 74 65 73 74 73 20 66  plements tests f
01c0: 6f 72 20 6d 69 73 63 65 6c 6c 61 6e 6f 75 73 20  or miscellanous 
01d0: 66 65 61 74 75 72 65 73 20 74 68 61 74 20 77 65  features that we
01e0: 72 65 0a 23 20 6c 65 66 74 20 6f 75 74 20 6f 66  re.# left out of
01f0: 20 6f 74 68 65 72 20 74 65 73 74 20 66 69 6c 65   other test file
0200: 73 2e 0a 23 0a 23 20 24 49 64 3a 20 6d 69 73 63  s..#.# $Id: misc
0210: 35 2e 74 65 73 74 2c 76 20 31 2e 31 36 20 32 30  5.test,v 1.16 20
0220: 30 37 2f 30 31 2f 30 33 20 32 33 3a 33 37 3a 32  07/01/03 23:37:2
0230: 39 20 64 72 68 20 45 78 70 20 24 0a 0a 73 65 74  9 drh Exp $..set
0240: 20 74 65 73 74 64 69 72 20 5b 66 69 6c 65 20 64   testdir [file d
0250: 69 72 6e 61 6d 65 20 24 61 72 67 76 30 5d 0a 73  irname $argv0].s
0260: 6f 75 72 63 65 20 24 74 65 73 74 64 69 72 2f 74  ource $testdir/t
0270: 65 73 74 65 72 2e 74 63 6c 0a 0a 23 20 42 75 69  ester.tcl..# Bui
0280: 6c 64 20 72 65 63 6f 72 64 73 20 75 73 69 6e 67  ld records using
0290: 20 74 68 65 20 4d 61 6b 65 52 65 63 6f 72 64 20   the MakeRecord 
02a0: 6f 70 63 6f 64 65 20 73 75 63 68 20 74 68 61 74  opcode such that
02b0: 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65   the size of the
02c0: 20 0a 23 20 68 65 61 64 65 72 20 69 73 20 61 74   .# header is at
02d0: 20 74 68 65 20 74 72 61 6e 73 69 74 69 6f 6e 20   the transition 
02e0: 70 6f 69 6e 74 20 69 6e 20 74 68 65 20 73 69 7a  point in the siz
02f0: 65 20 6f 66 20 61 20 76 61 72 69 6e 74 2e 0a 23  e of a varint..#
0300: 0a 23 20 54 68 69 73 20 74 65 73 74 20 63 61 75  .# This test cau
0310: 73 65 73 20 61 6e 20 61 73 73 65 72 74 69 6f 6e  ses an assertion
0320: 20 66 61 69 6c 75 72 65 20 6f 72 20 61 20 62 75   failure or a bu
0330: 66 66 65 72 20 6f 76 65 72 72 75 6e 20 69 6e 20  ffer overrun in 
0340: 76 65 72 73 69 6f 6e 0a 23 20 33 2e 31 2e 35 20  version.# 3.1.5 
0350: 61 6e 64 20 65 61 72 6c 69 65 72 2e 0a 23 0a 66  and earlier..#.f
0360: 6f 72 20 7b 73 65 74 20 69 20 31 32 30 7d 20 7b  or {set i 120} {
0370: 24 69 3c 31 34 30 7d 20 7b 69 6e 63 72 20 69 7d  $i<140} {incr i}
0380: 20 7b 0a 20 20 64 6f 5f 74 65 73 74 20 6d 69 73   {.  do_test mis
0390: 63 35 2d 31 2e 24 69 20 7b 0a 20 20 20 20 63 61  c5-1.$i {.    ca
03a0: 74 63 68 73 71 6c 20 7b 44 52 4f 50 20 54 41 42  tchsql {DROP TAB
03b0: 4c 45 20 74 31 7d 0a 20 20 20 20 73 65 74 20 73  LE t1}.    set s
03c0: 71 6c 31 20 7b 43 52 45 41 54 45 20 54 41 42 4c  ql1 {CREATE TABL
03d0: 45 20 74 31 7d 0a 20 20 20 20 73 65 74 20 73 71  E t1}.    set sq
03e0: 6c 32 20 7b 49 4e 53 45 52 54 20 49 4e 54 4f 20  l2 {INSERT INTO 
03f0: 74 31 20 56 41 4c 55 45 53 7d 0a 20 20 20 20 73  t1 VALUES}.    s
0400: 65 74 20 73 65 70 20 28 0a 20 20 20 20 66 6f 72  et sep (.    for
0410: 20 7b 73 65 74 20 6a 20 30 7d 20 7b 24 6a 3c 24   {set j 0} {$j<$
0420: 69 7d 20 7b 69 6e 63 72 20 6a 7d 20 7b 0a 20 20  i} {incr j} {.  
0430: 20 20 20 20 61 70 70 65 6e 64 20 73 71 6c 31 20      append sql1 
0440: 24 7b 73 65 70 7d 61 24 6a 0a 20 20 20 20 20 20  ${sep}a$j.      
0450: 61 70 70 65 6e 64 20 73 71 6c 32 20 24 7b 73 65  append sql2 ${se
0460: 70 7d 24 6a 0a 20 20 20 20 20 20 73 65 74 20 73  p}$j.      set s
0470: 65 70 20 2c 0a 20 20 20 20 7d 0a 20 20 20 20 61  ep ,.    }.    a
0480: 70 70 65 6e 64 20 73 71 6c 31 20 7b 29 3b 7d 0a  ppend sql1 {);}.
0490: 20 20 20 20 61 70 70 65 6e 64 20 73 71 6c 32 20      append sql2 
04a0: 7b 29 3b 7d 0a 20 20 20 20 65 78 65 63 73 71 6c  {);}.    execsql
04b0: 20 24 73 71 6c 31 24 73 71 6c 32 0a 20 20 7d 20   $sql1$sql2.  } 
04c0: 7b 7d 0a 7d 0a 0a 23 20 4d 61 6b 65 20 73 75 72  {}.}..# Make sur
04d0: 65 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 73  e large integers
04e0: 20 61 72 65 20 73 74 6f 72 65 64 20 63 6f 72 72   are stored corr
04f0: 65 63 74 6c 79 2e 0a 23 0a 69 66 63 61 70 61 62  ectly..#.ifcapab
0500: 6c 65 20 63 6f 6e 66 6c 69 63 74 20 7b 0a 20 20  le conflict {.  
0510: 64 6f 5f 74 65 73 74 20 6d 69 73 63 35 2d 32 2e  do_test misc5-2.
0520: 31 20 7b 0a 20 20 20 20 65 78 65 63 73 71 6c 20  1 {.    execsql 
0530: 7b 0a 20 20 20 20 20 20 63 72 65 61 74 65 20 74  {.      create t
0540: 61 62 6c 65 20 74 32 28 78 20 75 6e 69 71 75 65  able t2(x unique
0550: 29 3b 0a 20 20 20 20 20 20 69 6e 73 65 72 74 20  );.      insert 
0560: 69 6e 74 6f 20 74 32 20 76 61 6c 75 65 73 28 31  into t2 values(1
0570: 29 3b 0a 20 20 20 20 20 20 69 6e 73 65 72 74 20  );.      insert 
0580: 6f 72 20 69 67 6e 6f 72 65 20 69 6e 74 6f 20 74  or ignore into t
0590: 32 20 73 65 6c 65 63 74 20 78 2a 32 20 66 72 6f  2 select x*2 fro
05a0: 6d 20 74 32 3b 0a 20 20 20 20 20 20 69 6e 73 65  m t2;.      inse
05b0: 72 74 20 6f 72 20 69 67 6e 6f 72 65 20 69 6e 74  rt or ignore int
05c0: 6f 20 74 32 20 73 65 6c 65 63 74 20 78 2a 34 20  o t2 select x*4 
05d0: 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20 20 20 69  from t2;.      i
05e0: 6e 73 65 72 74 20 6f 72 20 69 67 6e 6f 72 65 20  nsert or ignore 
05f0: 69 6e 74 6f 20 74 32 20 73 65 6c 65 63 74 20 78  into t2 select x
0600: 2a 31 36 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20  *16 from t2;.   
0610: 20 20 20 69 6e 73 65 72 74 20 6f 72 20 69 67 6e     insert or ign
0620: 6f 72 65 20 69 6e 74 6f 20 74 32 20 73 65 6c 65  ore into t2 sele
0630: 63 74 20 78 2a 32 35 36 20 66 72 6f 6d 20 74 32  ct x*256 from t2
0640: 3b 0a 20 20 20 20 20 20 69 6e 73 65 72 74 20 6f  ;.      insert o
0650: 72 20 69 67 6e 6f 72 65 20 69 6e 74 6f 20 74 32  r ignore into t2
0660: 20 73 65 6c 65 63 74 20 78 2a 36 35 35 33 36 20   select x*65536 
0670: 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20 20 20 69  from t2;.      i
0680: 6e 73 65 72 74 20 6f 72 20 69 67 6e 6f 72 65 20  nsert or ignore 
0690: 69 6e 74 6f 20 74 32 20 73 65 6c 65 63 74 20 78  into t2 select x
06a0: 2a 32 31 34 37 34 38 33 36 34 38 20 66 72 6f 6d  *2147483648 from
06b0: 20 74 32 3b 0a 20 20 20 20 20 20 69 6e 73 65 72   t2;.      inser
06c0: 74 20 6f 72 20 69 67 6e 6f 72 65 20 69 6e 74 6f  t or ignore into
06d0: 20 74 32 20 73 65 6c 65 63 74 20 78 2d 31 20 66   t2 select x-1 f
06e0: 72 6f 6d 20 74 32 3b 0a 20 20 20 20 20 20 69 6e  rom t2;.      in
06f0: 73 65 72 74 20 6f 72 20 69 67 6e 6f 72 65 20 69  sert or ignore i
0700: 6e 74 6f 20 74 32 20 73 65 6c 65 63 74 20 78 2b  nto t2 select x+
0710: 31 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20 20  1 from t2;.     
0720: 20 69 6e 73 65 72 74 20 6f 72 20 69 67 6e 6f 72   insert or ignor
0730: 65 20 69 6e 74 6f 20 74 32 20 73 65 6c 65 63 74  e into t2 select
0740: 20 2d 78 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20   -x from t2;.   
0750: 20 20 20 73 65 6c 65 63 74 20 63 6f 75 6e 74 28     select count(
0760: 2a 29 20 66 72 6f 6d 20 74 32 3b 0a 20 20 20 20  *) from t2;.    
0770: 7d 0a 20 20 7d 20 33 37 31 0a 7d 20 65 6c 73 65  }.  } 371.} else
0780: 20 7b 0a 20 20 64 6f 5f 74 65 73 74 20 6d 69 73   {.  do_test mis
0790: 63 35 2d 32 2e 31 20 7b 0a 20 20 20 20 65 78 65  c5-2.1 {.    exe
07a0: 63 73 71 6c 20 7b 0a 20 20 20 20 20 20 42 45 47  csql {.      BEG
07b0: 49 4e 3b 0a 20 20 20 20 20 20 63 72 65 61 74 65  IN;.      create
07c0: 20 74 61 62 6c 65 20 74 32 28 78 20 75 6e 69 71   table t2(x uniq
07d0: 75 65 29 3b 0a 20 20 20 20 20 20 63 72 65 61 74  ue);.      creat
07e0: 65 20 74 61 62 6c 65 20 74 32 5f 74 65 6d 70 28  e table t2_temp(
07f0: 78 29 3b 0a 20 20 20 20 20 20 69 6e 73 65 72 74  x);.      insert
0800: 20 69 6e 74 6f 20 74 32 5f 74 65 6d 70 20 76 61   into t2_temp va
0810: 6c 75 65 73 28 31 29 3b 0a 20 20 20 20 20 20 69  lues(1);.      i
0820: 6e 73 65 72 74 20 69 6e 74 6f 20 74 32 5f 74 65  nsert into t2_te
0830: 6d 70 20 73 65 6c 65 63 74 20 78 2a 32 20 66 72  mp select x*2 fr
0840: 6f 6d 20 74 32 5f 74 65 6d 70 3b 0a 20 20 20 20  om t2_temp;.    
0850: 20 20 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 32    insert into t2
0860: 5f 74 65 6d 70 20 73 65 6c 65 63 74 20 78 2a 34  _temp select x*4
0870: 20 66 72 6f 6d 20 74 32 5f 74 65 6d 70 3b 0a 20   from t2_temp;. 
0880: 20 20 20 20 20 69 6e 73 65 72 74 20 69 6e 74 6f       insert into
0890: 20 74 32 5f 74 65 6d 70 20 73 65 6c 65 63 74 20   t2_temp select 
08a0: 78 2a 31 36 20 66 72 6f 6d 20 74 32 5f 74 65 6d  x*16 from t2_tem
08b0: 70 3b 0a 20 20 20 20 20 20 69 6e 73 65 72 74 20  p;.      insert 
08c0: 69 6e 74 6f 20 74 32 5f 74 65 6d 70 20 73 65 6c  into t2_temp sel
08d0: 65 63 74 20 78 2a 32 35 36 20 66 72 6f 6d 20 74  ect x*256 from t
08e0: 32 5f 74 65 6d 70 3b 0a 20 20 20 20 20 20 69 6e  2_temp;.      in
08f0: 73 65 72 74 20 69 6e 74 6f 20 74 32 5f 74 65 6d  sert into t2_tem
0900: 70 20 73 65 6c 65 63 74 20 78 2a 36 35 35 33 36  p select x*65536
0910: 20 66 72 6f 6d 20 74 32 5f 74 65 6d 70 3b 0a 20   from t2_temp;. 
0920: 20 20 20 20 20 69 6e 73 65 72 74 20 69 6e 74 6f       insert into
0930: 20 74 32 5f 74 65 6d 70 20 73 65 6c 65 63 74 20   t2_temp select 
0940: 78 2a 32 31 34 37 34 38 33 36 34 38 20 66 72 6f  x*2147483648 fro
0950: 6d 20 74 32 5f 74 65 6d 70 3b 0a 20 20 20 20 20  m t2_temp;.     
0960: 20 69 6e 73 65 72 74 20 69 6e 74 6f 20 74 32 5f   insert into t2_
0970: 74 65 6d 70 20 73 65 6c 65 63 74 20 78 2d 31 20  temp select x-1 
0980: 66 72 6f 6d 20 74 32 5f 74 65 6d 70 3b 0a 20 20  from t2_temp;.  
0990: 20 20 20 20 69 6e 73 65 72 74 20 69 6e 74 6f 20      insert into 
09a0: 74 32 5f 74 65 6d 70 20 73 65 6c 65 63 74 20 78  t2_temp select x
09b0: 2b 31 20 66 72 6f 6d 20 74 32 5f 74 65 6d 70 3b  +1 from t2_temp;
09c0: 0a 20 20 20 20 20 20 69 6e 73 65 72 74 20 69 6e  .      insert in
09d0: 74 6f 20 74 32 5f 74 65 6d 70 20 73 65 6c 65 63  to t2_temp selec
09e0: 74 20 2d 78 20 66 72 6f 6d 20 74 32 5f 74 65 6d  t -x from t2_tem
09f0: 70 3b 0a 20 20 20 20 20 20 49 4e 53 45 52 54 20  p;.      INSERT 
0a00: 49 4e 54 4f 20 74 32 20 53 45 4c 45 43 54 20 44  INTO t2 SELECT D
0a10: 49 53 54 49 4e 43 54 28 78 29 20 46 52 4f 4d 20  ISTINCT(x) FROM 
0a20: 74 32 5f 74 65 6d 70 3b 0a 20 20 20 20 20 20 44  t2_temp;.      D
0a30: 52 4f 50 20 54 41 42 4c 45 20 74 32 5f 74 65 6d  ROP TABLE t2_tem
0a40: 70 3b 0a 20 20 20 20 20 20 43 4f 4d 4d 49 54 3b  p;.      COMMIT;
0a50: 0a 20 20 20 20 20 20 73 65 6c 65 63 74 20 63 6f  .      select co
0a60: 75 6e 74 28 2a 29 20 66 72 6f 6d 20 74 32 3b 0a  unt(*) from t2;.
0a70: 20 20 20 20 7d 0a 20 20 7d 20 33 37 31 0a 7d 0a      }.  } 371.}.
0a80: 64 6f 5f 74 65 73 74 20 6d 69 73 63 35 2d 32 2e  do_test misc5-2.
0a90: 32 20 7b 0a 20 20 65 78 65 63 73 71 6c 20 7b 0a  2 {.  execsql {.
0aa0: 20 20 20 20 73 65 6c 65 63 74 20 78 20 66 72 6f      select x fro
0ab0: 6d 20 74 32 20 6f 72 64 65 72 20 62 79 20 78 3b  m t2 order by x;
0ac0: 0a 20 20 7d 0a 7d 20 5c 0a 22 2d 34 36 31 31 36  .  }.} \."-46116
0ad0: 38 36 30 31 38 34 32 37 33 38 37 39 30 35 5c 0a  86018427387905\.
0ae0: 2d 34 36 31 31 36 38 36 30 31 38 34 32 37 33 38  -461168601842738
0af0: 37 39 30 34 5c 0a 2d 34 36 31 31 36 38 36 30 31  7904\.-461168601
0b00: 38 34 32 37 33 38 37 39 30 33 5c 0a 2d 32 33 30  8427387903\.-230
0b10: 35 38 34 33 30 30 39 32 31 33 36 39 33 39 35 33  5843009213693953
0b20: 5c 0a 2d 32 33 30 35 38 34 33 30 30 39 32 31 33  \.-2305843009213
0b30: 36 39 33 39 35 32 5c 0a 2d 32 33 30 35 38 34 33  693952\.-2305843
0b40: 30 30 39 32 31 33 36 39 33 39 35 31 5c 0a 2d 31  009213693951\.-1
0b50: 31 35 32 39 32 31 35 30 34 36 30 36 38 34 36 39  1529215046068469
0b60: 37 37 5c 0a 2d 31 31 35 32 39 32 31 35 30 34 36  77\.-11529215046
0b70: 30 36 38 34 36 39 37 36 5c 0a 2d 31 31 35 32 39  06846976\.-11529
0b80: 32 31 35 30 34 36 30 36 38 34 36 39 37 35 5c 0a  21504606846975\.
0b90: 2d 35 37 36 34 36 30 37 35 32 33 30 33 34 32 33  -576460752303423
0ba0: 34 38 39 5c 0a 2d 35 37 36 34 36 30 37 35 32 33  489\.-5764607523
0bb0: 30 33 34 32 33 34 38 38 5c 0a 2d 35 37 36 34 36  03423488\.-57646
0bc0: 30 37 35 32 33 30 33 34 32 33 34 38 37 5c 0a 2d  0752303423487\.-
0bd0: 32 38 38 32 33 30 33 37 36 31 35 31 37 31 31 37  2882303761517117
0be0: 34 35 5c 0a 2d 32 38 38 32 33 30 33 37 36 31 35  45\.-28823037615
0bf0: 31 37 31 31 37 34 34 5c 0a 2d 32 38 38 32 33 30  1711744\.-288230
0c00: 33 37 36 31 35 31 37 31 31 37 34 33 5c 0a 2d 31  376151711743\.-1
0c10: 34 34 31 31 35 31 38 38 30 37 35 38 35 35 38 37  4411518807585587
0c20: 33 5c 0a 2d 31 34 34 31 31 35 31 38 38 30 37 35  3\.-144115188075
0c30: 38 35 35 38 37 32 5c 0a 2d 31 34 34 31 31 35 31  855872\.-1441151
0c40: 38 38 30 37 35 38 35 35 38 37 31 5c 0a 2d 37 32  88075855871\.-72
0c50: 30 35 37 35 39 34 30 33 37 39 32 37 39 33 37 5c  057594037927937\
0c60: 0a 2d 37 32 30 35 37 35 39 34 30 33 37 39 32 37  .-72057594037927
0c70: 39 33 36 5c 0a 2d 37 32 30 35 37 35 39 34 30 33  936\.-7205759403
0c80: 37 39 32 37 39 33 35 5c 0a 2d 33 36 30 32 38 37  7927935\.-360287
0c90: 39 37 30 31 38 39 36 33 39 36 39 5c 0a 2d 33 36  97018963969\.-36
0ca0: 30 32 38 37 39 37 30 31 38 39 36 33 39 36 38 5c  028797018963968\
0cb0: 0a 2d 33 36 30 32 38 37 39 37 30 31 38 39 36 33  .-36028797018963
0cc0: 39 36 37 5c 0a 2d 31 38 30 31 34 33 39 38 35 30  967\.-1801439850
0cd0: 39 34 38 31 39 38 35 5c 0a 2d 31 38 30 31 34 33  9481985\.-180143
0ce0: 39 38 35 30 39 34 38 31 39 38 34 5c 0a 2d 31 38  98509481984\.-18
0cf0: 30 31 34 33 39 38 35 30 39 34 38 31 39 38 33 5c  014398509481983\
0d00: 0a 2d 39 30 30 37 31 39 39 32 35 34 37 34 30 39  .-90071992547409
0d10: 39 33 5c 0a 2d 39 30 30 37 31 39 39 32 35 34 37  93\.-90071992547
0d20: 34 30 39 39 32 5c 0a 2d 39 30 30 37 31 39 39 32  40992\.-90071992
0d30: 35 34 37 34 30 39 39 31 5c 0a 2d 34 35 30 33 35  54740991\.-45035
0d40: 39 39 36 32 37 33 37 30 34 39 37 5c 0a 2d 34 35  99627370497\.-45
0d50: 30 33 35 39 39 36 32 37 33 37 30 34 39 36 5c 0a  03599627370496\.
0d60: 2d 34 35 30 33 35 39 39 36 32 37 33 37 30 34 39  -450359962737049
0d70: 35 5c 0a 2d 32 32 35 31 37 39 39 38 31 33 36 38  5\.-225179981368
0d80: 35 32 34 39 5c 0a 2d 32 32 35 31 37 39 39 38 31  5249\.-225179981
0d90: 33 36 38 35 32 34 38 5c 0a 2d 32 32 35 31 37 39  3685248\.-225179
0da0: 39 38 31 33 36 38 35 32 34 37 5c 0a 2d 31 31 32  9813685247\.-112
0db0: 35 38 39 39 39 30 36 38 34 32 36 32 35 5c 0a 2d  5899906842625\.-
0dc0: 31 31 32 35 38 39 39 39 30 36 38 34 32 36 32 34  1125899906842624
0dd0: 5c 0a 2d 31 31 32 35 38 39 39 39 30 36 38 34 32  \.-1125899906842
0de0: 36 32 33 5c 0a 2d 35 36 32 39 34 39 39 35 33 34  623\.-5629499534
0df0: 32 31 33 31 33 5c 0a 2d 35 36 32 39 34 39 39 35  21313\.-56294995
0e00: 33 34 32 31 33 31 32 5c 0a 2d 35 36 32 39 34 39  3421312\.-562949
0e10: 39 35 33 34 32 31 33 31 31 5c 0a 2d 32 38 31 34  953421311\.-2814
0e20: 37 34 39 37 36 37 31 30 36 35 37 5c 0a 2d 32 38  74976710657\.-28
0e30: 31 34 37 34 39 37 36 37 31 30 36 35 36 5c 0a 2d  1474976710656\.-
0e40: 32 38 31 34 37 34 39 37 36 37 31 30 36 35 35 5c  281474976710655\
0e50: 0a 2d 31 34 30 37 33 37 34 38 38 33 35 35 33 32  .-14073748835532
0e60: 39 5c 0a 2d 31 34 30 37 33 37 34 38 38 33 35 35  9\.-140737488355
0e70: 33 32 38 5c 0a 2d 31 34 30 37 33 37 34 38 38 33  328\.-1407374883
0e80: 35 35 33 32 37 5c 0a 2d 37 30 33 36 38 37 34 34  55327\.-70368744
0e90: 31 37 37 36 36 35 5c 0a 2d 37 30 33 36 38 37 34  177665\.-7036874
0ea0: 34 31 37 37 36 36 34 5c 0a 2d 37 30 33 36 38 37  4177664\.-703687
0eb0: 34 34 31 37 37 36 36 33 5c 0a 2d 33 35 31 38 34  44177663\.-35184
0ec0: 33 37 32 30 38 38 38 33 33 5c 0a 2d 33 35 31 38  372088833\.-3518
0ed0: 34 33 37 32 30 38 38 38 33 32 5c 0a 2d 33 35 31  4372088832\.-351
0ee0: 38 34 33 37 32 30 38 38 38 33 31 5c 0a 2d 31 37  84372088831\.-17
0ef0: 35 39 32 31 38 36 30 34 34 34 31 37 5c 0a 2d 31  592186044417\.-1
0f00: 37 35 39 32 31 38 36 30 34 34 34 31 36 5c 0a 2d  7592186044416\.-
0f10: 31 37 35 39 32 31 38 36 30 34 34 34 31 35 5c 0a  17592186044415\.
0f20: 2d 38 37 39 36 30 39 33 30 32 32 32 30 39 5c 0a  -8796093022209\.
0f30: 2d 38 37 39 36 30 39 33 30 32 32 32 30 38 5c 0a  -8796093022208\.
0f40: 2d 38 37 39 36 30 39 33 30 32 32 32 30 37 5c 0a  -8796093022207\.
0f50: 2d 34 33 39 38 30 34 36 35 31 31 31 30 35 5c 0a  -4398046511105\.
0f60: 2d 34 33 39 38 30 34 36 35 31 31 31 30 34 5c 0a  -4398046511104\.
0f70: 2d 34 33 39 38 30 34 36 35 31 31 31 30 33 5c 0a  -4398046511103\.
0f80: 2d 32 31 39 39 30 32 33 32 35 35 35 35 33 5c 0a  -2199023255553\.
0f90: 2d 32 31 39 39 30 32 33 32 35 35 35 35 32 5c 0a  -2199023255552\.
0fa0: 2d 32 31 39 39 30 32 33 32 35 35 35 35 31 5c 0a  -2199023255551\.
0fb0: 2d 31 30 39 39 35 31 31 36 32 37 37 37 37 5c 0a  -1099511627777\.
0fc0: 2d 31 30 39 39 35 31 31 36 32 37 37 37 36 5c 0a  -1099511627776\.
0fd0: 2d 31 30 39 39 35 31 31 36 32 37 37 37 35 5c 0a  -1099511627775\.
0fe0: 2d 35 34 39 37 35 35 38 31 33 38 38 39 5c 0a 2d  -549755813889\.-
0ff0: 35 34 39 37 35 35 38 31 33 38 38 38 5c 0a 2d 35  549755813888\.-5
1000: 34 39 37 35 35 38 31 33 38 38 37 5c 0a 2d 32 37  49755813887\.-27
1010: 34 38 37 37 39 30 36 39 34 35 5c 0a 2d 32 37 34  4877906945\.-274
1020: 38 37 37 39 30 36 39 34 34 5c 0a 2d 32 37 34 38  877906944\.-2748
1030: 37 37 39 30 36 39 34 33 5c 0a 2d 31 33 37 34 33  77906943\.-13743
1040: 38 39 35 33 34 37 33 5c 0a 2d 31 33 37 34 33 38  8953473\.-137438
1050: 39 35 33 34 37 32 5c 0a 2d 31 33 37 34 33 38 39  953472\.-1374389
1060: 35 33 34 37 31 5c 0a 2d 36 38 37 31 39 34 37 36  53471\.-68719476
1070: 37 33 37 5c 0a 2d 36 38 37 31 39 34 37 36 37 33  737\.-6871947673
1080: 36 5c 0a 2d 36 38 37 31 39 34 37 36 37 33 35 5c  6\.-68719476735\
1090: 0a 2d 33 34 33 35 39 37 33 38 33 36 39 5c 0a 2d  .-34359738369\.-
10a0: 33 34 33 35 39 37 33 38 33 36 38 5c 0a 2d 33 34  34359738368\.-34
10b0: 33 35 39 37 33 38 33 36 37 5c 0a 2d 31 37 31 37  359738367\.-1717
10c0: 39 38 36 39 31 38 35 5c 0a 2d 31 37 31 37 39 38  9869185\.-171798
10d0: 36 39 31 38 34 5c 0a 2d 31 37 31 37 39 38 36 39  69184\.-17179869
10e0: 31 38 33 5c 0a 2d 38 35 38 39 39 33 34 35 39 33  183\.-8589934593
10f0: 5c 0a 2d 38 35 38 39 39 33 34 35 39 32 5c 0a 2d  \.-8589934592\.-
1100: 38 35 38 39 39 33 34 35 39 31 5c 0a 2d 34 32 39  8589934591\.-429
1110: 34 39 36 37 32 39 37 5c 0a 2d 34 32 39 34 39 36  4967297\.-429496
1120: 37 32 39 36 5c 0a 2d 34 32 39 34 39 36 37 32 39  7296\.-429496729
1130: 35 5c 0a 2d 32 31 34 37 34 38 33 36 34 39 5c 0a  5\.-2147483649\.
1140: 2d 32 31 34 37 34 38 33 36 34 38 5c 0a 2d 32 31  -2147483648\.-21
1150: 34 37 34 38 33 36 34 37 5c 0a 2d 31 30 37 33 37  47483647\.-10737
1160: 34 31 38 32 35 5c 0a 2d 31 30 37 33 37 34 31 38  41825\.-10737418
1170: 32 34 5c 0a 2d 31 30 37 33 37 34 31 38 32 33 5c  24\.-1073741823\
1180: 0a 2d 35 33 36 38 37 30 39 31 33 5c 0a 2d 35 33  .-536870913\.-53
1190: 36 38 37 30 39 31 32 5c 0a 2d 35 33 36 38 37 30  6870912\.-536870
11a0: 39 31 31 5c 0a 2d 32 36 38 34 33 35 34 35 37 5c  911\.-268435457\
11b0: 0a 2d 32 36 38 34 33 35 34 35 36 5c 0a 2d 32 36  .-268435456\.-26
11c0: 38 34 33 35 34 35 35 5c 0a 2d 31 33 34 32 31 37  8435455\.-134217
11d0: 37 32 39 5c 0a 2d 31 33 34 32 31 37 37 32 38 5c  729\.-134217728\
11e0: 0a 2d 31 33 34 32 31 37 37 32 37 5c 0a 2d 36 37  .-134217727\.-67
11f0: 31 30 38 38 36 35 5c 0a 2d 36 37 31 30 38 38 36  108865\.-6710886
1200: 34 5c 0a 2d 36 37 31 30 38 38 36 33 5c 0a 2d 33  4\.-67108863\.-3
1210: 33 35 35 34 34 33 33 5c 0a 2d 33 33 35 35 34 34  3554433\.-335544
1220: 33 32 5c 0a 2d 33 33 35 35 34 34 33 31 5c 0a 2d  32\.-33554431\.-
1230: 31 36 37 37 37 32 31 37 5c 0a 2d 31 36 37 37 37  16777217\.-16777
1240: 32 31 36 5c 0a 2d 31 36 37 37 37 32 31 35 5c 0a  216\.-16777215\.
1250: 2d 38 33 38 38 36 30 39 5c 0a 2d 38 33 38 38 36  -8388609\.-83886
1260: 30 38 5c 0a 2d 38 33 38 38 36 30 37 5c 0a 2d 34  08\.-8388607\.-4
1270: 31 39 34 33 30 35 5c 0a 2d 34 31 39 34 33 30 34  194305\.-4194304
1280: 5c 0a 2d 34 31 39 34 33 30 33 5c 0a 2d 32 30 39  \.-4194303\.-209
1290: 37 31 35 33 5c 0a 2d 32 30 39 37 31 35 32 5c 0a  7153\.-2097152\.
12a0: 2d 32 30 39 37 31 35 31 5c 0a 2d 31 30 34 38 35  -2097151\.-10485
12b0: 37 37 5c 0a 2d 31 30 34 38 35 37 36 5c 0a 2d 31  77\.-1048576\.-1
12c0: 30 34 38 35 37 35 5c 0a 2d 35 32 34 32 38 39 5c  048575\.-524289\
12d0: 0a 2d 35 32 34 32 38 38 5c 0a 2d 35 32 34 32 38  .-524288\.-52428
12e0: 37 5c 0a 2d 32 36 32 31 34 35 5c 0a 2d 32 36 32  7\.-262145\.-262
12f0: 31 34 34 5c 0a 2d 32 36 32 31 34 33 5c 0a 2d 31  144\.-262143\.-1
1300: 33 31 30 37 33 5c 0a 2d 31 33 31 30 37 32 5c 0a  31073\.-131072\.
1310: 2d 31 33 31 30 37 31 5c 0a 2d 36 35 35 33 37 5c  -131071\.-65537\
1320: 0a 2d 36 35 35 33 36 5c 0a 2d 36 35 35 33 35 5c  .-65536\.-65535\
1330: 0a 2d 33 32 37 36 39 5c 0a 2d 33 32 37 36 38 5c  .-32769\.-32768\
1340: 0a 2d 33 32 37 36 37 5c 0a 2d 31 36 33 38 35 5c  .-32767\.-16385\
1350: 0a 2d 31 36 33 38 34 5c 0a 2d 31 36 33 38 33 5c  .-16384\.-16383\
1360: 0a 2d 38 31 39 33 5c 0a 2d 38 31 39 32 5c 0a 2d  .-8193\.-8192\.-
1370: 38 31 39 31 5c 0a 2d 34 30 39 37 5c 0a 2d 34 30  8191\.-4097\.-40
1380: 39 36 5c 0a 2d 34 30 39 35 5c 0a 2d 32 30 34 39  96\.-4095\.-2049
1390: 5c 0a 2d 32 30 34 38 5c 0a 2d 32 30 34 37 5c 0a  \.-2048\.-2047\.
13a0: 2d 31 30 32 35 5c 0a 2d 31 30 32 34 5c 0a 2d 31  -1025\.-1024\.-1
13b0: 30 32 33 5c 0a 2d 35 31 33 5c 0a 2d 35 31 32 5c  023\.-513\.-512\
13c0: 0a 2d 35 31 31 5c 0a 2d 32 35 37 5c 0a 2d 32 35  .-511\.-257\.-25
13d0: 36 5c 0a 2d 32 35 35 5c 0a 2d 31 32 39 5c 0a 2d  6\.-255\.-129\.-
13e0: 31 32 38 5c 0a 2d 31 32 37 5c 0a 2d 36 35 5c 0a  128\.-127\.-65\.
13f0: 2d 36 34 5c 0a 2d 36 33 5c 0a 2d 33 33 5c 0a 2d  -64\.-63\.-33\.-
1400: 33 32 5c 0a 2d 33 31 5c 0a 2d 31 37 5c 0a 2d 31  32\.-31\.-17\.-1
1410: 36 5c 0a 2d 31 35 5c 0a 2d 39 5c 0a 2d 38 5c 0a  6\.-15\.-9\.-8\.
1420: 2d 37 5c 0a 2d 35 5c 0a 2d 34 5c 0a 2d 33 5c 0a  -7\.-5\.-4\.-3\.
1430: 2d 32 5c 0a 2d 31 5c 0a 30 5c 0a 31 5c 0a 32 5c  -2\.-1\.0\.1\.2\
1440: 0a 33 5c 0a 34 5c 0a 35 5c 0a 37 5c 0a 38 5c 0a  .3\.4\.5\.7\.8\.
1450: 39 5c 0a 31 35 5c 0a 31 36 5c 0a 31 37 5c 0a 33  9\.15\.16\.17\.3
1460: 31 5c 0a 33 32 5c 0a 33 33 5c 0a 36 33 5c 0a 36  1\.32\.33\.63\.6
1470: 34 5c 0a 36 35 5c 0a 31 32 37 5c 0a 31 32 38 5c  4\.65\.127\.128\
1480: 0a 31 32 39 5c 0a 32 35 35 5c 0a 32 35 36 5c 0a  .129\.255\.256\.
1490: 32 35 37 5c 0a 35 31 31 5c 0a 35 31 32 5c 0a 35  257\.511\.512\.5
14a0: 31 33 5c 0a 31 30 32 33 5c 0a 31 30 32 34 5c 0a  13\.1023\.1024\.
14b0: 31 30 32 35 5c 0a 32 30 34 37 5c 0a 32 30 34 38  1025\.2047\.2048
14c0: 5c 0a 32 30 34 39 5c 0a 34 30 39 35 5c 0a 34 30  \.2049\.4095\.40
14d0: 39 36 5c 0a 34 30 39 37 5c 0a 38 31 39 31 5c 0a  96\.4097\.8191\.
14e0: 38 31 39 32 5c 0a 38 31 39 33 5c 0a 31 36 33 38  8192\.8193\.1638
14f0: 33 5c 0a 31 36 33 38 34 5c 0a 31 36 33 38 35 5c  3\.16384\.16385\
1500: 0a 33 32 37 36 37 5c 0a 33 32 37 36 38 5c 0a 33  .32767\.32768\.3
1510: 32 37 36 39 5c 0a 36 35 35 33 35 5c 0a 36 35 35  2769\.65535\.655
1520: 33 36 5c 0a 36 35 35 33 37 5c 0a 31 33 31 30 37  36\.65537\.13107
1530: 31 5c 0a 31 33 31 30 37 32 5c 0a 31 33 31 30 37  1\.131072\.13107
1540: 33 5c 0a 32 36 32 31 34 33 5c 0a 32 36 32 31 34  3\.262143\.26214
1550: 34 5c 0a 32 36 32 31 34 35 5c 0a 35 32 34 32 38  4\.262145\.52428
1560: 37 5c 0a 35 32 34 32 38 38 5c 0a 35 32 34 32 38  7\.524288\.52428
1570: 39 5c 0a 31 30 34 38 35 37 35 5c 0a 31 30 34 38  9\.1048575\.1048
1580: 35 37 36 5c 0a 31 30 34 38 35 37 37 5c 0a 32 30  576\.1048577\.20
1590: 39 37 31 35 31 5c 0a 32 30 39 37 31 35 32 5c 0a  97151\.2097152\.
15a0: 32 30 39 37 31 35 33 5c 0a 34 31 39 34 33 30 33  2097153\.4194303
15b0: 5c 0a 34 31 39 34 33 30 34 5c 0a 34 31 39 34 33  \.4194304\.41943
15c0: 30 35 5c 0a 38 33 38 38 36 30 37 5c 0a 38 33 38  05\.8388607\.838
15d0: 38 36 30 38 5c 0a 38 33 38 38 36 30 39 5c 0a 31  8608\.8388609\.1
15e0: 36 37 37 37 32 31 35 5c 0a 31 36 37 37 37 32 31  6777215\.1677721
15f0: 36 5c 0a 31 36 37 37 37 32 31 37 5c 0a 33 33 35  6\.16777217\.335
1600: 35 34 34 33 31 5c 0a 33 33 35 35 34 34 33 32 5c  54431\.33554432\
1610: 0a 33 33 35 35 34 34 33 33 5c 0a 36 37 31 30 38  .33554433\.67108
1620: 38 36 33 5c 0a 36 37 31 30 38 38 36 34 5c 0a 36  863\.67108864\.6
1630: 37 31 30 38 38 36 35 5c 0a 31 33 34 32 31 37 37  7108865\.1342177
1640: 32 37 5c 0a 31 33 34 32 31 37 37 32 38 5c 0a 31  27\.134217728\.1
1650: 33 34 32 31 37 37 32 39 5c 0a 32 36 38 34 33 35  34217729\.268435
1660: 34 35 35 5c 0a 32 36 38 34 33 35 34 35 36 5c 0a  455\.268435456\.
1670: 32 36 38 34 33 35 34 35 37 5c 0a 35 33 36 38 37  268435457\.53687
1680: 30 39 31 31 5c 0a 35 33 36 38 37 30 39 31 32 5c  0911\.536870912\
1690: 0a 35 33 36 38 37 30 39 31 33 5c 0a 31 30 37 33  .536870913\.1073
16a0: 37 34 31 38 32 33 5c 0a 31 30 37 33 37 34 31 38  741823\.10737418
16b0: 32 34 5c 0a 31 30 37 33 37 34 31 38 32 35 5c 0a  24\.1073741825\.
16c0: 32 31 34 37 34 38 33 36 34 37 5c 0a 32 31 34 37  2147483647\.2147
16d0: 34 38 33 36 34 38 5c 0a 32 31 34 37 34 38 33 36  483648\.21474836
16e0: 34 39 5c 0a 34 32 39 34 39 36 37 32 39 35 5c 0a  49\.4294967295\.
16f0: 34 32 39 34 39 36 37 32 39 36 5c 0a 34 32 39 34  4294967296\.4294
1700: 39 36 37 32 39 37 5c 0a 38 35 38 39 39 33 34 35  967297\.85899345
1710: 39 31 5c 0a 38 35 38 39 39 33 34 35 39 32 5c 0a  91\.8589934592\.
1720: 38 35 38 39 39 33 34 35 39 33 5c 0a 31 37 31 37  8589934593\.1717
1730: 39 38 36 39 31 38 33 5c 0a 31 37 31 37 39 38 36  9869183\.1717986
1740: 39 31 38 34 5c 0a 31 37 31 37 39 38 36 39 31 38  9184\.1717986918
1750: 35 5c 0a 33 34 33 35 39 37 33 38 33 36 37 5c 0a  5\.34359738367\.
1760: 33 34 33 35 39 37 33 38 33 36 38 5c 0a 33 34 33  34359738368\.343
1770: 35 39 37 33 38 33 36 39 5c 0a 36 38 37 31 39 34  59738369\.687194
1780: 37 36 37 33 35 5c 0a 36 38 37 31 39 34 37 36 37  76735\.687194767
1790: 33 36 5c 0a 36 38 37 31 39 34 37 36 37 33 37 5c  36\.68719476737\
17a0: 0a 31 33 37 34 33 38 39 35 33 34 37 31 5c 0a 31  .137438953471\.1
17b0: 33 37 34 33 38 39 35 33 34 37 32 5c 0a 31 33 37  37438953472\.137
17c0: 34 33 38 39 35 33 34 37 33 5c 0a 32 37 34 38 37  438953473\.27487
17d0: 37 39 30 36 39 34 33 5c 0a 32 37 34 38 37 37 39  7906943\.2748779
17e0: 30 36 39 34 34 5c 0a 32 37 34 38 37 37 39 30 36  06944\.274877906
17f0: 39 34 35 5c 0a 35 34 39 37 35 35 38 31 33 38 38  945\.54975581388
1800: 37 5c 0a 35 34 39 37 35 35 38 31 33 38 38 38 5c  7\.549755813888\
1810: 0a 35 34 39 37 35 35 38 31 33 38 38 39 5c 0a 31  .549755813889\.1
1820: 30 39 39 35 31 31 36 32 37 37 37 35 5c 0a 31 30  099511627775\.10
1830: 39 39 35 31 31 36 32 37 37 37 36 5c 0a 31 30 39  99511627776\.109
1840: 39 35 31 31 36 32 37 37 37 37 5c 0a 32 31 39 39  9511627777\.2199
1850: 30 32 33 32 35 35 35 35 31 5c 0a 32 31 39 39 30  023255551\.21990
1860: 32 33 32 35 35 35 35 32 5c 0a 32 31 39 39 30 32  23255552\.219902
1870: 33 32 35 35 35 35 33 5c 0a 34 33 39 38 30 34 36  3255553\.4398046
1880: 35 31 31 31 30 33 5c 0a 34 33 39 38 30 34 36 35  511103\.43980465
1890: 31 31 31 30 34 5c 0a 34 33 39 38 30 34 36 35 31  11104\.439804651
18a0: 31 31 30 35 5c 0a 38 37 39 36 30 39 33 30 32 32  1105\.8796093022
18b0: 32 30 37 5c 0a 38 37 39 36 30 39 33 30 32 32 32  207\.87960930222
18c0: 30 38 5c 0a 38 37 39 36 30 39 33 30 32 32 32 30  08\.879609302220
18d0: 39 5c 0a 31 37 35 39 32 31 38 36 30 34 34 34 31  9\.1759218604441
18e0: 35 5c 0a 31 37 35 39 32 31 38 36 30 34 34 34 31  5\.1759218604441
18f0: 36 5c 0a 31 37 35 39 32 31 38 36 30 34 34 34 31  6\.1759218604441
1900: 37 5c 0a 33 35 31 38 34 33 37 32 30 38 38 38 33  7\.3518437208883
1910: 31 5c 0a 33 35 31 38 34 33 37 32 30 38 38 38 33  1\.3518437208883
1920: 32 5c 0a 33 35 31 38 34 33 37 32 30 38 38 38 33  2\.3518437208883
1930: 33 5c 0a 37 30 33 36 38 37 34 34 31 37 37 36 36  3\.7036874417766
1940: 33 5c 0a 37 30 33 36 38 37 34 34 31 37 37 36 36  3\.7036874417766
1950: 34 5c 0a 37 30 33 36 38 37 34 34 31 37 37 36 36  4\.7036874417766
1960: 35 5c 0a 31 34 30 37 33 37 34 38 38 33 35 35 33  5\.1407374883553
1970: 32 37 5c 0a 31 34 30 37 33 37 34 38 38 33 35 35  27\.140737488355
1980: 33 32 38 5c 0a 31 34 30 37 33 37 34 38 38 33 35  328\.14073748835
1990: 35 33 32 39 5c 0a 32 38 31 34 37 34 39 37 36 37  5329\.2814749767
19a0: 31 30 36 35 35 5c 0a 32 38 31 34 37 34 39 37 36  10655\.281474976
19b0: 37 31 30 36 35 36 5c 0a 32 38 31 34 37 34 39 37  710656\.28147497
19c0: 36 37 31 30 36 35 37 5c 0a 35 36 32 39 34 39 39  6710657\.5629499
19d0: 35 33 34 32 31 33 31 31 5c 0a 35 36 32 39 34 39  53421311\.562949
19e0: 39 35 33 34 32 31 33 31 32 5c 0a 35 36 32 39 34  953421312\.56294
19f0: 39 39 35 33 34 32 31 33 31 33 5c 0a 31 31 32 35  9953421313\.1125
1a00: 38 39 39 39 30 36 38 34 32 36 32 33 5c 0a 31 31  899906842623\.11
1a10: 32 35 38 39 39 39 30 36 38 34 32 36 32 34 5c 0a  25899906842624\.
1a20: 31 31 32 35 38 39 39 39 30 36 38 34 32 36 32 35  1125899906842625
1a30: 5c 0a 32 32 35 31 37 39 39 38 31 33 36 38 35 32  \.22517998136852
1a40: 34 37 5c 0a 32 32 35 31 37 39 39 38 31 33 36 38  47\.225179981368
1a50: 35 32 34 38 5c 0a 32 32 35 31 37 39 39 38 31 33  5248\.2251799813
1a60: 36 38 35 32 34 39 5c 0a 34 35 30 33 35 39 39 36  685249\.45035996
1a70: 32 37 33 37 30 34 39 35 5c 0a 34 35 30 33 35 39  27370495\.450359
1a80: 39 36 32 37 33 37 30 34 39 36 5c 0a 34 35 30 33  9627370496\.4503
1a90: 35 39 39 36 32 37 33 37 30 34 39 37 5c 0a 39 30  599627370497\.90
1aa0: 30 37 31 39 39 32 35 34 37 34 30 39 39 31 5c 0a  07199254740991\.
1ab0: 39 30 30 37 31 39 39 32 35 34 37 34 30 39 39 32  9007199254740992
1ac0: 5c 0a 39 30 30 37 31 39 39 32 35 34 37 34 30 39  \.90071992547409
1ad0: 39 33 5c 0a 31 38 30 31 34 33 39 38 35 30 39 34  93\.180143985094
1ae0: 38 31 39 38 33 5c 0a 31 38 30 31 34 33 39 38 35  81983\.180143985
1af0: 30 39 34 38 31 39 38 34 5c 0a 31 38 30 31 34 33  09481984\.180143
1b00: 39 38 35 30 39 34 38 31 39 38 35 5c 0a 33 36 30  98509481985\.360
1b10: 32 38 37 39 37 30 31 38 39 36 33 39 36 37 5c 0a  28797018963967\.
1b20: 33 36 30 32 38 37 39 37 30 31 38 39 36 33 39 36  3602879701896396
1b30: 38 5c 0a 33 36 30 32 38 37 39 37 30 31 38 39 36  8\.3602879701896
1b40: 33 39 36 39 5c 0a 37 32 30 35 37 35 39 34 30 33  3969\.7205759403
1b50: 37 39 32 37 39 33 35 5c 0a 37 32 30 35 37 35 39  7927935\.7205759
1b60: 34 30 33 37 39 32 37 39 33 36 5c 0a 37 32 30 35  4037927936\.7205
1b70: 37 35 39 34 30 33 37 39 32 37 39 33 37 5c 0a 31  7594037927937\.1
1b80: 34 34 31 31 35 31 38 38 30 37 35 38 35 35 38 37  4411518807585587
1b90: 31 5c 0a 31 34 34 31 31 35 31 38 38 30 37 35 38  1\.1441151880758
1ba0: 35 35 38 37 32 5c 0a 31 34 34 31 31 35 31 38 38  55872\.144115188
1bb0: 30 37 35 38 35 35 38 37 33 5c 0a 32 38 38 32 33  075855873\.28823
1bc0: 30 33 37 36 31 35 31 37 31 31 37 34 33 5c 0a 32  0376151711743\.2
1bd0: 38 38 32 33 30 33 37 36 31 35 31 37 31 31 37 34  8823037615171174
1be0: 34 5c 0a 32 38 38 32 33 30 33 37 36 31 35 31 37  4\.2882303761517
1bf0: 31 31 37 34 35 5c 0a 35 37 36 34 36 30 37 35 32  11745\.576460752
1c00: 33 30 33 34 32 33 34 38 37 5c 0a 35 37 36 34 36  303423487\.57646
1c10: 30 37 35 32 33 30 33 34 32 33 34 38 38 5c 0a 35  0752303423488\.5
1c20: 37 36 34 36 30 37 35 32 33 30 33 34 32 33 34 38  7646075230342348
1c30: 39 5c 0a 31 31 35 32 39 32 31 35 30 34 36 30 36  9\.1152921504606
1c40: 38 34 36 39 37 35 5c 0a 31 31 35 32 39 32 31 35  846975\.11529215
1c50: 30 34 36 30 36 38 34 36 39 37 36 5c 0a 31 31 35  04606846976\.115
1c60: 32 39 32 31 35 30 34 36 30 36 38 34 36 39 37 37  2921504606846977
1c70: 5c 0a 32 33 30 35 38 34 33 30 30 39 32 31 33 36  \.23058430092136
1c80: 39 33 39 35 31 5c 0a 32 33 30 35 38 34 33 30 30  93951\.230584300
1c90: 39 32 31 33 36 39 33 39 35 32 5c 0a 32 33 30 35  9213693952\.2305
1ca0: 38 34 33 30 30 39 32 31 33 36 39 33 39 35 33 5c  843009213693953\
1cb0: 0a 34 36 31 31 36 38 36 30 31 38 34 32 37 33 38  .461168601842738
1cc0: 37 39 30 33 5c 0a 34 36 31 31 36 38 36 30 31 38  7903\.4611686018
1cd0: 34 32 37 33 38 37 39 30 34 5c 0a 34 36 31 31 36  427387904\.46116
1ce0: 38 36 30 31 38 34 32 37 33 38 37 39 30 35 22 0a  86018427387905".
1cf0: 0a 23 20 54 69 63 6b 65 74 20 23 31 32 31 30 2e  .# Ticket #1210.
1d00: 20 20 44 6f 20 70 72 6f 70 65 72 20 72 65 66 65    Do proper refe
1d10: 72 65 6e 63 65 20 63 6f 75 6e 74 69 6e 67 20 6f  rence counting o
1d20: 66 20 54 61 62 6c 65 20 73 74 72 75 63 74 75 72  f Table structur
1d30: 65 73 0a 23 20 73 6f 20 74 68 61 74 20 64 65 65  es.# so that dee
1d40: 70 6c 79 20 6e 65 73 74 65 64 20 53 45 4c 45 43  ply nested SELEC
1d50: 54 20 73 74 61 74 65 6d 65 6e 74 73 20 63 61 6e  T statements can
1d60: 20 62 65 20 66 6c 61 74 74 65 6e 65 64 20 63 6f   be flattened co
1d70: 72 72 65 63 74 6c 79 2e 0a 23 0a 69 66 63 61 70  rrectly..#.ifcap
1d80: 61 62 6c 65 20 73 75 62 71 75 65 72 79 20 7b 0a  able subquery {.
1d90: 20 20 64 6f 5f 74 65 73 74 20 6d 69 73 63 35 2d    do_test misc5-
1da0: 33 2e 31 20 7b 0a 20 20 20 20 65 78 65 63 73 71  3.1 {.    execsq
1db0: 6c 20 7b 0a 20 20 20 20 20 20 43 52 45 41 54 45  l {.      CREATE
1dc0: 20 54 41 42 4c 45 20 73 6f 6e 67 73 28 73 6f 6e   TABLE songs(son
1dd0: 67 69 64 2c 20 61 72 74 69 73 74 2c 20 74 69 6d  gid, artist, tim
1de0: 65 73 70 6c 61 79 65 64 29 3b 0a 20 20 20 20 20  esplayed);.     
1df0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 73 6f 6e   INSERT INTO son
1e00: 67 73 20 56 41 4c 55 45 53 28 31 2c 27 6f 6e 65  gs VALUES(1,'one
1e10: 27 2c 31 29 3b 0a 20 20 20 20 20 20 49 4e 53 45  ',1);.      INSE
1e20: 52 54 20 49 4e 54 4f 20 73 6f 6e 67 73 20 56 41  RT INTO songs VA
1e30: 4c 55 45 53 28 32 2c 27 6f 6e 65 27 2c 32 29 3b  LUES(2,'one',2);
1e40: 0a 20 20 20 20 20 20 49 4e 53 45 52 54 20 49 4e  .      INSERT IN
1e50: 54 4f 20 73 6f 6e 67 73 20 56 41 4c 55 45 53 28  TO songs VALUES(
1e60: 33 2c 27 74 77 6f 27 2c 33 29 3b 0a 20 20 20 20  3,'two',3);.    
1e70: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 73 6f    INSERT INTO so
1e80: 6e 67 73 20 56 41 4c 55 45 53 28 34 2c 27 74 68  ngs VALUES(4,'th
1e90: 72 65 65 27 2c 35 29 3b 0a 20 20 20 20 20 20 49  ree',5);.      I
1ea0: 4e 53 45 52 54 20 49 4e 54 4f 20 73 6f 6e 67 73  NSERT INTO songs
1eb0: 20 56 41 4c 55 45 53 28 35 2c 27 6f 6e 65 27 2c   VALUES(5,'one',
1ec0: 37 29 3b 0a 20 20 20 20 20 20 49 4e 53 45 52 54  7);.      INSERT
1ed0: 20 49 4e 54 4f 20 73 6f 6e 67 73 20 56 41 4c 55   INTO songs VALU
1ee0: 45 53 28 36 2c 27 74 77 6f 27 2c 31 31 29 3b 0a  ES(6,'two',11);.
1ef0: 20 20 20 20 20 20 53 45 4c 45 43 54 20 44 49 53        SELECT DIS
1f00: 54 49 4e 43 54 20 61 72 74 69 73 74 20 0a 20 20  TINCT artist .  
1f10: 20 20 20 20 46 52 4f 4d 20 28 20 20 20 20 0a 20      FROM (    . 
1f20: 20 20 20 20 20 20 53 45 4c 45 43 54 20 44 49 53        SELECT DIS
1f30: 54 49 4e 43 54 20 61 72 74 69 73 74 20 20 20 20  TINCT artist    
1f40: 0a 20 20 20 20 20 20 20 46 52 4f 4d 20 73 6f 6e  .       FROM son
1f50: 67 73 20 20 20 20 20 20 0a 20 20 20 20 20 20 20  gs      .       
1f60: 57 48 45 52 45 20 73 6f 6e 67 69 64 20 49 4e 20  WHERE songid IN 
1f70: 28 20 20 20 20 0a 20 20 20 20 20 20 20 20 53 45  (    .        SE
1f80: 4c 45 43 54 20 73 6f 6e 67 69 64 20 20 20 20 0a  LECT songid    .
1f90: 20 20 20 20 20 20 20 20 46 52 4f 4d 20 73 6f 6e          FROM son
1fa0: 67 73 20 20 20 20 0a 20 20 20 20 20 20 20 20 57  gs    .        W
1fb0: 48 45 52 45 20 4c 4f 57 45 52 28 61 72 74 69 73  HERE LOWER(artis
1fc0: 74 29 20 3d 20 28 20 20 20 20 0a 20 20 20 20 20  t) = (    .     
1fd0: 20 20 20 20 20 53 45 4c 45 43 54 20 44 49 53 54       SELECT DIST
1fe0: 49 4e 43 54 20 4c 4f 57 45 52 28 61 72 74 69 73  INCT LOWER(artis
1ff0: 74 29 20 20 20 20 0a 20 20 20 20 20 20 20 20 20  t)    .         
2000: 20 46 52 4f 4d 20 28 20 20 20 20 20 20 0a 20 20   FROM (      .  
2010: 20 20 20 20 20 20 20 20 20 20 53 45 4c 45 43 54            SELECT
2020: 20 44 49 53 54 49 4e 43 54 20 61 72 74 69 73 74   DISTINCT artist
2030: 2c 73 75 6d 28 74 69 6d 65 73 70 6c 61 79 65 64  ,sum(timesplayed
2040: 29 20 41 53 20 74 6f 74 61 6c 20 20 20 20 20 20  ) AS total      
2050: 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 52 4f  .            FRO
2060: 4d 20 73 6f 6e 67 73 20 20 20 20 20 20 0a 20 20  M songs      .  
2070: 20 20 20 20 20 20 20 20 20 20 47 52 4f 55 50 20            GROUP 
2080: 42 59 20 4c 4f 57 45 52 28 61 72 74 69 73 74 29  BY LOWER(artist)
2090: 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 20        .         
20a0: 20 20 20 4f 52 44 45 52 20 42 59 20 74 6f 74 61     ORDER BY tota
20b0: 6c 20 44 45 53 43 20 20 20 20 20 20 0a 20 20 20  l DESC      .   
20c0: 20 20 20 20 20 20 20 20 20 4c 49 4d 49 54 20 31           LIMIT 1
20d0: 30 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20  0    .          
20e0: 29 20 20 20 20 0a 20 20 20 20 20 20 20 20 20 20  )    .          
20f0: 57 48 45 52 45 20 61 72 74 69 73 74 20 3c 3e 20  WHERE artist <> 
2100: 27 27 20 0a 20 20 20 20 20 20 20 20 29 20 20 0a  '' .        )  .
2110: 20 20 20 20 20 20 20 29 20 20 20 20 20 20 20 0a         )       .
2120: 20 20 20 20 20 20 29 20 20 0a 20 20 20 20 20 20        )  .      
2130: 4f 52 44 45 52 20 42 59 20 4c 4f 57 45 52 28 61  ORDER BY LOWER(a
2140: 72 74 69 73 74 29 20 41 53 43 3b 0a 20 20 20 20  rtist) ASC;.    
2150: 7d 0a 20 20 7d 20 7b 74 77 6f 7d 0a 7d 0a 0a 23  }.  } {two}.}..#
2160: 20 54 69 63 6b 65 74 20 23 31 33 37 30 2e 20 20   Ticket #1370.  
2170: 44 6f 20 6e 6f 74 20 6f 76 65 72 77 72 69 74 65  Do not overwrite
2180: 20 73 6d 61 6c 6c 20 66 69 6c 65 73 20 28 6c 65   small files (le
2190: 73 73 20 74 68 61 6e 20 31 30 32 34 20 62 79 74  ss than 1024 byt
21a0: 65 73 29 0a 23 20 77 68 65 6e 20 74 72 79 69 6e  es).# when tryin
21b0: 67 20 74 6f 20 6f 70 65 6e 20 74 68 65 6d 20 61  g to open them a
21c0: 73 20 61 20 64 61 74 61 62 61 73 65 2e 0a 23 0a  s a database..#.
21d0: 64 6f 5f 74 65 73 74 20 6d 69 73 63 35 2d 34 2e  do_test misc5-4.
21e0: 31 20 7b 0a 20 20 64 62 20 63 6c 6f 73 65 0a 20  1 {.  db close. 
21f0: 20 66 69 6c 65 20 64 65 6c 65 74 65 20 2d 66 6f   file delete -fo
2200: 72 63 65 20 74 65 73 74 2e 64 62 0a 20 20 73 65  rce test.db.  se
2210: 74 20 66 64 20 5b 6f 70 65 6e 20 74 65 73 74 2e  t fd [open test.
2220: 64 62 20 77 5d 0a 20 20 70 75 74 73 20 24 66 64  db w].  puts $fd
2230: 20 22 54 68 69 73 20 69 73 20 6e 6f 74 20 72 65   "This is not re
2240: 61 6c 6c 79 20 61 20 64 61 74 61 62 61 73 65 22  ally a database"
2250: 0a 20 20 63 6c 6f 73 65 20 24 66 64 0a 20 20 73  .  close $fd.  s
2260: 71 6c 69 74 65 33 20 64 62 20 74 65 73 74 2e 64  qlite3 db test.d
2270: 62 0a 20 20 63 61 74 63 68 73 71 6c 20 7b 0a 20  b.  catchsql {. 
2280: 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20     CREATE TABLE 
2290: 74 31 28 61 2c 62 2c 63 29 3b 0a 20 20 7d 0a 7d  t1(a,b,c);.  }.}
22a0: 20 7b 31 20 7b 66 69 6c 65 20 69 73 20 65 6e 63   {1 {file is enc
22b0: 72 79 70 74 65 64 20 6f 72 20 69 73 20 6e 6f 74  rypted or is not
22c0: 20 61 20 64 61 74 61 62 61 73 65 7d 7d 0a 0a 23   a database}}..#
22d0: 20 54 69 63 6b 65 74 20 23 31 33 37 31 2e 20 20   Ticket #1371.  
22e0: 41 6c 6c 6f 77 20 66 6c 6f 61 74 69 6e 67 20 70  Allow floating p
22f0: 6f 69 6e 74 20 6e 75 6d 62 65 72 73 20 6f 66 20  oint numbers of 
2300: 74 68 65 20 66 6f 72 6d 20 2e 4e 20 20 6f 72 20  the form .N  or 
2310: 4e 2e 0a 23 0a 64 6f 5f 74 65 73 74 20 6d 69 73  N..#.do_test mis
2320: 63 35 2d 35 2e 31 20 7b 0a 20 20 65 78 65 63 73  c5-5.1 {.  execs
2330: 71 6c 20 7b 53 45 4c 45 43 54 20 2e 31 20 7d 0a  ql {SELECT .1 }.
2340: 7d 20 30 2e 31 0a 64 6f 5f 74 65 73 74 20 6d 69  } 0.1.do_test mi
2350: 73 63 35 2d 35 2e 32 20 7b 0a 20 20 65 78 65 63  sc5-5.2 {.  exec
2360: 73 71 6c 20 7b 53 45 4c 45 43 54 20 32 2e 20 7d  sql {SELECT 2. }
2370: 0a 7d 20 32 2e 30 0a 64 6f 5f 74 65 73 74 20 6d  .} 2.0.do_test m
2380: 69 73 63 35 2d 35 2e 33 20 7b 0a 20 20 65 78 65  isc5-5.3 {.  exe
2390: 63 73 71 6c 20 7b 53 45 4c 45 43 54 20 33 2e 65  csql {SELECT 3.e
23a0: 30 20 7d 0a 7d 20 33 2e 30 0a 64 6f 5f 74 65 73  0 }.} 3.0.do_tes
23b0: 74 20 6d 69 73 63 35 2d 35 2e 34 20 7b 0a 20 20  t misc5-5.4 {.  
23c0: 65 78 65 63 73 71 6c 20 7b 53 45 4c 45 43 54 20  execsql {SELECT 
23d0: 2e 34 65 2b 31 7d 0a 7d 20 34 2e 30 0a 0a 23 20  .4e+1}.} 4.0..# 
23e0: 54 69 63 6b 65 74 20 23 31 35 38 32 2e 20 20 45  Ticket #1582.  E
23f0: 6e 73 75 72 65 20 74 68 61 74 20 61 6e 20 75 6e  nsure that an un
2400: 6b 6e 6f 77 6e 20 74 61 62 6c 65 20 69 6e 20 61  known table in a
2410: 20 4c 49 4d 49 54 20 63 6c 61 75 73 65 20 61 70   LIMIT clause ap
2420: 70 6c 69 65 64 20 74 6f 0a 23 20 61 20 55 4e 49  plied to.# a UNI
2430: 4f 4e 20 41 4c 4c 20 71 75 65 72 79 20 63 61 75  ON ALL query cau
2440: 73 65 73 20 61 6e 20 65 72 72 6f 72 2c 20 6e 6f  ses an error, no
2450: 74 20 61 20 63 72 61 73 68 2e 0a 23 0a 64 62 20  t a crash..#.db 
2460: 63 6c 6f 73 65 0a 66 69 6c 65 20 64 65 6c 65 74  close.file delet
2470: 65 20 2d 66 6f 72 63 65 20 74 65 73 74 2e 64 62  e -force test.db
2480: 0a 73 71 6c 69 74 65 33 20 64 62 20 74 65 73 74  .sqlite3 db test
2490: 2e 64 62 0a 69 66 63 61 70 61 62 6c 65 20 73 75  .db.ifcapable su
24a0: 62 71 75 65 72 79 26 26 63 6f 6d 70 6f 75 6e 64  bquery&&compound
24b0: 20 7b 0a 20 20 64 6f 5f 74 65 73 74 20 6d 69 73   {.  do_test mis
24c0: 63 35 2d 36 2e 31 20 7b 0a 20 20 20 20 63 61 74  c5-6.1 {.    cat
24d0: 63 68 73 71 6c 20 7b 0a 20 20 20 20 20 20 53 45  chsql {.      SE
24e0: 4c 45 43 54 20 2a 20 46 52 4f 4d 20 73 71 6c 69  LECT * FROM sqli
24f0: 74 65 5f 6d 61 73 74 65 72 20 0a 20 20 20 20 20  te_master .     
2500: 20 55 4e 49 4f 4e 20 41 4c 4c 20 0a 20 20 20 20   UNION ALL .    
2510: 20 20 53 45 4c 45 43 54 20 2a 20 46 52 4f 4d 20    SELECT * FROM 
2520: 73 71 6c 69 74 65 5f 6d 61 73 74 65 72 0a 20 20  sqlite_master.  
2530: 20 20 20 20 4c 49 4d 49 54 20 28 53 45 4c 45 43      LIMIT (SELEC
2540: 54 20 63 6f 75 6e 74 28 2a 29 20 46 52 4f 4d 20  T count(*) FROM 
2550: 62 6c 61 68 29 3b 0a 20 20 20 20 7d 0a 20 20 7d  blah);.    }.  }
2560: 20 7b 31 20 7b 6e 6f 20 73 75 63 68 20 74 61 62   {1 {no such tab
2570: 6c 65 3a 20 62 6c 61 68 7d 7d 0a 20 20 64 6f 5f  le: blah}}.  do_
2580: 74 65 73 74 20 6d 69 73 63 35 2d 36 2e 32 20 7b  test misc5-6.2 {
2590: 0a 20 20 20 20 65 78 65 63 73 71 6c 20 7b 0a 20  .    execsql {. 
25a0: 20 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c       CREATE TABL
25b0: 45 20 6c 6f 67 73 28 6d 73 67 20 54 45 58 54 2c  E logs(msg TEXT,
25c0: 20 74 69 6d 65 73 74 61 6d 70 20 49 4e 54 45 47   timestamp INTEG
25d0: 45 52 2c 20 64 62 74 69 6d 65 20 54 45 58 54 29  ER, dbtime TEXT)
25e0: 3b 0a 20 20 20 20 7d 0a 20 20 20 20 63 61 74 63  ;.    }.    catc
25f0: 68 73 71 6c 20 7b 0a 20 20 20 20 20 20 53 45 4c  hsql {.      SEL
2600: 45 43 54 20 2a 20 46 52 4f 4d 20 6c 6f 67 73 20  ECT * FROM logs 
2610: 57 48 45 52 45 20 6c 6f 67 73 2e 69 64 20 3e 3d  WHERE logs.id >=
2620: 20 28 53 45 4c 45 43 54 20 68 65 61 64 20 46 52   (SELECT head FR
2630: 4f 4d 20 6c 6f 67 73 5f 62 61 73 65 29 20 0a 20  OM logs_base) . 
2640: 20 20 20 20 20 55 4e 49 4f 4e 20 41 4c 4c 20 0a       UNION ALL .
2650: 20 20 20 20 20 20 53 45 4c 45 43 54 20 2a 20 46        SELECT * F
2660: 52 4f 4d 20 6c 6f 67 73 20 0a 20 20 20 20 20 20  ROM logs .      
2670: 4c 49 4d 49 54 20 28 53 45 4c 45 43 54 20 6c 6d  LIMIT (SELECT lm
2680: 74 20 46 52 4f 4d 20 6c 6f 67 73 5f 62 61 73 65  t FROM logs_base
2690: 29 20 3b 0a 20 20 20 20 7d 0a 20 20 7d 20 7b 31  ) ;.    }.  } {1
26a0: 20 7b 6e 6f 20 73 75 63 68 20 63 6f 6c 75 6d 6e   {no such column
26b0: 3a 20 6c 6f 67 73 2e 69 64 7d 7d 0a 7d 0a 0a 23  : logs.id}}.}..#
26c0: 20 4f 76 65 72 66 6c 6f 77 20 74 68 65 20 6c 65   Overflow the le
26d0: 6d 6f 6e 20 70 61 72 73 65 72 20 73 74 61 63 6b  mon parser stack
26e0: 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 61 6e   by providing an
26f0: 20 6f 76 65 72 6c 79 20 63 6f 6d 70 6c 65 78 0a   overly complex.
2700: 23 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 20 4d  # expression.  M
2710: 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 74 68  ake sure that th
2720: 65 20 6f 76 65 72 66 6c 6f 77 20 69 73 20 64 65  e overflow is de
2730: 74 65 63 74 65 64 20 61 6e 64 20 72 65 70 6f 72  tected and repor
2740: 74 65 64 2e 0a 23 0a 64 6f 5f 74 65 73 74 20 6d  ted..#.do_test m
2750: 69 73 63 35 2d 37 2e 31 20 7b 0a 20 20 65 78 65  isc5-7.1 {.  exe
2760: 63 73 71 6c 20 7b 43 52 45 41 54 45 20 54 41 42  csql {CREATE TAB
2770: 4c 45 20 74 31 28 78 29 7d 0a 20 20 73 65 74 20  LE t1(x)}.  set 
2780: 73 71 6c 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  sql "INSERT INTO
2790: 20 74 31 20 56 41 4c 55 45 53 28 22 0a 20 20 73   t1 VALUES(".  s
27a0: 65 74 20 74 61 69 6c 20 22 22 0a 20 20 66 6f 72  et tail "".  for
27b0: 20 7b 73 65 74 20 69 20 30 7d 20 7b 24 69 3c 32   {set i 0} {$i<2
27c0: 30 30 7d 20 7b 69 6e 63 72 20 69 7d 20 7b 0a 20  00} {incr i} {. 
27d0: 20 20 20 61 70 70 65 6e 64 20 73 71 6c 20 22 28     append sql "(
27e0: 31 2b 22 0a 20 20 20 20 61 70 70 65 6e 64 20 74  1+".    append t
27f0: 61 69 6c 20 22 29 22 0a 20 20 7d 0a 20 20 61 70  ail ")".  }.  ap
2800: 70 65 6e 64 20 73 71 6c 20 32 24 74 61 69 6c 0a  pend sql 2$tail.
2810: 20 20 63 61 74 63 68 73 71 6c 20 24 73 71 6c 0a    catchsql $sql.
2820: 7d 20 7b 31 20 7b 70 61 72 73 65 72 20 73 74 61  } {1 {parser sta
2830: 63 6b 20 6f 76 65 72 66 6c 6f 77 7d 7d 0a 0a 23  ck overflow}}..#
2840: 20 43 68 65 63 6b 20 74 68 65 20 4d 49 53 55 53   Check the MISUS
2850: 45 20 72 65 74 75 72 6e 20 66 72 6f 6d 20 73 71  E return from sq
2860: 6c 69 74 65 65 33 5f 62 75 73 79 5f 74 69 6d 65  litee3_busy_time
2870: 6f 75 74 0a 23 0a 64 6f 5f 74 65 73 74 20 6d 69  out.#.do_test mi
2880: 73 63 35 2d 38 2e 31 2d 6d 69 73 75 73 65 20 7b  sc5-8.1-misuse {
2890: 0a 20 20 73 65 74 20 44 42 20 5b 73 71 6c 69 74  .  set DB [sqlit
28a0: 65 33 5f 63 6f 6e 6e 65 63 74 69 6f 6e 5f 70 6f  e3_connection_po
28b0: 69 6e 74 65 72 20 64 62 5d 0a 20 20 64 62 20 63  inter db].  db c
28c0: 6c 6f 73 65 0a 20 20 73 71 6c 69 74 65 33 5f 62  lose.  sqlite3_b
28d0: 75 73 79 5f 74 69 6d 65 6f 75 74 20 24 44 42 20  usy_timeout $DB 
28e0: 31 30 30 30 0a 7d 20 53 51 4c 49 54 45 5f 4d 49  1000.} SQLITE_MI
28f0: 53 55 53 45 0a 73 71 6c 69 74 65 33 20 64 62 20  SUSE.sqlite3 db 
2900: 74 65 73 74 2e 64 62 0a 0a 23 20 54 69 63 6b 65  test.db..# Ticke
2910: 74 20 23 31 39 31 31 0a 23 0a 64 6f 5f 74 65 73  t #1911.#.do_tes
2920: 74 20 6d 69 73 63 35 2d 39 2e 31 20 7b 0a 20 20  t misc5-9.1 {.  
2930: 65 78 65 63 73 71 6c 20 7b 0a 20 20 20 20 53 45  execsql {.    SE
2940: 4c 45 43 54 20 6e 61 6d 65 2c 20 74 79 70 65 20  LECT name, type 
2950: 46 52 4f 4d 20 73 71 6c 69 74 65 5f 6d 61 73 74  FROM sqlite_mast
2960: 65 72 20 57 48 45 52 45 20 6e 61 6d 65 20 49 53  er WHERE name IS
2970: 20 4e 55 4c 4c 0a 20 20 20 20 55 4e 49 4f 4e 0a   NULL.    UNION.
2980: 20 20 20 20 53 45 4c 45 43 54 20 74 79 70 65 2c      SELECT type,
2990: 20 6e 61 6d 65 20 46 52 4f 4d 20 73 71 6c 69 74   name FROM sqlit
29a0: 65 5f 6d 61 73 74 65 72 20 57 48 45 52 45 20 74  e_master WHERE t
29b0: 79 70 65 20 49 53 20 4e 55 4c 4c 0a 20 20 20 20  ype IS NULL.    
29c0: 4f 52 44 45 52 20 42 59 20 31 2c 20 32 2c 20 31  ORDER BY 1, 2, 1
29d0: 2c 20 32 2c 20 31 2c 20 32 0a 20 20 7d 0a 7d 20  , 2, 1, 2.  }.} 
29e0: 7b 7d 0a 64 6f 5f 74 65 73 74 20 6d 69 73 63 35  {}.do_test misc5
29f0: 2d 39 2e 32 20 7b 0a 20 20 65 78 65 63 73 71 6c  -9.2 {.  execsql
2a00: 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 6e 61   {.    SELECT na
2a10: 6d 65 2c 20 74 79 70 65 20 46 52 4f 4d 20 73 71  me, type FROM sq
2a20: 6c 69 74 65 5f 6d 61 73 74 65 72 20 57 48 45 52  lite_master WHER
2a30: 45 20 6e 61 6d 65 20 49 53 20 4e 55 4c 4c 0a 20  E name IS NULL. 
2a40: 20 20 20 55 4e 49 4f 4e 0a 20 20 20 20 53 45 4c     UNION.    SEL
2a50: 45 43 54 20 74 79 70 65 2c 20 6e 61 6d 65 20 46  ECT type, name F
2a60: 52 4f 4d 20 73 71 6c 69 74 65 5f 6d 61 73 74 65  ROM sqlite_maste
2a70: 72 20 57 48 45 52 45 20 74 79 70 65 20 49 53 20  r WHERE type IS 
2a80: 4e 55 4c 4c 0a 20 20 20 20 4f 52 44 45 52 20 42  NULL.    ORDER B
2a90: 59 20 31 2c 20 32 2c 20 31 2c 20 32 2c 20 31 2c  Y 1, 2, 1, 2, 1,
2aa0: 20 32 2c 20 31 2c 20 32 2c 20 31 2c 20 32 2c 20   2, 1, 2, 1, 2, 
2ab0: 31 2c 20 32 2c 20 31 2c 20 32 2c 20 31 2c 20 32  1, 2, 1, 2, 1, 2
2ac0: 2c 20 31 2c 20 32 0a 20 20 7d 0a 7d 20 7b 7d 0a  , 1, 2.  }.} {}.
2ad0: 0a 23 20 54 69 63 6b 65 74 20 23 31 39 31 32 2e  .# Ticket #1912.
2ae0: 20 20 4d 61 6b 65 20 74 68 65 20 74 6f 6b 65 6e    Make the token
2af0: 69 7a 65 72 20 72 65 71 75 69 72 65 20 61 20 73  izer require a s
2b00: 70 61 63 65 20 61 66 74 65 72 20 61 20 6e 75 6d  pace after a num
2b10: 65 72 69 63 0a 23 20 6c 69 74 65 72 61 6c 2e 0a  eric.# literal..
2b20: 23 0a 64 6f 5f 74 65 73 74 20 6d 69 73 63 35 2d  #.do_test misc5-
2b30: 31 30 2e 31 20 7b 0a 20 20 63 61 74 63 68 73 71  10.1 {.  catchsq
2b40: 6c 20 7b 0a 20 20 20 20 53 45 4c 45 43 54 20 31  l {.    SELECT 1
2b50: 32 33 61 62 63 0a 20 20 7d 0a 7d 20 7b 31 20 7b  23abc.  }.} {1 {
2b60: 75 6e 72 65 63 6f 67 6e 69 7a 65 64 20 74 6f 6b  unrecognized tok
2b70: 65 6e 3a 20 22 31 32 33 61 62 63 22 7d 7d 0a 64  en: "123abc"}}.d
2b80: 6f 5f 74 65 73 74 20 6d 69 73 63 35 2d 31 30 2e  o_test misc5-10.
2b90: 32 20 7b 0a 20 20 63 61 74 63 68 73 71 6c 20 7b  2 {.  catchsql {
2ba0: 0a 20 20 20 20 53 45 4c 45 43 54 20 31 2a 31 32  .    SELECT 1*12
2bb0: 33 2e 34 65 35 67 68 69 3b 0a 20 20 7d 0a 7d 20  3.4e5ghi;.  }.} 
2bc0: 7b 31 20 7b 75 6e 72 65 63 6f 67 6e 69 7a 65 64  {1 {unrecognized
2bd0: 20 74 6f 6b 65 6e 3a 20 22 31 32 33 2e 34 65 35   token: "123.4e5
2be0: 67 68 69 22 7d 7d 0a 0a 0a 0a 66 69 6e 69 73 68  ghi"}}....finish
2bf0: 5f 74 65 73 74 0a                                _test.