1 # $Id: shell.tcl,v 1.8 2002-03-21 11:11:53 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 set terms [$z searchResult]
82 puts "[lindex $tc 0]: [lindex $tc 1]"
90 proc sort-response {z} {
92 set sstatus [$z sortStatus]
93 puts "Sort Status: $sstatus"
97 proc common-response {z from} {
101 set status [$z responseStatus]
102 switch [lindex $status 0] {
104 puts -nonewline "NSD"
105 puts -nonewline [lindex $status 1]
107 puts -nonewline [lindex $status 2]
109 puts -nonewline [lindex $status 3]
114 set to [expr $from + [$z numberOfRecordsReturned]]
115 for {set i $from} {$i < $to} {incr i} {
116 if {[$z type $i] == ""} {
126 proc show {{from 1} {number 1}} {
130 z callback "common-response z.1 $from"
131 z.1 present $from $number
136 proc explain {query} {
140 z.1 databaseNames IR-Explain-1
141 z.1 preferredRecordSyntax explain
142 z callback {find-response z.1}
143 z.1 search "@attrset exp1 @attr 1=1 @attr 2=3 @attr 3=3 @attr 4=3 $query"
152 z.1 databaseNames $pref(base)
153 z.1 preferredRecordSyntax $pref(format)
154 z callback {find-response z.1}
160 proc sort {query flags} {
164 z callback {sort-response z.1}
165 z.1 sort "$query $flags"