System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact fc37ea5395f87a18850a7506f3b704a1bba5feaa:


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 37 31 62 65 64 61  .#..# tkt-71beda
0060: 63 61 31 39 2e 65 61 67 6c 65 20 2d 2d 0d 0a 23  ca19.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 37  Test {test tkt-7
0280: 31 62 65 64 61 63 61 31 39 2d 31 2e 31 20 7b 53  1bedaca19-1.1 {S
0290: 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65 20 6e  QLiteErrorCode n
02a0: 61 6d 65 73 20 61 6e 64 20 76 61 6c 75 65 73 7d  ames and values}
02b0: 20 2d 73 65 74 75 70 20 7b 0d 0a 20 20 6f 62 6a   -setup {..  obj
02c0: 65 63 74 20 69 6d 70 6f 72 74 20 53 79 73 74 65  ect import Syste
02d0: 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 0d 0a 7d  m.Data.SQLite..}
02e0: 20 2d 62 6f 64 79 20 7b 0d 0a 20 20 73 65 74 20   -body {..  set 
02f0: 72 65 73 75 6c 74 20 5b 6c 69 73 74 5d 0d 0a 0d  result [list]...
0300: 0a 20 20 66 6f 72 65 61 63 68 20 6e 61 6d 65 20  .  foreach name 
0310: 5b 6c 73 6f 72 74 20 5b 6f 62 6a 65 63 74 20 69  [lsort [object i
0320: 6e 76 6f 6b 65 20 45 6e 75 6d 20 47 65 74 4e 61  nvoke Enum GetNa
0330: 6d 65 73 20 53 51 4c 69 74 65 45 72 72 6f 72 43  mes SQLiteErrorC
0340: 6f 64 65 5d 5d 20 7b 0d 0a 20 20 20 20 69 66 20  ode]] {..    if 
0350: 7b 24 6e 61 6d 65 20 6e 69 20 5b 6c 69 73 74 20  {$name ni [list 
0360: 4e 6f 6e 45 78 74 65 6e 64 65 64 4d 61 73 6b 20  NonExtendedMask 
0370: 55 6e 6b 6e 6f 77 6e 5d 7d 20 74 68 65 6e 20 7b  Unknown]} then {
0380: 0d 0a 20 20 20 20 20 20 73 65 74 20 63 6f 6e 76  ..      set conv
0390: 65 72 74 69 62 6c 65 20 5b 6f 62 6a 65 63 74 20  ertible [object 
03a0: 69 6e 76 6f 6b 65 20 2d 63 72 65 61 74 65 20 2d  invoke -create -
03b0: 61 6c 69 61 73 20 5c 0d 0a 20 20 20 20 20 20 20  alias \..       
03c0: 20 20 20 2d 66 6c 61 67 73 20 7b 3a 53 74 61 74     -flags {:Stat
03d0: 69 63 20 50 75 62 6c 69 63 20 47 65 74 46 69 65  ic Public GetFie
03e0: 6c 64 7d 20 2d 72 65 74 75 72 6e 74 79 70 65 20  ld} -returntype 
03f0: 49 43 6f 6e 76 65 72 74 69 62 6c 65 20 5c 0d 0a  IConvertible \..
0400: 20 20 20 20 20 20 20 20 20 20 53 51 4c 69 74 65            SQLite
0410: 45 72 72 6f 72 43 6f 64 65 20 24 6e 61 6d 65 5d  ErrorCode $name]
0420: 0d 0a 0d 0a 20 20 20 20 20 20 6c 61 70 70 65 6e  ....      lappen
0430: 64 20 72 65 73 75 6c 74 20 5b 6c 69 73 74 20 24  d result [list $
0440: 6e 61 6d 65 20 5b 24 63 6f 6e 76 65 72 74 69 62  name [$convertib
0450: 6c 65 20 54 6f 55 49 6e 74 36 34 20 6e 75 6c 6c  le ToUInt64 null
0460: 5d 5d 0d 0a 20 20 20 20 7d 0d 0a 20 20 7d 0d 0a  ]]..    }..  }..
0470: 0d 0a 20 20 6a 6f 69 6e 20 24 72 65 73 75 6c 74  ..  join $result
0480: 20 5c 6e 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20   \n..} -cleanup 
0490: 7b 0d 0a 20 20 6f 62 6a 65 63 74 20 75 6e 69 6d  {..  object unim
04a0: 70 6f 72 74 20 2d 69 6d 70 6f 72 74 70 61 74 74  port -importpatt
04b0: 65 72 6e 20 53 79 73 74 65 6d 2e 44 61 74 61 2e  ern System.Data.
04c0: 53 51 4c 69 74 65 0d 0a 0d 0a 20 20 75 6e 73 65  SQLite....  unse
04d0: 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 72 65  t -nocomplain re
04e0: 73 75 6c 74 20 63 6f 6e 76 65 72 74 69 62 6c 65  sult convertible
04f0: 20 6e 61 6d 65 0d 0a 7d 20 2d 63 6f 6e 73 74 72   name..} -constr
0500: 61 69 6e 74 73 20 7b 65 61 67 6c 65 20 63 6f 6d  aints {eagle com
0510: 6d 61 6e 64 2e 6f 62 6a 65 63 74 20 53 79 73 74  mand.object Syst
0520: 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74 65 7d 20  em.Data.SQLite} 
0530: 2d 72 65 73 75 6c 74 20 7b 41 62 6f 72 74 20 34  -result {Abort 4
0540: 0d 0a 41 62 6f 72 74 5f 52 6f 6c 6c 62 61 63 6b  ..Abort_Rollback
0550: 20 35 31 36 0d 0a 41 75 74 68 20 32 33 0d 0a 41   516..Auth 23..A
0560: 75 74 68 5f 55 73 65 72 20 32 37 39 0d 0a 42 75  uth_User 279..Bu
0570: 73 79 20 35 0d 0a 42 75 73 79 5f 52 65 63 6f 76  sy 5..Busy_Recov
0580: 65 72 79 20 32 36 31 0d 0a 42 75 73 79 5f 53 6e  ery 261..Busy_Sn
0590: 61 70 73 68 6f 74 20 35 31 37 0d 0a 43 61 6e 74  apshot 517..Cant
05a0: 4f 70 65 6e 20 31 34 0d 0a 43 61 6e 74 4f 70 65  Open 14..CantOpe
05b0: 6e 5f 43 6f 6e 76 50 61 74 68 20 31 30 33 38 0d  n_ConvPath 1038.
05c0: 0a 43 61 6e 74 4f 70 65 6e 5f 46 75 6c 6c 50 61  .CantOpen_FullPa
05d0: 74 68 20 37 38 32 0d 0a 43 61 6e 74 4f 70 65 6e  th 782..CantOpen
05e0: 5f 49 73 44 69 72 20 35 32 36 0d 0a 43 61 6e 74  _IsDir 526..Cant
05f0: 4f 70 65 6e 5f 4e 6f 54 65 6d 70 44 69 72 20 32  Open_NoTempDir 2
0600: 37 30 0d 0a 43 6f 6e 73 74 72 61 69 6e 74 20 31  70..Constraint 1
0610: 39 0d 0a 43 6f 6e 73 74 72 61 69 6e 74 5f 43 68  9..Constraint_Ch
0620: 65 63 6b 20 32 37 35 0d 0a 43 6f 6e 73 74 72 61  eck 275..Constra
0630: 69 6e 74 5f 43 6f 6d 6d 69 74 48 6f 6f 6b 20 35  int_CommitHook 5
0640: 33 31 0d 0a 43 6f 6e 73 74 72 61 69 6e 74 5f 46  31..Constraint_F
0650: 6f 72 65 69 67 6e 4b 65 79 20 37 38 37 0d 0a 43  oreignKey 787..C
0660: 6f 6e 73 74 72 61 69 6e 74 5f 46 75 6e 63 74 69  onstraint_Functi
0670: 6f 6e 20 31 30 34 33 0d 0a 43 6f 6e 73 74 72 61  on 1043..Constra
0680: 69 6e 74 5f 4e 6f 74 4e 75 6c 6c 20 31 32 39 39  int_NotNull 1299
0690: 0d 0a 43 6f 6e 73 74 72 61 69 6e 74 5f 50 72 69  ..Constraint_Pri
06a0: 6d 61 72 79 4b 65 79 20 31 35 35 35 0d 0a 43 6f  maryKey 1555..Co
06b0: 6e 73 74 72 61 69 6e 74 5f 52 6f 77 49 64 20 32  nstraint_RowId 2
06c0: 35 37 39 0d 0a 43 6f 6e 73 74 72 61 69 6e 74 5f  579..Constraint_
06d0: 54 72 69 67 67 65 72 20 31 38 31 31 0d 0a 43 6f  Trigger 1811..Co
06e0: 6e 73 74 72 61 69 6e 74 5f 55 6e 69 71 75 65 20  nstraint_Unique 
06f0: 32 30 36 37 0d 0a 43 6f 6e 73 74 72 61 69 6e 74  2067..Constraint
0700: 5f 56 74 61 62 20 32 33 32 33 0d 0a 43 6f 72 72  _Vtab 2323..Corr
0710: 75 70 74 20 31 31 0d 0a 43 6f 72 72 75 70 74 5f  upt 11..Corrupt_
0720: 53 65 71 75 65 6e 63 65 20 35 32 33 0d 0a 43 6f  Sequence 523..Co
0730: 72 72 75 70 74 5f 56 74 61 62 20 32 36 37 0d 0a  rrupt_Vtab 267..
0740: 44 6f 6e 65 20 31 30 31 0d 0a 45 6d 70 74 79 20  Done 101..Empty 
0750: 31 36 0d 0a 45 72 72 6f 72 20 31 0d 0a 45 72 72  16..Error 1..Err
0760: 6f 72 5f 4d 69 73 73 69 6e 67 5f 43 6f 6c 6c 53  or_Missing_CollS
0770: 65 71 20 32 35 37 0d 0a 45 72 72 6f 72 5f 52 65  eq 257..Error_Re
0780: 74 72 79 20 35 31 33 0d 0a 46 6f 72 6d 61 74 20  try 513..Format 
0790: 32 34 0d 0a 46 75 6c 6c 20 31 33 0d 0a 49 6e 74  24..Full 13..Int
07a0: 65 72 6e 61 6c 20 32 0d 0a 49 6e 74 65 72 72 75  ernal 2..Interru
07b0: 70 74 20 39 0d 0a 49 6f 45 72 72 20 31 30 0d 0a  pt 9..IoErr 10..
07c0: 49 6f 45 72 72 5f 41 63 63 65 73 73 20 33 33 33  IoErr_Access 333
07d0: 38 0d 0a 49 6f 45 72 72 5f 41 75 74 68 20 37 31  8..IoErr_Auth 71
07e0: 37 38 0d 0a 49 6f 45 72 72 5f 42 65 67 69 6e 5f  78..IoErr_Begin_
07f0: 41 74 6f 6d 69 63 20 37 34 33 34 0d 0a 49 6f 45  Atomic 7434..IoE
0800: 72 72 5f 42 6c 6f 63 6b 65 64 20 32 38 32 36 0d  rr_Blocked 2826.
0810: 0a 49 6f 45 72 72 5f 43 68 65 63 6b 52 65 73 65  .IoErr_CheckRese
0820: 72 76 65 64 4c 6f 63 6b 20 33 35 39 34 0d 0a 49  rvedLock 3594..I
0830: 6f 45 72 72 5f 43 6c 6f 73 65 20 34 31 30 36 0d  oErr_Close 4106.
0840: 0a 49 6f 45 72 72 5f 43 6f 6d 6d 69 74 5f 41 74  .IoErr_Commit_At
0850: 6f 6d 69 63 20 37 36 39 30 0d 0a 49 6f 45 72 72  omic 7690..IoErr
0860: 5f 43 6f 6e 76 50 61 74 68 20 36 36 36 36 0d 0a  _ConvPath 6666..
0870: 49 6f 45 72 72 5f 44 65 6c 65 74 65 20 32 35 37  IoErr_Delete 257
0880: 30 0d 0a 49 6f 45 72 72 5f 44 65 6c 65 74 65 5f  0..IoErr_Delete_
0890: 4e 6f 45 6e 74 20 35 38 39 38 0d 0a 49 6f 45 72  NoEnt 5898..IoEr
08a0: 72 5f 44 69 72 5f 43 6c 6f 73 65 20 34 33 36 32  r_Dir_Close 4362
08b0: 0d 0a 49 6f 45 72 72 5f 44 69 72 5f 46 73 79 6e  ..IoErr_Dir_Fsyn
08c0: 63 20 31 32 39 30 0d 0a 49 6f 45 72 72 5f 46 73  c 1290..IoErr_Fs
08d0: 74 61 74 20 31 38 30 32 0d 0a 49 6f 45 72 72 5f  tat 1802..IoErr_
08e0: 46 73 79 6e 63 20 31 30 33 34 0d 0a 49 6f 45 72  Fsync 1034..IoEr
08f0: 72 5f 47 65 74 54 65 6d 70 50 61 74 68 20 36 34  r_GetTempPath 64
0900: 31 30 0d 0a 49 6f 45 72 72 5f 4c 6f 63 6b 20 33  10..IoErr_Lock 3
0910: 38 35 30 0d 0a 49 6f 45 72 72 5f 4d 6d 61 70 20  850..IoErr_Mmap 
0920: 36 31 35 34 0d 0a 49 6f 45 72 72 5f 4e 6f 4d 65  6154..IoErr_NoMe
0930: 6d 20 33 30 38 32 0d 0a 49 6f 45 72 72 5f 52 64  m 3082..IoErr_Rd
0940: 4c 6f 63 6b 20 32 33 31 34 0d 0a 49 6f 45 72 72  Lock 2314..IoErr
0950: 5f 52 65 61 64 20 32 36 36 0d 0a 49 6f 45 72 72  _Read 266..IoErr
0960: 5f 52 6f 6c 6c 62 61 63 6b 5f 41 74 6f 6d 69 63  _Rollback_Atomic
0970: 20 37 39 34 36 0d 0a 49 6f 45 72 72 5f 53 65 65   7946..IoErr_See
0980: 6b 20 35 36 34 32 0d 0a 49 6f 45 72 72 5f 53 68  k 5642..IoErr_Sh
0990: 6d 4c 6f 63 6b 20 35 31 33 30 0d 0a 49 6f 45 72  mLock 5130..IoEr
09a0: 72 5f 53 68 6d 4d 61 70 20 35 33 38 36 0d 0a 49  r_ShmMap 5386..I
09b0: 6f 45 72 72 5f 53 68 6d 4f 70 65 6e 20 34 36 31  oErr_ShmOpen 461
09c0: 38 0d 0a 49 6f 45 72 72 5f 53 68 6d 53 69 7a 65  8..IoErr_ShmSize
09d0: 20 34 38 37 34 0d 0a 49 6f 45 72 72 5f 53 68 6f   4874..IoErr_Sho
09e0: 72 74 5f 52 65 61 64 20 35 32 32 0d 0a 49 6f 45  rt_Read 522..IoE
09f0: 72 72 5f 54 72 75 6e 63 61 74 65 20 31 35 34 36  rr_Truncate 1546
0a00: 0d 0a 49 6f 45 72 72 5f 55 6e 6c 6f 63 6b 20 32  ..IoErr_Unlock 2
0a10: 30 35 38 0d 0a 49 6f 45 72 72 5f 56 4e 6f 64 65  058..IoErr_VNode
0a20: 20 36 39 32 32 0d 0a 49 6f 45 72 72 5f 57 72 69   6922..IoErr_Wri
0a30: 74 65 20 37 37 38 0d 0a 4c 6f 63 6b 65 64 20 36  te 778..Locked 6
0a40: 0d 0a 4c 6f 63 6b 65 64 5f 53 68 61 72 65 64 43  ..Locked_SharedC
0a50: 61 63 68 65 20 32 36 32 0d 0a 4c 6f 63 6b 65 64  ache 262..Locked
0a60: 5f 56 74 61 62 20 35 31 38 0d 0a 4d 69 73 6d 61  _Vtab 518..Misma
0a70: 74 63 68 20 32 30 0d 0a 4d 69 73 75 73 65 20 32  tch 20..Misuse 2
0a80: 31 0d 0a 4e 6f 4c 66 73 20 32 32 0d 0a 4e 6f 4d  1..NoLfs 22..NoM
0a90: 65 6d 20 37 0d 0a 4e 6f 74 41 44 62 20 32 36 0d  em 7..NotADb 26.
0aa0: 0a 4e 6f 74 46 6f 75 6e 64 20 31 32 0d 0a 4e 6f  .NotFound 12..No
0ab0: 74 69 63 65 20 32 37 0d 0a 4e 6f 74 69 63 65 5f  tice 27..Notice_
0ac0: 52 65 63 6f 76 65 72 5f 52 6f 6c 6c 62 61 63 6b  Recover_Rollback
0ad0: 20 35 33 39 0d 0a 4e 6f 74 69 63 65 5f 52 65 63   539..Notice_Rec
0ae0: 6f 76 65 72 5f 57 61 6c 20 32 38 33 0d 0a 4f 6b  over_Wal 283..Ok
0af0: 20 30 0d 0a 4f 6b 5f 4c 6f 61 64 5f 50 65 72 6d   0..Ok_Load_Perm
0b00: 61 6e 65 6e 74 6c 79 20 32 35 36 0d 0a 50 65 72  anently 256..Per
0b10: 6d 20 33 0d 0a 50 72 6f 74 6f 63 6f 6c 20 31 35  m 3..Protocol 15
0b20: 0d 0a 52 61 6e 67 65 20 32 35 0d 0a 52 65 61 64  ..Range 25..Read
0b30: 4f 6e 6c 79 20 38 0d 0a 52 65 61 64 4f 6e 6c 79  Only 8..ReadOnly
0b40: 5f 43 61 6e 74 49 6e 69 74 20 31 32 38 38 0d 0a  _CantInit 1288..
0b50: 52 65 61 64 4f 6e 6c 79 5f 43 61 6e 74 4c 6f 63  ReadOnly_CantLoc
0b60: 6b 20 35 32 30 0d 0a 52 65 61 64 4f 6e 6c 79 5f  k 520..ReadOnly_
0b70: 44 62 4d 6f 76 65 64 20 31 30 33 32 0d 0a 52 65  DbMoved 1032..Re
0b80: 61 64 4f 6e 6c 79 5f 44 69 72 65 63 74 6f 72 79  adOnly_Directory
0b90: 20 31 35 34 34 0d 0a 52 65 61 64 4f 6e 6c 79 5f   1544..ReadOnly_
0ba0: 52 65 63 6f 76 65 72 79 20 32 36 34 0d 0a 52 65  Recovery 264..Re
0bb0: 61 64 4f 6e 6c 79 5f 52 6f 6c 6c 62 61 63 6b 20  adOnly_Rollback 
0bc0: 37 37 36 0d 0a 52 6f 77 20 31 30 30 0d 0a 53 63  776..Row 100..Sc
0bd0: 68 65 6d 61 20 31 37 0d 0a 54 6f 6f 42 69 67 20  hema 17..TooBig 
0be0: 31 38 0d 0a 57 61 72 6e 69 6e 67 20 32 38 0d 0a  18..Warning 28..
0bf0: 57 61 72 6e 69 6e 67 5f 41 75 74 6f 49 6e 64 65  Warning_AutoInde
0c00: 78 20 32 38 34 7d 7d 0d 0a 0d 0a 23 23 23 23 23  x 284}}....#####
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 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 0d 0a 0d 0a 72 75  ##########....ru
0c60: 6e 53 51 4c 69 74 65 54 65 73 74 45 70 69 6c 6f  nSQLiteTestEpilo
0c70: 67 75 65 0d 0a 72 75 6e 54 65 73 74 45 70 69 6c  gue..runTestEpil
0c80: 6f 67 75 65 0d 0a                                ogue..