System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 15d5746099b8022b48d533e7b8b05977c89334ed:


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 64 61 65 61 66 33  .#..# tkt-daeaf3
0060: 31 35 30 61 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  150a.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 64  Test {test tkt-d
0280: 61 65 61 66 33 31 35 30 61 2d 31 2e 31 20 7b 73  aeaf3150a-1.1 {s
0290: 74 61 74 69 63 20 45 78 65 63 75 74 65 20 63 6f  tatic Execute co
02a0: 6e 6e 65 63 74 69 6f 6e 20 64 69 73 70 6f 73 61  nnection disposa
02b0: 6c 7d 20 2d 73 65 74 75 70 20 7b 0d 0a 20 20 75  l} -setup {..  u
02c0: 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e  nset -nocomplain
02d0: 20 72 65 73 75 6c 74 20 73 71 6c 0d 0a 7d 20 2d   result sql..} -
02e0: 62 6f 64 79 20 7b 0d 0a 20 20 73 65 74 20 73 71  body {..  set sq
02f0: 6c 28 31 29 20 7b 20 5c 0d 0a 20 20 20 20 43 52  l(1) { \..    CR
0300: 45 41 54 45 20 54 41 42 4c 45 20 74 31 28 78 29  EATE TABLE t1(x)
0310: 3b 20 5c 0d 0a 20 20 20 20 49 4e 53 45 52 54 20  ; \..    INSERT 
0320: 49 4e 54 4f 20 74 31 20 28 78 29 20 56 41 4c 55  INTO t1 (x) VALU
0330: 45 53 20 28 4e 55 4c 4c 29 3b 20 5c 0d 0a 20 20  ES (NULL); \..  
0340: 20 20 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20    SELECT x FROM 
0350: 74 31 20 4f 52 44 45 52 20 42 59 20 78 3b 20 5c  t1 ORDER BY x; \
0360: 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 73 65 74 20 73  ..  }....  set s
0370: 71 6c 28 32 29 20 7b 20 5c 0d 0a 20 20 20 20 43  ql(2) { \..    C
0380: 52 45 41 54 45 20 54 41 42 4c 45 20 74 31 28 78  REATE TABLE t1(x
0390: 29 3b 20 5c 0d 0a 20 20 20 20 49 4e 53 45 52 54  ); \..    INSERT
03a0: 20 49 4e 54 4f 20 74 31 20 28 78 29 20 56 41 4c   INTO t1 (x) VAL
03b0: 55 45 53 20 28 3f 29 3b 20 5c 0d 0a 20 20 20 20  UES (?); \..    
03c0: 53 45 4c 45 43 54 20 78 20 46 52 4f 4d 20 74 31  SELECT x FROM t1
03d0: 20 4f 52 44 45 52 20 42 59 20 78 3b 20 5c 0d 0a   ORDER BY x; \..
03e0: 20 20 7d 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73    }....  set res
03f0: 75 6c 74 28 31 29 20 5b 6f 62 6a 65 63 74 20 69  ult(1) [object i
0400: 6e 76 6f 6b 65 20 53 79 73 74 65 6d 2e 44 61 74  nvoke System.Dat
0410: 61 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74 65 43  a.SQLite.SQLiteC
0420: 6f 6d 6d 61 6e 64 20 45 78 65 63 75 74 65 20 5c  ommand Execute \
0430: 0d 0a 20 20 20 20 20 20 22 74 68 69 73 20 77 69  ..      "this wi
0440: 6c 6c 20 6e 6f 74 20 65 78 65 63 75 74 65 22 20  ll not execute" 
0450: 4e 6f 6e 65 20 6e 75 6c 6c 5d 0d 0a 0d 0a 20 20  None null]....  
0460: 73 65 74 20 72 65 73 75 6c 74 28 32 29 20 5b 6f  set result(2) [o
0470: 62 6a 65 63 74 20 69 6e 76 6f 6b 65 20 53 79 73  bject invoke Sys
0480: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
0490: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 45 78  SQLiteCommand Ex
04a0: 65 63 75 74 65 20 5c 0d 0a 20 20 20 20 20 20 24  ecute \..      $
04b0: 73 71 6c 28 31 29 20 4e 6f 6e 51 75 65 72 79 20  sql(1) NonQuery 
04c0: 6e 75 6c 6c 5d 0d 0a 0d 0a 20 20 73 65 74 20 72  null]....  set r
04d0: 65 73 75 6c 74 28 33 29 20 5b 6f 62 6a 65 63 74  esult(3) [object
04e0: 20 69 6e 76 6f 6b 65 20 53 79 73 74 65 6d 2e 44   invoke System.D
04f0: 61 74 61 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74  ata.SQLite.SQLit
0500: 65 43 6f 6d 6d 61 6e 64 20 45 78 65 63 75 74 65  eCommand Execute
0510: 20 5c 0d 0a 20 20 20 20 20 20 24 73 71 6c 28 31   \..      $sql(1
0520: 29 20 53 63 61 6c 61 72 20 6e 75 6c 6c 5d 0d 0a  ) Scalar null]..
0530: 0d 0a 20 20 73 65 74 20 72 65 73 75 6c 74 28 34  ..  set result(4
0540: 29 20 5b 6f 62 6a 65 63 74 20 69 6e 76 6f 6b 65  ) [object invoke
0550: 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c   System.Data.SQL
0560: 69 74 65 2e 53 51 4c 69 74 65 43 6f 6d 6d 61 6e  ite.SQLiteComman
0570: 64 20 45 78 65 63 75 74 65 20 5c 0d 0a 20 20 20  d Execute \..   
0580: 20 20 20 24 73 71 6c 28 31 29 20 52 65 61 64 65     $sql(1) Reade
0590: 72 20 6e 75 6c 6c 5d 0d 0a 0d 0a 20 20 6f 62 6a  r null]....  obj
05a0: 65 63 74 20 69 6e 76 6f 6b 65 20 24 72 65 73 75  ect invoke $resu
05b0: 6c 74 28 34 29 20 52 65 61 64 3b 20 6f 62 6a 65  lt(4) Read; obje
05c0: 63 74 20 69 6e 76 6f 6b 65 20 24 72 65 73 75 6c  ct invoke $resul
05d0: 74 28 34 29 20 43 6c 6f 73 65 0d 0a 0d 0a 20 20  t(4) Close....  
05e0: 73 65 74 20 72 65 73 75 6c 74 28 35 29 20 5b 6f  set result(5) [o
05f0: 62 6a 65 63 74 20 69 6e 76 6f 6b 65 20 53 79 73  bject invoke Sys
0600: 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 2e  tem.Data.SQLite.
0610: 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 45 78  SQLiteCommand Ex
0620: 65 63 75 74 65 20 5c 0d 0a 20 20 20 20 20 20 22  ecute \..      "
0630: 74 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 65 78  this will not ex
0640: 65 63 75 74 65 22 20 4e 6f 6e 65 20 6e 75 6c 6c  ecute" None null
0650: 20 31 5d 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73   1]....  set res
0660: 75 6c 74 28 36 29 20 5b 6f 62 6a 65 63 74 20 69  ult(6) [object i
0670: 6e 76 6f 6b 65 20 53 79 73 74 65 6d 2e 44 61 74  nvoke System.Dat
0680: 61 2e 53 51 4c 69 74 65 2e 53 51 4c 69 74 65 43  a.SQLite.SQLiteC
0690: 6f 6d 6d 61 6e 64 20 45 78 65 63 75 74 65 20 5c  ommand Execute \
06a0: 0d 0a 20 20 20 20 20 20 24 73 71 6c 28 32 29 20  ..      $sql(2) 
06b0: 4e 6f 6e 51 75 65 72 79 20 6e 75 6c 6c 20 31 5d  NonQuery null 1]
06c0: 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73 75 6c 74  ....  set result
06d0: 28 37 29 20 5b 6f 62 6a 65 63 74 20 69 6e 76 6f  (7) [object invo
06e0: 6b 65 20 53 79 73 74 65 6d 2e 44 61 74 61 2e 53  ke System.Data.S
06f0: 51 4c 69 74 65 2e 53 51 4c 69 74 65 43 6f 6d 6d  QLite.SQLiteComm
0700: 61 6e 64 20 45 78 65 63 75 74 65 20 5c 0d 0a 20  and Execute \.. 
0710: 20 20 20 20 20 24 73 71 6c 28 32 29 20 53 63 61       $sql(2) Sca
0720: 6c 61 72 20 6e 75 6c 6c 20 31 5d 0d 0a 0d 0a 20  lar null 1].... 
0730: 20 73 65 74 20 72 65 73 75 6c 74 28 38 29 20 5b   set result(8) [
0740: 6f 62 6a 65 63 74 20 69 6e 76 6f 6b 65 20 53 79  object invoke Sy
0750: 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65  stem.Data.SQLite
0760: 2e 53 51 4c 69 74 65 43 6f 6d 6d 61 6e 64 20 45  .SQLiteCommand E
0770: 78 65 63 75 74 65 20 5c 0d 0a 20 20 20 20 20 20  xecute \..      
0780: 24 73 71 6c 28 32 29 20 52 65 61 64 65 72 20 6e  $sql(2) Reader n
0790: 75 6c 6c 20 31 5d 0d 0a 0d 0a 20 20 6c 69 73 74  ull 1]....  list
07a0: 20 24 72 65 73 75 6c 74 28 31 29 20 24 72 65 73   $result(1) $res
07b0: 75 6c 74 28 32 29 20 24 72 65 73 75 6c 74 28 33  ult(2) $result(3
07c0: 29 20 24 72 65 73 75 6c 74 28 34 29 20 24 72 65  ) $result(4) $re
07d0: 73 75 6c 74 28 35 29 20 24 72 65 73 75 6c 74 28  sult(5) $result(
07e0: 36 29 20 5c 0d 0a 20 20 20 20 20 20 24 72 65 73  6) \..      $res
07f0: 75 6c 74 28 37 29 20 24 72 65 73 75 6c 74 28 38  ult(7) $result(8
0800: 29 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d  )..} -cleanup {.
0810: 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d 70  .  unset -nocomp
0820: 6c 61 69 6e 20 72 65 73 75 6c 74 20 73 71 6c 0d  lain result sql.
0830: 0a 7d 20 2d 63 6f 6e 73 74 72 61 69 6e 74 73 20  .} -constraints 
0840: 7b 65 61 67 6c 65 20 63 6f 6d 6d 61 6e 64 2e 6f  {eagle command.o
0850: 62 6a 65 63 74 20 6d 6f 6e 6f 42 75 67 32 38 20  bject monoBug28 
0860: 53 51 4c 69 74 65 20 53 79 73 74 65 6d 2e 44 61  SQLite System.Da
0870: 74 61 2e 53 51 4c 69 74 65 7d 20 5c 0d 0a 2d 6d  ta.SQLite} \..-m
0880: 61 74 63 68 20 72 65 67 65 78 70 20 2d 72 65 73  atch regexp -res
0890: 75 6c 74 20 7b 5e 5c 7b 5c 7d 20 31 20 53 79 73  ult {^\{\} 1 Sys
08a0: 74 65 6d 23 44 42 4e 75 6c 6c 23 5c 64 2b 5c 0d  tem#DBNull#\d+\.
08b0: 0a 53 79 73 74 65 6d 23 44 61 74 61 23 53 51 4c  .System#Data#SQL
08c0: 69 74 65 23 53 51 4c 69 74 65 44 61 74 61 52 65  ite#SQLiteDataRe
08d0: 61 64 65 72 23 5c 64 2b 20 5c 7b 5c 7d 20 31 20  ader#\d+ \{\} 1 
08e0: 31 5c 0d 0a 53 79 73 74 65 6d 23 44 61 74 61 23  1\..System#Data#
08f0: 53 51 4c 69 74 65 23 53 51 4c 69 74 65 44 61 74  SQLite#SQLiteDat
0900: 61 52 65 61 64 65 72 23 5c 64 2b 24 7d 7d 0d 0a  aReader#\d+$}}..
0910: 0d 0a 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 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0950: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0960: 23 0d 0a 0d 0a 72 75 6e 53 51 4c 69 74 65 54 65  #....runSQLiteTe
0970: 73 74 45 70 69 6c 6f 67 75 65 0d 0a 72 75 6e 54  stEpilogue..runT
0980: 65 73 74 45 70 69 6c 6f 67 75 65 0d 0a           estEpilogue..