OLD | NEW |
1 | 1 |
2 | 2 |
3 proc loadfile {f} { | 3 proc loadfile {f} { |
4 set fd [open $f] | 4 set fd [open $f] |
5 set data [read $fd] | 5 set data [read $fd] |
6 close $fd | 6 close $fd |
7 return $data | 7 return $data |
8 } | 8 } |
9 | 9 |
10 set ::nRow 0 | 10 set ::nRow 0 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
42 puts stderr " -fts4 (use fts4 instead of fts5)" | 42 puts stderr " -fts4 (use fts4 instead of fts5)" |
43 puts stderr " -fts5 (use fts5)" | 43 puts stderr " -fts5 (use fts5)" |
44 puts stderr " -porter (use porter tokenizer)" | 44 puts stderr " -porter (use porter tokenizer)" |
45 puts stderr " -delete (delete the database file before starting)" | 45 puts stderr " -delete (delete the database file before starting)" |
46 puts stderr " -limit N (load no more than N documents)" | 46 puts stderr " -limit N (load no more than N documents)" |
47 puts stderr " -automerge N (set the automerge parameter to N)" | 47 puts stderr " -automerge N (set the automerge parameter to N)" |
48 puts stderr " -crisismerge N (set the crisismerge parameter to N)" | 48 puts stderr " -crisismerge N (set the crisismerge parameter to N)" |
49 puts stderr " -prefix PREFIX (comma separated prefix= argument)" | 49 puts stderr " -prefix PREFIX (comma separated prefix= argument)" |
50 puts stderr " -trans N (commit after N inserts - 0 == never)" | 50 puts stderr " -trans N (commit after N inserts - 0 == never)" |
51 puts stderr " -hashsize N (set the fts5 hashsize parameter to N)" | 51 puts stderr " -hashsize N (set the fts5 hashsize parameter to N)" |
| 52 puts stderr " -detail MODE (detail mode for fts5 tables)" |
52 exit 1 | 53 exit 1 |
53 } | 54 } |
54 | 55 |
55 set O(vtab) fts5 | 56 set O(vtab) fts5 |
56 set O(tok) "" | 57 set O(tok) "" |
57 set O(limit) 0 | 58 set O(limit) 0 |
58 set O(delete) 0 | 59 set O(delete) 0 |
59 set O(automerge) -1 | 60 set O(automerge) -1 |
60 set O(crisismerge) -1 | 61 set O(crisismerge) -1 |
61 set O(prefix) "" | 62 set O(prefix) "" |
62 set O(trans) 0 | 63 set O(trans) 0 |
63 set O(hashsize) -1 | 64 set O(hashsize) -1 |
| 65 set O(detail) full |
64 | 66 |
65 if {[llength $argv]<2} usage | 67 if {[llength $argv]<2} usage |
66 set nOpt [expr {[llength $argv]-2}] | 68 set nOpt [expr {[llength $argv]-2}] |
67 for {set i 0} {$i < $nOpt} {incr i} { | 69 for {set i 0} {$i < $nOpt} {incr i} { |
68 set arg [lindex $argv $i] | 70 set arg [lindex $argv $i] |
69 switch -- [lindex $argv $i] { | 71 switch -- [lindex $argv $i] { |
70 -fts4 { | 72 -fts4 { |
71 set O(vtab) fts4 | 73 set O(vtab) fts4 |
72 } | 74 } |
73 | 75 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 -prefix { | 108 -prefix { |
107 if { [incr i]>=$nOpt } usage | 109 if { [incr i]>=$nOpt } usage |
108 set O(prefix) [lindex $argv $i] | 110 set O(prefix) [lindex $argv $i] |
109 } | 111 } |
110 | 112 |
111 -hashsize { | 113 -hashsize { |
112 if { [incr i]>=$nOpt } usage | 114 if { [incr i]>=$nOpt } usage |
113 set O(hashsize) [lindex $argv $i] | 115 set O(hashsize) [lindex $argv $i] |
114 } | 116 } |
115 | 117 |
| 118 -detail { |
| 119 if { [incr i]>=$nOpt } usage |
| 120 set O(detail) [lindex $argv $i] |
| 121 } |
| 122 |
116 default { | 123 default { |
117 usage | 124 usage |
118 } | 125 } |
119 } | 126 } |
120 } | 127 } |
121 | 128 |
122 set dbfile [lindex $argv end-1] | 129 set dbfile [lindex $argv end-1] |
123 if {$O(delete)} { file delete -force $dbfile } | 130 if {$O(delete)} { file delete -force $dbfile } |
124 sqlite3 db $dbfile | 131 sqlite3 db $dbfile |
125 catch { load_static_extension db fts5 } | 132 catch { load_static_extension db fts5 } |
126 db func loadfile loadfile | 133 db func loadfile loadfile |
127 db eval "PRAGMA page_size=4096" | 134 db eval "PRAGMA page_size=4096" |
128 | 135 |
129 db eval BEGIN | 136 db eval BEGIN |
130 set pref "" | 137 set pref "" |
131 if {$O(prefix)!=""} { set pref ", prefix='$O(prefix)'" } | 138 if {$O(prefix)!=""} { set pref ", prefix='$O(prefix)'" } |
| 139 if {$O(vtab)=="fts5"} { |
| 140 append pref ", detail=$O(detail)" |
| 141 } |
132 catch { | 142 catch { |
133 db eval "CREATE VIRTUAL TABLE t1 USING $O(vtab) (path, content$O(tok)$pref)" | 143 db eval "CREATE VIRTUAL TABLE t1 USING $O(vtab) (path, content$O(tok)$pref)" |
134 db eval "INSERT INTO t1(t1, rank) VALUES('pgsz', 4050);" | 144 db eval "INSERT INTO t1(t1, rank) VALUES('pgsz', 4050);" |
135 } | 145 } |
136 | 146 |
137 if {$O(hashsize)>=0} { | 147 if {$O(hashsize)>=0} { |
138 catch { | 148 catch { |
139 db eval "INSERT INTO t1(t1, rank) VALUES('hashsize', $O(hashsize));" | 149 db eval "INSERT INTO t1(t1, rank) VALUES('hashsize', $O(hashsize));" |
140 } | 150 } |
141 } | 151 } |
(...skipping 11 matching lines...) Expand all Loading... |
153 db eval {INSERT INTO t1(t1, rank) VALUES('crisismerge', $O(crisismerge))} | 163 db eval {INSERT INTO t1(t1, rank) VALUES('crisismerge', $O(crisismerge))} |
154 } else { | 164 } else { |
155 } | 165 } |
156 } | 166 } |
157 load_hierachy [lindex $argv end] | 167 load_hierachy [lindex $argv end] |
158 db eval COMMIT | 168 db eval COMMIT |
159 puts "" | 169 puts "" |
160 | 170 |
161 | 171 |
162 | 172 |
OLD | NEW |