1 # $Id: shell.tcl,v 1.6 1999-03-22 06:51:34 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"
86 proc sort-response {z} {
88 set sstatus [$z sortStatus]
89 puts "Sort Status: $sstatus"
93 proc common-response {z from} {
97 set status [$z responseStatus]
98 switch [lindex $status 0] {
100 puts -nonewline "NSD"
101 puts -nonewline [lindex $status 1]
103 puts -nonewline [lindex $status 2]
105 puts -nonewline [lindex $status 3]
110 set to [expr $from + [$z numberOfRecordsReturned]]
111 for {set i $from} {$i < $to} {incr i} {
112 if {[$z type $i] == ""} {
122 proc show {{from 1} {number 1}} {
126 z callback "common-response z.1 $from"
127 z.1 present $from $number
132 proc explain {query} {
136 z.1 databaseNames IR-Explain-1
137 z.1 preferredRecordSyntax explain
138 z callback {find-response z.1}
139 z.1 search "@attrset exp1 @attr 1=1 @attr 2=3 @attr 3=3 @attr 4=3 $query"
148 z.1 databaseNames $pref(base)
149 z.1 preferredRecordSyntax $pref(format)
150 z callback {find-response z.1}
156 proc sort {query flags} {
160 z callback {sort-response z.1}
161 z.1 sort "$query $flags"