F: avanti-x

Ralf Matalla matalla at cdmail.ub.uni-duesseldorf.de
Mi Nov 3 15:49:32 CET 1999


Geschaetzte Unix- und Avanti-Fachleute!

Mit einem Update des Betriebssystems unserer Sun ereilt uns ein schon 
etwas aelterers, damals nicht so dramatisches Problem aufs Neue.

Es wird bei einer Suche eine ganze Anzahl von Treffern gefunden, 
die Satznummern werden zurueckgegeben und dann ueber die Satznummern 
die zugehoerigen Kurztitel geholt.
Wie das aussieht, ist unten zu sehen (wird sicher manchem bekannt 
vorkommen; es ist natuerlich engst an das Original angelehnt).

Dieses Programm funktionierte bisher recht gut - ein Problem hatten 
wir bei grossen Mengen (irgendwo ueber 500 Treffern). Jetzt laeuft das 
Programm, so wie es unten steht, fuer maximal 49 Treffer. Danach kommt 
die Fehlermeldung (als Inhalt der '$Input'-Variablen
 K: EXCEPTION-Error in job-execution: core dump
Genauer gesagt: werden zuviele Kurztitel gefordert, kommt nur die 
Fehlermeldung.

Als Beispiel zum Ausprobieren kann ich anbieten:
http://sun.ub.uni-duesseldorf.de/allegro/acwww25/test.pl?db=opac&
zss=true&modus=trunkiert&alpha=b&elekt=true&logik=and&zeilen=49

Wird hier die Zeilenzahl auf >49 gesetzt tritt dieser Fehler auf.

(Damit wird nach in unserem Katalog nach elektr. Zss. mit 
Anfangsbuchstabe 'b' gesucht). Wenn man zusaetzlich auch die 
Papierzss. sehen moechte, muss man '&papier=true' ergaenzen - und 
wundersamer Weise kann dann die Zeilenzahl auf 400 (und mehr) gesetzt 
werden (aber auch nicht beliebig). Die Ergebnismenge wurde dabei 
natuerlich reichlich groesser ...

Die Verschaerfung des Problems bei Umstellung des Betriebssystems 
auf Solaris 7 macht mich glauben, dass da irgendwo Speicherbereiche 
sind, die nicht ausreichen. Die Memorysize in .avantix steht auf 
1000.
Andererseits machen mich diese unterschiedlichen Ergebnisse bei 
winzigen Veraenderungen  (papier=true) noch ratloser.

Hat da jemand gute Ideen? (oder auch nur irgendeine Idee)

Vielen Dank + Gruesse

Ralf Matalla

 
$jobtext  = "& $PfadParam\nfind # $nummern[$Position]"; for( $i = 1; 
$i < $maxKurztitel && $Position + $i < $#nummern;$i++ )       {
        $jobtext .= ",$nummern[$Position+$i]";    
      }
 $jobtext .= "\n";

# Damit wird die Ergebnismenge gebildet und jetzt werden noch die 
# Kurztitel geholt

 local( $max ) = $i;
 for( $i = 1; $i<93 ; $i++ )
     {
$jobtext .= <<"Kurztitel";
get $i
write internal "#" short newline
Kurztitel

$jobtext .= "@ DB=$Datenbank ID=$user/$passwd";
$Input=&AuftragErgebnis;
Ralf Matalla

Universitaets- und Landesbibliothek Duesseldorf
IVS- und CD-ROM-Koordination
Fachref. Mathematik u. Datenverarbeitung
Universitaetsstr. 1
40225 Duesseldorf
Tel.: ++49 211 81-13527
Fax:  ++49 211 81-13054





Mehr Informationen über die Mailingliste Allegro