/ Hex Artifact Content
Login
SQLite training in Houston TX on 2019-11-05 (details)
Part of the 2019 Tcl Conference

Artifact dbc0c5113c1d67e5cc44a495d682dda531c83fd4:


0000: 23 0a 23 20 20 20 20 4d 61 79 20 79 6f 75 20 64  #.#    May you d
0010: 6f 20 67 6f 6f 64 20 61 6e 64 20 6e 6f 74 20 65  o good and not e
0020: 76 69 6c 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f  vil..#    May yo
0030: 75 20 66 69 6e 64 20 66 6f 72 67 69 76 65 6e 65  u find forgivene
0040: 73 73 20 66 6f 72 20 79 6f 75 72 73 65 6c 66 20  ss for yourself 
0050: 61 6e 64 20 66 6f 72 67 69 76 65 20 6f 74 68 65  and forgive othe
0060: 72 73 2e 0a 23 20 20 20 20 4d 61 79 20 79 6f 75  rs..#    May you
0070: 20 73 68 61 72 65 20 66 72 65 65 6c 79 2c 20 6e   share freely, n
0080: 65 76 65 72 20 74 61 6b 69 6e 67 20 6d 6f 72 65  ever taking more
0090: 20 74 68 61 6e 20 79 6f 75 20 67 69 76 65 2e 0a   than you give..
00a0: 23 0a 23 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  #.#*************
00b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
00c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
00d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
00e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 23 20 54 68 69  **********.# Thi
00f0: 73 20 66 69 6c 65 20 72 75 6e 73 20 61 6c 6c 20  s file runs all 
0100: 72 74 72 65 65 20 72 65 6c 61 74 65 64 20 74 65  rtree related te
0110: 73 74 73 2e 0a 23 0a 23 20 24 49 64 3a 20 72 74  sts..#.# $Id: rt
0120: 72 65 65 2e 74 65 73 74 2c 76 20 31 2e 33 20 32  ree.test,v 1.3 2
0130: 30 30 39 2f 30 35 2f 32 35 20 31 34 3a 31 37 3a  009/05/25 14:17:
0140: 33 35 20 64 72 68 20 45 78 70 20 24 0a 0a 73 65  35 drh Exp $..se
0150: 74 20 74 65 73 74 64 69 72 20 5b 66 69 6c 65 20  t testdir [file 
0160: 64 69 72 6e 61 6d 65 20 24 61 72 67 76 30 5d 0a  dirname $argv0].
0170: 73 6f 75 72 63 65 20 24 74 65 73 74 64 69 72 2f  source $testdir/
0180: 74 65 73 74 65 72 2e 74 63 6c 0a 0a 72 65 6e 61  tester.tcl..rena
0190: 6d 65 20 66 69 6e 69 73 68 5f 74 65 73 74 20 72  me finish_test r
01a0: 74 72 65 65 5f 66 69 6e 69 73 68 5f 74 65 73 74  tree_finish_test
01b0: 0a 70 72 6f 63 20 66 69 6e 69 73 68 5f 74 65 73  .proc finish_tes
01c0: 74 20 7b 7d 20 7b 7d 0a 0a 73 65 74 20 52 54 52  t {} {}..set RTR
01d0: 45 45 5f 45 58 43 4c 55 44 45 20 7b 20 7d 0a 69  EE_EXCLUDE { }.i
01e0: 66 20 7b 5b 69 6e 66 6f 20 65 78 69 73 74 73 20  f {[info exists 
01f0: 47 28 69 73 71 75 69 63 6b 29 5d 20 26 26 20 24  G(isquick)] && $
0200: 47 28 69 73 71 75 69 63 6b 29 7d 20 7b 20 0a 20  G(isquick)} { . 
0210: 20 73 65 74 20 52 54 52 45 45 5f 45 58 43 4c 55   set RTREE_EXCLU
0220: 44 45 20 72 74 72 65 65 33 2e 74 65 73 74 0a 7d  DE rtree3.test.}
0230: 0a 73 65 74 20 47 28 69 73 71 75 69 63 6b 29 20  .set G(isquick) 
0240: 31 0a 0a 73 65 74 20 72 74 72 65 65 64 69 72 20  1..set rtreedir 
0250: 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 74 65 73 74  [file join $test
0260: 64 69 72 20 2e 2e 20 65 78 74 20 72 74 72 65 65  dir .. ext rtree
0270: 5d 0a 0a 66 6f 72 65 61 63 68 20 74 65 73 74 66  ]..foreach testf
0280: 69 6c 65 20 5b 6c 73 6f 72 74 20 2d 64 69 63 74  ile [lsort -dict
0290: 69 6f 6e 61 72 79 20 5b 67 6c 6f 62 20 2d 6e 6f  ionary [glob -no
02a0: 63 6f 6d 70 6c 61 69 6e 20 24 72 74 72 65 65 64  complain $rtreed
02b0: 69 72 2f 2a 2e 74 65 73 74 5d 5d 20 7b 0a 20 20  ir/*.test]] {.  
02c0: 73 65 74 20 74 61 69 6c 20 5b 66 69 6c 65 20 74  set tail [file t
02d0: 61 69 6c 20 24 74 65 73 74 66 69 6c 65 5d 0a 20  ail $testfile]. 
02e0: 20 69 66 20 7b 5b 6c 73 65 61 72 63 68 20 2d 65   if {[lsearch -e
02f0: 78 61 63 74 20 24 52 54 52 45 45 5f 45 58 43 4c  xact $RTREE_EXCL
0300: 55 44 45 20 24 74 61 69 6c 5d 3e 3d 30 7d 20 63  UDE $tail]>=0} c
0310: 6f 6e 74 69 6e 75 65 0a 20 20 73 6f 75 72 63 65  ontinue.  source
0320: 20 24 74 65 73 74 66 69 6c 65 0a 20 20 63 61 74   $testfile.  cat
0330: 63 68 20 7b 64 62 20 63 6c 6f 73 65 7d 0a 20 20  ch {db close}.  
0340: 69 66 20 7b 24 73 71 6c 69 74 65 5f 6f 70 65 6e  if {$sqlite_open
0350: 5f 66 69 6c 65 5f 63 6f 75 6e 74 3e 30 7d 20 7b  _file_count>0} {
0360: 0a 20 20 20 20 70 75 74 73 20 22 24 74 61 69 6c  .    puts "$tail
0370: 20 64 69 64 20 6e 6f 74 20 63 6c 6f 73 65 20 61   did not close a
0380: 6c 6c 20 66 69 6c 65 73 3a 20 24 73 71 6c 69 74  ll files: $sqlit
0390: 65 5f 6f 70 65 6e 5f 66 69 6c 65 5f 63 6f 75 6e  e_open_file_coun
03a0: 74 22 0a 20 20 20 20 66 61 69 6c 5f 74 65 73 74  t".    fail_test
03b0: 20 24 74 61 69 6c 0a 20 20 20 20 73 65 74 20 73   $tail.    set s
03c0: 71 6c 69 74 65 5f 6f 70 65 6e 5f 66 69 6c 65 5f  qlite_open_file_
03d0: 63 6f 75 6e 74 20 30 0a 20 20 7d 0a 7d 0a 0a 73  count 0.  }.}..s
03e0: 65 74 20 73 71 6c 69 74 65 5f 6f 70 65 6e 5f 66  et sqlite_open_f
03f0: 69 6c 65 5f 63 6f 75 6e 74 20 30 0a 72 74 72 65  ile_count 0.rtre
0400: 65 5f 66 69 6e 69 73 68 5f 74 65 73 74 0a 72 65  e_finish_test.re
0410: 6e 61 6d 65 20 66 69 6e 69 73 68 5f 74 65 73 74  name finish_test
0420: 20 7b 7d 0a 72 65 6e 61 6d 65 20 72 74 72 65 65   {}.rename rtree
0430: 5f 66 69 6e 69 73 68 5f 74 65 73 74 20 66 69 6e  _finish_test fin
0440: 69 73 68 5f 74 65 73 74 0a                       ish_test.