Fix handling tables with more than 2^32 rows, see rfe #972

This commit is contained in:
Ansgar Becker
2009-02-02 20:42:27 +00:00
parent be23aac551
commit 40ce19d0b0

View File

@ -3415,7 +3415,7 @@ end;
procedure TMainForm.viewdata(Sender: TObject); procedure TMainForm.viewdata(Sender: TObject);
var var
i, count : Integer; i : Integer;
select_base : WideString; select_base : WideString;
select_from : WideString; select_from : WideString;
sl_query : TWideStringList; sl_query : TWideStringList;
@ -3425,7 +3425,7 @@ var
rx : TRegExpr; rx : TRegExpr;
ColType : String; ColType : String;
ColExists, ShowIt : Boolean; ColExists, ShowIt : Boolean;
MatchingRows : Int64; Count, MatchingRows : Int64;
procedure InitColumn(name: WideString; ColType: String; Visible: Boolean); procedure InitColumn(name: WideString; ColType: String; Visible: Boolean);
var var
@ -3642,7 +3642,7 @@ begin
sl_query.Add(select_from); sl_query.Add(select_from);
// Apply custom WHERE filter // Apply custom WHERE filter
if DataGridCurrentFilter <> '' then sl_query.Add('WHERE ' + DataGridCurrentFilter); if DataGridCurrentFilter <> '' then sl_query.Add('WHERE ' + DataGridCurrentFilter);
MatchingRows := StrToInt(GetVar(sl_query.Text)); MatchingRows := MakeInt(GetVar(sl_query.Text));
count := MatchingRows; count := MatchingRows;
if count > GRIDMAXTOTALROWS then if count > GRIDMAXTOTALROWS then
count := GRIDMAXTOTALROWS; count := GRIDMAXTOTALROWS;