X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=shell.tcl;h=5fc0415844b8b3489fca5d5bc1cb83dffe70c87d;hb=920d8fddbb9d7206a083c88f3a5a934abee82cf7;hp=a6a1c926bca101539e5efcfdb04ec4266464a171;hpb=a3d15c17d1389f3047e2c271e69df869f6dd904d;p=ir-tcl-moved-to-github.git diff --git a/shell.tcl b/shell.tcl index a6a1c92..5fc0415 100644 --- a/shell.tcl +++ b/shell.tcl @@ -1,8 +1,17 @@ -# $Id: shell.tcl,v 1.3 1996-08-21 11:24:03 adam Exp $ +# $Id: shell.tcl,v 1.5 1998-05-20 12:27:45 adam Exp $ # + +if {[catch {ir-log-init all irtcl shell.log}]} { + set e [info sharedlibextension] + puts "Loading irtcl$e ..." + load ./irtcl$e irtcl + ir-log-init all irtcl shell.log +} + source display.tcl ir z + set pref(base) Default set pref(format) usmarc @@ -29,9 +38,14 @@ proc target {name} { z callback {connect-response} if [catch "z connect $name"] { fail-response - } else { + } elseif {$ok == 0} { vwait ok } + if {$ok == 1} { + puts "Connected and initialized." + } else { + puts "Failed." + } return {} } @@ -54,7 +68,6 @@ proc init-response {} { global ok pref set ok 1 - puts "Connected and initialized." ir-set z.1 z } @@ -86,7 +99,8 @@ proc common-response {z from} { } DBOSD { puts "DBOSD" - for {set i $from} {$i < [$z nextResultSetPosition]} {incr i} { + set to [expr $from + [$z numberOfRecordsReturned]] + for {set i $from} {$i < $to} {incr i} { if {[$z type $i] == ""} { break } @@ -97,7 +111,7 @@ proc common-response {z from} { } } -proc show {from number} { +proc show {{from 1} {number 1}} { global ok pref set ok 0 @@ -106,6 +120,18 @@ proc show {from number} { vwait ok return {} } + +proc explain {query} { + global ok pref + + set ok 0 + z.1 databaseNames IR-Explain-1 + z.1 preferredRecordSyntax explain + z callback {find-response z.1} + z.1 search "@attrset exp1 @attr 1=1 @attr 2=3 @attr 3=3 @attr 4=3 $query" + vwait ok + return {} +} proc find {query} { global ok pref