<> <> <> <> <> <> <> <> DIRECTORY AlpineEnvironment USING [LockOption], DBCommon, Rope USING [ROPE]; DBSegment: CEDAR DEFINITIONS = BEGIN ROPE: TYPE = Rope.ROPE; Trans: TYPE = DBCommon.Transaction; Segment: TYPE = DBCommon.Segment; SegmentID: TYPE = DBCommon.SegmentID; SegmentIndex: TYPE = DBCommon.SegmentIndex; VersionOptions: TYPE = DBCommon.VersionOptions; DBPage: TYPE = DBCommon.DBPage; CacheHandle: TYPE = DBCommon.CacheHandle; TID: TYPE = DBCommon.TID; <> <> Initialize: PROC [nCachePages: NAT, useCacheFile: ROPE, segmentInitProc: PROC [s: Segment] RETURNS [ARRAY[0..DBCommon.systemIndexCount) OF TID]]; <> <> AttachSegment: PROC [fileName: ROPE, s: Segment, segmentIndex: SegmentIndex, lock: AlpineEnvironment.LockOption, readonly: BOOL, version: VersionOptions, nPagesInitial, nPagesPerExtent: NAT] RETURNS[newAttachement: BOOL]; <> EnumerateSegments: PROC [enumProc: PROC [s: Segment, segmentIndex: SegmentIndex] RETURNS [stop: BOOL]]; OpenSegment: PROC [s: Segment, trans: Trans, eraseAfterOpening: BOOL]; <> CloseSegment: PROC [s: Segment]; GetSegmentInfo: PROC [s: Segment] RETURNS [filePath: ROPE, readOnly: BOOL]; WriteOutCache: PROC[s: Segment]; <> FlushCache: PROC[s: Segment]; <> <> GetVersionStamp: PROC [segment: Segment] RETURNS[schemaVersion: INT]; <> <<>> SetVersionStamp: PROC [segment: Segment, to: INT]; <> <<>> RootIndicesFromSegment: PROC [s: Segment] RETURNS [indexTIDs: ARRAY[0..DBCommon.systemIndexCount) OF TID]; SegmentFromTID: PROC [tid: TID] RETURNS [s: Segment]; <<"tid" is a tuple ID in an attached segment. Returns the name of the segment.>> IsValidTID: PROC [tid: TID] RETURNS [valid: BOOL]; <<"tid" is a tuple ID in an attached segment. Returns TRUE iff the segment is open.>> SegmentIDFromDBPage: PROC [p: DBPage] RETURNS [SegmentID]; <<"p" is a page in an open segment. Returns the first page in the segment.>> SegmentIDFromSegment: PROC [s: Segment] RETURNS [SegmentID]; <> <> AllocPage: PROC [s: SegmentID] RETURNS [p: DBPage, pValidHint: CacheHandle, cachePage: LONG POINTER]; <> <> <> <> FreePage: PROC [s: SegmentID, freePg: DBPage, freeHint: CacheHandle]; <> <> <> <> << Page access>> <> ReadPage: PROC [p: DBPage, pHint: CacheHandle] RETURNS [pValidHint: CacheHandle, coreLoc: LONG POINTER]; <> <> <> <> <> WritePage: PROC [p: DBPage, pHint: CacheHandle] RETURNS [pValidHint: CacheHandle, coreLoc: LONG POINTER]; <> <> <> UnlockPage: PROC [pValidHint: CacheHandle]; <> <> WriteLockedPage: PROC [pValidHint: CacheHandle]; <> <> <> <> LockCount: PROC [p: DBPage, pValidHint: CacheHandle] RETURNS [lockCount: CARDINAL]; <> <> <> <> <> ObtainCoreLoc: PROC [p: DBPage, pValidHint: CacheHandle] RETURNS [coreLoc: LONG POINTER]; <> <> <> <> <> CheckState: PROC [doPrinting, printOnlyLockedPages: BOOL]; <> END. -- DBSegment CHANGE LOG Created by MBrown on January 4, 1980 3:31 PM Changed by MBrown on January 14, 1980 2:29 PM <> Changed by MBrown on February 4, 1980 3:44 PM <> Changed by MBrown on February 21, 1980 10:20 AM <> <> <> <> Changed by MBrown on February 21, 1980 1:38 PM <> Changed by MBrown on February 29, 1980 10:33 AM <> <> Changed by MBrown on March 3, 1980 1:36 PM <> Changed by MBrown on April 16, 1980 4:42 PM <> Changed by MBrown on April 18, 1980 11:34 AM <> Changed by MBrown on June 10, 1980 8:46 PM <> Changed by MBrown on August 5, 1980 8:49 PM <> <> <> Changed by MBrown on August 29, 1980 3:34 PM <> Changed by MBrown on September 12, 1980 11:07 AM <> Changed by MBrown on December 8, 1980 3:46 PM <> Changed by MBrown on December 11, 1980 6:54 PM <> <> Changed by MBrown on February 26, 1981 9:11 PM <> <> Changed by MBrown on 19-Jun-81 8:51:33 < Rope.Ref.>> Changed by Willie-Sue on June 24, 1982 12:12 pm < Rope.ROPE>> Changed by MBrown on November 24, 1982 4:18 pm <> Changed by Cattell on January 16, 1983 12:41 pm <> Changed by Willie-Sue on February 3, 1983 10:38 am <> <<>> Changed by Willie-Sue on February 15, 1985 < nPages; added Tioga formatting, made Cedar>> Changed by Donahue on October 23, 1985 <>