System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact dede366b80e4648fae465274fad56b5a40b578e3:


0000: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0010: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d  ###############.
0050: 0a 23 0d 0a 23 20 74 6b 74 2d 35 38 65 64 33 31  .#..# tkt-58ed31
0060: 38 66 32 66 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  8f2f.eagle --..#
0070: 0d 0a 23 20 57 72 69 74 74 65 6e 20 62 79 20 4a  ..# Written by J
0080: 6f 65 20 4d 69 73 74 61 63 68 6b 69 6e 2e 0d 0a  oe Mistachkin...
0090: 23 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74 68  # Released to th
00a0: 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c  e public domain,
00b0: 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e   use at your own
00c0: 20 72 69 73 6b 21 0d 0a 23 0d 0a 23 23 23 23 23   risk!..#..#####
00d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
00f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0110: 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 70 61  ##########....pa
0120: 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 45 61  ckage require Ea
0130: 67 6c 65 0d 0a 70 61 63 6b 61 67 65 20 72 65 71  gle..package req
0140: 75 69 72 65 20 45 61 67 6c 65 2e 4c 69 62 72 61  uire Eagle.Libra
0150: 72 79 0d 0a 70 61 63 6b 61 67 65 20 72 65 71 75  ry..package requ
0160: 69 72 65 20 45 61 67 6c 65 2e 54 65 73 74 0d 0a  ire Eagle.Test..
0170: 0d 0a 72 75 6e 54 65 73 74 50 72 6f 6c 6f 67 75  ..runTestPrologu
0180: 65 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  e....###########
0190: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
01d0: 23 23 23 23 0d 0a 0d 0a 70 61 63 6b 61 67 65 20  ####....package 
01e0: 72 65 71 75 69 72 65 20 53 79 73 74 65 6d 2e 44  require System.D
01f0: 61 74 61 2e 53 51 4c 69 74 65 2e 54 65 73 74 0d  ata.SQLite.Test.
0200: 0a 72 75 6e 53 51 4c 69 74 65 54 65 73 74 50 72  .runSQLiteTestPr
0210: 6f 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23 23 23 23  ologue....######
0220: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0230: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0240: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0250: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0260: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 70 72 6f  #########....pro
0270: 63 20 67 65 74 53 65 74 74 69 6e 67 52 65 61 64  c getSettingRead
0280: 43 6f 75 6e 74 20 7b 20 6e 61 6d 65 20 7d 20 7b  Count { name } {
0290: 0d 0a 20 20 69 66 20 7b 5b 68 61 76 65 43 6f 6e  ..  if {[haveCon
02a0: 73 74 72 61 69 6e 74 20 62 75 69 6c 64 43 6f 6e  straint buildCon
02b0: 66 69 67 75 72 61 74 69 6f 6e 2e 44 65 62 75 67  figuration.Debug
02c0: 5d 20 26 26 20 5b 63 61 74 63 68 20 7b 0d 0a 20  ] && [catch {.. 
02d0: 20 20 20 6f 62 6a 65 63 74 20 69 6e 76 6f 6b 65     object invoke
02e0: 20 2d 66 6c 61 67 73 20 2b 4e 6f 6e 50 75 62 6c   -flags +NonPubl
02f0: 69 63 20 2d 61 6c 69 61 73 20 5c 0d 0a 20 20 20  ic -alias \..   
0300: 20 20 20 20 20 53 79 73 74 65 6d 2e 44 61 74 61       System.Data
0310: 2e 53 51 4c 69 74 65 2e 55 6e 73 61 66 65 4e 61  .SQLite.UnsafeNa
0320: 74 69 76 65 4d 65 74 68 6f 64 73 20 73 65 74 74  tiveMethods sett
0330: 69 6e 67 52 65 61 64 43 6f 75 6e 74 73 0d 0a 20  ingReadCounts.. 
0340: 20 7d 20 73 65 74 74 69 6e 67 52 65 61 64 43 6f   } settingReadCo
0350: 75 6e 74 73 5d 20 3d 3d 20 30 7d 20 74 68 65 6e  unts] == 0} then
0360: 20 7b 0d 0a 20 20 20 20 69 66 20 7b 5b 24 73 65   {..    if {[$se
0370: 74 74 69 6e 67 52 65 61 64 43 6f 75 6e 74 73 20  ttingReadCounts 
0380: 54 72 79 47 65 74 56 61 6c 75 65 20 24 6e 61 6d  TryGetValue $nam
0390: 65 20 76 61 6c 75 65 5d 7d 20 74 68 65 6e 20 7b  e value]} then {
03a0: 0d 0a 20 20 20 20 20 20 74 70 75 74 73 20 24 3a  ..      tputs $:
03b0: 3a 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 5b 61  :test_channel [a
03c0: 70 70 65 6e 64 41 72 67 73 20 5c 0d 0a 20 20 20  ppendArgs \..   
03d0: 20 20 20 20 20 20 20 22 2d 2d 2d 2d 20 73 65 74         "---- set
03e0: 74 69 6e 67 20 5c 22 22 20 24 6e 61 6d 65 20 22  ting \"" $name "
03f0: 5c 22 20 77 61 73 20 72 65 61 64 20 22 20 24 76  \" was read " $v
0400: 61 6c 75 65 20 22 20 74 69 6d 65 73 5c 6e 22 5d  alue " times\n"]
0410: 0d 0a 0d 0a 20 20 20 20 20 20 72 65 74 75 72 6e  ....      return
0420: 20 24 76 61 6c 75 65 0d 0a 20 20 20 20 7d 0d 0a   $value..    }..
0430: 20 20 7d 0d 0a 0d 0a 20 20 74 70 75 74 73 20 24    }....  tputs $
0440: 3a 3a 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 5b  ::test_channel [
0450: 61 70 70 65 6e 64 41 72 67 73 20 5c 0d 0a 20 20  appendArgs \..  
0460: 20 20 20 20 22 2d 2d 2d 2d 20 73 65 74 74 69 6e      "---- settin
0470: 67 20 5c 22 22 20 24 6e 61 6d 65 20 22 5c 22 20  g \"" $name "\" 
0480: 77 61 73 20 6e 6f 74 20 72 65 61 64 5c 6e 22 5d  was not read\n"]
0490: 0d 0a 0d 0a 20 20 72 65 74 75 72 6e 20 2d 31 0d  ....  return -1.
04a0: 0a 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23  .}....##########
04b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04f0: 23 23 23 23 23 0d 0a 0d 0a 72 65 70 6f 72 74 53  #####....reportS
0500: 51 4c 69 74 65 52 65 73 6f 75 72 63 65 73 20 24  QLiteResources $
0510: 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 74 72 75  test_channel tru
0520: 65 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  e....###########
0530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0540: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0550: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0560: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0570: 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20  ####....runTest 
0580: 7b 74 65 73 74 20 74 6b 74 2d 35 38 65 64 33 31  {test tkt-58ed31
0590: 38 66 32 66 2d 31 2e 31 20 7b 73 74 61 6e 64 61  8f2f-1.1 {standa
05a0: 72 64 20 47 65 74 44 65 66 61 75 6c 74 44 62 54  rd GetDefaultDbT
05b0: 79 70 65 20 75 73 61 67 65 7d 20 2d 73 65 74 75  ype usage} -setu
05c0: 70 20 7b 0d 0a 20 20 73 65 74 75 70 44 62 20 5b  p {..  setupDb [
05d0: 73 65 74 20 66 69 6c 65 4e 61 6d 65 20 74 6b 74  set fileName tkt
05e0: 2d 35 38 65 64 33 31 38 66 32 66 2d 31 2e 31 2e  -58ed318f2f-1.1.
05f0: 64 62 5d 0d 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a  db]..} -body {..
0600: 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24 64    sql execute $d
0610: 62 20 7b 0d 0a 20 20 20 20 43 52 45 41 54 45 20  b {..    CREATE 
0620: 54 41 42 4c 45 20 74 31 28 78 2c 20 79 29 3b 0d  TABLE t1(x, y);.
0630: 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f  .    INSERT INTO
0640: 20 74 31 20 28 78 2c 20 79 29 20 56 41 4c 55 45   t1 (x, y) VALUE
0650: 53 28 30 2c 20 31 29 3b 0d 0a 20 20 20 20 49 4e  S(0, 1);..    IN
0660: 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 78 2c  SERT INTO t1 (x,
0670: 20 79 29 20 56 41 4c 55 45 53 28 27 30 27 2c 20   y) VALUES('0', 
0680: 27 31 27 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20 20  '1');..  }....  
0690: 73 71 6c 20 65 78 65 63 75 74 65 20 2d 65 78 65  sql execute -exe
06a0: 63 75 74 65 20 72 65 61 64 65 72 20 2d 66 6f 72  cute reader -for
06b0: 6d 61 74 20 6c 69 73 74 20 24 64 62 20 22 53 45  mat list $db "SE
06c0: 4c 45 43 54 20 78 2c 20 79 20 46 52 4f 4d 20 74  LECT x, y FROM t
06d0: 31 3b 22 0d 0a 0d 0a 20 20 65 78 70 72 20 7b 5b  1;"....  expr {[
06e0: 67 65 74 53 65 74 74 69 6e 67 52 65 61 64 43 6f  getSettingReadCo
06f0: 75 6e 74 20 55 73 65 5f 53 51 4c 69 74 65 43 6f  unt Use_SQLiteCo
0700: 6e 76 65 72 74 5f 44 65 66 61 75 6c 74 44 62 54  nvert_DefaultDbT
0710: 79 70 65 5d 20 3d 3d 20 31 7d 0d 0a 7d 20 2d 63  ype] == 1}..} -c
0720: 6c 65 61 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61  leanup {..  clea
0730: 6e 75 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d  nupDb $fileName.
0740: 0a 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f  ...  unset -noco
0750: 6d 70 6c 61 69 6e 20 64 62 20 66 69 6c 65 4e 61  mplain db fileNa
0760: 6d 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e  me..} -constrain
0770: 74 73 20 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e  ts {eagle comman
0780: 64 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67  d.object monoBug
0790: 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63  28 command.sql c
07a0: 6f 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c 69  ompile.DATA SQLi
07b0: 74 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61  te\..System.Data
07c0: 2e 53 51 4c 69 74 65 20 62 75 69 6c 64 43 6f 6e  .SQLite buildCon
07d0: 66 69 67 75 72 61 74 69 6f 6e 2e 44 65 62 75 67  figuration.Debug
07e0: 7d 20 2d 72 65 73 75 6c 74 20 7b 54 72 75 65 7d  } -result {True}
07f0: 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  }....###########
0800: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0810: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0820: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0830: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0840: 23 23 23 23 0d 0a 0d 0a 72 65 70 6f 72 74 53 51  ####....reportSQ
0850: 4c 69 74 65 52 65 73 6f 75 72 63 65 73 20 24 74  LiteResources $t
0860: 65 73 74 5f 63 68 61 6e 6e 65 6c 20 74 72 75 65  est_channel true
0870: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
0880: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0890: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
08a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
08b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
08c0: 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b  ###....runTest {
08d0: 74 65 73 74 20 74 6b 74 2d 35 38 65 64 33 31 38  test tkt-58ed318
08e0: 66 32 66 2d 31 2e 32 20 7b 6e 6f 20 70 72 6f 70  f2f-1.2 {no prop
08f0: 65 72 74 79 20 47 65 74 44 65 66 61 75 6c 74 44  erty GetDefaultD
0900: 62 54 79 70 65 20 75 73 61 67 65 7d 20 2d 73 65  bType usage} -se
0910: 74 75 70 20 7b 0d 0a 20 20 73 65 74 75 70 44 62  tup {..  setupDb
0920: 20 5b 73 65 74 20 66 69 6c 65 4e 61 6d 65 20 74   [set fileName t
0930: 6b 74 2d 35 38 65 64 33 31 38 66 32 66 2d 31 2e  kt-58ed318f2f-1.
0940: 32 2e 64 62 5d 20 22 22 20 22 22 20 22 22 20 55  2.db] "" "" "" U
0950: 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 54 79 70 65  seConnectionType
0960: 73 0d 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20  s..} -body {..  
0970: 73 71 6c 20 65 78 65 63 75 74 65 20 24 64 62 20  sql execute $db 
0980: 7b 0d 0a 20 20 20 20 43 52 45 41 54 45 20 54 41  {..    CREATE TA
0990: 42 4c 45 20 74 31 28 78 2c 20 79 29 3b 0d 0a 20  BLE t1(x, y);.. 
09a0: 20 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74     INSERT INTO t
09b0: 31 20 28 78 2c 20 79 29 20 56 41 4c 55 45 53 28  1 (x, y) VALUES(
09c0: 30 2c 20 31 29 3b 0d 0a 20 20 20 20 49 4e 53 45  0, 1);..    INSE
09d0: 52 54 20 49 4e 54 4f 20 74 31 20 28 78 2c 20 79  RT INTO t1 (x, y
09e0: 29 20 56 41 4c 55 45 53 28 27 30 27 2c 20 27 31  ) VALUES('0', '1
09f0: 27 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 73 71  ');..  }....  sq
0a00: 6c 20 65 78 65 63 75 74 65 20 2d 65 78 65 63 75  l execute -execu
0a10: 74 65 20 72 65 61 64 65 72 20 2d 66 6f 72 6d 61  te reader -forma
0a20: 74 20 6c 69 73 74 20 24 64 62 20 22 53 45 4c 45  t list $db "SELE
0a30: 43 54 20 78 2c 20 79 20 46 52 4f 4d 20 74 31 3b  CT x, y FROM t1;
0a40: 22 0d 0a 0d 0a 20 20 65 78 70 72 20 7b 5b 67 65  "....  expr {[ge
0a50: 74 53 65 74 74 69 6e 67 52 65 61 64 43 6f 75 6e  tSettingReadCoun
0a60: 74 20 55 73 65 5f 53 51 4c 69 74 65 43 6f 6e 76  t Use_SQLiteConv
0a70: 65 72 74 5f 44 65 66 61 75 6c 74 44 62 54 79 70  ert_DefaultDbTyp
0a80: 65 5d 20 3d 3d 20 31 7d 0d 0a 7d 20 2d 63 6c 65  e] == 1}..} -cle
0a90: 61 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e 75  anup {..  cleanu
0aa0: 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a 0d  pDb $fileName...
0ab0: 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70  .  unset -nocomp
0ac0: 6c 61 69 6e 20 64 62 20 66 69 6c 65 4e 61 6d 65  lain db fileName
0ad0: 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73  ..} -constraints
0ae0: 20 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e 64 2e   {eagle command.
0af0: 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67 32 38  object monoBug28
0b00: 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f 6d   command.sql com
0b10: 70 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74 65  pile.DATA SQLite
0b20: 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  \..System.Data.S
0b30: 51 4c 69 74 65 20 62 75 69 6c 64 43 6f 6e 66 69  QLite buildConfi
0b40: 67 75 72 61 74 69 6f 6e 2e 44 65 62 75 67 7d 20  guration.Debug} 
0b50: 2d 72 65 73 75 6c 74 20 7b 54 72 75 65 7d 7d 0d  -result {True}}.
0b60: 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ...#############
0b70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0b80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0b90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0ba0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0bb0: 23 23 0d 0a 0d 0a 72 65 70 6f 72 74 53 51 4c 69  ##....reportSQLi
0bc0: 74 65 52 65 73 6f 75 72 63 65 73 20 24 74 65 73  teResources $tes
0bd0: 74 5f 63 68 61 6e 6e 65 6c 20 74 72 75 65 0d 0a  t_channel true..
0be0: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
0bf0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c30: 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65  #....runTest {te
0c40: 73 74 20 74 6b 74 2d 35 38 65 64 33 31 38 66 32  st tkt-58ed318f2
0c50: 66 2d 31 2e 33 20 7b 6e 6f 20 66 6c 61 67 20 47  f-1.3 {no flag G
0c60: 65 74 44 65 66 61 75 6c 74 44 62 54 79 70 65 20  etDefaultDbType 
0c70: 75 73 61 67 65 7d 20 2d 73 65 74 75 70 20 7b 0d  usage} -setup {.
0c80: 0a 20 20 73 65 74 75 70 44 62 20 5b 73 65 74 20  .  setupDb [set 
0c90: 66 69 6c 65 4e 61 6d 65 20 74 6b 74 2d 35 38 65  fileName tkt-58e
0ca0: 64 33 31 38 66 32 66 2d 31 2e 33 2e 64 62 5d 20  d318f2f-1.3.db] 
0cb0: 22 22 20 22 22 20 22 22 20 22 22 20 5c 0d 0a 20  "" "" "" "" \.. 
0cc0: 20 20 20 20 20 22 44 65 66 61 75 6c 74 44 62 54       "DefaultDbT
0cd0: 79 70 65 3d 53 74 72 69 6e 67 3b 22 0d 0a 7d 20  ype=String;"..} 
0ce0: 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 71 6c 20 65  -body {..  sql e
0cf0: 78 65 63 75 74 65 20 24 64 62 20 7b 0d 0a 20 20  xecute $db {..  
0d00: 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 74    CREATE TABLE t
0d10: 31 28 78 2c 20 79 29 3b 0d 0a 20 20 20 20 49 4e  1(x, y);..    IN
0d20: 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 78 2c  SERT INTO t1 (x,
0d30: 20 79 29 20 56 41 4c 55 45 53 28 30 2c 20 31 29   y) VALUES(0, 1)
0d40: 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  ;..    INSERT IN
0d50: 54 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41 4c  TO t1 (x, y) VAL
0d60: 55 45 53 28 27 30 27 2c 20 27 31 27 29 3b 0d 0a  UES('0', '1');..
0d70: 20 20 7d 0d 0a 0d 0a 20 20 73 71 6c 20 65 78 65    }....  sql exe
0d80: 63 75 74 65 20 2d 65 78 65 63 75 74 65 20 72 65  cute -execute re
0d90: 61 64 65 72 20 2d 66 6f 72 6d 61 74 20 6c 69 73  ader -format lis
0da0: 74 20 24 64 62 20 22 53 45 4c 45 43 54 20 78 2c  t $db "SELECT x,
0db0: 20 79 20 46 52 4f 4d 20 74 31 3b 22 0d 0a 0d 0a   y FROM t1;"....
0dc0: 20 20 65 78 70 72 20 7b 5b 67 65 74 53 65 74 74    expr {[getSett
0dd0: 69 6e 67 52 65 61 64 43 6f 75 6e 74 20 55 73 65  ingReadCount Use
0de0: 5f 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 5f 44  _SQLiteConvert_D
0df0: 65 66 61 75 6c 74 44 62 54 79 70 65 5d 20 3d 3d  efaultDbType] ==
0e00: 20 2d 31 7d 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70   -1}..} -cleanup
0e10: 20 7b 0d 0a 20 20 63 6c 65 61 6e 75 70 44 62 20   {..  cleanupDb 
0e20: 24 66 69 6c 65 4e 61 6d 65 0d 0a 0d 0a 20 20 75  $fileName....  u
0e30: 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e  nset -nocomplain
0e40: 20 64 62 20 66 69 6c 65 4e 61 6d 65 0d 0a 7d 20   db fileName..} 
0e50: 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20 7b 65 61  -constraints {ea
0e60: 67 6c 65 20 63 6f 6d 6d 61 6e 64 2e 6f 62 6a 65  gle command.obje
0e70: 63 74 20 6d 6f 6e 6f 42 75 67 32 38 20 63 6f 6d  ct monoBug28 com
0e80: 6d 61 6e 64 2e 73 71 6c 20 63 6f 6d 70 69 6c 65  mand.sql compile
0e90: 2e 44 41 54 41 20 53 51 4c 69 74 65 5c 0d 0a 53  .DATA SQLite\..S
0ea0: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
0eb0: 65 20 62 75 69 6c 64 43 6f 6e 66 69 67 75 72 61  e buildConfigura
0ec0: 74 69 6f 6e 2e 44 65 62 75 67 7d 20 2d 72 65 73  tion.Debug} -res
0ed0: 75 6c 74 20 7b 54 72 75 65 7d 7d 0d 0a 0d 0a 23  ult {True}}....#
0ee0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0ef0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a  ##############..
0f30: 0d 0a 72 65 70 6f 72 74 53 51 4c 69 74 65 52 65  ..reportSQLiteRe
0f40: 73 6f 75 72 63 65 73 20 24 74 65 73 74 5f 63 68  sources $test_ch
0f50: 61 6e 6e 65 6c 20 74 72 75 65 0d 0a 0d 0a 23 23  annel true....##
0f60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0f90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0fa0: 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d  #############...
0fb0: 0a 72 75 6e 54 65 73 74 20 7b 74 65 73 74 20 74  .runTest {test t
0fc0: 6b 74 2d 35 38 65 64 33 31 38 66 32 66 2d 31 2e  kt-58ed318f2f-1.
0fd0: 34 20 7b 7a 65 72 6f 20 47 65 74 44 65 66 61 75  4 {zero GetDefau
0fe0: 6c 74 44 62 54 79 70 65 20 75 73 61 67 65 7d 20  ltDbType usage} 
0ff0: 2d 73 65 74 75 70 20 7b 0d 0a 20 20 73 65 74 75  -setup {..  setu
1000: 70 44 62 20 5b 73 65 74 20 66 69 6c 65 4e 61 6d  pDb [set fileNam
1010: 65 20 74 6b 74 2d 35 38 65 64 33 31 38 66 32 66  e tkt-58ed318f2f
1020: 2d 31 2e 34 2e 64 62 5d 20 22 22 20 22 22 20 22  -1.4.db] "" "" "
1030: 22 20 55 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 54  " UseConnectionT
1040: 79 70 65 73 20 5c 0d 0a 20 20 20 20 20 20 22 44  ypes \..      "D
1050: 65 66 61 75 6c 74 44 62 54 79 70 65 3d 53 74 72  efaultDbType=Str
1060: 69 6e 67 3b 22 0d 0a 7d 20 2d 62 6f 64 79 20 7b  ing;"..} -body {
1070: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
1080: 24 64 62 20 7b 0d 0a 20 20 20 20 43 52 45 41 54  $db {..    CREAT
1090: 45 20 54 41 42 4c 45 20 74 31 28 78 2c 20 79 29  E TABLE t1(x, y)
10a0: 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  ;..    INSERT IN
10b0: 54 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41 4c  TO t1 (x, y) VAL
10c0: 55 45 53 28 30 2c 20 31 29 3b 0d 0a 20 20 20 20  UES(0, 1);..    
10d0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28  INSERT INTO t1 (
10e0: 78 2c 20 79 29 20 56 41 4c 55 45 53 28 27 30 27  x, y) VALUES('0'
10f0: 2c 20 27 31 27 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a  , '1');..  }....
1100: 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 2d 65    sql execute -e
1110: 78 65 63 75 74 65 20 72 65 61 64 65 72 20 2d 66  xecute reader -f
1120: 6f 72 6d 61 74 20 6c 69 73 74 20 24 64 62 20 22  ormat list $db "
1130: 53 45 4c 45 43 54 20 78 2c 20 79 20 46 52 4f 4d  SELECT x, y FROM
1140: 20 74 31 3b 22 0d 0a 0d 0a 20 20 65 78 70 72 20   t1;"....  expr 
1150: 7b 5b 67 65 74 53 65 74 74 69 6e 67 52 65 61 64  {[getSettingRead
1160: 43 6f 75 6e 74 20 55 73 65 5f 53 51 4c 69 74 65  Count Use_SQLite
1170: 43 6f 6e 76 65 72 74 5f 44 65 66 61 75 6c 74 44  Convert_DefaultD
1180: 62 54 79 70 65 5d 20 3d 3d 20 2d 31 7d 0d 0a 7d  bType] == -1}..}
1190: 20 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20 63   -cleanup {..  c
11a0: 6c 65 61 6e 75 70 44 62 20 24 66 69 6c 65 4e 61  leanupDb $fileNa
11b0: 6d 65 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 2d 6e  me....  unset -n
11c0: 6f 63 6f 6d 70 6c 61 69 6e 20 64 62 20 66 69 6c  ocomplain db fil
11d0: 65 4e 61 6d 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72  eName..} -constr
11e0: 61 69 6e 74 73 20 7b 65 61 67 6c 65 20 63 6f 6d  aints {eagle com
11f0: 6d 61 6e 64 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f  mand.object mono
1200: 42 75 67 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71  Bug28 command.sq
1210: 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54 41 20 53  l compile.DATA S
1220: 51 4c 69 74 65 5c 0d 0a 53 79 73 74 65 6d 2e 44  QLite\..System.D
1230: 61 74 61 2e 53 51 4c 69 74 65 20 62 75 69 6c 64  ata.SQLite build
1240: 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2e 44 65  Configuration.De
1250: 62 75 67 7d 20 2d 72 65 73 75 6c 74 20 7b 54 72  bug} -result {Tr
1260: 75 65 7d 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23  ue}}....########
1270: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1280: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
12b0: 23 23 23 23 23 23 23 0d 0a 0d 0a 72 65 70 6f 72  #######....repor
12c0: 74 53 51 4c 69 74 65 52 65 73 6f 75 72 63 65 73  tSQLiteResources
12d0: 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 74   $test_channel t
12e0: 72 75 65 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23  rue....#########
12f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1300: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1310: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1320: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1330: 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73  ######....runTes
1340: 74 20 7b 74 65 73 74 20 74 6b 74 2d 35 38 65 64  t {test tkt-58ed
1350: 33 31 38 66 32 66 2d 31 2e 35 20 7b 73 74 61 6e  318f2f-1.5 {stan
1360: 64 61 72 64 20 47 65 74 44 65 66 61 75 6c 74 54  dard GetDefaultT
1370: 79 70 65 4e 61 6d 65 20 75 73 61 67 65 7d 20 2d  ypeName usage} -
1380: 73 65 74 75 70 20 7b 0d 0a 20 20 73 65 74 75 70  setup {..  setup
1390: 44 62 20 5b 73 65 74 20 66 69 6c 65 4e 61 6d 65  Db [set fileName
13a0: 20 74 6b 74 2d 35 38 65 64 33 31 38 66 32 66 2d   tkt-58ed318f2f-
13b0: 31 2e 35 2e 64 62 5d 0d 0a 7d 20 2d 62 6f 64 79  1.5.db]..} -body
13c0: 20 7b 0d 0a 20 20 73 65 74 20 63 6f 6e 6e 65 63   {..  set connec
13d0: 74 69 6f 6e 20 5b 67 65 74 44 62 43 6f 6e 6e 65  tion [getDbConne
13e0: 63 74 69 6f 6e 5d 0d 0a 0d 0a 20 20 73 71 6c 20  ction]....  sql 
13f0: 65 78 65 63 75 74 65 20 24 64 62 20 7b 0d 0a 20  execute $db {.. 
1400: 20 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20     CREATE TABLE 
1410: 74 31 28 78 2c 20 79 29 3b 0d 0a 20 20 20 20 49  t1(x, y);..    I
1420: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 78  NSERT INTO t1 (x
1430: 2c 20 79 29 20 56 41 4c 55 45 53 28 30 2c 20 31  , y) VALUES(0, 1
1440: 29 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49  );..    INSERT I
1450: 4e 54 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41  NTO t1 (x, y) VA
1460: 4c 55 45 53 28 27 30 27 2c 20 27 31 27 29 3b 0d  LUES('0', '1');.
1470: 0a 20 20 7d 0d 0a 0d 0a 20 20 73 65 74 20 63 6f  .  }....  set co
1480: 6c 75 6d 6e 73 20 5b 24 63 6f 6e 6e 65 63 74 69  lumns [$connecti
1490: 6f 6e 20 47 65 74 53 63 68 65 6d 61 20 43 4f 4c  on GetSchema COL
14a0: 55 4d 4e 53 5d 0d 0a 0d 0a 20 20 65 78 70 72 20  UMNS]....  expr 
14b0: 7b 5b 67 65 74 53 65 74 74 69 6e 67 52 65 61 64  {[getSettingRead
14c0: 43 6f 75 6e 74 20 55 73 65 5f 53 51 4c 69 74 65  Count Use_SQLite
14d0: 43 6f 6e 76 65 72 74 5f 44 65 66 61 75 6c 74 54  Convert_DefaultT
14e0: 79 70 65 4e 61 6d 65 5d 20 3d 3d 20 31 7d 0d 0a  ypeName] == 1}..
14f0: 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20  } -cleanup {..  
1500: 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c 65 4e  cleanupDb $fileN
1510: 61 6d 65 0d 0a 0d 0a 20 20 66 72 65 65 44 62 43  ame....  freeDbC
1520: 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d 0a 20 20 75  onnection....  u
1530: 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e  nset -nocomplain
1540: 20 63 6f 6c 75 6d 6e 73 20 63 6f 6e 6e 65 63 74   columns connect
1550: 69 6f 6e 20 64 62 20 66 69 6c 65 4e 61 6d 65 0d  ion db fileName.
1560: 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  .} -constraints 
1570: 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e 64 2e 6f  {eagle command.o
1580: 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67 32 38 20  bject monoBug28 
1590: 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f 6d 70  command.sql comp
15a0: 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74 65 5c  ile.DATA SQLite\
15b0: 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  ..System.Data.SQ
15c0: 4c 69 74 65 20 62 75 69 6c 64 43 6f 6e 66 69 67  Lite buildConfig
15d0: 75 72 61 74 69 6f 6e 2e 44 65 62 75 67 7d 20 2d  uration.Debug} -
15e0: 72 65 73 75 6c 74 20 7b 54 72 75 65 7d 7d 0d 0a  result {True}}..
15f0: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
1600: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1610: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1620: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1630: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1640: 23 0d 0a 0d 0a 72 65 70 6f 72 74 53 51 4c 69 74  #....reportSQLit
1650: 65 52 65 73 6f 75 72 63 65 73 20 24 74 65 73 74  eResources $test
1660: 5f 63 68 61 6e 6e 65 6c 20 74 72 75 65 0d 0a 0d  _channel true...
1670: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
1680: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1690: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
16a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
16b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
16c0: 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65 73  ....runTest {tes
16d0: 74 20 74 6b 74 2d 35 38 65 64 33 31 38 66 32 66  t tkt-58ed318f2f
16e0: 2d 31 2e 36 20 7b 6e 6f 20 70 72 6f 70 65 72 74  -1.6 {no propert
16f0: 79 20 47 65 74 44 65 66 61 75 6c 74 54 79 70 65  y GetDefaultType
1700: 4e 61 6d 65 20 75 73 61 67 65 7d 20 2d 73 65 74  Name usage} -set
1710: 75 70 20 7b 0d 0a 20 20 73 65 74 75 70 44 62 20  up {..  setupDb 
1720: 5b 73 65 74 20 66 69 6c 65 4e 61 6d 65 20 74 6b  [set fileName tk
1730: 74 2d 35 38 65 64 33 31 38 66 32 66 2d 31 2e 36  t-58ed318f2f-1.6
1740: 2e 64 62 5d 20 22 22 20 22 22 20 22 22 20 55 73  .db] "" "" "" Us
1750: 65 43 6f 6e 6e 65 63 74 69 6f 6e 54 79 70 65 73  eConnectionTypes
1760: 0d 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73  ..} -body {..  s
1770: 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 67  et connection [g
1780: 65 74 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 5d 0d  etDbConnection].
1790: 0a 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65  ...  sql execute
17a0: 20 24 64 62 20 7b 0d 0a 20 20 20 20 43 52 45 41   $db {..    CREA
17b0: 54 45 20 54 41 42 4c 45 20 74 31 28 78 2c 20 79  TE TABLE t1(x, y
17c0: 29 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49  );..    INSERT I
17d0: 4e 54 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41  NTO t1 (x, y) VA
17e0: 4c 55 45 53 28 30 2c 20 31 29 3b 0d 0a 20 20 20  LUES(0, 1);..   
17f0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20   INSERT INTO t1 
1800: 28 78 2c 20 79 29 20 56 41 4c 55 45 53 28 27 30  (x, y) VALUES('0
1810: 27 2c 20 27 31 27 29 3b 0d 0a 20 20 7d 0d 0a 0d  ', '1');..  }...
1820: 0a 20 20 73 65 74 20 63 6f 6c 75 6d 6e 73 20 5b  .  set columns [
1830: 24 63 6f 6e 6e 65 63 74 69 6f 6e 20 47 65 74 53  $connection GetS
1840: 63 68 65 6d 61 20 43 4f 4c 55 4d 4e 53 5d 0d 0a  chema COLUMNS]..
1850: 0d 0a 20 20 65 78 70 72 20 7b 5b 67 65 74 53 65  ..  expr {[getSe
1860: 74 74 69 6e 67 52 65 61 64 43 6f 75 6e 74 20 55  ttingReadCount U
1870: 73 65 5f 53 51 4c 69 74 65 43 6f 6e 76 65 72 74  se_SQLiteConvert
1880: 5f 44 65 66 61 75 6c 74 54 79 70 65 4e 61 6d 65  _DefaultTypeName
1890: 5d 20 3d 3d 20 31 7d 0d 0a 7d 20 2d 63 6c 65 61  ] == 1}..} -clea
18a0: 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e 75 70  nup {..  cleanup
18b0: 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a 0d 0a  Db $fileName....
18c0: 20 20 66 72 65 65 44 62 43 6f 6e 6e 65 63 74 69    freeDbConnecti
18d0: 6f 6e 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 2d 6e  on....  unset -n
18e0: 6f 63 6f 6d 70 6c 61 69 6e 20 63 6f 6c 75 6d 6e  ocomplain column
18f0: 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 64 62 20  s connection db 
1900: 66 69 6c 65 4e 61 6d 65 0d 0a 7d 20 2d 63 6f 6e  fileName..} -con
1910: 73 74 72 61 69 6e 74 73 20 7b 65 61 67 6c 65 20  straints {eagle 
1920: 63 6f 6d 6d 61 6e 64 2e 6f 62 6a 65 63 74 20 6d  command.object m
1930: 6f 6e 6f 42 75 67 32 38 20 63 6f 6d 6d 61 6e 64  onoBug28 command
1940: 2e 73 71 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54  .sql compile.DAT
1950: 41 20 53 51 4c 69 74 65 5c 0d 0a 53 79 73 74 65  A SQLite\..Syste
1960: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 62 75  m.Data.SQLite bu
1970: 69 6c 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e  ildConfiguration
1980: 2e 44 65 62 75 67 7d 20 2d 72 65 73 75 6c 74 20  .Debug} -result 
1990: 7b 54 72 75 65 7d 7d 0d 0a 0d 0a 23 23 23 23 23  {True}}....#####
19a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
19e0: 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 65  ##########....re
19f0: 70 6f 72 74 53 51 4c 69 74 65 52 65 73 6f 75 72  portSQLiteResour
1a00: 63 65 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65  ces $test_channe
1a10: 6c 20 74 72 75 65 0d 0a 0d 0a 23 23 23 23 23 23  l true....######
1a20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a60: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e  #########....run
1a70: 54 65 73 74 20 7b 74 65 73 74 20 74 6b 74 2d 35  Test {test tkt-5
1a80: 38 65 64 33 31 38 66 32 66 2d 31 2e 37 20 7b 6e  8ed318f2f-1.7 {n
1a90: 6f 20 66 6c 61 67 20 47 65 74 44 65 66 61 75 6c  o flag GetDefaul
1aa0: 74 54 79 70 65 4e 61 6d 65 20 75 73 61 67 65 7d  tTypeName usage}
1ab0: 20 2d 73 65 74 75 70 20 7b 0d 0a 20 20 73 65 74   -setup {..  set
1ac0: 75 70 44 62 20 5b 73 65 74 20 66 69 6c 65 4e 61  upDb [set fileNa
1ad0: 6d 65 20 74 6b 74 2d 35 38 65 64 33 31 38 66 32  me tkt-58ed318f2
1ae0: 66 2d 31 2e 37 2e 64 62 5d 20 22 22 20 22 22 20  f-1.7.db] "" "" 
1af0: 22 22 20 22 22 20 5c 0d 0a 20 20 20 20 20 20 22  "" "" \..      "
1b00: 44 65 66 61 75 6c 74 44 62 54 79 70 65 3d 53 74  DefaultDbType=St
1b10: 72 69 6e 67 3b 22 0d 0a 7d 20 2d 62 6f 64 79 20  ring;"..} -body 
1b20: 7b 0d 0a 20 20 73 65 74 20 63 6f 6e 6e 65 63 74  {..  set connect
1b30: 69 6f 6e 20 5b 67 65 74 44 62 43 6f 6e 6e 65 63  ion [getDbConnec
1b40: 74 69 6f 6e 5d 0d 0a 0d 0a 20 20 73 71 6c 20 65  tion]....  sql e
1b50: 78 65 63 75 74 65 20 24 64 62 20 7b 0d 0a 20 20  xecute $db {..  
1b60: 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20 74    CREATE TABLE t
1b70: 31 28 78 2c 20 79 29 3b 0d 0a 20 20 20 20 49 4e  1(x, y);..    IN
1b80: 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 78 2c  SERT INTO t1 (x,
1b90: 20 79 29 20 56 41 4c 55 45 53 28 30 2c 20 31 29   y) VALUES(0, 1)
1ba0: 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  ;..    INSERT IN
1bb0: 54 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41 4c  TO t1 (x, y) VAL
1bc0: 55 45 53 28 27 30 27 2c 20 27 31 27 29 3b 0d 0a  UES('0', '1');..
1bd0: 20 20 7d 0d 0a 0d 0a 20 20 73 65 74 20 63 6f 6c    }....  set col
1be0: 75 6d 6e 73 20 5b 24 63 6f 6e 6e 65 63 74 69 6f  umns [$connectio
1bf0: 6e 20 47 65 74 53 63 68 65 6d 61 20 43 4f 4c 55  n GetSchema COLU
1c00: 4d 4e 53 5d 0d 0a 0d 0a 20 20 65 78 70 72 20 7b  MNS]....  expr {
1c10: 5b 67 65 74 53 65 74 74 69 6e 67 52 65 61 64 43  [getSettingReadC
1c20: 6f 75 6e 74 20 55 73 65 5f 53 51 4c 69 74 65 43  ount Use_SQLiteC
1c30: 6f 6e 76 65 72 74 5f 44 65 66 61 75 6c 74 54 79  onvert_DefaultTy
1c40: 70 65 4e 61 6d 65 5d 20 3d 3d 20 2d 31 7d 0d 0a  peName] == -1}..
1c50: 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20  } -cleanup {..  
1c60: 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c 65 4e  cleanupDb $fileN
1c70: 61 6d 65 0d 0a 0d 0a 20 20 66 72 65 65 44 62 43  ame....  freeDbC
1c80: 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d 0a 20 20 75  onnection....  u
1c90: 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e  nset -nocomplain
1ca0: 20 63 6f 6c 75 6d 6e 73 20 63 6f 6e 6e 65 63 74   columns connect
1cb0: 69 6f 6e 20 64 62 20 66 69 6c 65 4e 61 6d 65 0d  ion db fileName.
1cc0: 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  .} -constraints 
1cd0: 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e 64 2e 6f  {eagle command.o
1ce0: 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67 32 38 20  bject monoBug28 
1cf0: 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f 6d 70  command.sql comp
1d00: 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74 65 5c  ile.DATA SQLite\
1d10: 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  ..System.Data.SQ
1d20: 4c 69 74 65 20 62 75 69 6c 64 43 6f 6e 66 69 67  Lite buildConfig
1d30: 75 72 61 74 69 6f 6e 2e 44 65 62 75 67 7d 20 2d  uration.Debug} -
1d40: 72 65 73 75 6c 74 20 7b 54 72 75 65 7d 7d 0d 0a  result {True}}..
1d50: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
1d60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1d70: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1d80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1d90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1da0: 23 0d 0a 0d 0a 72 65 70 6f 72 74 53 51 4c 69 74  #....reportSQLit
1db0: 65 52 65 73 6f 75 72 63 65 73 20 24 74 65 73 74  eResources $test
1dc0: 5f 63 68 61 6e 6e 65 6c 20 74 72 75 65 0d 0a 0d  _channel true...
1dd0: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
1de0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1df0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1e00: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1e10: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1e20: 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65 73  ....runTest {tes
1e30: 74 20 74 6b 74 2d 35 38 65 64 33 31 38 66 32 66  t tkt-58ed318f2f
1e40: 2d 31 2e 38 20 7b 7a 65 72 6f 20 47 65 74 44 65  -1.8 {zero GetDe
1e50: 66 61 75 6c 74 54 79 70 65 4e 61 6d 65 20 75 73  faultTypeName us
1e60: 61 67 65 7d 20 2d 73 65 74 75 70 20 7b 0d 0a 20  age} -setup {.. 
1e70: 20 73 65 74 75 70 44 62 20 5b 73 65 74 20 66 69   setupDb [set fi
1e80: 6c 65 4e 61 6d 65 20 74 6b 74 2d 35 38 65 64 33  leName tkt-58ed3
1e90: 31 38 66 32 66 2d 31 2e 38 2e 64 62 5d 20 22 22  18f2f-1.8.db] ""
1ea0: 20 22 22 20 22 22 20 55 73 65 43 6f 6e 6e 65 63   "" "" UseConnec
1eb0: 74 69 6f 6e 54 79 70 65 73 20 5c 0d 0a 20 20 20  tionTypes \..   
1ec0: 20 20 20 22 44 65 66 61 75 6c 74 54 79 70 65 4e     "DefaultTypeN
1ed0: 61 6d 65 3d 54 45 58 54 3b 22 0d 0a 7d 20 2d 62  ame=TEXT;"..} -b
1ee0: 6f 64 79 20 7b 0d 0a 20 20 73 65 74 20 63 6f 6e  ody {..  set con
1ef0: 6e 65 63 74 69 6f 6e 20 5b 67 65 74 44 62 43 6f  nection [getDbCo
1f00: 6e 6e 65 63 74 69 6f 6e 5d 0d 0a 0d 0a 20 20 73  nnection]....  s
1f10: 71 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 7b  ql execute $db {
1f20: 0d 0a 20 20 20 20 43 52 45 41 54 45 20 54 41 42  ..    CREATE TAB
1f30: 4c 45 20 74 31 28 78 2c 20 79 29 3b 0d 0a 20 20  LE t1(x, y);..  
1f40: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31    INSERT INTO t1
1f50: 20 28 78 2c 20 79 29 20 56 41 4c 55 45 53 28 30   (x, y) VALUES(0
1f60: 2c 20 31 29 3b 0d 0a 20 20 20 20 49 4e 53 45 52  , 1);..    INSER
1f70: 54 20 49 4e 54 4f 20 74 31 20 28 78 2c 20 79 29  T INTO t1 (x, y)
1f80: 20 56 41 4c 55 45 53 28 27 30 27 2c 20 27 31 27   VALUES('0', '1'
1f90: 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 73 65 74  );..  }....  set
1fa0: 20 63 6f 6c 75 6d 6e 73 20 5b 24 63 6f 6e 6e 65   columns [$conne
1fb0: 63 74 69 6f 6e 20 47 65 74 53 63 68 65 6d 61 20  ction GetSchema 
1fc0: 43 4f 4c 55 4d 4e 53 5d 0d 0a 0d 0a 20 20 65 78  COLUMNS]....  ex
1fd0: 70 72 20 7b 5b 67 65 74 53 65 74 74 69 6e 67 52  pr {[getSettingR
1fe0: 65 61 64 43 6f 75 6e 74 20 55 73 65 5f 53 51 4c  eadCount Use_SQL
1ff0: 69 74 65 43 6f 6e 76 65 72 74 5f 44 65 66 61 75  iteConvert_Defau
2000: 6c 74 54 79 70 65 4e 61 6d 65 5d 20 3d 3d 20 2d  ltTypeName] == -
2010: 31 7d 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20 7b  1}..} -cleanup {
2020: 0d 0a 20 20 63 6c 65 61 6e 75 70 44 62 20 24 66  ..  cleanupDb $f
2030: 69 6c 65 4e 61 6d 65 0d 0a 0d 0a 20 20 66 72 65  ileName....  fre
2040: 65 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d  eDbConnection...
2050: 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70  .  unset -nocomp
2060: 6c 61 69 6e 20 63 6f 6c 75 6d 6e 73 20 63 6f 6e  lain columns con
2070: 6e 65 63 74 69 6f 6e 20 64 62 20 66 69 6c 65 4e  nection db fileN
2080: 61 6d 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69  ame..} -constrai
2090: 6e 74 73 20 7b 65 61 67 6c 65 20 63 6f 6d 6d 61  nts {eagle comma
20a0: 6e 64 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42 75  nd.object monoBu
20b0: 67 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20  g28 command.sql 
20c0: 63 6f 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c  compile.DATA SQL
20d0: 69 74 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74  ite\..System.Dat
20e0: 61 2e 53 51 4c 69 74 65 20 62 75 69 6c 64 43 6f  a.SQLite buildCo
20f0: 6e 66 69 67 75 72 61 74 69 6f 6e 2e 44 65 62 75  nfiguration.Debu
2100: 67 7d 20 2d 72 65 73 75 6c 74 20 7b 54 72 75 65  g} -result {True
2110: 7d 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23  }}....##########
2120: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2130: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2140: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2150: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2160: 23 23 23 23 23 0d 0a 0d 0a 72 65 70 6f 72 74 53  #####....reportS
2170: 51 4c 69 74 65 52 65 73 6f 75 72 63 65 73 20 24  QLiteResources $
2180: 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 74 72 75  test_channel tru
2190: 65 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  e....###########
21a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
21b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
21c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
21d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
21e0: 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20  ####....runTest 
21f0: 7b 74 65 73 74 20 74 6b 74 2d 35 38 65 64 33 31  {test tkt-58ed31
2200: 38 66 32 66 2d 31 2e 39 20 7b 7a 65 72 6f 20 44  8f2f-1.9 {zero D
2210: 65 66 61 75 6c 74 44 62 54 79 70 65 20 73 65 74  efaultDbType set
2220: 74 69 6e 67 73 20 72 65 61 64 7d 20 2d 73 65 74  tings read} -set
2230: 75 70 20 7b 0d 0a 20 20 73 65 74 75 70 44 62 20  up {..  setupDb 
2240: 5b 73 65 74 20 66 69 6c 65 4e 61 6d 65 20 74 6b  [set fileName tk
2250: 74 2d 35 38 65 64 33 31 38 66 32 66 2d 31 2e 39  t-58ed318f2f-1.9
2260: 2e 64 62 5d 20 22 22 20 22 22 20 22 22 20 4e 6f  .db] "" "" "" No
2270: 43 6f 6e 76 65 72 74 53 65 74 74 69 6e 67 73 0d  ConvertSettings.
2280: 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 71  .} -body {..  sq
2290: 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 7b 0d  l execute $db {.
22a0: 0a 20 20 20 20 43 52 45 41 54 45 20 54 41 42 4c  .    CREATE TABL
22b0: 45 20 74 31 28 78 2c 20 79 29 3b 0d 0a 20 20 20  E t1(x, y);..   
22c0: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20   INSERT INTO t1 
22d0: 28 78 2c 20 79 29 20 56 41 4c 55 45 53 28 30 2c  (x, y) VALUES(0,
22e0: 20 31 29 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54   1);..    INSERT
22f0: 20 49 4e 54 4f 20 74 31 20 28 78 2c 20 79 29 20   INTO t1 (x, y) 
2300: 56 41 4c 55 45 53 28 27 30 27 2c 20 27 31 27 29  VALUES('0', '1')
2310: 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 73 71 6c 20  ;..  }....  sql 
2320: 65 78 65 63 75 74 65 20 2d 65 78 65 63 75 74 65  execute -execute
2330: 20 72 65 61 64 65 72 20 2d 66 6f 72 6d 61 74 20   reader -format 
2340: 6c 69 73 74 20 24 64 62 20 22 53 45 4c 45 43 54  list $db "SELECT
2350: 20 78 2c 20 79 20 46 52 4f 4d 20 74 31 3b 22 0d   x, y FROM t1;".
2360: 0a 0d 0a 20 20 65 78 70 72 20 7b 5b 67 65 74 53  ...  expr {[getS
2370: 65 74 74 69 6e 67 52 65 61 64 43 6f 75 6e 74 20  ettingReadCount 
2380: 55 73 65 5f 53 51 4c 69 74 65 43 6f 6e 76 65 72  Use_SQLiteConver
2390: 74 5f 44 65 66 61 75 6c 74 44 62 54 79 70 65 5d  t_DefaultDbType]
23a0: 20 3d 3d 20 2d 31 7d 0d 0a 7d 20 2d 63 6c 65 61   == -1}..} -clea
23b0: 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e 75 70  nup {..  cleanup
23c0: 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a 0d 0a  Db $fileName....
23d0: 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c    unset -nocompl
23e0: 61 69 6e 20 64 62 20 66 69 6c 65 4e 61 6d 65 0d  ain db fileName.
23f0: 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  .} -constraints 
2400: 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e 64 2e 6f  {eagle command.o
2410: 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67 32 38 20  bject monoBug28 
2420: 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f 6d 70  command.sql comp
2430: 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74 65 5c  ile.DATA SQLite\
2440: 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51  ..System.Data.SQ
2450: 4c 69 74 65 20 62 75 69 6c 64 43 6f 6e 66 69 67  Lite buildConfig
2460: 75 72 61 74 69 6f 6e 2e 44 65 62 75 67 7d 20 2d  uration.Debug} -
2470: 72 65 73 75 6c 74 20 7b 54 72 75 65 7d 7d 0d 0a  result {True}}..
2480: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
2490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
24d0: 23 0d 0a 0d 0a 72 65 70 6f 72 74 53 51 4c 69 74  #....reportSQLit
24e0: 65 52 65 73 6f 75 72 63 65 73 20 24 74 65 73 74  eResources $test
24f0: 5f 63 68 61 6e 6e 65 6c 20 74 72 75 65 0d 0a 0d  _channel true...
2500: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
2510: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2520: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2530: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2540: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2550: 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65 73  ....runTest {tes
2560: 74 20 74 6b 74 2d 35 38 65 64 33 31 38 66 32 66  t tkt-58ed318f2f
2570: 2d 31 2e 31 30 20 7b 7a 65 72 6f 20 44 65 66 61  -1.10 {zero Defa
2580: 75 6c 74 54 79 70 65 4e 61 6d 65 20 73 65 74 74  ultTypeName sett
2590: 69 6e 67 73 20 72 65 61 64 7d 20 2d 73 65 74 75  ings read} -setu
25a0: 70 20 7b 0d 0a 20 20 73 65 74 75 70 44 62 20 5b  p {..  setupDb [
25b0: 73 65 74 20 66 69 6c 65 4e 61 6d 65 20 74 6b 74  set fileName tkt
25c0: 2d 35 38 65 64 33 31 38 66 32 66 2d 31 2e 31 30  -58ed318f2f-1.10
25d0: 2e 64 62 5d 20 22 22 20 22 22 20 22 22 20 4e 6f  .db] "" "" "" No
25e0: 43 6f 6e 76 65 72 74 53 65 74 74 69 6e 67 73 0d  ConvertSettings.
25f0: 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 65  .} -body {..  se
2600: 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 67 65  t connection [ge
2610: 74 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 5d 0d 0a  tDbConnection]..
2620: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
2630: 24 64 62 20 7b 0d 0a 20 20 20 20 43 52 45 41 54  $db {..    CREAT
2640: 45 20 54 41 42 4c 45 20 74 31 28 78 2c 20 79 29  E TABLE t1(x, y)
2650: 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e  ;..    INSERT IN
2660: 54 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41 4c  TO t1 (x, y) VAL
2670: 55 45 53 28 30 2c 20 31 29 3b 0d 0a 20 20 20 20  UES(0, 1);..    
2680: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28  INSERT INTO t1 (
2690: 78 2c 20 79 29 20 56 41 4c 55 45 53 28 27 30 27  x, y) VALUES('0'
26a0: 2c 20 27 31 27 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a  , '1');..  }....
26b0: 20 20 73 65 74 20 63 6f 6c 75 6d 6e 73 20 5b 24    set columns [$
26c0: 63 6f 6e 6e 65 63 74 69 6f 6e 20 47 65 74 53 63  connection GetSc
26d0: 68 65 6d 61 20 43 4f 4c 55 4d 4e 53 5d 0d 0a 0d  hema COLUMNS]...
26e0: 0a 20 20 65 78 70 72 20 7b 5b 67 65 74 53 65 74  .  expr {[getSet
26f0: 74 69 6e 67 52 65 61 64 43 6f 75 6e 74 20 55 73  tingReadCount Us
2700: 65 5f 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 5f  e_SQLiteConvert_
2710: 44 65 66 61 75 6c 74 54 79 70 65 4e 61 6d 65 5d  DefaultTypeName]
2720: 20 3d 3d 20 2d 31 7d 0d 0a 7d 20 2d 63 6c 65 61   == -1}..} -clea
2730: 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e 75 70  nup {..  cleanup
2740: 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a 0d 0a  Db $fileName....
2750: 20 20 66 72 65 65 44 62 43 6f 6e 6e 65 63 74 69    freeDbConnecti
2760: 6f 6e 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 2d 6e  on....  unset -n
2770: 6f 63 6f 6d 70 6c 61 69 6e 20 63 6f 6c 75 6d 6e  ocomplain column
2780: 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 64 62 20  s connection db 
2790: 66 69 6c 65 4e 61 6d 65 0d 0a 7d 20 2d 63 6f 6e  fileName..} -con
27a0: 73 74 72 61 69 6e 74 73 20 7b 65 61 67 6c 65 20  straints {eagle 
27b0: 63 6f 6d 6d 61 6e 64 2e 6f 62 6a 65 63 74 20 6d  command.object m
27c0: 6f 6e 6f 42 75 67 32 38 20 63 6f 6d 6d 61 6e 64  onoBug28 command
27d0: 2e 73 71 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54  .sql compile.DAT
27e0: 41 20 53 51 4c 69 74 65 5c 0d 0a 53 79 73 74 65  A SQLite\..Syste
27f0: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 62 75  m.Data.SQLite bu
2800: 69 6c 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e  ildConfiguration
2810: 2e 44 65 62 75 67 7d 20 2d 72 65 73 75 6c 74 20  .Debug} -result 
2820: 7b 54 72 75 65 7d 7d 0d 0a 0d 0a 23 23 23 23 23  {True}}....#####
2830: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2840: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2850: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2860: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2870: 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 65  ##########....re
2880: 70 6f 72 74 53 51 4c 69 74 65 52 65 73 6f 75 72  portSQLiteResour
2890: 63 65 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65  ces $test_channe
28a0: 6c 20 74 72 75 65 0d 0a 0d 0a 23 23 23 23 23 23  l true....######
28b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
28c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
28d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
28e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
28f0: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e  #########....run
2900: 54 65 73 74 20 7b 74 65 73 74 20 74 6b 74 2d 35  Test {test tkt-5
2910: 38 65 64 33 31 38 66 32 66 2d 31 2e 31 31 20 7b  8ed318f2f-1.11 {
2920: 6e 6f 72 6d 61 6c 20 53 51 4c 69 74 65 43 6f 6e  normal SQLiteCon
2930: 76 65 72 74 20 73 65 74 74 69 6e 67 73 20 75 73  vert settings us
2940: 61 67 65 7d 20 2d 73 65 74 75 70 20 7b 0d 0a 20  age} -setup {.. 
2950: 20 73 65 74 75 70 44 62 20 5b 73 65 74 20 66 69   setupDb [set fi
2960: 6c 65 4e 61 6d 65 20 74 6b 74 2d 35 38 65 64 33  leName tkt-58ed3
2970: 31 38 66 32 66 2d 31 2e 31 31 2e 64 62 5d 0d 0a  18f2f-1.11.db]..
2980: 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 65 74  } -body {..  set
2990: 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 67 65 74   connection [get
29a0: 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 5d 0d 0a 0d  DbConnection]...
29b0: 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24  .  sql execute $
29c0: 64 62 20 7b 0d 0a 20 20 20 20 43 52 45 41 54 45  db {..    CREATE
29d0: 20 54 41 42 4c 45 20 74 31 28 78 2c 20 79 29 3b   TABLE t1(x, y);
29e0: 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49 4e 54  ..    INSERT INT
29f0: 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41 4c 55  O t1 (x, y) VALU
2a00: 45 53 28 30 2c 20 31 29 3b 0d 0a 20 20 20 20 49  ES(0, 1);..    I
2a10: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 78  NSERT INTO t1 (x
2a20: 2c 20 79 29 20 56 41 4c 55 45 53 28 27 30 27 2c  , y) VALUES('0',
2a30: 20 27 31 27 29 3b 0d 0a 20 20 7d 0d 0a 0d 0a 20   '1');..  }.... 
2a40: 20 73 71 6c 20 65 78 65 63 75 74 65 20 2d 65 78   sql execute -ex
2a50: 65 63 75 74 65 20 72 65 61 64 65 72 20 2d 66 6f  ecute reader -fo
2a60: 72 6d 61 74 20 6c 69 73 74 20 24 64 62 20 22 53  rmat list $db "S
2a70: 45 4c 45 43 54 20 78 2c 20 79 20 46 52 4f 4d 20  ELECT x, y FROM 
2a80: 74 31 3b 22 0d 0a 20 20 73 65 74 20 63 6f 6c 75  t1;"..  set colu
2a90: 6d 6e 73 20 5b 24 63 6f 6e 6e 65 63 74 69 6f 6e  mns [$connection
2aa0: 20 47 65 74 53 63 68 65 6d 61 20 43 4f 4c 55 4d   GetSchema COLUM
2ab0: 4e 53 5d 0d 0a 0d 0a 20 20 23 0d 0a 20 20 23 20  NS]....  #..  # 
2ac0: 54 4f 44 4f 3a 20 54 68 65 73 65 20 63 6f 75 6e  TODO: These coun
2ad0: 74 73 20 6d 61 79 20 6e 65 65 64 20 74 6f 20 62  ts may need to b
2ae0: 65 20 75 70 64 61 74 65 64 20 69 6e 20 66 75 74  e updated in fut
2af0: 75 72 65 20 76 65 72 73 69 6f 6e 73 2e 0d 0a 20  ure versions... 
2b00: 20 23 0d 0a 20 20 65 78 70 72 20 7b 5b 67 65 74   #..  expr {[get
2b10: 53 65 74 74 69 6e 67 52 65 61 64 43 6f 75 6e 74  SettingReadCount
2b20: 20 55 73 65 5f 53 51 4c 69 74 65 43 6f 6e 76 65   Use_SQLiteConve
2b30: 72 74 5f 44 65 66 61 75 6c 74 44 62 54 79 70 65  rt_DefaultDbType
2b40: 5d 20 3d 3d 20 31 20 26 26 20 5c 0d 0a 20 20 20  ] == 1 && \..   
2b50: 20 20 20 5b 67 65 74 53 65 74 74 69 6e 67 52 65     [getSettingRe
2b60: 61 64 43 6f 75 6e 74 20 55 73 65 5f 53 51 4c 69  adCount Use_SQLi
2b70: 74 65 43 6f 6e 76 65 72 74 5f 44 65 66 61 75 6c  teConvert_Defaul
2b80: 74 54 79 70 65 4e 61 6d 65 5d 20 3d 3d 20 31 7d  tTypeName] == 1}
2b90: 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a  ..} -cleanup {..
2ba0: 20 20 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c    cleanupDb $fil
2bb0: 65 4e 61 6d 65 0d 0a 0d 0a 20 20 66 72 65 65 44  eName....  freeD
2bc0: 62 43 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d 0a 20  bConnection.... 
2bd0: 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61   unset -nocompla
2be0: 69 6e 20 63 6f 6c 75 6d 6e 73 20 63 6f 6e 6e 65  in columns conne
2bf0: 63 74 69 6f 6e 20 64 62 20 66 69 6c 65 4e 61 6d  ction db fileNam
2c00: 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74  e..} -constraint
2c10: 73 20 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e 64  s {eagle command
2c20: 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67 32  .object monoBug2
2c30: 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f  8 command.sql co
2c40: 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74  mpile.DATA SQLit
2c50: 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61 2e  e\..System.Data.
2c60: 53 51 4c 69 74 65 20 62 75 69 6c 64 43 6f 6e 66  SQLite buildConf
2c70: 69 67 75 72 61 74 69 6f 6e 2e 44 65 62 75 67 7d  iguration.Debug}
2c80: 20 2d 72 65 73 75 6c 74 20 7b 54 72 75 65 7d 7d   -result {True}}
2c90: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
2ca0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2cb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2cc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2cd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2ce0: 23 23 23 0d 0a 0d 0a 72 65 70 6f 72 74 53 51 4c  ###....reportSQL
2cf0: 69 74 65 52 65 73 6f 75 72 63 65 73 20 24 74 65  iteResources $te
2d00: 73 74 5f 63 68 61 6e 6e 65 6c 20 74 72 75 65 0d  st_channel true.
2d10: 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ...#############
2d20: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2d30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2d40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2d50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
2d60: 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74  ##....runTest {t
2d70: 65 73 74 20 74 6b 74 2d 35 38 65 64 33 31 38 66  est tkt-58ed318f
2d80: 32 66 2d 31 2e 31 32 20 7b 7a 65 72 6f 20 53 51  2f-1.12 {zero SQ
2d90: 4c 69 74 65 43 6f 6e 76 65 72 74 20 73 65 74 74  LiteConvert sett
2da0: 69 6e 67 73 20 75 73 61 67 65 7d 20 2d 73 65 74  ings usage} -set
2db0: 75 70 20 7b 0d 0a 20 20 73 65 74 75 70 44 62 20  up {..  setupDb 
2dc0: 5b 73 65 74 20 66 69 6c 65 4e 61 6d 65 20 74 6b  [set fileName tk
2dd0: 74 2d 35 38 65 64 33 31 38 66 32 66 2d 31 2e 31  t-58ed318f2f-1.1
2de0: 32 2e 64 62 5d 20 22 22 20 22 22 20 22 22 20 4e  2.db] "" "" "" N
2df0: 6f 43 6f 6e 76 65 72 74 53 65 74 74 69 6e 67 73  oConvertSettings
2e00: 0d 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73  ..} -body {..  s
2e10: 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 67  et connection [g
2e20: 65 74 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 5d 0d  etDbConnection].
2e30: 0a 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65  ...  sql execute
2e40: 20 24 64 62 20 7b 0d 0a 20 20 20 20 43 52 45 41   $db {..    CREA
2e50: 54 45 20 54 41 42 4c 45 20 74 31 28 78 2c 20 79  TE TABLE t1(x, y
2e60: 29 3b 0d 0a 20 20 20 20 49 4e 53 45 52 54 20 49  );..    INSERT I
2e70: 4e 54 4f 20 74 31 20 28 78 2c 20 79 29 20 56 41  NTO t1 (x, y) VA
2e80: 4c 55 45 53 28 30 2c 20 31 29 3b 0d 0a 20 20 20  LUES(0, 1);..   
2e90: 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20   INSERT INTO t1 
2ea0: 28 78 2c 20 79 29 20 56 41 4c 55 45 53 28 27 30  (x, y) VALUES('0
2eb0: 27 2c 20 27 31 27 29 3b 0d 0a 20 20 7d 0d 0a 0d  ', '1');..  }...
2ec0: 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 2d  .  sql execute -
2ed0: 65 78 65 63 75 74 65 20 72 65 61 64 65 72 20 2d  execute reader -
2ee0: 66 6f 72 6d 61 74 20 6c 69 73 74 20 24 64 62 20  format list $db 
2ef0: 22 53 45 4c 45 43 54 20 78 2c 20 79 20 46 52 4f  "SELECT x, y FRO
2f00: 4d 20 74 31 3b 22 0d 0a 20 20 73 65 74 20 63 6f  M t1;"..  set co
2f10: 6c 75 6d 6e 73 20 5b 24 63 6f 6e 6e 65 63 74 69  lumns [$connecti
2f20: 6f 6e 20 47 65 74 53 63 68 65 6d 61 20 43 4f 4c  on GetSchema COL
2f30: 55 4d 4e 53 5d 0d 0a 0d 0a 20 20 65 78 70 72 20  UMNS]....  expr 
2f40: 7b 5b 67 65 74 53 65 74 74 69 6e 67 52 65 61 64  {[getSettingRead
2f50: 43 6f 75 6e 74 20 55 73 65 5f 53 51 4c 69 74 65  Count Use_SQLite
2f60: 43 6f 6e 76 65 72 74 5f 44 65 66 61 75 6c 74 44  Convert_DefaultD
2f70: 62 54 79 70 65 5d 20 3d 3d 20 2d 31 20 26 26 20  bType] == -1 && 
2f80: 5c 0d 0a 20 20 20 20 20 20 5b 67 65 74 53 65 74  \..      [getSet
2f90: 74 69 6e 67 52 65 61 64 43 6f 75 6e 74 20 55 73  tingReadCount Us
2fa0: 65 5f 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 5f  e_SQLiteConvert_
2fb0: 44 65 66 61 75 6c 74 54 79 70 65 4e 61 6d 65 5d  DefaultTypeName]
2fc0: 20 3d 3d 20 2d 31 7d 0d 0a 7d 20 2d 63 6c 65 61   == -1}..} -clea
2fd0: 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e 75 70  nup {..  cleanup
2fe0: 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a 0d 0a  Db $fileName....
2ff0: 20 20 66 72 65 65 44 62 43 6f 6e 6e 65 63 74 69    freeDbConnecti
3000: 6f 6e 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 2d 6e  on....  unset -n
3010: 6f 63 6f 6d 70 6c 61 69 6e 20 63 6f 6c 75 6d 6e  ocomplain column
3020: 73 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 64 62 20  s connection db 
3030: 66 69 6c 65 4e 61 6d 65 0d 0a 7d 20 2d 63 6f 6e  fileName..} -con
3040: 73 74 72 61 69 6e 74 73 20 7b 65 61 67 6c 65 20  straints {eagle 
3050: 63 6f 6d 6d 61 6e 64 2e 6f 62 6a 65 63 74 20 6d  command.object m
3060: 6f 6e 6f 42 75 67 32 38 20 63 6f 6d 6d 61 6e 64  onoBug28 command
3070: 2e 73 71 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54  .sql compile.DAT
3080: 41 20 53 51 4c 69 74 65 5c 0d 0a 53 79 73 74 65  A SQLite\..Syste
3090: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 20 62 75  m.Data.SQLite bu
30a0: 69 6c 64 43 6f 6e 66 69 67 75 72 61 74 69 6f 6e  ildConfiguration
30b0: 2e 44 65 62 75 67 7d 20 2d 72 65 73 75 6c 74 20  .Debug} -result 
30c0: 7b 54 72 75 65 7d 7d 0d 0a 0d 0a 23 23 23 23 23  {True}}....#####
30d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
30e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
30f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3100: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3110: 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 65  ##########....re
3120: 6e 61 6d 65 20 67 65 74 53 65 74 74 69 6e 67 52  name getSettingR
3130: 65 61 64 43 6f 75 6e 74 20 22 22 0d 0a 0d 0a 23  eadCount ""....#
3140: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3150: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3160: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3170: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3180: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a  ##############..
3190: 0d 0a 72 65 70 6f 72 74 53 51 4c 69 74 65 52 65  ..reportSQLiteRe
31a0: 73 6f 75 72 63 65 73 20 24 74 65 73 74 5f 63 68  sources $test_ch
31b0: 61 6e 6e 65 6c 20 74 72 75 65 0d 0a 0d 0a 23 23  annel true....##
31c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
31d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
31e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
31f0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
3200: 23 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d  #############...
3210: 0a 72 75 6e 53 51 4c 69 74 65 54 65 73 74 45 70  .runSQLiteTestEp
3220: 69 6c 6f 67 75 65 0d 0a 72 75 6e 54 65 73 74 45  ilogue..runTestE
3230: 70 69 6c 6f 67 75 65 0d 0a                       pilogue..