Class TIndexFile

Unit

Declaration

type TIndexFile = class(TPagedFile)

Description

This item has no description.

Hierarchy

Overview

Fields

Protected FIndexName: string;
Protected FLastError: string;
Protected FParsers: array[0..MaxIndexes-1] of TDbfIndexParser;
Protected FIndexHeaders: array[0..MaxIndexes-1] of Pointer;
Protected FIndexHeaderModified: array[0..MaxIndexes-1] of Boolean;
Protected FIndexHeader: Pointer;
Protected FIndexVersion: TXBaseVersion;
Protected FRoots: array[0..MaxIndexes-1] of TIndexPage;
Protected FLeaves: array[0..MaxIndexes-1] of TIndexPage;
Protected FCurrentParser: TDbfIndexParser;
Protected FRoot: TIndexPage;
Protected FLeaf: TIndexPage;
Protected FMdxTag: TIndexTag;
Protected FTempMdxTag: TIndexTag;
Protected FEntryHeaderSize: Integer;
Protected FPageHeaderSize: Integer;
Protected FTagSize: Integer;
Protected FTagOffset: Integer;
Protected FHeaderPageNo: Integer;
Protected FSelectedIndex: Integer;
Protected FRangeIndex: Integer;
Protected FIsDescending: Boolean;
Protected FUniqueMode: TIndexUniqueType;
Protected FModifyMode: TIndexModifyMode;
Protected FHeaderLocked: Integer;
Protected FKeyBuffer: array[0..100] of Char;
Protected FLowBuffer: array[0..100] of Char;
Protected FHighBuffer: array[0..100] of Char;
Protected FEntryBof: Pointer;
Protected FEntryEof: Pointer;
Protected FDbfFile: Pointer;
Protected FCanEdit: Boolean;
Protected FOpened: Boolean;
Protected FRangeActive: Boolean;
Protected FUpdateMode: TIndexUpdateMode;
Protected FUserKey: PChar;
Protected FUserRecNo: Integer;
Protected FUserBCD: array[0..10] of Byte;
Protected FUserNumeric: Double;
Protected FForceClose: Boolean;
Protected FForceReadOnly: Boolean;
Protected FCodePage: Integer;
Protected FCollation: PCollationTable;
Protected FCompareKeys: TDbfCompareKeysEvent;
Protected FOnLocaleError: TDbfLocaleErrorEvent;

Methods

Protected function GetNewPageNo: Integer;
Protected procedure TouchHeader(AHeader: Pointer);
Protected function CreateTempFile(BaseName: string): TPagedFile;
Protected procedure ConstructInsertErrorMsg;
Protected procedure WriteIndexHeader(AIndex: Integer);
Protected procedure SelectIndexVars(AIndex: Integer);
Protected procedure CalcKeyProperties;
Protected procedure UpdateIndexProperties;
Protected procedure ClearRoots;
Protected function CalcTagOffset(AIndex: Integer): Pointer;
Protected function FindKey(AInsert: boolean): Integer;
Protected function InsertKey(Buffer: TRecordBuffer): Boolean;
Protected procedure DeleteKey(Buffer: TRecordBuffer);
Protected function InsertCurrent: Boolean;
Protected procedure DeleteCurrent;
Protected function UpdateCurrent(PrevBuffer, NewBuffer: TRecordBuffer): Boolean;
Protected function UpdateIndex(Index: Integer; PrevBuffer, NewBuffer: TRecordBuffer): Boolean;
Protected procedure ReadIndexes;
Protected procedure Resync(Relative: boolean);
Protected procedure ResyncRoot;
Protected procedure ResyncTree;
Protected procedure ResyncRange(KeepPosition: boolean);
Protected procedure ResetRange;
Protected procedure SetBracketLow;
Protected procedure SetBracketHigh;
Protected procedure WalkFirst;
Protected procedure WalkLast;
Protected function WalkPrev: boolean;
Protected function WalkNext: boolean;
Protected function CompareKeysNumericNDX(Key1, Key2: PChar): Integer;
Protected function CompareKeysNumericMDX(Key1, Key2: PChar): Integer;
Protected function CompareKeysString(Key1, Key2: PChar): Integer;
Protected function GetName: string;
Protected function GetDbfLanguageId: Byte;
Protected function GetKeyLen: Integer;
Protected function GetKeyType: Char;
Protected function GetExpression: string;
Protected function GetPhysicalRecNo: Integer;
Protected function GetSequentialRecNo: Integer;
Protected function GetSequentialRecordCount: Integer;
Protected procedure SetSequentialRecNo(RecNo: Integer);
Protected procedure SetPhysicalRecNo(RecNo: Integer);
Protected procedure SetUpdateMode(NewMode: TIndexUpdateMode);
Protected procedure SetIndexName(const AIndexName: string);
Public constructor Create(ADbfFile: Pointer);
Public destructor Destroy; override;
Public procedure Open;
Public procedure Close;
Public procedure Clear;
Public procedure Flush; override;
Public procedure ClearIndex;
Public procedure AddNewLevel;
Public procedure UnlockHeader;
Public procedure InsertError;
Public function Insert(RecNo: Integer; Buffer:TRecordBuffer ): Boolean;
Public function Update(RecNo: Integer; PrevBuffer, NewBuffer: TRecordBuffer): Boolean;
Public procedure Delete(RecNo: Integer; Buffer: TRecordBuffer);
Public function CheckKeyViolation(Buffer: TRecordBuffer): Boolean;
Public procedure RecordDeleted(RecNo: Integer; Buffer: TRecordBuffer);
Public function RecordRecalled(RecNo: Integer; Buffer: TRecordBuffer): Boolean;
Public procedure DeleteIndex(const AIndexName: string);
Public procedure RepageFile;
Public procedure CompactFile;
Public procedure PrepareRename(NewFileName: string);
Public procedure CreateIndex(FieldDesc, TagName: string; Options: TIndexOptions);
Public function ExtractKeyFromBuffer(Buffer: TRecordBuffer): PChar;
Public function SearchKey(Key: PChar; SearchType: TSearchKeyType): Boolean;
Public function Find(RecNo: Integer; Buffer: PChar): Integer;
Public function IndexOf(const AIndexName: string): Integer;
Public procedure DisableRange;
Public procedure EnableRange;
Public procedure GetIndexNames(const AList: TStrings);
Public procedure GetIndexInfo(const AIndexName: string; IndexDef: TDbfIndexDef);
Public procedure WriteHeader; override;
Public procedure WriteFileHeader;
Public procedure First;
Public procedure Last;
Public function Next: Boolean;
Public function Prev: Boolean;
Public procedure SetRange(LowRange, HighRange: PChar);
Public procedure CancelRange;
Public function MatchKey(UserKey: PChar): Integer;
Public function CompareKey(Key: PChar): Integer;
Public function CompareKeys(Key1, Key2: PChar): Integer;
Public function PrepareKey(Buffer: TRecordBuffer; ResultType: TExpressionType): PChar;

Properties

Public property KeyLen: Integer read GetKeyLen;
Public property IndexVersion: TXBaseVersion read FIndexVersion;
Public property EntryHeaderSize: Integer read FEntryHeaderSize;
Public property KeyType: Char read GetKeyType;
Public property SequentialRecordCount: Integer read GetSequentialRecordCount;
Public property SequentialRecNo: Integer read GetSequentialRecNo write SetSequentialRecNo;
Public property PhysicalRecNo: Integer read GetPhysicalRecNo write SetPhysicalRecNo;
Public property HeaderPageNo: Integer read FHeaderPageNo;
Public property IndexHeader: Pointer read FIndexHeader;
Public property EntryBof: Pointer read FEntryBof;
Public property EntryEof: Pointer read FEntryEof;
Public property UniqueMode: TIndexUniqueType read FUniqueMode;
Public property IsDescending: Boolean read FIsDescending;
Public property UpdateMode: TIndexUpdateMode read FUpdateMode write SetUpdateMode;
Public property IndexName: string read FIndexName write SetIndexName;
Public property Expression: string read GetExpression;
Public property ForceClose: Boolean read FForceClose;
Public property ForceReadOnly: Boolean read FForceReadOnly;
Public property CodePage: Integer read FCodePage write FCodePage;
Public property OnLocaleError: TDbfLocaleErrorEvent read FOnLocaleError write FOnLocaleError;

Description

Fields

Protected FIndexName: string;

This item has no description.

Protected FLastError: string;

This item has no description.

Protected FParsers: array[0..MaxIndexes-1] of TDbfIndexParser;

This item has no description.

Protected FIndexHeaders: array[0..MaxIndexes-1] of Pointer;

This item has no description.

Protected FIndexHeaderModified: array[0..MaxIndexes-1] of Boolean;

This item has no description.

Protected FIndexHeader: Pointer;

This item has no description.

Protected FIndexVersion: TXBaseVersion;

This item has no description.

Protected FRoots: array[0..MaxIndexes-1] of TIndexPage;

This item has no description.

Protected FLeaves: array[0..MaxIndexes-1] of TIndexPage;

This item has no description.

Protected FCurrentParser: TDbfIndexParser;

This item has no description.

Protected FRoot: TIndexPage;

This item has no description.

Protected FLeaf: TIndexPage;

This item has no description.

Protected FMdxTag: TIndexTag;

This item has no description.

Protected FTempMdxTag: TIndexTag;

This item has no description.

Protected FEntryHeaderSize: Integer;

This item has no description.

Protected FPageHeaderSize: Integer;

This item has no description.

Protected FTagSize: Integer;

This item has no description.

Protected FTagOffset: Integer;

This item has no description.

Protected FHeaderPageNo: Integer;

This item has no description.

Protected FSelectedIndex: Integer;

This item has no description.

Protected FRangeIndex: Integer;

This item has no description.

Protected FIsDescending: Boolean;

This item has no description.

Protected FUniqueMode: TIndexUniqueType;

This item has no description.

Protected FModifyMode: TIndexModifyMode;

This item has no description.

Protected FHeaderLocked: Integer;

This item has no description.

Protected FKeyBuffer: array[0..100] of Char;

This item has no description.

Protected FLowBuffer: array[0..100] of Char;

This item has no description.

Protected FHighBuffer: array[0..100] of Char;

This item has no description.

Protected FEntryBof: Pointer;

This item has no description.

Protected FEntryEof: Pointer;

This item has no description.

Protected FDbfFile: Pointer;

This item has no description.

Protected FCanEdit: Boolean;

This item has no description.

Protected FOpened: Boolean;

This item has no description.

Protected FRangeActive: Boolean;

This item has no description.

Protected FUpdateMode: TIndexUpdateMode;

This item has no description.

Protected FUserKey: PChar;

This item has no description.

Protected FUserRecNo: Integer;

This item has no description.

Protected FUserBCD: array[0..10] of Byte;

This item has no description.

Protected FUserNumeric: Double;

This item has no description.

Protected FForceClose: Boolean;

This item has no description.

Protected FForceReadOnly: Boolean;

This item has no description.

Protected FCodePage: Integer;

This item has no description.

Protected FCollation: PCollationTable;

This item has no description.

Protected FCompareKeys: TDbfCompareKeysEvent;

This item has no description.

Protected FOnLocaleError: TDbfLocaleErrorEvent;

This item has no description.

Methods

Protected function GetNewPageNo: Integer;

This item has no description.

Protected procedure TouchHeader(AHeader: Pointer);

This item has no description.

Protected function CreateTempFile(BaseName: string): TPagedFile;

This item has no description.

Protected procedure ConstructInsertErrorMsg;

This item has no description.

Protected procedure WriteIndexHeader(AIndex: Integer);

This item has no description.

Protected procedure SelectIndexVars(AIndex: Integer);

This item has no description.

Protected procedure CalcKeyProperties;

This item has no description.

Protected procedure UpdateIndexProperties;

This item has no description.

Protected procedure ClearRoots;

This item has no description.

Protected function CalcTagOffset(AIndex: Integer): Pointer;

This item has no description.

Protected function FindKey(AInsert: boolean): Integer;

This item has no description.

Protected function InsertKey(Buffer: TRecordBuffer): Boolean;

This item has no description.

Protected procedure DeleteKey(Buffer: TRecordBuffer);

This item has no description.

Protected function InsertCurrent: Boolean;

This item has no description.

Protected procedure DeleteCurrent;

This item has no description.

Protected function UpdateCurrent(PrevBuffer, NewBuffer: TRecordBuffer): Boolean;

This item has no description.

Protected function UpdateIndex(Index: Integer; PrevBuffer, NewBuffer: TRecordBuffer): Boolean;

This item has no description.

Protected procedure ReadIndexes;

This item has no description.

Protected procedure Resync(Relative: boolean);

This item has no description.

Protected procedure ResyncRoot;

This item has no description.

Protected procedure ResyncTree;

This item has no description.

Protected procedure ResyncRange(KeepPosition: boolean);

This item has no description.

Protected procedure ResetRange;

This item has no description.

Protected procedure SetBracketLow;

This item has no description.

Protected procedure SetBracketHigh;

This item has no description.

Protected procedure WalkFirst;

This item has no description.

Protected procedure WalkLast;

This item has no description.

Protected function WalkPrev: boolean;

This item has no description.

Protected function WalkNext: boolean;

This item has no description.

Protected function CompareKeysNumericNDX(Key1, Key2: PChar): Integer;

This item has no description.

Protected function CompareKeysNumericMDX(Key1, Key2: PChar): Integer;

This item has no description.

Protected function CompareKeysString(Key1, Key2: PChar): Integer;

This item has no description.

Protected function GetName: string;

This item has no description.

Protected function GetDbfLanguageId: Byte;

This item has no description.

Protected function GetKeyLen: Integer;

This item has no description.

Protected function GetKeyType: Char;

This item has no description.

Protected function GetExpression: string;

This item has no description.

Protected function GetPhysicalRecNo: Integer;

This item has no description.

Protected function GetSequentialRecNo: Integer;

This item has no description.

Protected function GetSequentialRecordCount: Integer;

This item has no description.

Protected procedure SetSequentialRecNo(RecNo: Integer);

This item has no description.

Protected procedure SetPhysicalRecNo(RecNo: Integer);

This item has no description.

Protected procedure SetUpdateMode(NewMode: TIndexUpdateMode);

This item has no description.

Protected procedure SetIndexName(const AIndexName: string);

This item has no description.

Public constructor Create(ADbfFile: Pointer);

This item has no description.

Public destructor Destroy; override;

This item has no description.

Public procedure Open;

This item has no description.

Public procedure Close;

This item has no description.

Public procedure Clear;

This item has no description.

Public procedure Flush; override;

This item has no description.

Public procedure ClearIndex;

This item has no description.

Public procedure AddNewLevel;

This item has no description.

Public procedure UnlockHeader;

This item has no description.

Public procedure InsertError;

This item has no description.

Public function Insert(RecNo: Integer; Buffer:TRecordBuffer ): Boolean;

This item has no description.

Public function Update(RecNo: Integer; PrevBuffer, NewBuffer: TRecordBuffer): Boolean;

This item has no description.

Public procedure Delete(RecNo: Integer; Buffer: TRecordBuffer);

This item has no description.

Public function CheckKeyViolation(Buffer: TRecordBuffer): Boolean;

This item has no description.

Public procedure RecordDeleted(RecNo: Integer; Buffer: TRecordBuffer);

This item has no description.

Public function RecordRecalled(RecNo: Integer; Buffer: TRecordBuffer): Boolean;

This item has no description.

Public procedure DeleteIndex(const AIndexName: string);

This item has no description.

Public procedure RepageFile;

This item has no description.

Public procedure CompactFile;

This item has no description.

Public procedure PrepareRename(NewFileName: string);

This item has no description.

Public procedure CreateIndex(FieldDesc, TagName: string; Options: TIndexOptions);

This item has no description.

Public function ExtractKeyFromBuffer(Buffer: TRecordBuffer): PChar;

This item has no description.

Public function SearchKey(Key: PChar; SearchType: TSearchKeyType): Boolean;

This item has no description.

Public function Find(RecNo: Integer; Buffer: PChar): Integer;

This item has no description.

Public function IndexOf(const AIndexName: string): Integer;

This item has no description.

Public procedure DisableRange;

This item has no description.

Public procedure EnableRange;

This item has no description.

Public procedure GetIndexNames(const AList: TStrings);

This item has no description.

Public procedure GetIndexInfo(const AIndexName: string; IndexDef: TDbfIndexDef);

This item has no description.

Public procedure WriteHeader; override;

This item has no description.

Public procedure WriteFileHeader;

This item has no description.

Public procedure First;

This item has no description.

Public procedure Last;

This item has no description.

Public function Next: Boolean;

This item has no description.

Public function Prev: Boolean;

This item has no description.

Public procedure SetRange(LowRange, HighRange: PChar);

This item has no description.

Public procedure CancelRange;

This item has no description.

Public function MatchKey(UserKey: PChar): Integer;

This item has no description.

Public function CompareKey(Key: PChar): Integer;

This item has no description.

Public function CompareKeys(Key1, Key2: PChar): Integer;

This item has no description.

Public function PrepareKey(Buffer: TRecordBuffer; ResultType: TExpressionType): PChar;

This item has no description.

Properties

Public property KeyLen: Integer read GetKeyLen;

This item has no description.

Public property IndexVersion: TXBaseVersion read FIndexVersion;

This item has no description.

Public property EntryHeaderSize: Integer read FEntryHeaderSize;

This item has no description.

Public property KeyType: Char read GetKeyType;

This item has no description.

Public property SequentialRecordCount: Integer read GetSequentialRecordCount;

This item has no description.

Public property SequentialRecNo: Integer read GetSequentialRecNo write SetSequentialRecNo;

This item has no description.

Public property PhysicalRecNo: Integer read GetPhysicalRecNo write SetPhysicalRecNo;

This item has no description.

Public property HeaderPageNo: Integer read FHeaderPageNo;

This item has no description.

Public property IndexHeader: Pointer read FIndexHeader;

This item has no description.

Public property EntryBof: Pointer read FEntryBof;

This item has no description.

Public property EntryEof: Pointer read FEntryEof;

This item has no description.

Public property UniqueMode: TIndexUniqueType read FUniqueMode;

This item has no description.

Public property IsDescending: Boolean read FIsDescending;

This item has no description.

Public property UpdateMode: TIndexUpdateMode read FUpdateMode write SetUpdateMode;

This item has no description.

Public property IndexName: string read FIndexName write SetIndexName;

This item has no description.

Public property Expression: string read GetExpression;

This item has no description.

Public property ForceClose: Boolean read FForceClose;

This item has no description.

Public property ForceReadOnly: Boolean read FForceReadOnly;

This item has no description.

Public property CodePage: Integer read FCodePage write FCodePage;

This item has no description.

Public property OnLocaleError: TDbfLocaleErrorEvent read FOnLocaleError write FOnLocaleError;

This item has no description.


Generated by PasDoc 0.17.0.snapshot.