Google
 

Trailing-Edge - PDP-10 Archives - BB-4148E-BM - documentation/dbmsv6.bwr
There are 2 other files named dbmsv6.bwr in the archive. Click here to see a list.
	DBMSV6 BEWARE FILE - FIELD TEST TAPE #3


1.0  INTRODUCTION

This document contains information you should be aware of prior to using
DBMS  Version  6.   Please  read  it  carefully  prior to installing the
software on this Field Test tape.



2.0  PATCHES TO RELATED PRODUCTS

2.1  TOPS-20 Release 4

In order to insure data integrity 3 patches to TOPS-20 R4 are  required.
Please insure that the following patches are installed in your monitor:





2.1.1  Beware File Monitor Patch #1 - 
[SYMPTOM]
 
     Files with OF%DUD set might get unintended bad pages PMAPed to  a
file on a Control-C, RESET.
 
 
                        **********
[DIAGNOSIS]
 
     KSELF does a vanilla PMAP to unmap a process' pages.
 
 
                        **********
[CURE]
 
     Add the PM%ABT bit to the PMAP in the KSELF code.
 
PCO Log Report
[EDIT]
@! PATCH TO RELEASE 4 SYSTEMS TO PREVENT THE POSSIBILITY OF
@! UNWANTED DATA BEING WRITTEN TO FILES WITH OF%DUD SET ON
@! FORK TERMINATION (IE CONTROL-C, RESET).
@
@ENABLE (CAPABILITIES)
$
$GET SYSTEM:MONITR
$START 140
DDT
 
FORK$:
 
 
KSEF0+4/   MOVE T3,LFORK.+124   MOVE T3,FFF     
 

FFF/   0   PM%CNT+PM%ABT+1000
FFF+1/   0   FFF:
 
^Z
$SAVE SYSTEM:MONITR
 <SYSTEM>MONITR.EXE.2 Saved
$

2.1.2  Beware File Monitor Patch #2 - 
[SYMPTOM]
 
     PM%ABT fails to abort changes made to new  pages  in  new  files;
RESET  causes  OF%DUD  pages  to  be  written  to  the disk instead of
aborted.
 
 
                        **********
[DIAGNOSIS]
 
     Code not checking properly for new pages.
 
 
                        **********
[CURE]
 
     Add the code to delete the pages and deallocate  the  disk  space
for  the  appropriate cases.  Note that the RESET case is addressed by
edit 1776, PCO 20-MONITO-235.
 
Digital Equipment Corporation       09-JUN-81    Page   3
PCO Log Report
[EDIT]
@
@! PATCH TO RELEASE 4 SYSTEMS TO HANDLE THE CASE OF PMAP WITH PM%ABT
@! SET FOR NEW PAGES IN NEW FILES.
@
@ENABLE (CAPABILITIES)
$
$GET SYSTEM:MONITR
$START 140
DDT
 
PAGEM$:
 
FFF/   0   .SAV22:   PUSH P,T2
FFF+1/   0   CALL 0(CX)
FFF+2/   0   SKIPA
FFF+3/   0   AOS -1(P)
FFF+4/   0   POP P,T2
FFF+5/   0   RET
FFF+6/   0   FFF:
 
FFF/   0   DLM2:   MOVE T3,CST1(T1)
DLM2+1/   0   TLNN T3,(DSKAB)
DLM2+2/   0   RET
DLM2+3/   0   JSP CX,NOSK11
DLM2+4/   0   CALL SKPNWR
DLM2+5/   0   NOP
DLM2+6/   0   JSP CX,OKSK11
DLM2+7/   0   RET
DLM2+10/   0   FFF:
 
REMFP2/   PIOFF   FFF$<

FFF/   0   CALL DLM2$>
FFF+1/   0   PIOFF
FFF+2/   0   JUMPA T1,REMFP2+1
FFF+3/   0   JUMPA T2,REMFP2+2
REMFP2/   PIOFF   JUMPA DLM2+10
 
RELADR/   PUSHJ P,REMFP1   CALL FFF     
FFF/   0   HRRZ T2,T3
FFF+1/   0   JSP CX,.SAV22
FFF+2/   0   JRST REMFP1
FFF+3/   0   FFF:
 
FFF/   0   DLM:   XCT RELP32+26
FFF+1/   0   AOS ALOC2(T3)
FFF+2/   0   HRRZ T3,SPTO(T2)
FFF+3/   0   MOVE T2,SPTH(T2)
FFF+4/   0   CALL DEDSKC
FFF+5/   0   SETZ T1,
FFF+6/   0   RET
Digital Equipment Corporation       09-JUN-81    Page   4
PCO Log Report
FFF+7/   0   FFF:
 
RELADR+1/   SKIPN T1   FFF$<
FFF/   0   TLNE T1,(DSKNB)
FFF+1/   0   CALL DLM$>
FFF+2/   0   SKIPN T1
FFF+3/   0   JUMPA T1,RELADR+2
FFF+4/   0   JUMPA T2,RELADR+3
RELADR+1/   SKIPN T1   JUMPA DLM+7
 
^Z
$SAVE SYSTEM:MONITR
 <SYSTEM>MONITR.EXE.2 Saved
$
2.1.3 Beware file monitor patch #3
[SYMPTOM]

	DEAUNA BUGCHK

[DIAGNOSIS]

	DBMS SOMETIMES CAUSES PAGES TO BE ASSIGNED TO TWO FILES!

[CURE]

	AS FOLLOWS:

BEFORE	UOFN4+1

INSERT	TLNE	T1,(DSKNB)
	SETZ	T1,

2.2  COBOL Version 12A

The  DBMS  V6  extentions  to  the  COBOL  compilers  require  new  data
definitions  not  present in COBOL V12A.  The following patch adds these
locations to V12A  and  should  be  installed  in  IMPURE.MAC  prior  to
re-building the V12A compilers to support DBMS V6.


File 1) DSK:IMPURE.12A[4,62]    created: 1620 12-Sep-1979
File 2) DSK:IMPURE.MAC[4,62]    created: 1005 24-Feb-1981

1)10            DEFIN(A.TMP1,1)                 ;FOR CALLING STRLIB
****
2)10            DEFIN(CURREC,2)         ;[6%42] CURRENT REC NAME FOR QUALIFICATION
2)              DEFIN(A.TMP1,1)                 ;FOR CALLING STRLIB
**************
1)10            ;;;     FOR DMLERR
****
2)10            DEFIN(VOKFLG,1)         ;[6%36] FOR DMLVOK WHERE NBUF IS A DATANAME
2)              ;;;     FOR DMLERR
**************

2.3  LINK V4A

In order for FORTRAN Version 6 programs to run with a sharable  copy  of
DBMS the following LINK patches are required:





2.3.1  Beware File Patch #4 - 
[SYMPTOM]
 
 
 
 
When a program is executed without  an  .EXE  file  being  created,
PA1050 is left in memory.
 
                        **********
[DIAGNOSIS]
 
PA1050 is needed until the last minute because there is a CORE  UUO
in  the  accumulators.  There is not enough space in  the  accs  to
add code remove PA1050 after the UUO.
 
                        **********
[CURE]
 
Replace the CORE UUO executed in  the  accumulators  with  a  PMAP%
JSYS.   Change the arguments to those needed for the JSYS, and PMAP
PA1050 away just before jumping to the accs.
 
Digital Equipment Corporation       09-JUN-81    Page   3
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507]        created: 1304 10-Apr-1980
File 2) DSKC:LNKHST.MAC[30,5526]        created: 0839 23-Apr-1980
 
1)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB   
        9-Apr-80
1)      
****
2)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB   
        16-Apr-80
2)      
**************
1)1     DECEVR==1243            ;DEC EDIT VERSION
1)      
****
2)1     DECEVR==1244            ;DEC EDIT VERSION
2)      
**************
1)6     SUBTTL  THE END
****
2)5     ;1244   PY      16-Apr-80

2)      ;       Remove PA1050 from memory if user program is going to be
         run but
2)      ;       is not in a .EXE file. Simulate the CORE UUO in the accu
        mulators
2)      ;       with a PMAP% JSYS, and PMAP PA1050 away in the phased co
        de.
2)      ;       Remove edit 644, which should not be in phased code.
2)      ;       Routines: LNKPAR, LNKXIT
2)      
2)6     SUBTTL  THE END
**************
 
Digital Equipment Corporation       09-JUN-81    Page   4
PCO Log Report
[FILCOM]
File 1) DSKC:LNKPAR.MAC[30,4507]        created: 1322 10-Apr-1980
File 2) DSKC:LNKPAR.MAC[30,5526]        created: 2109 16-Apr-1980
 
1)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN/PY/MFB   
        9-Apr-80
1)      
****
2)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN/PY/MFB   
        16-Apr-80
2)      
**************
1)1     DECEVR==1243            ;DEC EDIT VERSION
1)      
****
2)1     DECEVR==1244            ;DEC EDIT VERSION
2)      
**************
1)2     ND .PGSIZ,777           ;KNOWN PAGE SIZE MASK
****
2)2     ;;**;[1244] Add in ASSEMBLY PARAMETERS before .PGSIZ    PY      
        16-Apr-80
2)      ND PATLEN,64            ;[1244] LENGTH OF PA1050 (IN PAGES)
2)      ND .PGSIZ,777           ;KNOWN PAGE SIZE MASK
**************
1)5     
****
2)5     ;1244   Add definition of PATLEN as number of pages of PA1050
2)      
**************
 
Digital Equipment Corporation       09-JUN-81    Page   5
PCO Log Report
[FILCOM]
File 1) DSKC:LNKXIT.MAC[30,4507]        created: 1701 07-Apr-1980
File 2) DSKC:LNKXIT.MAC[30,5526]        created: 1533 22-Apr-1980
 
1)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB      3-Apr-80
1)      
****
2)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PY   16-Apr-8

        0
2)      
**************
1)1     DECEVR==1242            ;DEC EDIT VERSION
1)      
****
2)1     DECEVR==1244            ;DEC EDIT VERSION
2)      
**************
1)6     
****
2)6     ;1244   Kill PA1050 if executing user program, replace CORE UUO
        with PMAP JSYS
2)      
**************
1)105   
1)106   JBEX0:  MOVE    T1,[EXIT]       ;STOP JOB
1)      JBEX01: MOVEM   T1,%16          ;STORE EXEC OR EXIT
****
2)105   JBEX0:  MOVE    T1,[EXIT]       ;STOP JOB
2)      ;**;[1244] Insert after JBEX0           PY      16-Apr-80
2)      IFN     TOPS20,<                ;[1244]
2)              MOVSI   T2,(CAIA)       ;[1244] GET SKIP INSTRUCTION
2)              MOVEM   T2,%KPAT        ;[1244] SET UP TO NOT KILL PA105
        0
2)      >                               ;[1244]
2)      JBEX01: MOVEM   T1,%16          ;STORE EXEC OR EXIT
**************
1)106           MOVEM   T1,%16
****
2)105   ;**;[1244] Insert after JBNEX           PY      16-Apr-80
2)      IFN     TOPS20,<                ;[1244]
2)              MOVSI   T2,(CAIA)       ;[1244] GET SKIP INSTRUCTION
2)              MOVEM   T2,%KPAT        ;[1244] SET UP TO NOT KILL PA105
        0
2)      >                               ;[1244]
2)              MOVEM   T1,%16
**************
1)108           MOVE    T2,HL.S2        ;SAME FOR HIGH SEG
****
2)107   ;**;[1244] Insert before JBEX20+9L      PY      16-Apr-80
2)      IFN     TOPS20,<                ;[1244]
2)              HRRM    T1,%6           ;[1244] NEED LATER FOR .JBREL
Digital Equipment Corporation       09-JUN-81    Page   6
PCO Log Report
2)              HRRZ    T2,%T1          ;[1244] GET SIZE FOR FIRST CORE
        UUO
2)              LSH     T2,-11          ;[1244] CONVERT TO PAGES
2)              HRRZ    T3,T1           ;[1244] GET SIZE FOR SECOND CORE
         UUO
2)              LSH     T3,-11          ;[1244] CONVERT TO PAGES
2)              HRRM    T3,%2           ;[1244] STORE FIRST PAGE NUMBER
        TO UNMAP
2)              AOS     %2              ;[1244] ACTUALLY, PAGE AFTER LAS
        T PAGE

2)              SUB     T2,T3           ;[1244] GET THE DIFFERENCE
2)              HRRM    T2,%3           ;[1244] PUT IN AS THIRD ARGUMENT
2)              MOVSI   T3,(JFCL)       ;[1244] PMAP% MAY BE UNNECESSARY
2)              SKIPG   T2              ;[1244] PAGES TO UNMAP?
2)              MOVEM   T3,%5           ;[1244] CAN'T DO EXPANDING CORE
        PMAP!!
2)      >                               ;[1244]
2)              MOVE    T2,HL.S2        ;SAME FOR HIGH SEG
 
 
**************
1)108           MOVEM   T1,%2           ;TO CLEAR LOW SEG
1)      JBEX2B: MOVE    T4,[%T1,,T1]    ;LOAD ACCS
****
2)107   ;**;[1244] Replace 1 Line at JBEX2A+15L PY      16-Apr-80
2)              MOVEM   T1,%ZCBP        ;[1244] TO CLEAR LOW SEG
2)      IFN     TOPS20,<                ;[1244]
2)              MOVE    T1,[PMARGS,,P1] ;[1244] GET POINTER TO PMAP ARGS
2)              BLT     T1,P4           ;[1244] FOR PMAP IN PHASED CODE
2)              MOVE    W1,%1           ;[1244] GET .JBHRL,,.JBREL FOR U
        SERS PROGRAM
2)      >                               ;[1244]
2)      JBEX2B: MOVE    T4,[%T1,,T1]    ;LOAD ACCS
**************
1)109   
****
2)108   ;**;[1244] Insert before JBEX4+10L      PY      16-Apr-80
2)      IFN     TOPS20,<                ;[1244]
2)      PMARGS: -1                      ;[1244] UNMAP PAGES
2)              .FHSLF,,PATORG/1000     ;[1244] THIS FORK,,PA1050
2)              PM%CNT+PATLEN           ;[1244] REPEAT FOR ALL OF PA1050
2)              P1,,T1                  ;[1244] POINTER TO BLT ARGS FROM
         P1-P3 TO T1-T3
2)      >                               ;[1244]
2)      
**************
1)110   
****
2)109   ;**;[1244] Insert Before %HIGH          PY      16-Apr-80
2)      ;[1244] P1-P3 = ARGS FOR PMAP TO REMOVE PA1050 (TOPS-20 ONLY)
2)      ;[1244] P4 = BLT POINTER TO MOVE ARGS FROM P1-P3 TO T1-T3 (TOPS-
Digital Equipment Corporation       09-JUN-81    Page   7
PCO Log Report
        20 ONLY)
2)      ;[1244] W1 = .JBHRL,,.JBREL FOR CORE UUO REPLACED BY PMAP JSYS (
        TOPS-20 ONLY)
2)      
**************
1)110           MOVSI   T1,(JFCL)       ;[644] REPLACE WITH JFCL IF DESI
        RED
1)              MOVE    T2,%16          ;[644] GET IT
1)              CAMN    T2,%EXIT        ;[644] EXIT? RATHER THAN START A
        DDR
1)              MOVEM   T1,%7           ;[644] YES, REPLACE RESET WITH J
        FCL

1)      >
****
2)109   ;**:[1244] Replace 4 Lines at %RMES+8L  PY      16-Apr-80
2)              BLT     P4,T3           ;[1244] GET ARGS FOR PMAP FROM P
        1-P3
2)      %KPAT:  RESET%                  ;[1244] CLEAR PA1050 ENTRY VECTO
        R
2)              PMAP%                   ;[1244] GET RID OF PA1050
2)              SETOM   %1              ;[1244] SET UP FOR UNMAPPING VIA
         PMAP JSYS
2)              HLRM    W1,.JBHRL       ;[1244] UPDATE HIGH SEGMENT MAX
        ADDRESS
2)      >
**************
1)110   
1)      %EXIT:  EXIT                    ;[644] THIS IS COMPARED WITH CON
        TENT OF %16
1)      
****
2)109   ;**;[1244] Delete 1 Line at %EXIT       PY      16-Apr-80
2)      
**************
1)111   
1)112   %0:     .-.                     ;BLT POINTER
****
 
 
2)110   ;**;[1244] Insert after %VMRER+1L       PY      16-Apr-80
2)      
2)111   IFE     TOPS20,<                ;[1244]
2)      %0:     .-.                     ;BLT POINTER
**************
1)112   IFE TOPS20,<
1)      %7:     MOVEM   3,.JBPFH##      ;SET PAGE FAULT HANDLER
1)      >
1)      IFN TOPS20,<
1)      %7:     JSYS    147             ;TOPS-20 RESET, FLUSH PA1050
1)      >
1)      %10:    SETZB   0,.-.           ;CLEAR FIRST WORD
Digital Equipment Corporation       09-JUN-81    Page   8
PCO Log Report
****
2)111   ;**;[1244] Remove conditionals @%6+1    PY      16-Apr-80
2)      %7:     MOVEM   3,.JBPFH##      ;SET PAGE FAULT HANDLER
2)      %10:    SETZB   0,.-.           ;CLEAR FIRST WORD
**************
1)112   %END:
****
2)111   ;**;[1244] Insert before %END           PY      16-Apr-80
2)      %ZCBP==%2                       ;[1244] PUT POINTER IN ACC 2
2)      >                               ;[1244]
2)      IFN     TOPS20,<                ;[1244]
2)      %0:     .-.                     ;[1244] BLT POINTER
2)      %1:     .-.                     ;[1244] PMAP ARGS -  UMAP PAGES
2)      %2:     .FHSLF,,.-.             ;[1244] PROCESS HANDLE,,FIRST PA

        GE TO UNMAP
2)      %3:     PM%CNT+.-.              ;[1244] REPEAT COUNT BIT,,NUMBER
         OF PAGES
2)      %4:     BLT     0,.-.           ;[1244] BLT LOWSEG DOWN
2)      %5:     PMAP%                   ;[1244] UNMAP EXCESS PAGES
2)      %6:     JFCL    .-.             ;[1244] ADDRESS FOR .JBREL
2)      %7:     HRRZM   6,.JBREL        ;[1244] SET UP .JBREL
2)      %10:    SETZB   0,.-.           ;[1244] CLEAR FIRST WORD
2)      %11:    BLT     14,@.JBREL      ;[1244] AND REST
2)      %12:    DMOVEM  15,.JBBLT       ;[1244] LOAD .JBBLT AT LAST MINU
        TE
2)      %13:    JRST    .JBBLT          ;[1244] JUMP INTO RESERVED AREA
2)      %14:    .-.                     ;[1244] ZERO CORE BLT PTR
2)      %15:    BLT     17,17           ;[1244] CLEAR ALL ACCS
2)      %16:    .-.                     ;[1244] START OF HALTF%
2)      %17:    0,,1                    ;[1244] FINAL BLT PTR TO CLEAR A
        CCS
2)      %ZCBP==%14                      ;[1244] ZERO CORE BLT PTR GOES I
        N ACC 14
2)      >
2)      %END:
**************

2.3.2  Beware File Patch #5 - 
[SYMPTOM]
 
 
 
 
If Edit 1244 is installed, LINK will die if a program ends  at  the
end of a page and an EXE file is not being written.
 
                        **********
[DIAGNOSIS]
 
LINK does not set up the PMAP% arguments correctly because it skips
some needed code in this case.
 
                        **********
[CURE]
 
Move the label associated with this code so that it is  before  the
code which sets up the PMAP% arguments.
 
Digital Equipment Corporation       09-JUN-81    Page   3
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507]        created: 0846 08-Oct-80
File 2) DSKC:LNKHST.MAC[30,5526]        created: 1727 09-Dec-80
 
1)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB   
        7-Oct-80
1)      
****
2)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB   
        30-Oct-80
2)      
**************
1)1     DECEVR==1271            ;DEC EDIT VERSION
1)      
****
2)1     DECEVR==1272            ;DEC EDIT VERSION
2)      
**************
1)5     
****
2)5     ;1272   PY      30-Oct-80
2)      ;       Fix bug in Edit 1244 which causes the PMAP% which is sup
        posed
2)      ;       to remove PA1050 to fail if the users program ends on th
        e end
2)      ;       of a page.
2)      ;       Routine: LNKXIT
2)      
2)      
**************
 
Digital Equipment Corporation       09-JUN-81    Page   4

PCO Log Report
[FILCOM]
File 1) DSKC:LNKXIT.MAC[30,4507]        created: 1953 31-Aug-80
File 2) DSKC:LNKXIT.MAC[30,5526]        created: 1725 09-Dec-80
 
1)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PY   31-Aug-8
        0
1)      
1)      
****
2)1     SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PY   30-Oct-8
        0
2)      
**************
1)1     DECEVR==1267            ;DEC EDIT VERSION
1)      
****
2)1     DECEVR==1272            ;DEC EDIT VERSION
2)      
**************
1)6     
****
2)6     ;1272   Fix Edit 1244 to remove PA1050 if low seg ends at end of
         page.
2)      
**************
1)107   IFN     TOPS20,<                ;[1244]
****
2)107   ;**;[1272] Add 1 Line at JBEX2A+16L     PY      30-Oct-80
2)      JBEX2B:                         ;[1272] PREPARE TO GO TO PHASED
        CODE
2)      IFN     TOPS20,<                ;[1244]
**************
1)107   JBEX2B: MOVE    T4,[%T1,,T1]    ;LOAD ACCS
1)              BLT     T4,T4
****
2)107   ;**;[1272] Replace 1 Line at JBEX3-4L   PY      30-Oct-80
2)              MOVE    T4,[%T1,,T1]    ;LOAD ACCS
2)              BLT     T4,T4
**************

2.4  FORTRAN Version 5A

FORTRAN  V5A  does  not  contain  certain  memory  management  functions
required  to  use  DBMS  V6.  A patch included on this tape, F5AMEM.FIX,
modifies DBMS V6 to  simulate  the  new  FORTRAN  V6  memory  management
functions.   This  patch  is  AUTOMATICALLY  INSTALLED by the DBMS20.CTL
control file when supplied with a FORTRAN V5A FORLIB.REL.



3.0  CHANGES/WARNINGS ON PRODUCT CONTENT

3.1  BACKUP ... IMAGES Default

In Version 5A of DBMS the default for the BACKUP clause was  NO  IMAGES.
In  Version  6  the  default  is  BACKUP  BEFORE  IMAGES.   This has the
following implications for users who currently default to NO IMAGES:

     1.  Programs which first OPEN an area for EXCLUSIVE UPDATE and then
         try  to OPEN another area for UPDATE may fail since the journal
         will have been opened EXCLUSIVE UPDATE implicitly by the  first
         OPEN statement.

     2.  Programs which use the JMxxx entry points after  OPENing  areas
         may no longer work.

In order to eliminate these problems specify the correct type of  images
to journal in the BACKUP clause(s).



3.2  ?DBSXWX Errors

The following changes have been  made  to  the  processing  of  "?DBSXWX
Exception While Processing an Exception" conditions:

     1.  ERROR-STATUS will ALWAYS contain  the  exception  code  of  the
         original error.

     2.  Any NOTE/INTERCEPT Processing will take place.

There is the potential that other fields (ie, ERROR-DATA)  will  not  be
correct after the ?DBSXWX condition.



3.3  DBSTP$

At exit time COBOL programs now call  a  special  entry  point  in  DBCS
called  DBSTP$.   This  entry  point  simulates  a  RESET  on  the DBMS'
resources under control of the R-U to ease the use  of  DBMEND's  DELETE
TRANSACTION command.

3.4  ENTER MACRO GETUID USING Dataname-1, Dataname-2.

This new entry point can be used to return the Run-Unit ID in dataname-1
and  the current Transaction-ID in dataname-2.  This will allow programs
to better coordinate  user  written  transaction  logging  and  auditing
schemes with the contents of the DBMS' Journal.



3.5  FORTRAN Version 5A Support

DBMS-20 V6 will work with both FORTRAN V5A and FORTRAN V6.  In order  to
function  with  FORTRAN  V5A  a  patch  to DBMS is required.  This patch
causes DBMS to simulate certain memory management functions  present  in
FORTRAN  V6.  The DBMS V6/FORTRAN V5A combination functions in a similar
fashion to  DBMS  V5A/FORTRAN  V5A.   DBCS  modules  are  inserted  into
FORLIB.REL and are also LINKed into FOROTS.EXE.

The DBMS20.CTL installation control file automatically detects whether a
FORTRAN V5A OR FORTRAN V6 installation is being performed.  If a FORTRAN
V5A installation is being  performed  the  memory  management  patch  is
AUTOMATICALLY INSTALLED and a FOROTS.EXE is created.



3.6  FORTRAN V6 Support

With FORTRAN V6, DBCS are inserted into FORLIB.REL but  are  not  LINKed
into  FOROT6.EXE.   Instead a new file, DBMSF.EXE, is created.  When the
user first issues a call to DBCS, FOROT6 GETs DBMSF.EXE  into  the  user
program's address space.

DBMSF.EXE should be placed on  SYS:   along  with  FORLIB.REL  and  (the
unmodified) FOROT6.EXE.



3.7  DBMEND's ABORT Command

The DBMEND ABORT command now causes any Run-Unit  attempting  to  access
the database to do the following:

     1.  Close the .DBS, .TMP, .AID, and .JRN files

     2.  Release any OPEN locks held by the Run-Unit

     3.  Close the .LOK file

     4.  Destroy its PID (Process Identifier)

     5.  Set the SYSTEM-UNDEFINED-STATE Condition

     6.  Issue Exception XX50

Normally the Run-Unit should close any  COBOL/FORTRAN  files  and  exit.

NOTE:   If  the  Run-Unit is accessing multiple Schemas/Sub-Schemas DBCS
will only clean-up the environment for the current Sub-Schema.  In  this
case  an EXIT/RESET sequence (may) be required before DBMEND can perform
a DELETE TRANSACTION.



3.8  Stack Space For Deadly Embrace Detection During Page Locking

Page Locking's Deadly Embrace Detection Algorithm  may  use  more  stack
space  than is normally allocated by COBOL or FORTRAN.  DBCS will detect
that it is about to run out of stack space and return a  XX40  exception
instead of dying with a "?PUSH DOWN OVERFLOW...".

In order to prevent/eliminate this problem COBOL users can compile their
programs  with  the COBOL /D switch.  FORTRAN users must rebuild FORTRAN
in order to increase the stack space it allocates for a program.



3.9  DBMS V6/ COBOL-74 V12B RMS Usage

Do to space limitations a combined DBMS/RMS C74O12.EXE cannot be  built.
In order to use both DBMS and RMS in the same program it is necessary to
compile the program with COBOL's /R switch and  then  LINK  the  program
directly with LIBOL.REL and RMS.REL.



3.10  Sharable And Non-Sharable .TMP Files

DBMS V6 now provides for both sharable and non-sharable .TMP files.   If
the user has specified PRESERVE with DBMEND then all users attempting to
access the .TMP file for a particular area  will  share  the  same  .TMP
file.   If PRESERVE has not been specified each user will obtain his own
version (ie generation) of the .TMP file.



3.11  Location Of The .LOK File

The .LOK file for a particular must exist in the same  location  as  the
.SCH  file for that schema.  A common error is to copy the .SCH file but
not the .LOK file.  Also, all users accessing the same database must use
the same .LOK file or no locking protection will be provided.  

To help centralize the location of the .SCH/.LOK files DBMS now searches
device SCH:  before DSK:  for the .SCH/.LOK files.

3.12  AID/NOAID/TMP/NOTMP DBINFO Commands

DBINFO now contains commands to allowing the user to specify if he wants
to see the data in the (PRESERVEd) .TMP file, the .AID file, or the .DBS
file.

The effect of the NOAID command is that DBINFO will ignore the existance
of  any  AID  files  when  generating its reports.  The same is true for
NOTMP.  AID/TMP cancel the effects of NOAID/NOTMP.



3.13  Transaction Not Active (XX47) Exception Code

Attempting to close or back out a transaction when one is not active now
returns an XX47 exception code.



3.14  Exclusive Update And Default Transactions

Programs which use default transactions and run in Exclusive Update mode
may  experience  performance  degradation  between  V5A  and  V6.   This
degradation can be avoided by defining a transaction in the schema which
is OPENed at the beginning of the program and CLOSEd at the end.

3.15  The COBOL compiler build procedure has changed

It is no longer possible to just relink the COBOL compiler. All the DBMS
COBOL  compiler "REL" files are not on the DBMS distribution tape.   You
must assemble the DBMS COBOL modules before relinking the COBOL compiler.
This change was made to avoid any problems caused by releasing the wrong
version (i.e. COBOL-68 vs COBOL-74) of the "REL" files.

	The DBMS COBOL compiler "MAC" files are:

	CMLSYM,	DBSDCL,	GENDCL,	STRDCL,	STRUNV,
	DBDML,	DBGETF,	DMLERR,	DMLIO,	DMLVOK

	The DBMS COBOL compiler "REL" files are:
	STRHI,	SCHIO2

4.0  UNSUPPORTED TOOLS

There is an  extra  save-set  on  the  distribution  tape  containing  2
unsupported  tools.  Note that Digital is NOT committed to resolving any
problems with these tools.



4.1  SCHEMA SCHEMA

The unsupported tool  SCHEMA.DDL  provides  you  with  a  mechanism  for
examining  the  contents of .SCH files.  This DDL definition of the .SCH
file can be combined with a user written program to access the  internal
definition  of  a  database.   This capability could be used to generate
Sub-Schema listings, print special dictionary reports,  or  to  generate
un-load/re-load or similar utilities.



4.2  MESAGE

The unsupported utility MESAGE.EXE provides you with a short explanation
of   each   DBMS  ERROR-STATUS  number.   At  the  prompt,  you  type  a
four-character ERROR-STATUS number.  The program tells you the verb that
caused the exception, and gives a sentence identifying the nature of the
exception.  The program then asks you  if  you  want  information  about
another  ERROR-STATUS.   Type  "Y" if you do;  any other character exits
from the program.  Hint:  if you type only the  two-character  exception
code,  the  program  explains  it,  and tells you that the exception was
detected during a HOST verb (code 00).   Warning:   the  new  Version  6
exception codes are not included in the utility;  it is based on Version
5A exceptions.

5.0  KNOWN BUGS AND DEFICIENCIES

5.1  DBCS

     1.  Cluster reading  in  transactions  which  perform  updates  may
         result in unnecessary database and journal writes.




5.2  DBMEND

     1.  DBMEND on-line  recovery  will  not  work  if  areas  are  open
         EXCLUSIVE/PROTECTED by any surviving run-unit.

     2.  Build command in DBMEND outputs two extra words. This behavior
	 differs  from  version 5. These  two words are crlf each right
	 justified in its own word.



5.3  DBINFO

     1. The  CLOSE  command  does not deallocate memory.  A series of
	OPEN/CLOSE pairs will rapidly yield a ?CORNMM (no more memory)
	error. 




			[end-of-dbmsv6.bwr]