1 # $Id: shell.tcl,v 1.7 2002-03-20 14:48:54 adam Exp $
4 if {[catch {ir-log-init all irtcl shell.log}]} {
5 set e [info sharedlibextension]
6 puts "Loading irtcl$e ..."
8 ir-log-init all irtcl shell.log
15 set pref(base) Default
16 set pref(format) usmarc
22 puts " format <format>"
24 puts " sort <attr> <flag>"
25 puts " show <offset> <number>"
29 proc fail-response {} {
38 z failback {fail-response}
39 z callback {connect-response}
40 if [catch "z connect $name"] {
46 puts "Connected and initialized."
58 proc format {format} {
60 set pref(format) $format
63 proc connect-response {} {
64 z callback {init-response}
68 proc init-response {} {
75 proc find-response {z} {
76 set sstatus [$z searchStatus]
78 set h [$z resultCount]
79 puts "Search ok. $h hits"
80 puts [$z searchResult]
87 proc sort-response {z} {
89 set sstatus [$z sortStatus]
90 puts "Sort Status: $sstatus"
94 proc common-response {z from} {
98 set status [$z responseStatus]
99 switch [lindex $status 0] {
101 puts -nonewline "NSD"
102 puts -nonewline [lindex $status 1]
104 puts -nonewline [lindex $status 2]
106 puts -nonewline [lindex $status 3]
111 set to [expr $from + [$z numberOfRecordsReturned]]
112 for {set i $from} {$i < $to} {incr i} {
113 if {[$z type $i] == ""} {
123 proc show {{from 1} {number 1}} {
127 z callback "common-response z.1 $from"
128 z.1 present $from $number
133 proc explain {query} {
137 z.1 databaseNames IR-Explain-1
138 z.1 preferredRecordSyntax explain
139 z callback {find-response z.1}
140 z.1 search "@attrset exp1 @attr 1=1 @attr 2=3 @attr 3=3 @attr 4=3 $query"
149 z.1 databaseNames $pref(base)
150 z.1 preferredRecordSyntax $pref(format)
151 z callback {find-response z.1}
157 proc sort {query flags} {
161 z callback {sort-response z.1}
162 z.1 sort "$query $flags"