Trailing-Edge
-
PDP-10 Archives
-
BB-4160E-BM
-
sort-doc/srt4b.doc
There are no other files named srt4b.doc in the archive.
SRT4B.DOC -- Changes from SORT V4(302) to V4B(435).
Sep 1979
COPYRIGHT (C) 1979 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER
COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY
TRANSFERRED.
THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE
AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.
DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
SRT4B.DOC Page 2
SRT4B.DOC -- Changes from SORT V4(302) to V4B(435).
1.0 SUMMARY
1.1 Functions
SORT is the high performance sort/merge package for the DECSYSTEM-20.
SORT may be run as a stand-alone sort/merge, or embedded in a COBOL or
FORTRAN program.
This release, SORT v4B(435), contains all published edits up to and
including edit 435 and fully replaces SORT v4 (released with COBOL-68
v12) and SORT v4A (released with COBOL-74 v12).
1.2 Monitor
SORT runs under all supported monitors, and has been tested under
release 3A.
See section 4 for details of how to rebuild SORT.
1.3 Software Dependencies
SORT v4B requires pre-release 4 versions of MONSYM.UNV, MACSYM.UNV
and, for COBOL, MACREL.REL. These files are included on the tape.
The stand-alone sort, SORT.EXE, requires that the FORTRAN object time
system, FOROTS.EXE, be on SYS:, if floating point ASCII keys are to be
used.
The internal COBOL-68 SORT requires version 12A of the COBOL-68 object
time system, LIBOL.REL and LIBO12.EXE , to reside on SYS:.
The internal COBOL-74 SORT requires version 12A of the COBOL-74 object
time system, C74LIB.REL and C74O12.EXE , to reside on SYS:.
The internal FORTRAN SORT requires the FORTRAN library, FORLIB.REL,
and the object time system, FOROTS.EXE, to reside on SYS:.
1.4 Relevant Documentation
SORT is documented in the following manuals:
DECSYSTEM-20 User's Guide, AA-4179B-TM
DECSYSTEM-20 SORT/MERGE User's Guide, AA-4186C-TM
COBOL-68 Language Reference Manual, AA-5057A-TK
COBOL-74 Language Manual, AA-5059A-TK
FORTRAN Reference Manual, AA-4158B-TM
These may be found in Software Notebooks 1, 7, 8, and 9.
SRT4B.DOC Page 3
2.0 EXTERNAL CHANGES
None.
3.0 KNOWN BUGS AND DEFICIENCIES
As of Sep-79, the following deficiencies are known:
1. There are fundamental problems with stand alone SORT using
magtape for output especially with blocked files and tape
labels. The problems manifest themselves, when the user
attempts to read back the tape, as truncated, missing,
unreadable, incorrectly blocked records, or incorrect header
and trailer records. The solution of these problems will
take extensive development time and is being worked on,
however it was felt that SORT 4B contained sufficient bug
fixes that it was worth shipping now rather than delaying for
an indefinite length of time. In general COBOL SORT works
with magtape output, and stand alone SORT works if the output
sent to DSK.
2. If more than 262,143 (2**18-1) records in the input file all
have identical keys (which is unlikely), SORT's internal
sequence number overflows. This causes the sort to become
unstable; i.e., the output data is sorted correctly but the
records with identical keys may not be in the same order as
they were in the input file. In previous versions of SORT
this simply happened without any warning. Version 4 now
prints a warning message if this occurs and continues
sorting.
3. Stand alone SORT gives the wrong result when sorting EBCDIC
files on COMP-3 keys. COBOL SORT however works
correctly. *(1)
4. Stand alone SORT will give the ?SRTJFO error when sorting a
SIXBIT file whose output is an unblocked disk file with no
extracted keys (i.e. COMP-3, COBOL numeric) and where
exactly one temp file is generated. The error occurs when
sort tries to rename the temp file to the output file. This
problem can usually be circumvented by running in more or
less memory by using /LEAVES. The COBOL SORT works correctly
since this case never occurs. *(1)
5. Stand alone SORT does not recover correctly from encountering
a short record last record when the input is from magnetic
tape. This is a problem with the DUMPI JSYS which is fixed
by SIRUS PCO 20-MONITO-118 and will be in Release 4.
---------------
*(1) Untested patches exist for these problems. They will be
published after version 4B is released when they have had more
testing.
SRT4B.DOC Page 4
4.0 INSTALLATION INSTRUCTIONS
4.1 Contents of the SORT Distribution Tape.
For details of the combined COBOL/SORT tape see COBOL.INS.
The SORT distribution tape is written in DUMPER format and contains
the complete SORT/MERGE system. There are four save sets.
The save sets are:
1. SORT-DOCUMENTATION
2. SORT-BINARY
3. SORT-SOURCE
4. SORT-BUILD
The SORT-DOCUMENTATION save set contains the following files:
SORT.BD -- directory of SORT-BINARY save set
SORT.SD -- directory of SORT-SOURCE save set
SORT.RD -- directory of SORT-BUILD save set
SRT4B.BWR -- the Beware file for SORT 4B
SRT4B.DOC -- the Doc file for SORT 4B
The SORT-BINARY save set contains the files required to run SORT.
These files are normally kept on SYS:.
The SORT-SOURCE save set contains all the source files required to
build SORT.
The SORT-BUILD save set contains the Rel, Log, UNV files etc. from
the final build.
4.2 Instructions for Loading and Installing SORT
Mount the SORT or COBOL/SORT tape on logical MTA0: and type the
following commands:
DUMPER
TAPE MTA0:
REWIND
DENSITY 1600-BPI
SKIP 1
RESTORE <*>SORT.EXE (TO) <SUBSYS>*.*.-1,
<*>SORT.HLP (TO) <SUBSYS>*.*.-1
REWIND
SRT4B.DOC Page 5
4.3 Instructions for Building SORT
Full building instructions for SORT can be found in SORT.CTL.
To simplify the build process, all logical names required have been
placed in a file called SORT.CMD. The user should examine this file
and make appropriate changes. The SORT command file SORT.CTL does a
TAKE of SORT.CMD to set up the logical name environment.
To generate stand-alone SORT, load all of the SORT-SOURCE save set
into SORT-SOURCE:, load SORT.CTL and SORT.CMD from the SORT-BUILD save
set into SORT-BUILD, modify SORT.CMD and type:
SUBMIT SORT/TIME:0:30:00
If LIBOL.REL, LIBSHR.REL and FTDEFS.UNV are in COBOL-68-BUILD:, a
COBOL-68 SORT will be built and inserted into LIBO12.EXE and
LIBOL.REL.
If C74LIB.REL, C74SHR.REL and FTDEFS.UNV are in COBOL-74-BUILD:, a
COBOL-74 SORT will be built and inserted into C74O12.EXE and
C74LIB.REL.
If FORLIB.REL is in SORT-BUILD:, a FORTRAN SORT will be built and
inserted into FORLIB.REL.
To build only a COBOL-68 SORT type:
SUBMIT SORT/TIME:0:20:00/TAG:COBOL
To build only a COBOL-74 SORT type:
SUBMIT SORT/TIME:0:20:00/TAG:CBL74
To build only a FORTRAN SORT type:
SUBMIT SORT/TIME:0:20:00/TAG:FORTRA
The following table contains the assembly switches, their default
value, location and intended use.
ASSEMBLY DEFAULT DEFINED USE WHEN SWITCH HAS
SWITCH VALUE IN MODULE A NONZERO VALUE
------------------------------------------------------------------
FTOPS20 1 SRTPRM Build SORT for a DECSYSTEM-20
FTKL10 1 SRTPRM Use KL instructions (BIS etc.)
FTKI10 1 SRTPRM Use KI instructions (DMOVE etc.)
FTCOL 1 SRTPRM Allow alternate collating sequence
FTDEBUG 0 SRTPRM Debugging aids and additional info
FTCOBOL 1 SRTCBL Build SORT for COBOL
SRT4B.DOC Page 6
5.0 INTERNAL CHANGES
The sources of SORT consist of:
SRTVER.MAC An optional file containing feature test switch settings.
SRTPRM.MAC The common parameter definitions
SRTSTA.MAC The common stand-alone code
SRTCMD.MAC The DECSYSTEM-20 command scanner
SRTJSS.MAC DECSYSTEM-20 specific code
SRTCER.MAC Standard error message routines
SRTCMP.MAC The comparison generator
SORT.MAC The common algorithms
In addition the COBOL SORT has:
SRTCBL.MAC The interface for COBOL
and the FORTRAN SORT has:
FORSRT.MAC The FORTRAN interface to the stand-alone SORT.
The following edits were made to SORT as a result of bugs found:
300 Development of version 4.
301 Allow input and output to have different blocking factors.
302 Fix bugs found from second field test tape.
303 Fix compares of two character EBCDIC alphanumeric keys in the
middle of a word.
304 Fix ?SRTRIE errors on EBCDIC fixed-length files.
305 On TOPS-20 fix blocking factor problems.
306 On TOPS-10 BINARY sort, MAXKEY not being set up caused divide by
0.
307 Double precision unsigned comparison routine fixes.
310 Var. length file with random line terminators fix.
311 Fix SIXBIT ALPHANUMERIC compares of 6 chars starting on a word
boundary.
312 Fix performance bug when sorting blocked files.
313 Fix ?SRTRBP errors during merge phase of a sort.
314 Re-insert line that got lost out of edit 305.
315 Fix definition of RETSKP to fix undefined RSKP labels.
316 Fix various bad output files and Ill. Mem. Refs. in Fortran
SRT4B.DOC Page 7
Binary files.
317 Clear junk in buffer header word of open block.
320 Clean up FUNCT. after SORT (FSLOC.).
321 Fix further blocking factor problems on TOPS-20, when blocks are
huge.
322 SIXBIT, word boundary, six character length sign compare fix.
323 Fix loop when SORT has exactly enough memory but thinks it
doesn't.
324 SIXBIT blocked file (generates only one temp file) I/O error.
325 TOPS-20, ASCII merge loop and SIXBIT nulls fix.
326 TOPS-20 allow multiple input files in SORT.
327 Fix MERGEs when one or more input files are null, or more than
MAXTMP files.
330 FORTRAN SORT BINARY /COMP and non-COMP fix.
331 Edit 327 broke SORTS., make RETRN. still return if not a MERGE.
332 Edit 322 broke SORT for SIXBIT ALPHANUMERIC files sorted on more
than 1 KEY.
333 Default /LABELS: to STANDARD as documented on TOPS-20.
334 Fix expanding memory too much when LOGIN/CORE:n is used (e.g.,
BATCH).
335 Use new form of JSYS NAMES, NAME%, to solve global symbol
conflicts.
336 Clean up TOPS-20 command scanner - remove noise words from
switches and /RMS.
337 Really fix sorts back after edits 327 and 331.
340 Fix /COLLATE loop on KA and KI.
341 ASCII records .EQ. /RECORD error message.
342 SIXBIT unblocked files which create only one .TMP fix.
343 S/A SORT problem with GETTAB return of 0.
344 TOPS-20 SIXBIT blocked file can lose records.
345 MERGE problems closing out file too soon - edits 327 331 337
SRT4B.DOC Page 8
346 S/A SORT problems with multiple command lines, restore .JBFF.
347 Fix FORTRAN command scanner to process /SWITCH:N correctly.
350 Fix FORTRAN command scanner to process DEV:/TEMP correctly.
351 Fix errors with /SUPRES, /FATAL, /ERROR, /LEAVES, /FORMAT.
352 Fix FORTRAN's problems with SFDs and PPNs.
353 Fix TOPS-10 labeled tapes, /REWIND, and I/O error messages.
354 Fix COBOL MERGE when called from non-resident COBOL overlay.
355 On TOPS-10 scan /COLLATE:FILE:FILE-SPEC correctly (allow SFDs,
etc.).
356 In COBOL SORT clear low segment data incase second call.
357 On TOPS-20 print more information on certain fatal errors.
360 On TOPS-20 convert DATE UUO to ODCNV% JSYS.
361 On TOPS-20 allocate KEY extraction and compare space in high
segment.
362 Make SRTRNI message fatal.
363 Make /SUPPRESS:INFORMATION suppress final messages from S/A SORT.
364 Fix more FORTRAN SORT Ill Mem Ref problems.
365 Merge development work for SORT v4A into maintenance sources.
366 On TOPS-20, write last word if it is the first word in a buffer.
367 EBCDIC variable length fix for SRTRTI.
370 Fix truncated records if extracted keys and temp files are
necessary.
371 Make sure output buffers are cleared before output starts.
372 On TOPS-20, fix /BLOCKED:n to default properly.
373 Add debugging facility for the structure macros, and fix bugs it
finds.
374 On TOPS-10, improve error messages SRTIRE and SRTOWE for
temporary files.
375 On TOPS-20, fix looping with multiple /KEY:s, broken by 372.
376 On TOPS-20, properly reinitialize on a new line to prevent PDL
overflows, etc.
SRT4B.DOC Page 9
377 On TOPS-20, fix ?SRTOPN errors on multiple commands after edit
376.
400 On TOPS-20, fix truncation of SIXBIT files after edit 366.
401 On TOPS-20, fix ?SRTCCN errors when using magtapes.
402 Skip non-existent records in FORTRAN random files instead of
issuing ?SRTFCI.
403 Fix EBCDIC alphanumeric comparisons similar to /KEY:8:2 and
/KEY:8:4.
404 Fix TOPS-10 SRTMUF errors when ASSIGN ALL DSK, etc. is used.
405 Fix TOPS-20 ?SRTNEC for large files bug.
406 Fix ill mem ref or inability to generate tape labels caused by
clobbering X.DVCH in STOPB.
407 Bad sorts for unblocked tape files on TOPS-10. Wrong RECSIZE.
410 Wrong record size from FORTRAN binary sorts with /NUMERIC.
411 Fix LOOKUP error message loop when CCL entry and command fails.
412 Non specified commands default to ASCII. Give warning message
when found otherwise.
413 FORTRAN-10 problem with multiple key sorts - SRTCGC message.
414 Fix further problems after edit 353 with end-of-tape processing.
415 COBOL SORT address check when one .TMP file is created.
416 /LEAVES causes number of records to be reported, not nunber leaves
in tree.
417 Record truncation message wrong. It reports characters not
records.
420 SORT-20 gives ?SRTAWP when outputting fix sixbit to tape.
421 Fix SORT-20 not to allow /ALIGN/BINARY.
422 SORT-20 now allows /DENSITY:6250
423 SIXBIT sorts that create only one .TMP file have output truncated.
424 TOPS-10 will not allow a unit to be temp device (DSKN0:)
425 Edit 411 neglected to delete the TMPCOR file. Call SCAN and
delete it.
426 Give error on SORT-20 allowing more than one /SUPPRESS
SRT4B.DOC Page 10
427 Not all data was zeroed at new command (e.g. /LEAVES) on -20.
430 A typo in edit 400 causes an ill mem ref to occur. Edit 366 is
also needed.
431 SORT calculates incorrect info for FOROTS DECODE arg block on
/FORMAT.
432 SORT-10 does not allow a lowercase arg for /FORMAT, error ?SRTFSA
occurs.
433 COBOL SORT'S comparison routine write enables hi-seg pg on
TOPS-20. Make TOPS-10 code compatable.
434 Fix multi-reel tape problem with EOT on TOPS-10.
435 Fix a TOPS-20 SIXBIT block bug; rewrite some code efficiently;
cleanup spelling; redo table of contents for V4B.
The following edits were made to FORSRT.MAC:
1 Make sure data pages contain zero before calling SORT.
2 Use new JSYS NAME format, NAME%, to avoid symbol name conflicts.
3 Allocate KEY extraction and compare space in high segment.
4 Add test for EXECUTE-ONLY in Release 4.
6.0 SUGGESTIONS
None.
[End of SRT4B.DOC]