mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 18:09:27 +02:00
* Implemented TBufDataset.UpdateIndexDefs
git-svn-id: trunk@9515 -
This commit is contained in:
parent
d306e25dc8
commit
c7219efd02
@ -108,8 +108,10 @@ type
|
||||
|
||||
TBufIndex = record
|
||||
Name : String;
|
||||
SortField : TField;
|
||||
SortFieldName : String;
|
||||
Fields : TField;
|
||||
FieldsName : String;
|
||||
CaseinsFields : String;
|
||||
DescFields : String;
|
||||
{$IFDEF ARRAYBUF}
|
||||
FCurrentRecInd : integer;
|
||||
FRecordArray : array of Pointer;
|
||||
@ -158,6 +160,7 @@ type
|
||||
FUpdateBlobBuffers: array of PBlobBuffer;
|
||||
|
||||
function GetIndexDefs : TIndexDefs;
|
||||
procedure UpdateIndexDefs; override;
|
||||
procedure AddRecordToIndex(var AIndex: TBufIndex; ARecBuf: pchar);
|
||||
function GetCurrentBuffer: PChar;
|
||||
procedure CalcRecordSize;
|
||||
@ -309,7 +312,6 @@ end;
|
||||
destructor TBufDataset.Destroy;
|
||||
begin
|
||||
FreeAndNil(FIndexDefs);
|
||||
|
||||
inherited destroy;
|
||||
end;
|
||||
|
||||
@ -319,6 +321,19 @@ begin
|
||||
Result := FIndexDefs;
|
||||
end;
|
||||
|
||||
procedure TBufDataset.UpdateIndexDefs;
|
||||
var i : integer;
|
||||
begin
|
||||
FIndexDefs.Clear;
|
||||
for i := 0 to length(FIndexes) do with FIndexDefs.AddIndexDef do
|
||||
begin
|
||||
Name := FIndexes[i].Name;
|
||||
Fields := FIndexes[i].FieldsName;
|
||||
DescFields:= FIndexes[i].DescFields;
|
||||
CaseInsFields:=FIndexes[i].CaseinsFields;
|
||||
end;
|
||||
end;
|
||||
|
||||
Function TBufDataset.GetCanModify: Boolean;
|
||||
begin
|
||||
Result:= False;
|
||||
|
@ -1031,7 +1031,6 @@ begin
|
||||
'ind.rdb$index_name;');
|
||||
open;
|
||||
end;
|
||||
IndexDefs.Clear;
|
||||
while not qry.eof do with IndexDefs.AddIndexDef do
|
||||
begin
|
||||
Name := trim(qry.fields[0].asstring);
|
||||
|
@ -843,7 +843,6 @@ begin
|
||||
sql.add('show index from ' + TableName);
|
||||
open;
|
||||
end;
|
||||
IndexDefs.Clear;
|
||||
while not qry.eof do with IndexDefs.AddIndexDef do
|
||||
begin
|
||||
Name := trim(qry.fieldbyname('Key_name').asstring);
|
||||
|
@ -1098,7 +1098,6 @@ begin
|
||||
ODBCCheckResult(SQLBindCol(StmtHandle, 10, SQL_C_CHAR , @AscOrDesc , 1, @AscOrDescIndOrLen ), SQL_HANDLE_STMT, StmtHandle, 'Could not bind index metadata column ASC_OR_DESC.');
|
||||
|
||||
// clear index defs
|
||||
IndexDefs.Clear;
|
||||
IndexDef:=nil;
|
||||
|
||||
// fetch result
|
||||
|
@ -803,7 +803,6 @@ begin
|
||||
'ic.relname;');
|
||||
open;
|
||||
end;
|
||||
IndexDefs.Clear;
|
||||
while not qry.eof do with IndexDefs.AddIndexDef do
|
||||
begin
|
||||
Name := trim(qry.fields[0].asstring);
|
||||
|
Loading…
Reference in New Issue
Block a user