/ Hex Artifact Content
Login

Artifact 58e90407cc5c2b1770460119488fd7c0090d4dd3:


0000: 0a 0a 70 72 6f 63 20 6c 6f 61 64 66 69 6c 65 20  ..proc loadfile 
0010: 7b 66 7d 20 7b 0a 20 20 73 65 74 20 66 64 20 5b  {f} {.  set fd [
0020: 6f 70 65 6e 20 24 66 5d 0a 20 20 73 65 74 20 64  open $f].  set d
0030: 61 74 61 20 5b 72 65 61 64 20 24 66 64 5d 0a 20  ata [read $fd]. 
0040: 20 63 6c 6f 73 65 20 24 66 64 0a 20 20 72 65 74   close $fd.  ret
0050: 75 72 6e 20 24 64 61 74 61 0a 7d 0a 0a 73 65 74  urn $data.}..set
0060: 20 3a 3a 6e 52 6f 77 20 30 0a 73 65 74 20 3a 3a   ::nRow 0.set ::
0070: 6e 52 6f 77 50 65 72 44 6f 74 20 31 30 30 30 0a  nRowPerDot 1000.
0080: 0a 70 72 6f 63 20 6c 6f 61 64 5f 68 69 65 72 61  .proc load_hiera
0090: 63 68 79 20 7b 64 69 72 7d 20 7b 0a 20 20 66 6f  chy {dir} {.  fo
00a0: 72 65 61 63 68 20 66 20 5b 67 6c 6f 62 20 2d 6e  reach f [glob -n
00b0: 6f 63 6f 6d 70 6c 61 69 6e 20 2d 64 69 72 20 24  ocomplain -dir $
00c0: 64 69 72 20 2a 5d 20 7b 0a 20 20 20 20 69 66 20  dir *] {.    if 
00d0: 7b 24 3a 3a 4f 28 6c 69 6d 69 74 29 20 26 26 20  {$::O(limit) && 
00e0: 24 3a 3a 6e 52 6f 77 3e 3d 24 3a 3a 4f 28 6c 69  $::nRow>=$::O(li
00f0: 6d 69 74 29 7d 20 62 72 65 61 6b 0a 20 20 20 20  mit)} break.    
0100: 69 66 20 7b 5b 66 69 6c 65 20 69 73 64 69 72 20  if {[file isdir 
0110: 24 66 5d 7d 20 7b 0a 20 20 20 20 20 20 6c 6f 61  $f]} {.      loa
0120: 64 5f 68 69 65 72 61 63 68 79 20 24 66 0a 20 20  d_hierachy $f.  
0130: 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20    } else {.     
0140: 20 64 62 20 65 76 61 6c 20 7b 20 49 4e 53 45 52   db eval { INSER
0150: 54 20 49 4e 54 4f 20 74 31 20 56 41 4c 55 45 53  T INTO t1 VALUES
0160: 28 24 66 2c 20 6c 6f 61 64 66 69 6c 65 28 24 66  ($f, loadfile($f
0170: 29 29 20 7d 0a 20 20 20 20 20 20 69 6e 63 72 20  )) }.      incr 
0180: 3a 3a 6e 52 6f 77 0a 0a 20 20 20 20 20 20 69 66  ::nRow..      if
0190: 20 7b 24 3a 3a 4f 28 74 72 61 6e 73 29 20 26 26   {$::O(trans) &&
01a0: 20 28 24 3a 3a 6e 52 6f 77 20 25 20 24 3a 3a 4f   ($::nRow % $::O
01b0: 28 74 72 61 6e 73 29 29 3d 3d 30 7d 20 7b 0a 20  (trans))==0} {. 
01c0: 20 20 20 20 20 20 20 64 62 20 65 76 61 6c 20 7b         db eval {
01d0: 20 43 4f 4d 4d 49 54 20 7d 0a 20 20 20 20 20 20   COMMIT }.      
01e0: 20 20 64 62 20 65 76 61 6c 20 7b 20 49 4e 53 45    db eval { INSE
01f0: 52 54 20 49 4e 54 4f 20 74 31 28 74 31 29 20 56  RT INTO t1(t1) V
0200: 41 4c 55 45 53 28 27 69 6e 74 65 67 72 69 74 79  ALUES('integrity
0210: 2d 63 68 65 63 6b 27 29 20 7d 0a 20 20 20 20 20  -check') }.     
0220: 20 20 20 64 62 20 65 76 61 6c 20 7b 20 42 45 47     db eval { BEG
0230: 49 4e 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20  IN }.      }..  
0240: 20 20 20 20 69 66 20 7b 28 24 3a 3a 6e 52 6f 77      if {($::nRow
0250: 20 25 20 24 3a 3a 6e 52 6f 77 50 65 72 44 6f 74   % $::nRowPerDot
0260: 29 3d 3d 30 7d 20 7b 0a 20 20 20 20 20 20 20 20  )==0} {.        
0270: 70 75 74 73 20 2d 6e 6f 6e 65 77 6c 69 6e 65 20  puts -nonewline 
0280: 2e 0a 20 20 20 20 20 20 20 20 69 66 20 7b 28 24  ..        if {($
0290: 3a 3a 6e 52 6f 77 20 25 20 28 36 35 2a 24 3a 3a  ::nRow % (65*$::
02a0: 6e 52 6f 77 50 65 72 44 6f 74 29 29 3d 3d 30 7d  nRowPerDot))==0}
02b0: 20 7b 20 70 75 74 73 20 22 22 20 7d 0a 20 20 20   { puts "" }.   
02c0: 20 20 20 20 20 66 6c 75 73 68 20 73 74 64 6f 75       flush stdou
02d0: 74 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 7d  t.      }..    }
02e0: 0a 20 20 7d 0a 7d 0a 0a 70 72 6f 63 20 75 73 61  .  }.}..proc usa
02f0: 67 65 20 7b 7d 20 7b 0a 20 20 70 75 74 73 20 73  ge {} {.  puts s
0300: 74 64 65 72 72 20 22 55 73 61 67 65 3a 20 24 3a  tderr "Usage: $:
0310: 3a 61 72 67 76 30 20 3f 53 57 49 54 43 48 45 53  :argv0 ?SWITCHES
0320: 3f 20 44 41 54 41 42 41 53 45 20 50 41 54 48 22  ? DATABASE PATH"
0330: 0a 20 20 70 75 74 73 20 73 74 64 65 72 72 20 22  .  puts stderr "
0340: 22 0a 20 20 70 75 74 73 20 73 74 64 65 72 72 20  ".  puts stderr 
0350: 22 53 77 69 74 63 68 65 73 20 61 72 65 3a 22 0a  "Switches are:".
0360: 20 20 70 75 74 73 20 73 74 64 65 72 72 20 22 20    puts stderr " 
0370: 20 2d 66 74 73 34 20 20 20 20 20 20 20 20 28 75   -fts4        (u
0380: 73 65 20 66 74 73 34 20 69 6e 73 74 65 61 64 20  se fts4 instead 
0390: 6f 66 20 66 74 73 35 29 22 0a 20 20 70 75 74 73  of fts5)".  puts
03a0: 20 73 74 64 65 72 72 20 22 20 20 2d 66 74 73 35   stderr "  -fts5
03b0: 20 20 20 20 20 20 20 20 28 75 73 65 20 66 74 73          (use fts
03c0: 35 29 22 0a 20 20 70 75 74 73 20 73 74 64 65 72  5)".  puts stder
03d0: 72 20 22 20 20 2d 70 6f 72 74 65 72 20 20 20 20  r "  -porter    
03e0: 20 20 28 75 73 65 20 70 6f 72 74 65 72 20 74 6f    (use porter to
03f0: 6b 65 6e 69 7a 65 72 29 22 0a 20 20 70 75 74 73  kenizer)".  puts
0400: 20 73 74 64 65 72 72 20 22 20 20 2d 64 65 6c 65   stderr "  -dele
0410: 74 65 20 20 20 20 20 20 28 64 65 6c 65 74 65 20  te      (delete 
0420: 74 68 65 20 64 61 74 61 62 61 73 65 20 66 69 6c  the database fil
0430: 65 20 62 65 66 6f 72 65 20 73 74 61 72 74 69 6e  e before startin
0440: 67 29 22 0a 20 20 70 75 74 73 20 73 74 64 65 72  g)".  puts stder
0450: 72 20 22 20 20 2d 6c 69 6d 69 74 20 4e 20 20 20  r "  -limit N   
0460: 20 20 28 6c 6f 61 64 20 6e 6f 20 6d 6f 72 65 20    (load no more 
0470: 74 68 61 6e 20 4e 20 64 6f 63 75 6d 65 6e 74 73  than N documents
0480: 29 22 0a 20 20 70 75 74 73 20 73 74 64 65 72 72  )".  puts stderr
0490: 20 22 20 20 2d 61 75 74 6f 6d 65 72 67 65 20 4e   "  -automerge N
04a0: 20 28 73 65 74 20 74 68 65 20 61 75 74 6f 6d 65   (set the autome
04b0: 72 67 65 20 70 61 72 61 6d 65 74 65 72 20 74 6f  rge parameter to
04c0: 20 4e 29 22 0a 20 20 70 75 74 73 20 73 74 64 65   N)".  puts stde
04d0: 72 72 20 22 20 20 2d 63 72 69 73 69 73 6d 65 72  rr "  -crisismer
04e0: 67 65 20 4e 20 28 73 65 74 20 74 68 65 20 63 72  ge N (set the cr
04f0: 69 73 69 73 6d 65 72 67 65 20 70 61 72 61 6d 65  isismerge parame
0500: 74 65 72 20 74 6f 20 4e 29 22 0a 20 20 70 75 74  ter to N)".  put
0510: 73 20 73 74 64 65 72 72 20 22 20 20 2d 70 72 65  s stderr "  -pre
0520: 66 69 78 20 50 52 45 46 49 58 20 28 63 6f 6d 6d  fix PREFIX (comm
0530: 61 20 73 65 70 61 72 61 74 65 64 20 70 72 65 66  a separated pref
0540: 69 78 3d 20 61 72 67 75 6d 65 6e 74 29 22 0a 20  ix= argument)". 
0550: 20 70 75 74 73 20 73 74 64 65 72 72 20 22 20 20   puts stderr "  
0560: 2d 74 72 61 6e 73 20 4e 20 20 20 20 20 28 63 6f  -trans N     (co
0570: 6d 6d 69 74 20 61 66 74 65 72 20 4e 20 69 6e 73  mmit after N ins
0580: 65 72 74 73 20 2d 20 30 20 3d 3d 20 6e 65 76 65  erts - 0 == neve
0590: 72 29 22 0a 20 20 65 78 69 74 20 31 0a 7d 0a 0a  r)".  exit 1.}..
05a0: 73 65 74 20 4f 28 76 74 61 62 29 20 20 20 20 20  set O(vtab)     
05b0: 20 20 66 74 73 35 0a 73 65 74 20 4f 28 74 6f 6b    fts5.set O(tok
05c0: 29 20 20 20 20 20 20 20 20 22 22 0a 73 65 74 20  )        "".set 
05d0: 4f 28 6c 69 6d 69 74 29 20 20 20 20 20 20 30 0a  O(limit)      0.
05e0: 73 65 74 20 4f 28 64 65 6c 65 74 65 29 20 20 20  set O(delete)   
05f0: 20 20 30 0a 73 65 74 20 4f 28 61 75 74 6f 6d 65    0.set O(autome
0600: 72 67 65 29 20 20 2d 31 0a 73 65 74 20 4f 28 63  rge)  -1.set O(c
0610: 72 69 73 69 73 6d 65 72 67 65 29 20 20 2d 31 0a  risismerge)  -1.
0620: 73 65 74 20 4f 28 70 72 65 66 69 78 29 20 20 20  set O(prefix)   
0630: 20 20 22 22 0a 73 65 74 20 4f 28 74 72 61 6e 73    "".set O(trans
0640: 29 20 20 20 20 20 20 30 0a 0a 69 66 20 7b 5b 6c  )      0..if {[l
0650: 6c 65 6e 67 74 68 20 24 61 72 67 76 5d 3c 32 7d  length $argv]<2}
0660: 20 75 73 61 67 65 0a 73 65 74 20 6e 4f 70 74 20   usage.set nOpt 
0670: 5b 65 78 70 72 20 7b 5b 6c 6c 65 6e 67 74 68 20  [expr {[llength 
0680: 24 61 72 67 76 5d 2d 32 7d 5d 0a 66 6f 72 20 7b  $argv]-2}].for {
0690: 73 65 74 20 69 20 30 7d 20 7b 24 69 20 3c 20 24  set i 0} {$i < $
06a0: 6e 4f 70 74 7d 20 7b 69 6e 63 72 20 69 7d 20 7b  nOpt} {incr i} {
06b0: 0a 20 20 73 65 74 20 61 72 67 20 5b 6c 69 6e 64  .  set arg [lind
06c0: 65 78 20 24 61 72 67 76 20 24 69 5d 0a 20 20 73  ex $argv $i].  s
06d0: 77 69 74 63 68 20 2d 2d 20 5b 6c 69 6e 64 65 78  witch -- [lindex
06e0: 20 24 61 72 67 76 20 24 69 5d 20 7b 0a 20 20 20   $argv $i] {.   
06f0: 20 2d 66 74 73 34 20 7b 0a 20 20 20 20 20 20 73   -fts4 {.      s
0700: 65 74 20 4f 28 76 74 61 62 29 20 66 74 73 34 0a  et O(vtab) fts4.
0710: 20 20 20 20 7d 0a 0a 20 20 20 20 2d 66 74 73 35      }..    -fts5
0720: 20 7b 0a 20 20 20 20 20 20 73 65 74 20 4f 28 76   {.      set O(v
0730: 74 61 62 29 20 66 74 73 35 0a 20 20 20 20 7d 0a  tab) fts5.    }.
0740: 0a 20 20 20 20 2d 70 6f 72 74 65 72 20 7b 0a 20  .    -porter {. 
0750: 20 20 20 20 20 73 65 74 20 4f 28 74 6f 6b 29 20       set O(tok) 
0760: 22 2c 20 74 6f 6b 65 6e 69 7a 65 3d 70 6f 72 74  ", tokenize=port
0770: 65 72 22 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2d  er".    }..    -
0780: 64 65 6c 65 74 65 20 7b 0a 20 20 20 20 20 20 73  delete {.      s
0790: 65 74 20 4f 28 64 65 6c 65 74 65 29 20 31 0a 20  et O(delete) 1. 
07a0: 20 20 20 7d 0a 0a 20 20 20 20 2d 6c 69 6d 69 74     }..    -limit
07b0: 20 7b 0a 20 20 20 20 20 20 69 66 20 7b 20 5b 69   {.      if { [i
07c0: 6e 63 72 20 69 5d 3e 3d 24 6e 4f 70 74 20 7d 20  ncr i]>=$nOpt } 
07d0: 75 73 61 67 65 0a 20 20 20 20 20 20 73 65 74 20  usage.      set 
07e0: 4f 28 6c 69 6d 69 74 29 20 5b 6c 69 6e 64 65 78  O(limit) [lindex
07f0: 20 24 61 72 67 76 20 24 69 5d 0a 20 20 20 20 7d   $argv $i].    }
0800: 0a 0a 20 20 20 20 2d 74 72 61 6e 73 20 7b 0a 20  ..    -trans {. 
0810: 20 20 20 20 20 69 66 20 7b 20 5b 69 6e 63 72 20       if { [incr 
0820: 69 5d 3e 3d 24 6e 4f 70 74 20 7d 20 75 73 61 67  i]>=$nOpt } usag
0830: 65 0a 20 20 20 20 20 20 73 65 74 20 4f 28 74 72  e.      set O(tr
0840: 61 6e 73 29 20 5b 6c 69 6e 64 65 78 20 24 61 72  ans) [lindex $ar
0850: 67 76 20 24 69 5d 0a 20 20 20 20 7d 0a 20 20 20  gv $i].    }.   
0860: 20 0a 20 20 20 20 2d 61 75 74 6f 6d 65 72 67 65   .    -automerge
0870: 20 7b 0a 20 20 20 20 20 20 69 66 20 7b 20 5b 69   {.      if { [i
0880: 6e 63 72 20 69 5d 3e 3d 24 6e 4f 70 74 20 7d 20  ncr i]>=$nOpt } 
0890: 75 73 61 67 65 0a 20 20 20 20 20 20 73 65 74 20  usage.      set 
08a0: 4f 28 61 75 74 6f 6d 65 72 67 65 29 20 5b 6c 69  O(automerge) [li
08b0: 6e 64 65 78 20 24 61 72 67 76 20 24 69 5d 0a 20  ndex $argv $i]. 
08c0: 20 20 20 7d 0a 0a 20 20 20 20 2d 63 72 69 73 69     }..    -crisi
08d0: 73 6d 65 72 67 65 20 7b 0a 20 20 20 20 20 20 69  smerge {.      i
08e0: 66 20 7b 20 5b 69 6e 63 72 20 69 5d 3e 3d 24 6e  f { [incr i]>=$n
08f0: 4f 70 74 20 7d 20 75 73 61 67 65 0a 20 20 20 20  Opt } usage.    
0900: 20 20 73 65 74 20 4f 28 63 72 69 73 69 73 6d 65    set O(crisisme
0910: 72 67 65 29 20 5b 6c 69 6e 64 65 78 20 24 61 72  rge) [lindex $ar
0920: 67 76 20 24 69 5d 0a 20 20 20 20 7d 0a 0a 20 20  gv $i].    }..  
0930: 20 20 2d 70 72 65 66 69 78 20 7b 0a 20 20 20 20    -prefix {.    
0940: 20 20 69 66 20 7b 20 5b 69 6e 63 72 20 69 5d 3e    if { [incr i]>
0950: 3d 24 6e 4f 70 74 20 7d 20 75 73 61 67 65 0a 20  =$nOpt } usage. 
0960: 20 20 20 20 20 73 65 74 20 4f 28 70 72 65 66 69       set O(prefi
0970: 78 29 20 5b 6c 69 6e 64 65 78 20 24 61 72 67 76  x) [lindex $argv
0980: 20 24 69 5d 0a 20 20 20 20 7d 0a 0a 20 20 20 20   $i].    }..    
0990: 64 65 66 61 75 6c 74 20 7b 0a 20 20 20 20 20 20  default {.      
09a0: 75 73 61 67 65 0a 20 20 20 20 7d 0a 20 20 7d 0a  usage.    }.  }.
09b0: 7d 0a 0a 73 65 74 20 64 62 66 69 6c 65 20 5b 6c  }..set dbfile [l
09c0: 69 6e 64 65 78 20 24 61 72 67 76 20 65 6e 64 2d  index $argv end-
09d0: 31 5d 0a 69 66 20 7b 24 4f 28 64 65 6c 65 74 65  1].if {$O(delete
09e0: 29 7d 20 7b 20 66 69 6c 65 20 64 65 6c 65 74 65  )} { file delete
09f0: 20 2d 66 6f 72 63 65 20 24 64 62 66 69 6c 65 20   -force $dbfile 
0a00: 7d 0a 73 71 6c 69 74 65 33 20 64 62 20 24 64 62  }.sqlite3 db $db
0a10: 66 69 6c 65 0a 63 61 74 63 68 20 7b 20 6c 6f 61  file.catch { loa
0a20: 64 5f 73 74 61 74 69 63 5f 65 78 74 65 6e 73 69  d_static_extensi
0a30: 6f 6e 20 64 62 20 66 74 73 35 20 7d 0a 64 62 20  on db fts5 }.db 
0a40: 66 75 6e 63 20 6c 6f 61 64 66 69 6c 65 20 6c 6f  func loadfile lo
0a50: 61 64 66 69 6c 65 0a 64 62 20 65 76 61 6c 20 22  adfile.db eval "
0a60: 50 52 41 47 4d 41 20 70 61 67 65 5f 73 69 7a 65  PRAGMA page_size
0a70: 3d 34 30 39 36 22 0a 0a 64 62 20 65 76 61 6c 20  =4096"..db eval 
0a80: 42 45 47 49 4e 0a 20 20 73 65 74 20 70 72 65 66  BEGIN.  set pref
0a90: 20 22 22 0a 20 20 69 66 20 7b 24 4f 28 70 72 65   "".  if {$O(pre
0aa0: 66 69 78 29 21 3d 22 22 7d 20 7b 20 73 65 74 20  fix)!=""} { set 
0ab0: 70 72 65 66 20 22 2c 20 70 72 65 66 69 78 3d 27  pref ", prefix='
0ac0: 24 4f 28 70 72 65 66 69 78 29 27 22 20 7d 0a 20  $O(prefix)'" }. 
0ad0: 20 63 61 74 63 68 20 7b 0a 20 20 20 20 64 62 20   catch {.    db 
0ae0: 65 76 61 6c 20 22 43 52 45 41 54 45 20 56 49 52  eval "CREATE VIR
0af0: 54 55 41 4c 20 54 41 42 4c 45 20 74 31 20 55 53  TUAL TABLE t1 US
0b00: 49 4e 47 20 24 4f 28 76 74 61 62 29 20 28 70 61  ING $O(vtab) (pa
0b10: 74 68 2c 20 63 6f 6e 74 65 6e 74 24 4f 28 74 6f  th, content$O(to
0b20: 6b 29 24 70 72 65 66 29 22 0a 20 20 20 20 64 62  k)$pref)".    db
0b30: 20 65 76 61 6c 20 22 49 4e 53 45 52 54 20 49 4e   eval "INSERT IN
0b40: 54 4f 20 74 31 28 74 31 2c 20 72 61 6e 6b 29 20  TO t1(t1, rank) 
0b50: 56 41 4c 55 45 53 28 27 70 67 73 7a 27 2c 20 34  VALUES('pgsz', 4
0b60: 30 35 30 29 3b 22 0a 20 20 7d 0a 20 20 69 66 20  050);".  }.  if 
0b70: 7b 24 4f 28 61 75 74 6f 6d 65 72 67 65 29 3e 3d  {$O(automerge)>=
0b80: 30 7d 20 7b 0a 20 20 20 20 69 66 20 7b 24 4f 28  0} {.    if {$O(
0b90: 76 74 61 62 29 20 3d 3d 20 22 66 74 73 35 22 7d  vtab) == "fts5"}
0ba0: 20 7b 0a 20 20 20 20 20 20 64 62 20 65 76 61 6c   {.      db eval
0bb0: 20 7b 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 74   { INSERT INTO t
0bc0: 31 28 74 31 2c 20 72 61 6e 6b 29 20 56 41 4c 55  1(t1, rank) VALU
0bd0: 45 53 28 27 61 75 74 6f 6d 65 72 67 65 27 2c 20  ES('automerge', 
0be0: 24 4f 28 61 75 74 6f 6d 65 72 67 65 29 29 20 7d  $O(automerge)) }
0bf0: 0a 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20  .    } else {.  
0c00: 20 20 20 20 64 62 20 65 76 61 6c 20 7b 20 49 4e      db eval { IN
0c10: 53 45 52 54 20 49 4e 54 4f 20 74 31 28 74 31 29  SERT INTO t1(t1)
0c20: 20 56 41 4c 55 45 53 28 27 61 75 74 6f 6d 65 72   VALUES('automer
0c30: 67 65 3d 27 20 7c 7c 20 24 4f 28 61 75 74 6f 6d  ge=' || $O(autom
0c40: 65 72 67 65 29 29 20 7d 0a 20 20 20 20 7d 0a 20  erge)) }.    }. 
0c50: 20 7d 0a 20 20 69 66 20 7b 24 4f 28 63 72 69 73   }.  if {$O(cris
0c60: 69 73 6d 65 72 67 65 29 3e 3d 30 7d 20 7b 0a 20  ismerge)>=0} {. 
0c70: 20 20 20 69 66 20 7b 24 4f 28 76 74 61 62 29 20     if {$O(vtab) 
0c80: 3d 3d 20 22 66 74 73 35 22 7d 20 7b 0a 20 20 20  == "fts5"} {.   
0c90: 20 20 20 64 62 20 65 76 61 6c 20 7b 49 4e 53 45     db eval {INSE
0ca0: 52 54 20 49 4e 54 4f 20 74 31 28 74 31 2c 20 72  RT INTO t1(t1, r
0cb0: 61 6e 6b 29 20 56 41 4c 55 45 53 28 27 63 72 69  ank) VALUES('cri
0cc0: 73 69 73 6d 65 72 67 65 27 2c 20 24 4f 28 63 72  sismerge', $O(cr
0cd0: 69 73 69 73 6d 65 72 67 65 29 29 7d 0a 20 20 20  isismerge))}.   
0ce0: 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 7d 0a   } else {.    }.
0cf0: 20 20 7d 0a 20 20 6c 6f 61 64 5f 68 69 65 72 61    }.  load_hiera
0d00: 63 68 79 20 5b 6c 69 6e 64 65 78 20 24 61 72 67  chy [lindex $arg
0d10: 76 20 65 6e 64 5d 0a 64 62 20 65 76 61 6c 20 43  v end].db eval C
0d20: 4f 4d 4d 49 54 0a 0a 0a 0a                       OMMIT....