Google
 

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]