System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 2a6ddbffcf71c6f1c6ca19c8ff65335adadd84d6:


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 33 63 30 30 65 63  .#..# tkt-3c00ec
0060: 35 62 35 32 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  5b52.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 72 75 6e  #########....run
0270: 54 65 73 74 20 7b 74 65 73 74 20 74 6b 74 2d 33  Test {test tkt-3
0280: 63 30 30 65 63 35 62 35 32 2d 31 2e 31 20 7b 64  c00ec5b52-1.1 {d
0290: 65 66 61 75 6c 74 20 74 79 70 65 73 2c 20 76 69  efault types, vi
02a0: 61 20 63 6f 6e 6e 65 63 74 69 6f 6e 7d 20 2d 73  a connection} -s
02b0: 65 74 75 70 20 7b 0d 0a 20 20 73 65 74 75 70 44  etup {..  setupD
02c0: 62 20 5b 73 65 74 20 66 69 6c 65 4e 61 6d 65 20  b [set fileName 
02d0: 74 6b 74 2d 33 63 30 30 65 63 35 62 35 32 2d 31  tkt-3c00ec5b52-1
02e0: 2e 31 2e 64 62 5d 20 22 22 20 22 22 20 22 22 20  .1.db] "" "" "" 
02f0: 55 73 65 43 6f 6e 6e 65 63 74 69 6f 6e 54 79 70  UseConnectionTyp
0300: 65 73 20 5c 0d 0a 20 20 20 20 20 20 22 44 65 66  es \..      "Def
0310: 61 75 6c 74 44 62 54 79 70 65 3d 53 74 72 69 6e  aultDbType=Strin
0320: 67 3b 44 65 66 61 75 6c 74 54 79 70 65 4e 61 6d  g;DefaultTypeNam
0330: 65 3d 54 45 58 54 3b 22 0d 0a 7d 20 2d 62 6f 64  e=TEXT;"..} -bod
0340: 79 20 7b 0d 0a 20 20 73 65 74 20 63 6f 6e 6e 65  y {..  set conne
0350: 63 74 69 6f 6e 20 5b 67 65 74 44 62 43 6f 6e 6e  ction [getDbConn
0360: 65 63 74 69 6f 6e 5d 0d 0a 20 20 73 65 74 20 72  ection]..  set r
0370: 65 73 75 6c 74 20 5b 6c 69 73 74 5d 0d 0a 0d 0a  esult [list]....
0380: 20 20 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74    lappend result
0390: 20 5b 6f 62 6a 65 63 74 20 69 6e 76 6f 6b 65 20   [object invoke 
03a0: 2d 66 6c 61 67 73 20 2b 4e 6f 6e 50 75 62 6c 69  -flags +NonPubli
03b0: 63 20 5c 0d 0a 20 20 20 20 20 20 53 79 73 74 65  c \..      Syste
03c0: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e 53 51  m.Data.SQLite.SQ
03d0: 4c 69 74 65 43 6f 6e 76 65 72 74 20 54 79 70 65  LiteConvert Type
03e0: 4e 61 6d 65 54 6f 44 62 54 79 70 65 20 24 63 6f  NameToDbType $co
03f0: 6e 6e 65 63 74 69 6f 6e 20 22 22 20 4e 6f 6e 65  nnection "" None
0400: 5d 0d 0a 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72  ]....  lappend r
0410: 65 73 75 6c 74 20 5b 6f 62 6a 65 63 74 20 69 6e  esult [object in
0420: 76 6f 6b 65 20 2d 66 6c 61 67 73 20 2b 4e 6f 6e  voke -flags +Non
0430: 50 75 62 6c 69 63 20 5c 0d 0a 20 20 20 20 20 20  Public \..      
0440: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
0450: 74 65 2e 53 51 4c 69 74 65 43 6f 6e 76 65 72 74  te.SQLiteConvert
0460: 20 44 62 54 79 70 65 54 6f 54 79 70 65 4e 61 6d   DbTypeToTypeNam
0470: 65 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 20 4f 62  e $connection Ob
0480: 6a 65 63 74 20 4e 6f 6e 65 5d 0d 0a 0d 0a 20 20  ject None]....  
0490: 73 65 74 20 72 65 73 75 6c 74 0d 0a 7d 20 2d 63  set result..} -c
04a0: 6c 65 61 6e 75 70 20 7b 0d 0a 20 20 66 72 65 65  leanup {..  free
04b0: 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d 0a  DbConnection....
04c0: 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c    unset -nocompl
04d0: 61 69 6e 20 72 65 73 75 6c 74 20 63 6f 6e 6e 65  ain result conne
04e0: 63 74 69 6f 6e 0d 0a 0d 0a 20 20 63 6c 65 61 6e  ction....  clean
04f0: 75 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a  upDb $fileName..
0500: 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d  ..  unset -nocom
0510: 70 6c 61 69 6e 20 64 62 20 66 69 6c 65 4e 61 6d  plain db fileNam
0520: 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74  e..} -constraint
0530: 73 20 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e 64  s {eagle command
0540: 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67 32  .object monoBug2
0550: 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63 6f  8 command.sql co
0560: 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c 69 74  mpile.DATA SQLit
0570: 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61 2e  e\..System.Data.
0580: 53 51 4c 69 74 65 7d 20 2d 72 65 73 75 6c 74 20  SQLite} -result 
0590: 7b 53 74 72 69 6e 67 20 54 45 58 54 7d 7d 0d 0a  {String TEXT}}..
05a0: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
05b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05e0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05f0: 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65  #....runTest {te
0600: 73 74 20 74 6b 74 2d 33 63 30 30 65 63 35 62 35  st tkt-3c00ec5b5
0610: 32 2d 31 2e 32 20 7b 66 61 6c 6c 62 61 63 6b 20  2-1.2 {fallback 
0620: 64 65 66 61 75 6c 74 20 74 79 70 65 73 20 77 2f  default types w/
0630: 66 6c 61 67 7d 20 2d 73 65 74 75 70 20 7b 0d 0a  flag} -setup {..
0640: 20 20 73 65 74 75 70 44 62 20 5b 73 65 74 20 66    setupDb [set f
0650: 69 6c 65 4e 61 6d 65 20 74 6b 74 2d 33 63 30 30  ileName tkt-3c00
0660: 65 63 35 62 35 32 2d 31 2e 32 2e 64 62 5d 20 22  ec5b52-1.2.db] "
0670: 22 20 22 22 20 22 22 20 55 73 65 43 6f 6e 6e 65  " "" "" UseConne
0680: 63 74 69 6f 6e 54 79 70 65 73 0d 0a 7d 20 2d 62  ctionTypes..} -b
0690: 6f 64 79 20 7b 0d 0a 20 20 73 65 74 20 63 6f 6e  ody {..  set con
06a0: 6e 65 63 74 69 6f 6e 20 5b 67 65 74 44 62 43 6f  nection [getDbCo
06b0: 6e 6e 65 63 74 69 6f 6e 5d 0d 0a 20 20 73 65 74  nnection]..  set
06c0: 20 72 65 73 75 6c 74 20 5b 6c 69 73 74 5d 0d 0a   result [list]..
06d0: 0d 0a 20 20 6c 61 70 70 65 6e 64 20 72 65 73 75  ..  lappend resu
06e0: 6c 74 20 5b 6f 62 6a 65 63 74 20 69 6e 76 6f 6b  lt [object invok
06f0: 65 20 2d 66 6c 61 67 73 20 2b 4e 6f 6e 50 75 62  e -flags +NonPub
0700: 6c 69 63 20 5c 0d 0a 20 20 20 20 20 20 53 79 73  lic \..      Sys
0710: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
0720: 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 20 54 79  SQLiteConvert Ty
0730: 70 65 4e 61 6d 65 54 6f 44 62 54 79 70 65 20 24  peNameToDbType $
0740: 63 6f 6e 6e 65 63 74 69 6f 6e 20 22 22 20 4e 6f  connection "" No
0750: 6e 65 5d 0d 0a 0d 0a 20 20 6c 61 70 70 65 6e 64  ne]....  lappend
0760: 20 72 65 73 75 6c 74 20 5b 6f 62 6a 65 63 74 20   result [object 
0770: 69 6e 76 6f 6b 65 20 2d 66 6c 61 67 73 20 2b 4e  invoke -flags +N
0780: 6f 6e 50 75 62 6c 69 63 20 5c 0d 0a 20 20 20 20  onPublic \..    
0790: 20 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51    System.Data.SQ
07a0: 4c 69 74 65 2e 53 51 4c 69 74 65 43 6f 6e 76 65  Lite.SQLiteConve
07b0: 72 74 20 44 62 54 79 70 65 54 6f 54 79 70 65 4e  rt DbTypeToTypeN
07c0: 61 6d 65 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 20  ame $connection 
07d0: 4f 62 6a 65 63 74 20 4e 6f 6e 65 5d 0d 0a 0d 0a  Object None]....
07e0: 20 20 73 65 74 20 72 65 73 75 6c 74 0d 0a 7d 20    set result..} 
07f0: 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a 20 20 66 72  -cleanup {..  fr
0800: 65 65 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 0d 0a  eeDbConnection..
0810: 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d  ..  unset -nocom
0820: 70 6c 61 69 6e 20 72 65 73 75 6c 74 20 63 6f 6e  plain result con
0830: 6e 65 63 74 69 6f 6e 0d 0a 0d 0a 20 20 63 6c 65  nection....  cle
0840: 61 6e 75 70 44 62 20 24 66 69 6c 65 4e 61 6d 65  anupDb $fileName
0850: 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63  ....  unset -noc
0860: 6f 6d 70 6c 61 69 6e 20 64 62 20 66 69 6c 65 4e  omplain db fileN
0870: 61 6d 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69  ame..} -constrai
0880: 6e 74 73 20 7b 65 61 67 6c 65 20 63 6f 6d 6d 61  nts {eagle comma
0890: 6e 64 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42 75  nd.object monoBu
08a0: 67 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20  g28 command.sql 
08b0: 63 6f 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c  compile.DATA SQL
08c0: 69 74 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74  ite\..System.Dat
08d0: 61 2e 53 51 4c 69 74 65 7d 20 2d 72 65 73 75 6c  a.SQLite} -resul
08e0: 74 20 7b 4f 62 6a 65 63 74 20 7b 7d 7d 7d 0d 0a  t {Object {}}}..
08f0: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
0900: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0910: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0920: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0930: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0940: 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20 7b 74 65  #....runTest {te
0950: 73 74 20 74 6b 74 2d 33 63 30 30 65 63 35 62 35  st tkt-3c00ec5b5
0960: 32 2d 31 2e 33 20 7b 66 61 6c 6c 62 61 63 6b 20  2-1.3 {fallback 
0970: 64 65 66 61 75 6c 74 20 74 79 70 65 73 20 77 2f  default types w/
0980: 6f 20 66 6c 61 67 7d 20 2d 73 65 74 75 70 20 7b  o flag} -setup {
0990: 0d 0a 20 20 73 65 74 75 70 44 62 20 5b 73 65 74  ..  setupDb [set
09a0: 20 66 69 6c 65 4e 61 6d 65 20 74 6b 74 2d 33 63   fileName tkt-3c
09b0: 30 30 65 63 35 62 35 32 2d 31 2e 33 2e 64 62 5d  00ec5b52-1.3.db]
09c0: 0d 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73  ..} -body {..  s
09d0: 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 67  et connection [g
09e0: 65 74 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 5d 0d  etDbConnection].
09f0: 0a 20 20 73 65 74 20 72 65 73 75 6c 74 20 5b 6c  .  set result [l
0a00: 69 73 74 5d 0d 0a 0d 0a 20 20 6c 61 70 70 65 6e  ist]....  lappen
0a10: 64 20 72 65 73 75 6c 74 20 5b 6f 62 6a 65 63 74  d result [object
0a20: 20 69 6e 76 6f 6b 65 20 2d 66 6c 61 67 73 20 2b   invoke -flags +
0a30: 4e 6f 6e 50 75 62 6c 69 63 20 5c 0d 0a 20 20 20  NonPublic \..   
0a40: 20 20 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53     System.Data.S
0a50: 51 4c 69 74 65 2e 53 51 4c 69 74 65 43 6f 6e 76  QLite.SQLiteConv
0a60: 65 72 74 20 54 79 70 65 4e 61 6d 65 54 6f 44 62  ert TypeNameToDb
0a70: 54 79 70 65 20 24 63 6f 6e 6e 65 63 74 69 6f 6e  Type $connection
0a80: 20 22 22 20 4e 6f 6e 65 5d 0d 0a 0d 0a 20 20 6c   "" None]....  l
0a90: 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 5b 6f  append result [o
0aa0: 62 6a 65 63 74 20 69 6e 76 6f 6b 65 20 2d 66 6c  bject invoke -fl
0ab0: 61 67 73 20 2b 4e 6f 6e 50 75 62 6c 69 63 20 5c  ags +NonPublic \
0ac0: 0d 0a 20 20 20 20 20 20 53 79 73 74 65 6d 2e 44  ..      System.D
0ad0: 61 74 61 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74  ata.SQLite.SQLit
0ae0: 65 43 6f 6e 76 65 72 74 20 44 62 54 79 70 65 54  eConvert DbTypeT
0af0: 6f 54 79 70 65 4e 61 6d 65 20 24 63 6f 6e 6e 65  oTypeName $conne
0b00: 63 74 69 6f 6e 20 4f 62 6a 65 63 74 20 4e 6f 6e  ction Object Non
0b10: 65 5d 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73 75  e]....  set resu
0b20: 6c 74 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20 7b  lt..} -cleanup {
0b30: 0d 0a 20 20 66 72 65 65 44 62 43 6f 6e 6e 65 63  ..  freeDbConnec
0b40: 74 69 6f 6e 0d 0a 0d 0a 20 20 75 6e 73 65 74 20  tion....  unset 
0b50: 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 72 65 73 75  -nocomplain resu
0b60: 6c 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d  lt connection...
0b70: 0a 20 20 63 6c 65 61 6e 75 70 44 62 20 24 66 69  .  cleanupDb $fi
0b80: 6c 65 4e 61 6d 65 0d 0a 0d 0a 20 20 75 6e 73 65  leName....  unse
0b90: 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 64 62  t -nocomplain db
0ba0: 20 66 69 6c 65 4e 61 6d 65 0d 0a 7d 20 2d 63 6f   fileName..} -co
0bb0: 6e 73 74 72 61 69 6e 74 73 20 7b 65 61 67 6c 65  nstraints {eagle
0bc0: 20 63 6f 6d 6d 61 6e 64 2e 6f 62 6a 65 63 74 20   command.object 
0bd0: 6d 6f 6e 6f 42 75 67 32 38 20 63 6f 6d 6d 61 6e  monoBug28 comman
0be0: 64 2e 73 71 6c 20 63 6f 6d 70 69 6c 65 2e 44 41  d.sql compile.DA
0bf0: 54 41 20 53 51 4c 69 74 65 5c 0d 0a 53 79 73 74  TA SQLite\..Syst
0c00: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 7d 20  em.Data.SQLite} 
0c10: 2d 72 65 73 75 6c 74 20 7b 4f 62 6a 65 63 74 20  -result {Object 
0c20: 7b 7d 7d 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23  {}}}....########
0c30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0c70: 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65  #######....runTe
0c80: 73 74 20 7b 74 65 73 74 20 74 6b 74 2d 33 63 30  st {test tkt-3c0
0c90: 30 65 63 35 62 35 32 2d 31 2e 34 20 7b 64 65 66  0ec5b52-1.4 {def
0ca0: 61 75 6c 74 20 74 79 70 65 73 2c 20 76 69 61 20  ault types, via 
0cb0: 65 6e 76 69 72 6f 6e 6d 65 6e 74 7d 20 2d 73 65  environment} -se
0cc0: 74 75 70 20 7b 0d 0a 20 20 73 61 76 65 53 51 4c  tup {..  saveSQL
0cd0: 69 74 65 43 6f 6e 76 65 72 74 45 6e 76 69 72 6f  iteConvertEnviro
0ce0: 6e 6d 65 6e 74 0d 0a 0d 0a 20 20 73 65 74 20 65  nment....  set e
0cf0: 6e 76 28 55 73 65 5f 53 51 4c 69 74 65 43 6f 6e  nv(Use_SQLiteCon
0d00: 76 65 72 74 5f 44 65 66 61 75 6c 74 44 62 54 79  vert_DefaultDbTy
0d10: 70 65 29 20 53 74 72 69 6e 67 0d 0a 20 20 73 65  pe) String..  se
0d20: 74 20 65 6e 76 28 55 73 65 5f 53 51 4c 69 74 65  t env(Use_SQLite
0d30: 43 6f 6e 76 65 72 74 5f 44 65 66 61 75 6c 74 54  Convert_DefaultT
0d40: 79 70 65 4e 61 6d 65 29 20 54 45 58 54 0d 0a 0d  ypeName) TEXT...
0d50: 0a 20 20 73 65 74 75 70 44 62 20 5b 73 65 74 20  .  setupDb [set 
0d60: 66 69 6c 65 4e 61 6d 65 20 74 6b 74 2d 33 63 30  fileName tkt-3c0
0d70: 30 65 63 35 62 35 32 2d 31 2e 34 2e 64 62 5d 0d  0ec5b52-1.4.db].
0d80: 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 65  .} -body {..  se
0d90: 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 67 65  t connection [ge
0da0: 74 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 5d 0d 0a  tDbConnection]..
0db0: 20 20 73 65 74 20 72 65 73 75 6c 74 20 5b 6c 69    set result [li
0dc0: 73 74 5d 0d 0a 0d 0a 20 20 6c 61 70 70 65 6e 64  st]....  lappend
0dd0: 20 72 65 73 75 6c 74 20 5b 6f 62 6a 65 63 74 20   result [object 
0de0: 69 6e 76 6f 6b 65 20 2d 66 6c 61 67 73 20 2b 4e  invoke -flags +N
0df0: 6f 6e 50 75 62 6c 69 63 20 5c 0d 0a 20 20 20 20  onPublic \..    
0e00: 20 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51    System.Data.SQ
0e10: 4c 69 74 65 2e 53 51 4c 69 74 65 43 6f 6e 76 65  Lite.SQLiteConve
0e20: 72 74 20 54 79 70 65 4e 61 6d 65 54 6f 44 62 54  rt TypeNameToDbT
0e30: 79 70 65 20 24 63 6f 6e 6e 65 63 74 69 6f 6e 20  ype $connection 
0e40: 22 22 20 4e 6f 6e 65 5d 0d 0a 0d 0a 20 20 6c 61  "" None]....  la
0e50: 70 70 65 6e 64 20 72 65 73 75 6c 74 20 5b 6f 62  ppend result [ob
0e60: 6a 65 63 74 20 69 6e 76 6f 6b 65 20 2d 66 6c 61  ject invoke -fla
0e70: 67 73 20 2b 4e 6f 6e 50 75 62 6c 69 63 20 5c 0d  gs +NonPublic \.
0e80: 0a 20 20 20 20 20 20 53 79 73 74 65 6d 2e 44 61  .      System.Da
0e90: 74 61 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74 65  ta.SQLite.SQLite
0ea0: 43 6f 6e 76 65 72 74 20 44 62 54 79 70 65 54 6f  Convert DbTypeTo
0eb0: 54 79 70 65 4e 61 6d 65 20 24 63 6f 6e 6e 65 63  TypeName $connec
0ec0: 74 69 6f 6e 20 4f 62 6a 65 63 74 20 4e 6f 6e 65  tion Object None
0ed0: 5d 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73 75 6c  ]....  set resul
0ee0: 74 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d  t..} -cleanup {.
0ef0: 0a 20 20 66 72 65 65 44 62 43 6f 6e 6e 65 63 74  .  freeDbConnect
0f00: 69 6f 6e 0d 0a 0d 0a 20 20 75 6e 73 65 74 20 2d  ion....  unset -
0f10: 6e 6f 63 6f 6d 70 6c 61 69 6e 20 72 65 73 75 6c  nocomplain resul
0f20: 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d 0a  t connection....
0f30: 20 20 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c    cleanupDb $fil
0f40: 65 4e 61 6d 65 0d 0a 20 20 72 65 73 74 6f 72 65  eName..  restore
0f50: 53 51 4c 69 74 65 43 6f 6e 76 65 72 74 45 6e 76  SQLiteConvertEnv
0f60: 69 72 6f 6e 6d 65 6e 74 0d 0a 0d 0a 20 20 75 6e  ironment....  un
0f70: 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20  set -nocomplain 
0f80: 64 62 20 66 69 6c 65 4e 61 6d 65 20 73 61 76 65  db fileName save
0f90: 64 45 6e 76 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61  dEnv..} -constra
0fa0: 69 6e 74 73 20 7b 65 61 67 6c 65 20 63 6f 6d 6d  ints {eagle comm
0fb0: 61 6e 64 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42  and.object monoB
0fc0: 75 67 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c  ug28 command.sql
0fd0: 20 63 6f 6d 70 69 6c 65 2e 44 41 54 41 20 53 51   compile.DATA SQ
0fe0: 4c 69 74 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61  Lite\..System.Da
0ff0: 74 61 2e 53 51 4c 69 74 65 7d 20 2d 72 65 73 75  ta.SQLite} -resu
1000: 6c 74 20 7b 53 74 72 69 6e 67 20 54 45 58 54 7d  lt {String TEXT}
1010: 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  }....###########
1020: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1030: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1040: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1050: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1060: 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20  ####....runTest 
1070: 7b 74 65 73 74 20 74 6b 74 2d 33 63 30 30 65 63  {test tkt-3c00ec
1080: 35 62 35 32 2d 31 2e 35 20 7b 64 65 66 61 75 6c  5b52-1.5 {defaul
1090: 74 20 74 79 70 65 73 2c 20 77 69 74 68 20 75 6e  t types, with un
10a0: 69 71 75 65 20 69 6e 64 65 78 7d 20 2d 73 65 74  ique index} -set
10b0: 75 70 20 7b 0d 0a 20 20 73 61 76 65 53 51 4c 69  up {..  saveSQLi
10c0: 74 65 43 6f 6e 76 65 72 74 45 6e 76 69 72 6f 6e  teConvertEnviron
10d0: 6d 65 6e 74 0d 0a 0d 0a 20 20 73 65 74 20 65 6e  ment....  set en
10e0: 76 28 55 73 65 5f 53 51 4c 69 74 65 43 6f 6e 76  v(Use_SQLiteConv
10f0: 65 72 74 5f 44 65 66 61 75 6c 74 44 62 54 79 70  ert_DefaultDbTyp
1100: 65 29 20 53 74 72 69 6e 67 0d 0a 20 20 73 65 74  e) String..  set
1110: 20 65 6e 76 28 55 73 65 5f 53 51 4c 69 74 65 43   env(Use_SQLiteC
1120: 6f 6e 76 65 72 74 5f 44 65 66 61 75 6c 74 54 79  onvert_DefaultTy
1130: 70 65 4e 61 6d 65 29 20 54 45 58 54 0d 0a 0d 0a  peName) TEXT....
1140: 20 20 73 65 74 75 70 44 62 20 5b 73 65 74 20 66    setupDb [set f
1150: 69 6c 65 4e 61 6d 65 20 74 6b 74 2d 33 63 30 30  ileName tkt-3c00
1160: 65 63 35 62 35 32 2d 31 2e 35 2e 64 62 5d 0d 0a  ec5b52-1.5.db]..
1170: 7d 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 71 6c  } -body {..  sql
1180: 20 65 78 65 63 75 74 65 20 24 64 62 20 22 43 52   execute $db "CR
1190: 45 41 54 45 20 54 41 42 4c 45 20 74 31 28 78 20  EATE TABLE t1(x 
11a0: 55 4e 49 51 55 45 29 3b 22 0d 0a 0d 0a 20 20 73  UNIQUE);"....  s
11b0: 65 74 20 63 6f 6e 6e 65 63 74 69 6f 6e 20 5b 67  et connection [g
11c0: 65 74 44 62 43 6f 6e 6e 65 63 74 69 6f 6e 5d 0d  etDbConnection].
11d0: 0a 20 20 73 65 74 20 64 61 74 61 54 61 62 6c 65  .  set dataTable
11e0: 20 5b 24 63 6f 6e 6e 65 63 74 69 6f 6e 20 2d 61   [$connection -a
11f0: 6c 69 61 73 20 47 65 74 53 63 68 65 6d 61 20 49  lias GetSchema I
1200: 4e 44 45 58 45 53 5d 0d 0a 20 20 73 65 74 20 72  NDEXES]..  set r
1210: 65 73 75 6c 74 73 20 5b 6c 69 73 74 5d 0d 0a 0d  esults [list]...
1220: 0a 20 20 6f 62 6a 65 63 74 20 66 6f 72 65 61 63  .  object foreac
1230: 68 20 2d 61 6c 69 61 73 20 64 61 74 61 52 6f 77  h -alias dataRow
1240: 20 5b 73 65 74 20 64 61 74 61 52 6f 77 73 20 5b   [set dataRows [
1250: 24 64 61 74 61 54 61 62 6c 65 20 2d 61 6c 69 61  $dataTable -alia
1260: 73 20 52 6f 77 73 5d 5d 20 7b 0d 0a 20 20 20 20  s Rows]] {..    
1270: 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74 73 20  lappend results 
1280: 5b 6c 69 73 74 20 5b 24 64 61 74 61 52 6f 77 20  [list [$dataRow 
1290: 49 74 65 6d 20 54 41 42 4c 45 5f 4e 41 4d 45 5d  Item TABLE_NAME]
12a0: 20 5c 0d 0a 20 20 20 20 20 20 20 20 5b 24 64 61   \..        [$da
12b0: 74 61 52 6f 77 20 49 74 65 6d 20 49 4e 44 45 58  taRow Item INDEX
12c0: 5f 4e 41 4d 45 5d 20 5b 24 64 61 74 61 52 6f 77  _NAME] [$dataRow
12d0: 20 49 74 65 6d 20 55 4e 49 51 55 45 5d 5d 0d 0a   Item UNIQUE]]..
12e0: 20 20 7d 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73    }....  set res
12f0: 75 6c 74 73 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70  ults..} -cleanup
1300: 20 7b 0d 0a 20 20 66 72 65 65 44 62 43 6f 6e 6e   {..  freeDbConn
1310: 65 63 74 69 6f 6e 0d 0a 0d 0a 20 20 75 6e 73 65  ection....  unse
1320: 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 72 65  t -nocomplain re
1330: 73 75 6c 74 73 20 64 61 74 61 52 6f 77 20 64 61  sults dataRow da
1340: 74 61 52 6f 77 73 20 64 61 74 61 54 61 62 6c 65  taRows dataTable
1350: 20 63 6f 6e 6e 65 63 74 69 6f 6e 0d 0a 0d 0a 20   connection.... 
1360: 20 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c 65   cleanupDb $file
1370: 4e 61 6d 65 0d 0a 20 20 72 65 73 74 6f 72 65 53  Name..  restoreS
1380: 51 4c 69 74 65 43 6f 6e 76 65 72 74 45 6e 76 69  QLiteConvertEnvi
1390: 72 6f 6e 6d 65 6e 74 0d 0a 0d 0a 20 20 75 6e 73  ronment....  uns
13a0: 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 64  et -nocomplain d
13b0: 62 20 66 69 6c 65 4e 61 6d 65 20 73 61 76 65 64  b fileName saved
13c0: 45 6e 76 0d 0a 7d 20 2d 63 6f 6e 73 74 72 61 69  Env..} -constrai
13d0: 6e 74 73 20 7b 65 61 67 6c 65 20 63 6f 6d 6d 61  nts {eagle comma
13e0: 6e 64 2e 6f 62 6a 65 63 74 20 6d 6f 6e 6f 42 75  nd.object monoBu
13f0: 67 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20  g28 command.sql 
1400: 63 6f 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c  compile.DATA SQL
1410: 69 74 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74  ite\..System.Dat
1420: 61 2e 53 51 4c 69 74 65 7d 20 2d 72 65 73 75 6c  a.SQLite} -resul
1430: 74 20 7b 7b 74 31 20 73 71 6c 69 74 65 5f 61 75  t {{t1 sqlite_au
1440: 74 6f 69 6e 64 65 78 5f 74 31 5f 31 20 54 72 75  toindex_t1_1 Tru
1450: 65 7d 7d 7d 0d 0a 0d 0a 23 23 23 23 23 23 23 23  e}}}....########
1460: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
14a0: 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e 53 51  #######....runSQ
14b0: 4c 69 74 65 54 65 73 74 45 70 69 6c 6f 67 75 65  LiteTestEpilogue
14c0: 0d 0a 72 75 6e 54 65 73 74 45 70 69 6c 6f 67 75  ..runTestEpilogu
14d0: 65 0d 0a                                         e..