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]