System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact 67aa318165a69b2b31067062e58c595ea0f3d28c:


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 73 70 65 65 64 2e 65 61 67 6c  .#..# speed.eagl
0060: 65 20 2d 2d 0d 0a 23 0d 0a 23 20 57 72 69 74 74  e --..#..# Writt
0070: 65 6e 20 62 79 20 4a 6f 65 20 4d 69 73 74 61 63  en by Joe Mistac
0080: 68 6b 69 6e 2e 0d 0a 23 20 52 65 6c 65 61 73 65  hkin...# Release
0090: 64 20 74 6f 20 74 68 65 20 70 75 62 6c 69 63 20  d to the public 
00a0: 64 6f 6d 61 69 6e 2c 20 75 73 65 20 61 74 20 79  domain, use at y
00b0: 6f 75 72 20 6f 77 6e 20 72 69 73 6b 21 0d 0a 23  our own risk!..#
00c0: 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ..##############
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 0d 0a 0d 0a 70 61 63 6b 61 67 65 20 72 65 71  #....package req
0120: 75 69 72 65 20 45 61 67 6c 65 0d 0a 70 61 63 6b  uire Eagle..pack
0130: 61 67 65 20 72 65 71 75 69 72 65 20 45 61 67 6c  age require Eagl
0140: 65 2e 4c 69 62 72 61 72 79 0d 0a 70 61 63 6b 61  e.Library..packa
0150: 67 65 20 72 65 71 75 69 72 65 20 45 61 67 6c 65  ge require Eagle
0160: 2e 54 65 73 74 0d 0a 0d 0a 72 75 6e 54 65 73 74  .Test....runTest
0170: 50 72 6f 6c 6f 67 75 65 0d 0a 0d 0a 23 23 23 23  Prologue....####
0180: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
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 0d 0a 0d 0a 70  ###########....p
01d0: 61 63 6b 61 67 65 20 72 65 71 75 69 72 65 20 53  ackage require S
01e0: 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69 74  ystem.Data.SQLit
01f0: 65 2e 54 65 73 74 0d 0a 72 75 6e 53 51 4c 69 74  e.Test..runSQLit
0200: 65 54 65 73 74 50 72 6f 6c 6f 67 75 65 0d 0a 0d  eTestPrologue...
0210: 0a 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  .###############
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: 0d 0a 0d 0a 73 65 74 20 74 69 6d 65 73 20 5b 6c  ....set times [l
0270: 69 73 74 5d 0d 0a 0d 0a 23 23 23 23 23 23 23 23  ist]....########
0280: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0290: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
02c0: 23 23 23 23 23 23 23 0d 0a 0d 0a 23 0d 0a 23 20  #######....#..# 
02d0: 4e 4f 54 45 3a 20 52 65 70 6f 72 74 20 62 65 66  NOTE: Report bef
02e0: 6f 72 65 20 74 65 73 74 2c 20 62 65 66 6f 72 65  ore test, before
02f0: 20 73 68 75 74 64 6f 77 6e 2e 0d 0a 23 0d 0a 63   shutdown...#..c
0300: 68 65 63 6b 46 6f 72 53 51 4c 69 74 65 44 69 72  heckForSQLiteDir
0310: 65 63 74 6f 72 69 65 73 20 24 74 65 73 74 5f 63  ectories $test_c
0320: 68 61 6e 6e 65 6c 0d 0a 67 65 74 53 51 4c 69 74  hannel..getSQLit
0330: 65 48 61 6e 64 6c 65 43 6f 75 6e 74 73 20 24 74  eHandleCounts $t
0340: 65 73 74 5f 63 68 61 6e 6e 65 6c 0d 0a 72 65 70  est_channel..rep
0350: 6f 72 74 53 51 4c 69 74 65 52 65 73 6f 75 72 63  ortSQLiteResourc
0360: 65 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c  es $test_channel
0370: 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23  ....############
0380: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0390: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
03c0: 23 23 23 0d 0a 0d 0a 23 0d 0a 23 20 4e 4f 54 45  ###....#..# NOTE
03d0: 3a 20 4d 61 6b 65 20 73 75 72 65 20 74 68 61 74  : Make sure that
03e0: 20 53 51 4c 69 74 65 20 63 6f 72 65 20 6c 69 62   SQLite core lib
03f0: 72 61 72 79 20 69 73 20 63 6f 6d 70 6c 65 74 65  rary is complete
0400: 6c 79 20 73 68 75 74 64 6f 77 6e 20 70 72 69 6f  ly shutdown prio
0410: 72 20 74 6f 0d 0a 23 20 20 20 20 20 20 20 73 74  r to..#       st
0420: 61 72 74 69 6e 67 20 61 6e 79 20 6f 66 20 74 68  arting any of th
0430: 65 20 74 65 73 74 73 20 69 6e 20 74 68 69 73 20  e tests in this 
0440: 66 69 6c 65 2e 0d 0a 23 0d 0a 73 68 75 74 64 6f  file...#..shutdo
0450: 77 6e 53 51 4c 69 74 65 20 24 74 65 73 74 5f 63  wnSQLite $test_c
0460: 68 61 6e 6e 65 6c 0d 0a 0d 0a 23 23 23 23 23 23  hannel....######
0470: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0480: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0490: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
04b0: 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 23 0d 0a  #########....#..
04c0: 23 20 4e 4f 54 45 3a 20 52 65 70 6f 72 74 20 62  # NOTE: Report b
04d0: 65 66 6f 72 65 20 74 65 73 74 2c 20 61 66 74 65  efore test, afte
04e0: 72 20 73 68 75 74 64 6f 77 6e 2e 0d 0a 23 0d 0a  r shutdown...#..
04f0: 63 68 65 63 6b 46 6f 72 53 51 4c 69 74 65 44 69  checkForSQLiteDi
0500: 72 65 63 74 6f 72 69 65 73 20 24 74 65 73 74 5f  rectories $test_
0510: 63 68 61 6e 6e 65 6c 0d 0a 67 65 74 53 51 4c 69  channel..getSQLi
0520: 74 65 48 61 6e 64 6c 65 43 6f 75 6e 74 73 20 24  teHandleCounts $
0530: 74 65 73 74 5f 63 68 61 6e 6e 65 6c 0d 0a 72 65  test_channel..re
0540: 70 6f 72 74 53 51 4c 69 74 65 52 65 73 6f 75 72  portSQLiteResour
0550: 63 65 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65  ces $test_channe
0560: 6c 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23  l....###########
0570: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0580: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
0590: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
05b0: 23 23 23 23 0d 0a 0d 0a 72 75 6e 54 65 73 74 20  ####....runTest 
05c0: 7b 74 65 73 74 20 73 70 65 65 64 2d 31 2e 31 20  {test speed-1.1 
05d0: 7b 53 51 4c 69 74 65 44 61 74 61 52 65 61 64 65  {SQLiteDataReade
05e0: 72 20 73 70 65 65 64 20 74 65 73 74 69 6e 67 7d  r speed testing}
05f0: 20 2d 73 65 74 75 70 20 7b 0d 0a 20 20 73 65 74   -setup {..  set
0600: 75 70 44 62 20 5b 73 65 74 20 66 69 6c 65 4e 61  upDb [set fileNa
0610: 6d 65 20 5b 61 70 70 65 6e 64 41 72 67 73 20 73  me [appendArgs s
0620: 70 65 65 64 2d 31 2e 31 2d 20 5b 70 69 64 5d 20  peed-1.1- [pid] 
0630: 2e 64 62 5d 5d 0d 0a 0d 0a 20 20 73 71 6c 20 65  .db]]....  sql e
0640: 78 65 63 75 74 65 20 24 64 62 20 22 43 52 45 41  xecute $db "CREA
0650: 54 45 20 54 41 42 4c 45 20 74 31 28 77 20 49 4e  TE TABLE t1(w IN
0660: 54 45 47 45 52 29 3b 22 0d 0a 20 20 73 71 6c 20  TEGER);"..  sql 
0670: 65 78 65 63 75 74 65 20 24 64 62 20 22 43 52 45  execute $db "CRE
0680: 41 54 45 20 54 41 42 4c 45 20 74 32 28 78 20 52  ATE TABLE t2(x R
0690: 45 41 4c 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78  EAL);"..  sql ex
06a0: 65 63 75 74 65 20 24 64 62 20 22 43 52 45 41 54  ecute $db "CREAT
06b0: 45 20 54 41 42 4c 45 20 74 33 28 79 20 54 45 58  E TABLE t3(y TEX
06c0: 54 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78 65 63  T);"..  sql exec
06d0: 75 74 65 20 24 64 62 20 22 43 52 45 41 54 45 20  ute $db "CREATE 
06e0: 54 41 42 4c 45 20 74 34 28 7a 20 42 4c 4f 42 29  TABLE t4(z BLOB)
06f0: 3b 22 0d 0a 0d 0a 20 20 73 71 6c 20 65 78 65 63  ;"....  sql exec
0700: 75 74 65 20 24 64 62 20 22 49 4e 53 45 52 54 20  ute $db "INSERT 
0710: 49 4e 54 4f 20 74 31 20 28 77 29 20 56 41 4c 55  INTO t1 (w) VALU
0720: 45 53 28 4e 55 4c 4c 29 3b 22 0d 0a 20 20 73 71  ES(NULL);"..  sq
0730: 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22 49  l execute $db "I
0740: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 77  NSERT INTO t1 (w
0750: 29 20 56 41 4c 55 45 53 28 2d 39 32 32 33 33 37  ) VALUES(-922337
0760: 32 30 33 36 38 35 34 37 37 35 38 30 38 29 3b 22  2036854775808);"
0770: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
0780: 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  $db "INSERT INTO
0790: 20 74 31 20 28 77 29 20 56 41 4c 55 45 53 28 30   t1 (w) VALUES(0
07a0: 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78 65 63 75  );"..  sql execu
07b0: 74 65 20 24 64 62 20 22 49 4e 53 45 52 54 20 49  te $db "INSERT I
07c0: 4e 54 4f 20 74 31 20 28 77 29 20 56 41 4c 55 45  NTO t1 (w) VALUE
07d0: 53 28 39 32 32 33 33 37 32 30 33 36 38 35 34 37  S(92233720368547
07e0: 37 35 38 30 37 29 3b 22 0d 0a 0d 0a 20 20 73 71  75807);"....  sq
07f0: 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22 49  l execute $db "I
0800: 4e 53 45 52 54 20 49 4e 54 4f 20 74 32 20 28 78  NSERT INTO t2 (x
0810: 29 20 56 41 4c 55 45 53 28 4e 55 4c 4c 29 3b 22  ) VALUES(NULL);"
0820: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
0830: 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  $db "INSERT INTO
0840: 20 74 32 20 28 78 29 20 56 41 4c 55 45 53 28 2d   t2 (x) VALUES(-
0850: 31 2e 37 39 37 36 39 33 31 33 34 38 36 32 33 31  1.79769313486231
0860: 35 37 65 2b 33 30 38 29 3b 22 0d 0a 20 20 73 71  57e+308);"..  sq
0870: 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22 49  l execute $db "I
0880: 4e 53 45 52 54 20 49 4e 54 4f 20 74 32 20 28 78  NSERT INTO t2 (x
0890: 29 20 56 41 4c 55 45 53 28 30 2e 30 29 3b 22 0d  ) VALUES(0.0);".
08a0: 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24  .  sql execute $
08b0: 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20  db "INSERT INTO 
08c0: 74 32 20 28 78 29 20 56 41 4c 55 45 53 28 31 2e  t2 (x) VALUES(1.
08d0: 37 39 37 36 39 33 31 33 34 38 36 32 33 31 35 37  7976931348623157
08e0: 65 2b 33 30 38 29 3b 22 0d 0a 0d 0a 20 20 73 71  e+308);"....  sq
08f0: 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22 49  l execute $db "I
0900: 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20 28 79  NSERT INTO t3 (y
0910: 29 20 56 41 4c 55 45 53 28 4e 55 4c 4c 29 3b 22  ) VALUES(NULL);"
0920: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
0930: 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  $db "INSERT INTO
0940: 20 74 33 20 28 79 29 20 56 41 4c 55 45 53 28 27   t3 (y) VALUES('
0950: 31 27 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78 65  1');"..  sql exe
0960: 63 75 74 65 20 24 64 62 20 22 49 4e 53 45 52 54  cute $db "INSERT
0970: 20 49 4e 54 4f 20 74 33 20 28 79 29 20 56 41 4c   INTO t3 (y) VAL
0980: 55 45 53 28 27 31 2e 31 27 29 3b 22 0d 0a 0d 0a  UES('1.1');"....
0990: 20 20 73 65 74 20 63 68 61 72 20 5b 65 78 70 72    set char [expr
09a0: 20 7b 69 6e 74 28 72 61 6e 64 28 29 20 2a 20 30   {int(rand() * 0
09b0: 78 37 46 29 20 2b 20 31 7d 5d 3b 20 23 20 4e 4f  x7F) + 1}]; # NO
09c0: 54 45 3a 20 53 6b 69 70 20 4e 55 4c 2e 0d 0a 0d  TE: Skip NUL....
09d0: 0a 20 20 74 70 75 74 73 20 24 74 65 73 74 5f 63  .  tputs $test_c
09e0: 68 61 6e 6e 65 6c 20 5b 61 70 70 65 6e 64 41 72  hannel [appendAr
09f0: 67 73 20 5c 0d 0a 20 20 20 20 20 20 22 2d 2d 2d  gs \..      "---
0a00: 2d 20 75 73 69 6e 67 20 72 61 6e 64 6f 6d 20 63  - using random c
0a10: 68 61 72 61 63 74 65 72 20 30 78 22 20 5b 66 6f  haracter 0x" [fo
0a20: 72 6d 61 74 20 25 58 20 24 63 68 61 72 5d 20 2e  rmat %X $char] .
0a30: 2e 2e 5c 6e 5d 0d 0a 0d 0a 20 20 73 71 6c 20 65  ..\n]....  sql e
0a40: 78 65 63 75 74 65 20 24 64 62 20 5b 61 70 70 65  xecute $db [appe
0a50: 6e 64 41 72 67 73 20 5c 0d 0a 20 20 20 20 20 20  ndArgs \..      
0a60: 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20  "INSERT INTO t3 
0a70: 28 79 29 20 56 41 4c 55 45 53 28 27 22 20 5b 73  (y) VALUES('" [s
0a80: 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69 73 74 20  tring map [list 
0a90: 27 20 27 27 5d 20 5b 73 74 72 69 6e 67 20 5c 0d  ' ''] [string \.
0aa0: 0a 20 20 20 20 20 20 72 65 70 65 61 74 20 5b 66  .      repeat [f
0ab0: 6f 72 6d 61 74 20 25 63 20 24 63 68 61 72 5d 20  ormat %c $char] 
0ac0: 31 30 34 38 35 37 36 5d 5d 20 22 27 29 3b 22 5d  1048576]] "');"]
0ad0: 0d 0a 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74  ....  sql execut
0ae0: 65 20 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e  e $db "INSERT IN
0af0: 54 4f 20 74 34 20 28 7a 29 20 56 41 4c 55 45 53  TO t4 (z) VALUES
0b00: 28 4e 55 4c 4c 29 3b 22 0d 0a 20 20 73 71 6c 20  (NULL);"..  sql 
0b10: 65 78 65 63 75 74 65 20 24 64 62 20 22 49 4e 53  execute $db "INS
0b20: 45 52 54 20 49 4e 54 4f 20 74 34 20 28 7a 29 20  ERT INTO t4 (z) 
0b30: 56 41 4c 55 45 53 28 58 27 30 31 27 29 3b 22 0d  VALUES(X'01');".
0b40: 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24  .  sql execute $
0b50: 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20  db "INSERT INTO 
0b60: 74 34 20 28 7a 29 20 56 41 4c 55 45 53 28 58 27  t4 (z) VALUES(X'
0b70: 30 31 32 33 34 35 36 37 38 39 27 29 3b 22 0d 0a  0123456789');"..
0b80: 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24 64    sql execute $d
0b90: 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 74  b "INSERT INTO t
0ba0: 34 20 28 7a 29 20 56 41 4c 55 45 53 28 72 61 6e  4 (z) VALUES(ran
0bb0: 64 6f 6d 62 6c 6f 62 28 31 30 34 38 35 37 36 29  domblob(1048576)
0bc0: 29 3b 22 0d 0a 7d 20 2d 62 6f 64 79 20 7b 0d 0a  );"..} -body {..
0bd0: 20 20 73 65 74 20 72 65 73 75 6c 74 20 5b 6c 69    set result [li
0be0: 73 74 5d 0d 0a 0d 0a 20 20 66 6f 72 65 61 63 68  st]....  foreach
0bf0: 20 73 71 6c 20 5b 6c 69 73 74 20 5c 0d 0a 20 20   sql [list \..  
0c00: 20 20 20 20 7b 53 45 4c 45 43 54 20 43 41 53 45      {SELECT CASE
0c10: 20 6c 65 6e 67 74 68 28 77 29 20 3d 20 31 30 34   length(w) = 104
0c20: 38 35 37 36 0d 0a 20 20 20 20 20 20 20 20 20 20  8576..          
0c30: 20 20 20 20 57 48 45 4e 20 31 20 54 48 45 4e 20      WHEN 1 THEN 
0c40: 6c 65 6e 67 74 68 28 77 29 20 45 4c 53 45 20 77  length(w) ELSE w
0c50: 20 45 4e 44 20 46 52 4f 4d 20 74 31 3b 7d 20 5c   END FROM t1;} \
0c60: 0d 0a 20 20 20 20 20 20 7b 53 45 4c 45 43 54 20  ..      {SELECT 
0c70: 43 41 53 45 20 6c 65 6e 67 74 68 28 78 29 20 3d  CASE length(x) =
0c80: 20 31 30 34 38 35 37 36 0d 0a 20 20 20 20 20 20   1048576..      
0c90: 20 20 20 20 20 20 20 20 57 48 45 4e 20 31 20 54          WHEN 1 T
0ca0: 48 45 4e 20 6c 65 6e 67 74 68 28 78 29 20 45 4c  HEN length(x) EL
0cb0: 53 45 20 78 20 45 4e 44 20 46 52 4f 4d 20 74 32  SE x END FROM t2
0cc0: 3b 7d 20 5c 0d 0a 20 20 20 20 20 20 7b 53 45 4c  ;} \..      {SEL
0cd0: 45 43 54 20 43 41 53 45 20 6c 65 6e 67 74 68 28  ECT CASE length(
0ce0: 79 29 20 3d 20 31 30 34 38 35 37 36 0d 0a 20 20  y) = 1048576..  
0cf0: 20 20 20 20 20 20 20 20 20 20 20 20 57 48 45 4e              WHEN
0d00: 20 31 20 54 48 45 4e 20 6c 65 6e 67 74 68 28 79   1 THEN length(y
0d10: 29 20 45 4c 53 45 20 79 20 45 4e 44 20 46 52 4f  ) ELSE y END FRO
0d20: 4d 20 74 33 3b 7d 20 5c 0d 0a 20 20 20 20 20 20  M t3;} \..      
0d30: 7b 53 45 4c 45 43 54 20 43 41 53 45 20 6c 65 6e  {SELECT CASE len
0d40: 67 74 68 28 7a 29 20 3d 20 31 30 34 38 35 37 36  gth(z) = 1048576
0d50: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
0d60: 57 48 45 4e 20 31 20 54 48 45 4e 20 6c 65 6e 67  WHEN 1 THEN leng
0d70: 74 68 28 7a 29 20 45 4c 53 45 20 7a 20 45 4e 44  th(z) ELSE z END
0d80: 20 46 52 4f 4d 20 74 34 3b 7d 5d 20 7b 0d 0a 20   FROM t4;}] {.. 
0d90: 20 20 20 73 65 74 20 74 69 6d 65 20 5b 74 69 6d     set time [tim
0da0: 65 20 7b 0d 0a 20 20 20 20 20 20 6c 61 70 70 65  e {..      lappe
0db0: 6e 64 20 72 65 73 75 6c 74 20 5b 73 71 6c 20 65  nd result [sql e
0dc0: 78 65 63 75 74 65 20 2d 65 78 65 63 75 74 65 20  xecute -execute 
0dd0: 72 65 61 64 65 72 20 2d 66 6f 72 6d 61 74 20 6c  reader -format l
0de0: 69 73 74 20 24 64 62 20 24 73 71 6c 5d 0d 0a 20  ist $db $sql].. 
0df0: 20 20 20 7d 5d 0d 0a 0d 0a 20 20 20 20 74 70 75     }]....    tpu
0e00: 74 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c  ts $test_channel
0e10: 20 5b 61 70 70 65 6e 64 41 72 67 73 20 5c 0d 0a   [appendArgs \..
0e20: 20 20 20 20 20 20 20 20 22 2d 2d 2d 2d 20 65 78          "---- ex
0e30: 65 63 75 74 65 64 20 71 75 65 72 79 20 5c 22 22  ecuted query \""
0e40: 20 5b 73 74 72 69 6e 67 20 6d 61 70 20 5b 6c 69   [string map [li
0e50: 73 74 20 22 5c 6e 20 20 20 20 20 20 20 20 20 20  st "\n          
0e60: 20 20 20 20 22 20 22 20 22 5d 20 5c 0d 0a 20 20      " " "] \..  
0e70: 20 20 20 20 20 20 24 73 71 6c 5d 20 22 5c 22 20        $sql] "\" 
0e80: 69 6e 20 22 20 24 74 69 6d 65 20 5c 6e 5d 0d 0a  in " $time \n]..
0e90: 0d 0a 20 20 20 20 6c 61 70 70 65 6e 64 20 74 69  ..    lappend ti
0ea0: 6d 65 73 20 5b 6c 69 6e 64 65 78 20 24 74 69 6d  mes [lindex $tim
0eb0: 65 20 30 5d 0d 0a 20 20 7d 0d 0a 0d 0a 20 20 73  e 0]..  }....  s
0ec0: 65 74 20 72 65 73 75 6c 74 0d 0a 7d 20 2d 63 6c  et result..} -cl
0ed0: 65 61 6e 75 70 20 7b 0d 0a 20 20 63 6c 65 61 6e  eanup {..  clean
0ee0: 75 70 44 62 20 24 66 69 6c 65 4e 61 6d 65 0d 0a  upDb $fileName..
0ef0: 0d 0a 20 20 75 6e 73 65 74 20 2d 6e 6f 63 6f 6d  ..  unset -nocom
0f00: 70 6c 61 69 6e 20 74 69 6d 65 20 73 71 6c 20 72  plain time sql r
0f10: 65 73 75 6c 74 20 63 68 61 72 20 64 62 20 66 69  esult char db fi
0f20: 6c 65 4e 61 6d 65 0d 0a 7d 20 2d 74 69 6d 65 20  leName..} -time 
0f30: 74 72 75 65 20 2d 63 6f 6e 73 74 72 61 69 6e 74  true -constraint
0f40: 73 20 7b 65 61 67 6c 65 20 6d 6f 6e 6f 42 75 67  s {eagle monoBug
0f50: 32 38 20 63 6f 6d 6d 61 6e 64 2e 73 71 6c 20 63  28 command.sql c
0f60: 6f 6d 70 69 6c 65 2e 44 41 54 41 20 53 51 4c 69  ompile.DATA SQLi
0f70: 74 65 5c 0d 0a 53 79 73 74 65 6d 2e 44 61 74 61  te\..System.Data
0f80: 2e 53 51 4c 69 74 65 7d 20 2d 6d 61 74 63 68 20  .SQLite} -match 
0f90: 72 65 67 65 78 70 20 2d 72 65 73 75 6c 74 20 22  regexp -result "
0fa0: 5e 5c 5c 5c 7b 2d 39 32 32 33 33 37 32 30 33 36  ^\\\{-9223372036
0fb0: 38 35 34 37 37 35 38 30 38 20 30 5c 0d 0a 39 32  854775808 0\..92
0fc0: 32 33 33 37 32 30 33 36 38 35 34 37 37 35 38 30  2337203685477580
0fd0: 37 5c 5c 5c 7d 5c 0d 0a 5c 5c 5c 7b 2d 28 3f 3a  7\\\}\..\\\{-(?:
0fe0: 49 6e 66 69 6e 69 74 79 7c 5c 75 32 32 31 45 7c  Infinity|\u221E|
0ff0: 31 5c 5c 2e 37 39 37 36 39 33 31 33 34 38 36 32  1\\.797693134862
1000: 33 31 35 37 28 3f 3a 45 7c 65 29 5c 5c 2b 33 30  3157(?:E|e)\\+30
1010: 38 29 20 30 5c 0d 0a 28 3f 3a 49 6e 66 69 6e 69  8) 0\..(?:Infini
1020: 74 79 7c 5c 75 32 32 31 45 7c 31 5c 5c 2e 37 39  ty|\u221E|1\\.79
1030: 37 36 39 33 31 33 34 38 36 32 33 31 35 37 28 3f  76931348623157(?
1040: 3a 45 7c 65 29 5c 5c 2b 33 30 38 29 5c 5c 5c 7d  :E|e)\\+308)\\\}
1050: 20 5c 5c 5c 7b 31 20 31 5c 5c 2e 31 5c 0d 0a 31   \\\{1 1\\.1\..1
1060: 30 34 38 35 37 36 5c 5c 5c 7d 20 5c 5c 5c 7b 31  048576\\\} \\\{1
1070: 20 5c 5c 5c 7b 31 20 33 35 20 36 39 20 31 30 33   \\\{1 35 69 103
1080: 20 31 33 37 5c 5c 5c 7d 20 31 30 34 38 35 37 36   137\\\} 1048576
1090: 5c 5c 5c 7d 24 22 7d 0d 0a 0d 0a 23 23 23 23 23  \\\}$"}....#####
10a0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10b0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10c0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10d0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
10e0: 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a 72 75  ##########....ru
10f0: 6e 54 65 73 74 20 7b 74 65 73 74 20 73 70 65 65  nTest {test spee
1100: 64 2d 31 2e 32 20 7b 53 51 4c 69 74 65 44 61 74  d-1.2 {SQLiteDat
1110: 61 52 65 61 64 65 72 20 73 70 65 65 64 20 74 65  aReader speed te
1120: 73 74 69 6e 67 7d 20 2d 73 65 74 75 70 20 7b 0d  sting} -setup {.
1130: 0a 20 20 73 65 74 75 70 44 62 20 5b 73 65 74 20  .  setupDb [set 
1140: 66 69 6c 65 4e 61 6d 65 20 5b 61 70 70 65 6e 64  fileName [append
1150: 41 72 67 73 20 73 70 65 65 64 2d 31 2e 32 2d 20  Args speed-1.2- 
1160: 5b 70 69 64 5d 20 2e 64 62 5d 5d 0d 0a 0d 0a 20  [pid] .db]].... 
1170: 20 73 71 6c 20 65 78 65 63 75 74 65 20 24 64 62   sql execute $db
1180: 20 22 43 52 45 41 54 45 20 54 41 42 4c 45 20 74   "CREATE TABLE t
1190: 31 28 77 20 49 4e 54 45 47 45 52 29 3b 22 0d 0a  1(w INTEGER);"..
11a0: 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24 64    sql execute $d
11b0: 62 20 22 43 52 45 41 54 45 20 54 41 42 4c 45 20  b "CREATE TABLE 
11c0: 74 32 28 78 20 52 45 41 4c 29 3b 22 0d 0a 20 20  t2(x REAL);"..  
11d0: 73 71 6c 20 65 78 65 63 75 74 65 20 24 64 62 20  sql execute $db 
11e0: 22 43 52 45 41 54 45 20 54 41 42 4c 45 20 74 33  "CREATE TABLE t3
11f0: 28 79 20 54 45 58 54 29 3b 22 0d 0a 20 20 73 71  (y TEXT);"..  sq
1200: 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22 43  l execute $db "C
1210: 52 45 41 54 45 20 54 41 42 4c 45 20 74 34 28 7a  REATE TABLE t4(z
1220: 20 42 4c 4f 42 29 3b 22 0d 0a 0d 0a 20 20 73 71   BLOB);"....  sq
1230: 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22 49  l execute $db "I
1240: 4e 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 77  NSERT INTO t1 (w
1250: 29 20 56 41 4c 55 45 53 28 4e 55 4c 4c 29 3b 22  ) VALUES(NULL);"
1260: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
1270: 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  $db "INSERT INTO
1280: 20 74 31 20 28 77 29 20 56 41 4c 55 45 53 28 2d   t1 (w) VALUES(-
1290: 39 32 32 33 33 37 32 30 33 36 38 35 34 37 37 35  9223372036854775
12a0: 38 30 38 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78  808);"..  sql ex
12b0: 65 63 75 74 65 20 24 64 62 20 22 49 4e 53 45 52  ecute $db "INSER
12c0: 54 20 49 4e 54 4f 20 74 31 20 28 77 29 20 56 41  T INTO t1 (w) VA
12d0: 4c 55 45 53 28 30 29 3b 22 0d 0a 20 20 73 71 6c  LUES(0);"..  sql
12e0: 20 65 78 65 63 75 74 65 20 24 64 62 20 22 49 4e   execute $db "IN
12f0: 53 45 52 54 20 49 4e 54 4f 20 74 31 20 28 77 29  SERT INTO t1 (w)
1300: 20 56 41 4c 55 45 53 28 39 32 32 33 33 37 32 30   VALUES(92233720
1310: 33 36 38 35 34 37 37 35 38 30 37 29 3b 22 0d 0a  36854775807);"..
1320: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
1330: 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  $db "INSERT INTO
1340: 20 74 32 20 28 78 29 20 56 41 4c 55 45 53 28 4e   t2 (x) VALUES(N
1350: 55 4c 4c 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78  ULL);"..  sql ex
1360: 65 63 75 74 65 20 24 64 62 20 22 49 4e 53 45 52  ecute $db "INSER
1370: 54 20 49 4e 54 4f 20 74 32 20 28 78 29 20 56 41  T INTO t2 (x) VA
1380: 4c 55 45 53 28 2d 31 2e 37 39 37 36 39 33 31 33  LUES(-1.79769313
1390: 34 38 36 32 33 31 35 37 65 2b 33 30 38 29 3b 22  48623157e+308);"
13a0: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
13b0: 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  $db "INSERT INTO
13c0: 20 74 32 20 28 78 29 20 56 41 4c 55 45 53 28 30   t2 (x) VALUES(0
13d0: 2e 30 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78 65  .0);"..  sql exe
13e0: 63 75 74 65 20 24 64 62 20 22 49 4e 53 45 52 54  cute $db "INSERT
13f0: 20 49 4e 54 4f 20 74 32 20 28 78 29 20 56 41 4c   INTO t2 (x) VAL
1400: 55 45 53 28 31 2e 37 39 37 36 39 33 31 33 34 38  UES(1.7976931348
1410: 36 32 33 31 35 37 65 2b 33 30 38 29 3b 22 0d 0a  623157e+308);"..
1420: 0d 0a 20 20 73 71 6c 20 65 78 65 63 75 74 65 20  ..  sql execute 
1430: 24 64 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f  $db "INSERT INTO
1440: 20 74 33 20 28 79 29 20 56 41 4c 55 45 53 28 4e   t3 (y) VALUES(N
1450: 55 4c 4c 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78  ULL);"..  sql ex
1460: 65 63 75 74 65 20 24 64 62 20 22 49 4e 53 45 52  ecute $db "INSER
1470: 54 20 49 4e 54 4f 20 74 33 20 28 79 29 20 56 41  T INTO t3 (y) VA
1480: 4c 55 45 53 28 27 31 27 29 3b 22 0d 0a 20 20 73  LUES('1');"..  s
1490: 71 6c 20 65 78 65 63 75 74 65 20 24 64 62 20 22  ql execute $db "
14a0: 49 4e 53 45 52 54 20 49 4e 54 4f 20 74 33 20 28  INSERT INTO t3 (
14b0: 79 29 20 56 41 4c 55 45 53 28 27 31 2e 31 27 29  y) VALUES('1.1')
14c0: 3b 22 0d 0a 0d 0a 20 20 73 65 74 20 63 68 61 72  ;"....  set char
14d0: 20 5b 65 78 70 72 20 7b 69 6e 74 28 72 61 6e 64   [expr {int(rand
14e0: 28 29 20 2a 20 30 78 37 46 29 20 2b 20 31 7d 5d  () * 0x7F) + 1}]
14f0: 3b 20 23 20 4e 4f 54 45 3a 20 53 6b 69 70 20 4e  ; # NOTE: Skip N
1500: 55 4c 2e 0d 0a 0d 0a 20 20 74 70 75 74 73 20 24  UL.....  tputs $
1510: 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 5b 61 70  test_channel [ap
1520: 70 65 6e 64 41 72 67 73 20 5c 0d 0a 20 20 20 20  pendArgs \..    
1530: 20 20 22 2d 2d 2d 2d 20 75 73 69 6e 67 20 72 61    "---- using ra
1540: 6e 64 6f 6d 20 63 68 61 72 61 63 74 65 72 20 30  ndom character 0
1550: 78 22 20 5b 66 6f 72 6d 61 74 20 25 58 20 24 63  x" [format %X $c
1560: 68 61 72 5d 20 2e 2e 2e 5c 6e 5d 0d 0a 0d 0a 20  har] ...\n].... 
1570: 20 73 71 6c 20 65 78 65 63 75 74 65 20 24 64 62   sql execute $db
1580: 20 5b 61 70 70 65 6e 64 41 72 67 73 20 5c 0d 0a   [appendArgs \..
1590: 20 20 20 20 20 20 22 49 4e 53 45 52 54 20 49 4e        "INSERT IN
15a0: 54 4f 20 74 33 20 28 79 29 20 56 41 4c 55 45 53  TO t3 (y) VALUES
15b0: 28 27 22 20 5b 73 74 72 69 6e 67 20 6d 61 70 20  ('" [string map 
15c0: 5b 6c 69 73 74 20 27 20 27 27 5d 20 5b 73 74 72  [list ' ''] [str
15d0: 69 6e 67 20 5c 0d 0a 20 20 20 20 20 20 72 65 70  ing \..      rep
15e0: 65 61 74 20 5b 66 6f 72 6d 61 74 20 25 63 20 24  eat [format %c $
15f0: 63 68 61 72 5d 20 31 30 34 38 35 37 36 5d 5d 20  char] 1048576]] 
1600: 22 27 29 3b 22 5d 0d 0a 0d 0a 20 20 73 71 6c 20  "');"]....  sql 
1610: 65 78 65 63 75 74 65 20 24 64 62 20 22 49 4e 53  execute $db "INS
1620: 45 52 54 20 49 4e 54 4f 20 74 34 20 28 7a 29 20  ERT INTO t4 (z) 
1630: 56 41 4c 55 45 53 28 4e 55 4c 4c 29 3b 22 0d 0a  VALUES(NULL);"..
1640: 20 20 73 71 6c 20 65 78 65 63 75 74 65 20 24 64    sql execute $d
1650: 62 20 22 49 4e 53 45 52 54 20 49 4e 54 4f 20 74  b "INSERT INTO t
1660: 34 20 28 7a 29 20 56 41 4c 55 45 53 28 58 27 30  4 (z) VALUES(X'0
1670: 31 27 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78 65  1');"..  sql exe
1680: 63 75 74 65 20 24 64 62 20 22 49 4e 53 45 52 54  cute $db "INSERT
1690: 20 49 4e 54 4f 20 74 34 20 28 7a 29 20 56 41 4c   INTO t4 (z) VAL
16a0: 55 45 53 28 58 27 30 31 32 33 34 35 36 37 38 39  UES(X'0123456789
16b0: 27 29 3b 22 0d 0a 20 20 73 71 6c 20 65 78 65 63  ');"..  sql exec
16c0: 75 74 65 20 24 64 62 20 22 49 4e 53 45 52 54 20  ute $db "INSERT 
16d0: 49 4e 54 4f 20 74 34 20 28 7a 29 20 56 41 4c 55  INTO t4 (z) VALU
16e0: 45 53 28 72 61 6e 64 6f 6d 62 6c 6f 62 28 31 30  ES(randomblob(10
16f0: 34 38 35 37 36 29 29 3b 22 0d 0a 7d 20 2d 62 6f  48576));"..} -bo
1700: 64 79 20 7b 0d 0a 20 20 73 65 74 20 72 65 73 75  dy {..  set resu
1710: 6c 74 20 5b 6c 69 73 74 5d 0d 0a 0d 0a 20 20 66  lt [list]....  f
1720: 6f 72 65 61 63 68 20 7b 63 6f 6c 75 6d 6e 20 74  oreach {column t
1730: 61 62 6c 65 7d 20 5b 6c 69 73 74 20 77 20 74 31  able} [list w t1
1740: 20 78 20 74 32 20 79 20 74 33 20 7a 20 74 34 5d   x t2 y t3 z t4]
1750: 20 7b 0d 0a 20 20 20 20 73 65 74 20 73 71 6c 20   {..    set sql 
1760: 5b 61 70 70 65 6e 64 41 72 67 73 20 22 53 45 4c  [appendArgs "SEL
1770: 45 43 54 20 22 20 24 63 6f 6c 75 6d 6e 20 22 20  ECT " $column " 
1780: 46 52 4f 4d 20 22 20 24 74 61 62 6c 65 20 5c 3b  FROM " $table \;
1790: 5d 0d 0a 0d 0a 20 20 20 20 73 65 74 20 74 69 6d  ]....    set tim
17a0: 65 20 5b 74 69 6d 65 20 7b 0d 0a 20 20 20 20 20  e [time {..     
17b0: 20 6c 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20   lappend result 
17c0: 5b 6c 6c 65 6e 67 74 68 20 5c 0d 0a 20 20 20 20  [llength \..    
17d0: 20 20 20 20 20 20 5b 73 71 6c 20 65 78 65 63 75        [sql execu
17e0: 74 65 20 2d 65 78 65 63 75 74 65 20 72 65 61 64  te -execute read
17f0: 65 72 20 2d 66 6f 72 6d 61 74 20 6c 69 73 74 20  er -format list 
1800: 24 64 62 20 24 73 71 6c 5d 5d 0d 0a 20 20 20 20  $db $sql]]..    
1810: 7d 5d 0d 0a 0d 0a 20 20 20 20 74 70 75 74 73 20  }]....    tputs 
1820: 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c 20 5b 61  $test_channel [a
1830: 70 70 65 6e 64 41 72 67 73 20 5c 0d 0a 20 20 20  ppendArgs \..   
1840: 20 20 20 20 20 22 2d 2d 2d 2d 20 65 78 65 63 75       "---- execu
1850: 74 65 64 20 71 75 65 72 79 20 5c 22 22 20 24 73  ted query \"" $s
1860: 71 6c 20 22 5c 22 20 69 6e 20 22 20 24 74 69 6d  ql "\" in " $tim
1870: 65 20 5c 6e 5d 0d 0a 0d 0a 20 20 20 20 6c 61 70  e \n]....    lap
1880: 70 65 6e 64 20 74 69 6d 65 73 20 5b 6c 69 6e 64  pend times [lind
1890: 65 78 20 24 74 69 6d 65 20 30 5d 0d 0a 20 20 7d  ex $time 0]..  }
18a0: 0d 0a 0d 0a 20 20 73 65 74 20 72 65 73 75 6c 74  ....  set result
18b0: 0d 0a 7d 20 2d 63 6c 65 61 6e 75 70 20 7b 0d 0a  ..} -cleanup {..
18c0: 20 20 63 6c 65 61 6e 75 70 44 62 20 24 66 69 6c    cleanupDb $fil
18d0: 65 4e 61 6d 65 0d 0a 0d 0a 20 20 75 6e 73 65 74  eName....  unset
18e0: 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 74 69 6d   -nocomplain tim
18f0: 65 20 73 71 6c 20 74 61 62 6c 65 20 63 6f 6c 75  e sql table colu
1900: 6d 6e 20 72 65 73 75 6c 74 20 63 68 61 72 20 64  mn result char d
1910: 62 20 66 69 6c 65 4e 61 6d 65 0d 0a 7d 20 2d 74  b fileName..} -t
1920: 69 6d 65 20 74 72 75 65 20 2d 63 6f 6e 73 74 72  ime true -constr
1930: 61 69 6e 74 73 20 7b 65 61 67 6c 65 20 6d 6f 6e  aints {eagle mon
1940: 6f 42 75 67 34 30 20 63 6f 6d 6d 61 6e 64 2e 73  oBug40 command.s
1950: 71 6c 20 63 6f 6d 70 69 6c 65 2e 44 41 54 41 20  ql compile.DATA 
1960: 53 51 4c 69 74 65 5c 0d 0a 53 79 73 74 65 6d 2e  SQLite\..System.
1970: 44 61 74 61 2e 53 51 4c 69 74 65 7d 20 2d 72 65  Data.SQLite} -re
1980: 73 75 6c 74 20 7b 33 20 33 20 33 20 33 7d 7d 0d  sult {3 3 3 3}}.
1990: 0a 0d 0a 23 23 23 23 23 23 23 23 23 23 23 23 23  ...#############
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 0d 0a 0d 0a 23 0d 0a 23 20 4e 4f 54 45 3a  ##....#..# NOTE:
19f0: 20 52 65 70 6f 72 74 20 61 66 74 65 72 20 74 65   Report after te
1a00: 73 74 2e 0d 0a 23 0d 0a 63 68 65 63 6b 46 6f 72  st...#..checkFor
1a10: 53 51 4c 69 74 65 44 69 72 65 63 74 6f 72 69 65  SQLiteDirectorie
1a20: 73 20 24 74 65 73 74 5f 63 68 61 6e 6e 65 6c 0d  s $test_channel.
1a30: 0a 67 65 74 53 51 4c 69 74 65 48 61 6e 64 6c 65  .getSQLiteHandle
1a40: 43 6f 75 6e 74 73 20 24 74 65 73 74 5f 63 68 61  Counts $test_cha
1a50: 6e 6e 65 6c 0d 0a 72 65 70 6f 72 74 53 51 4c 69  nnel..reportSQLi
1a60: 74 65 52 65 73 6f 75 72 63 65 73 20 24 74 65 73  teResources $tes
1a70: 74 5f 63 68 61 6e 6e 65 6c 0d 0a 0d 0a 23 23 23  t_channel....###
1a80: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1a90: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1aa0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ab0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1ac0: 23 23 23 23 23 23 23 23 23 23 23 23 0d 0a 0d 0a  ############....
1ad0: 74 70 75 74 73 20 24 74 65 73 74 5f 63 68 61 6e  tputs $test_chan
1ae0: 6e 65 6c 20 5b 61 70 70 65 6e 64 41 72 67 73 20  nel [appendArgs 
1af0: 5c 0d 0a 20 20 20 20 22 2d 2d 2d 2d 20 6f 76 65  \..    "---- ove
1b00: 72 61 6c 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65  rall performance
1b10: 20 72 65 73 75 6c 74 73 20 22 20 24 74 69 6d 65   results " $time
1b20: 73 20 5c 6e 5d 0d 0a 0d 0a 23 23 23 23 23 23 23  s \n]....#######
1b30: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b40: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b50: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b60: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1b70: 23 23 23 23 23 23 23 23 0d 0a 0d 0a 75 6e 73 65  ########....unse
1b80: 74 20 2d 6e 6f 63 6f 6d 70 6c 61 69 6e 20 74 69  t -nocomplain ti
1b90: 6d 65 73 0d 0a 0d 0a 23 23 23 23 23 23 23 23 23  mes....#########
1ba0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bb0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bc0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1bd0: 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23  ################
1be0: 23 23 23 23 23 23 0d 0a 0d 0a 72 75 6e 53 51 4c  ######....runSQL
1bf0: 69 74 65 54 65 73 74 45 70 69 6c 6f 67 75 65 0d  iteTestEpilogue.
1c00: 0a 72 75 6e 54 65 73 74 45 70 69 6c 6f 67 75 65  .runTestEpilogue
1c10: 0d 0a                                            ..