Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Zugriffsmethoden-spezifische Festlegungen

&pagelevel(4)&pagelevel

Sowohl in den API-Beschreibungen in diesem Dokument, als auch in den eigentlichen API-Spezifikationen, wird an einigen Stellen spezifiziert, dass eine Zugriffsmethode besondere Festlegungen treffen kann.

Diese Festlegungen werden in der folgenden Tabelle für die in dieser Version unterstützen Zugriffsmethoden des DMS vorgenommen.

Spezifika

Zugriffsmethode SAM

Zugriffsmethode ISAM

Zugriffsmethode UPAM

Name, wie er an den JRIO-Schnittstellen zu verwenden ist

„SAM“

„ISAM“

„UPAM“

Zulässige Satzformate

Satzformat mit variabler und fester Satzlänge

Satzformat mit variabler und fester Satzlänge

Satzformat mit fester Satzlänge

Maximale Satzlänge (in Abhängigkeit vom Satzformat (fest, variabel), logischem Blockformat (NO, KEY, DATA) und Blocksize (1 <= BS <= 16) - die Methode setRecordLength der Klassen AccessParameter... akzeptiert auch größere Werte, weil Blocksize oder Satzformat später geändert werden können)

fest, KEY

BS * 2048

fest, NO, DATA

BS * 2048 - 16

variabel, KEY:

BS * 2048 -4

variabel, NO,

DATA

BS * 2048 - 20

fest:

BS * 2048


variabel:

BS * 2048 - 4


Bei voller Ausnutzung entstehen ggf. Über-laufblöcke

fest, NO, KEY

BS * 2048

fest, DATA

BS * 2048

(die ersten 12 Bytes enthalten Metadaten!)

Zulässige Werte für setRecordLength() der Klassen AccessParameter...

0 bis 32768 (0 bedeutet: variabel, nur durch Blocksize beschränkt)

0 bis 32768 (0 bedeutet: variabel, nur durch Blocksize beschränkt)

0 bis 32768 (0 bedeutet: Pubsetstandard) Werte != n*2048 (n=0,,16) sind nicht erlaubt

Zulässige Werte für die Methoden setBlocksize, setPrimarySpaceAllocation, setSecondarySpaceAllocation, setPrimaryKeyPosition, setSecondaryKeyPosition der Klassen AccessParameter...

Siehe API-Dokumentation des Interface AccessParameter SAM

Siehe API-Dokumentation des Interface AccessParameter ISAM

Siehe API-Dokumentation des Interface AccessParameterUPAM

Methode markSupported()

Für Markieren und Repositionieren beim sequentiellen Lesen der Klasse FileInputRecordStream

immer false

immer false

immer false

Gepufferte Ausgabe in den Ausgabestrom schreiben mit der Methode flush() der Klasse FileOutputRecordStream

der Schreib-Puffer wird geleert

der Schreib-Puffer wird geleert

keine Funktion

Zulässige Werte beim Erzeugen von sekundären Schlüsseln mit der Methode createSecondaryKey() der Klasse KeyedAccessRecordFile

nicht unterstützt

Ja

max. 30 Sekundärschlüssel, mit max. je 127 Byte Länge.

keyPos <= 32495

nicht unterstützt

Name von sekundären Schlüsseln (Methode createSecondaryKey() der Klasse KeyedAccessRecordFile)

nicht unterstützt

8-stellig, nach DMS-Regeln, Kleinbuchstaben werden ggf. in Großbuchstaben umgesetzt.

nicht unterstützt

Setzen der Dateiposition mit der Methode setCurrentRecordNumber() der Klasse RandomAccessRecordFile hinter den letzten Satz (Wert von get-RecordCount()) - bzw. Schreiben an einer solchen Position

ja - ggf. werden Leersätze (bei variablem Satzformat) oder Sätze undefinierten Inhalts (bei festem Satzformat) eingefügt

nein

ja - ggf. werden Sätze undefinierten Inhalts eingefügt

Überschreiben von Sätzen mit der Methode write()

gleiche Satzlänge für Sätze variabler Länge


ohne Einschränkung möglich

Überschreiben von Sätzen mit der Methode writeBack()

-

der Primärschlüssel darf nicht verändert werden

-

Reihenfolge beim sequentiellen Lesen mit der Klasse KeyedAccessRecordFile

-

Schreib- oder Löschoperationen verändern die Dateiposition und sollen daher nicht zwischen sequentiellen Leseoperationen verwendet werden. Für die Reihenfolge bei sequentiellen Leseoperationen bzgl. unterschiedlicher Schlüssel gilt das ISAM-Verhalten (siehe „Einführung in das DVS“ [8])

-

Shared-Update-Verarbeitung:
allgemein

nicht möglich

Möglich als:

FileInputStream, FileOutputStream KeyedAccessRecordFile

Nur für PAM-Dateien als FileInputStream oder als RandomAccessRecordFile möglich

Shared-Update-Verarbeitung:
Open-Modi

-

INPUT, INOUT oder OUTIN erlaubt, FileOutputStream nur zum Erweitern einer Datei, OUTIN nur für die erste öffnende Anwendung

INPUT oder

INOUT erlaubt

Shared-Update-Verarbeitung:
Sperrgranulat

-

Bei NK-ISAM erfolgt die Sperre auf Schlüsselebene (Primärschlüssel), bei K-ISAM auf Blockebene

Die Sperre erfolgt auf Blockebene

Shared-Update-Verarbei-tung:
weitere Besonderheiten

-

Sperren gelten für die gesamte Anwendung (nicht nur für eine Datei)

Vergrößern oder Verkleinern einer Datei ist nicht möglich

Tabelle 5: Zugriffsmethoden-spezifische Festlegung