?? myldbbase.pas
字號:
// create
//------------------------------------------------------------------------------
constructor TMYLDBIndexDef.Create;
begin
FUnique := False;
FPrimary := False;
FIndexType := itBTree;
FIndexColumns := nil;
FRootPageNo := INVALID_PAGE_NO;
FSessionID := INVALID_SESSION_ID;
FTableState := 0;
FNeedRebuild := False;
end;// Create
//------------------------------------------------------------------------------
// destroy
//------------------------------------------------------------------------------
destructor TMYLDBIndexDef.Destroy;
begin
ColumnCount := 0;
inherited Destroy;
end;// Destroy
//------------------------------------------------------------------------------
// assign another IndexDef
//------------------------------------------------------------------------------
procedure TMYLDBIndexDef.Assign(Source: TMYLDBMetaObjectDef);
var
i: Integer;
begin
inherited Assign(Source);
IndexType := TMYLDBIndexDef(Source).IndexType;
Unique := TMYLDBIndexDef(Source).Unique;
Primary := TMYLDBIndexDef(Source).Primary;
FRootPageNo := TMYLDBIndexDef(Source).RootPageNo;
ColumnCount := TMYLDBIndexDef(Source).ColumnCount;
FTemporary := TMYLDBIndexDef(Source).Temporary;
FSessionID := TMYLDBIndexDef(Source).SessionID;
FTableState := TMYLDBIndexDef(Source).TableState;
FNeedRebuild := TMYLDBIndexDef(Source).NeedRebuild;
for i := 0 to ColumnCount-1 do
begin
Columns[i].FieldName := TMYLDBIndexDef(Source).Columns[i].FieldName;
Columns[i].Descending := TMYLDBIndexDef(Source).Columns[i].Descending;
Columns[i].CaseInsensitive := TMYLDBIndexDef(Source).Columns[i].CaseInsensitive;
Columns[i].MaxIndexedSize := TMYLDBIndexDef(Source).Columns[i].MaxIndexedSize;
end;
end;// Assign
//------------------------------------------------------------------------------
// assign by names
//------------------------------------------------------------------------------
procedure TMYLDBIndexDef.AssignByNames(FieldNames, AscDescList, CaseSensitivityList: TStringList);
var i: integer;
begin
if (FieldNames.Count <> AscDescList.Count) then
raise EMYLDBException.Create(10278,ErrorLDifferentListsLength,
[FieldNames.Count,AscDescList.Count]);
if (FieldNames.Count <> CaseSensitivityList.Count) then
raise EMYLDBException.Create(10279,ErrorLDifferentListsLength,
[FieldNames.Count,CaseSensitivityList.Count]);
ColumnCount := FieldNames.Count;
for i := 0 to ColumnCount-1 do
begin
Columns[i].FieldName := FieldNames[i];
Columns[i].Descending := (AscDescList[i] = MYLDB_DESC);
Columns[i].CaseInsensitive := (CaseSensitivityList[i] = MYLDB_NO_CASE);
Columns[i].MaxIndexedSize := DEFAULT_MAX_INDEXED_SIZE;
end;
end;
//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TMYLDBIndexDef.LoadFromStream(Stream: TStream);
var i: Integer;
begin
inherited LoadFromStream(Stream);
LoadDataFromStream(FIndexType,Sizeof(FIndexType),Stream,10349);
LoadDataFromStream(FUnique,Sizeof(FUnique),Stream,10350);
LoadDataFromStream(FPrimary,Sizeof(FPrimary),Stream,10351);
FTemporary := False;
LoadDataFromStream(i,Sizeof(i),Stream,10352);
ColumnCount := i;
LoadDataFromStream(FRootPageNo,Sizeof(FRootPageNo),Stream,10353);
for i := 0 to ColumnCount-1 do
Columns[i].LoadFromStream(Stream);
end; // LoadFromStream
//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TMYLDBIndexDef.SaveToStream(Stream: TStream);
var i: Integer;
begin
inherited SaveToStream(Stream);
SaveDataToStream(FIndexType,Sizeof(FIndexType),Stream,10344);
SaveDataToStream(FUnique,Sizeof(FUnique),Stream,10345);
SaveDataToStream(FPrimary,Sizeof(FPrimary),Stream,10346);
i := ColumnCount;
SaveDataToStream(i,Sizeof(i),Stream,10347);
SaveDataToStream(FRootPageNo,Sizeof(FRootPageNo),Stream,10348);
for i := 0 to ColumnCount-1 do
Columns[i].SaveToStream(Stream);
end; // SaveToStream
////////////////////////////////////////////////////////////////////////////////
//
// TMYLDBConstraintDef
//
////////////////////////////////////////////////////////////////////////////////
//------------------------------------------------------------------------------
// Assign
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDef.Assign(Source: TMYLDBMetaObjectDef);
begin
inherited Assign(Source);
FConstraintType := TMYLDBConstraintDef(Source).FConstraintType;
end;//Assign
////////////////////////////////////////////////////////////////////////////////
//
// TMYLDBConstraintDefNotNull
//
////////////////////////////////////////////////////////////////////////////////
//------------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------------
constructor TMYLDBConstraintDefNotNull.Create;
begin
FConstraintType := ctNotNull;
end;//Create
//------------------------------------------------------------------------------
// Assign
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefNotNull.Assign(Source: TMYLDBMetaObjectDef);
begin
inherited Assign(Source);
FTableSchemaName := TMYLDBConstraintDefNotNull(Source).FTableSchemaName;
FTableSchemaObjectID := TMYLDBConstraintDefNotNull(Source).FTableSchemaObjectID;
FTableName := TMYLDBConstraintDefNotNull(Source).FTableName;
FTableObjectID := TMYLDBConstraintDefNotNull(Source).FTableObjectID;
FColumnName := TMYLDBConstraintDefNotNull(Source).FColumnName;
FColumnObjectID := TMYLDBConstraintDefNotNull(Source).FColumnObjectID;
end;//Assign
//------------------------------------------------------------------------------
// SetNames
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefNotNull.SetNames(ColumnName, TableName, SchemaName: String);
begin
FColumnName := ColumnName;
FTableName := TableName;
FSchemaName := SchemaName;
end;//SetNames
//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefNotNull.LoadFromStream(Stream: TStream);
var Len: Byte;
begin
inherited LoadFromStream(Stream);
LoadDataFromStream(FTableSchemaObjectID,sizeof(FTableSchemaObjectID),Stream,10249);
LoadDataFromStream(FTableObjectID,sizeof(FTableObjectID),Stream,10250);
LoadDataFromStream(FColumnObjectID,sizeof(FColumnObjectID),Stream,10251);
LoadDataFromStream(Len,sizeof(Len),Stream,10252);
SetLength(FTableSchemaName,Len-1);
LoadDataFromStream(PChar(@FTableSchemaName)^,Len,Stream,10253);
LoadDataFromStream(Len,sizeof(Len),Stream,10254);
SetLength(FTableName,Len-1);
LoadDataFromStream(PChar(@FTableName)^,Len,Stream,10255);
LoadDataFromStream(Len,sizeof(Len),Stream,10256);
SetLength(FColumnName,Len-1);
LoadDataFromStream(PChar(@FColumnName)^,Len,Stream,10257);
end; // LoadFromStream
//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefNotNull.SaveToStream(Stream: TStream);
var Len: Byte;
begin
inherited SaveToStream(Stream);
SaveDataToStream(FTableSchemaObjectID,sizeof(FTableSchemaObjectID),Stream,10240);
SaveDataToStream(FTableObjectID,sizeof(FTableObjectID),Stream,10241);
SaveDataToStream(FColumnObjectID,sizeof(FColumnObjectID),Stream,10242);
Len := Length(FTableSchemaName)+1;
SaveDataToStream(Len,Sizeof(Len),Stream,10243);
SaveDataToStream(PChar(@FTableSchemaName)^,Len,Stream,10244);
Len := Length(FTableName)+1;
SaveDataToStream(Len,Sizeof(Len),Stream,10245);
SaveDataToStream(PChar(@FTableName)^,Len,Stream,10246);
Len := Length(FColumnName)+1;
SaveDataToStream(Len,Sizeof(Len),Stream,10247);
SaveDataToStream(PChar(@FColumnName)^,Len,Stream,10248);
end; // SaveToStream
////////////////////////////////////////////////////////////////////////////////
//
// TMYLDBConstraintDefCheck
//
////////////////////////////////////////////////////////////////////////////////
//------------------------------------------------------------------------------
// Constructor
//------------------------------------------------------------------------------
constructor TMYLDBConstraintDefCheck.Create;
begin
FConstraintType := ctCheck;
FMinValue := TMYLDBVariant.Create;
FMaxValue := TMYLDBVariant.Create;
end;//Create
//------------------------------------------------------------------------------
// Destructor
//------------------------------------------------------------------------------
destructor TMYLDBConstraintDefCheck.Destroy;
begin
FMinValue.Free;
FMaxValue.Free;
inherited;
end;//Destroy
//------------------------------------------------------------------------------
// Assign
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefCheck.Assign(Source: TMYLDBMetaObjectDef);
begin
inherited Assign(Source);
FTableSchemaName := TMYLDBConstraintDefCheck(Source).FTableSchemaName;
FTableSchemaObjectID := TMYLDBConstraintDefCheck(Source).FTableSchemaObjectID;
FTableName := TMYLDBConstraintDefCheck(Source).FTableName;
FTableObjectID := TMYLDBConstraintDefCheck(Source).FTableObjectID;
FColumnName := TMYLDBConstraintDefCheck(Source).FColumnName;
FColumnObjectID := TMYLDBConstraintDefCheck(Source).FColumnObjectID;
FMinValue.Assign(TMYLDBConstraintDefCheck(Source).FMinValue);
FMaxValue.Assign(TMYLDBConstraintDefCheck(Source).FMaxValue);
end;//Assign
//------------------------------------------------------------------------------
// SetNames
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefCheck.SetNames(ColumnName, TableName,
SchemaName: String);
begin
FColumnName := ColumnName;
FTableName := TableName;
FSchemaName := SchemaName;
end;//SetNames
//------------------------------------------------------------------------------
// load from stream
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefCheck.LoadFromStream(Stream: TStream);
var Len: Byte;
begin
inherited LoadFromStream(Stream);
LoadDataFromStream(FTableSchemaObjectID,sizeof(FTableSchemaObjectID),Stream,10230);
LoadDataFromStream(FTableObjectID,sizeof(FTableObjectID),Stream,10231);
LoadDataFromStream(FColumnObjectID,sizeof(FColumnObjectID),Stream,10232);
LoadDataFromStream(Len,sizeof(Len),Stream,10233);
SetLength(FTableSchemaName,Len-1);
LoadDataFromStream(PChar(@FTableSchemaName)^,Len,Stream,10234);
LoadDataFromStream(Len,sizeof(Len),Stream,10235);
SetLength(FTableName,Len-1);
LoadDataFromStream(PChar(@FTableName)^,Len,Stream,10236);
LoadDataFromStream(Len,sizeof(Len),Stream,10237);
SetLength(FColumnName,Len-1);
LoadDataFromStream(PChar(@FColumnName)^,Len,Stream,10238);
FMinValue.LoadFromStream(Stream);
FMaxValue.LoadFromStream(Stream);
end; // LoadFromStream
//------------------------------------------------------------------------------
// save to stream
//------------------------------------------------------------------------------
procedure TMYLDBConstraintDefCheck.SaveToStream(Stream: TStream);
var Len: Byte;
begin
inherited SaveToStream(Stream);
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -