Open GoogleCodeExporter opened 9 years ago
Looking into this a little further, it would appear as though the script is
assigning incorrect data. (This can also occur on non-null values).
The Callstack for this error is
TCustomQuery.InternalOpen
TSqlAnalizer.DoSelect
TSqlAnalizer.SafeCreateResultSet
TSqlAnalizer.CreateResultSet
TSqlAnalizer.DoOrderBy
xqbase.TxqSortList.Sort
xqbase.QuickSort
I have found that in quicksort, In the following Code:
Case DataType Of
ttString: s1 := FFields[Idx].AsString;
FFields[Idx].asstring returns an incorrect / corrupted value. It is the actual
data, but then with additional charactersets hung on the end of it.
As such, when SortCompare is executed, it never finds that same value (as it's
looking for a value that does not exists), goes past the record count using the
increments, and then raises the error.
I am unable to find out why ffields[idx] is returning a bad result at this
point. It appears to happen in very isolated instances, and simply changing
that field by one value seems to resolve the issue.
Original comment by adzad...@gmail.com
on 23 Oct 2012 at 6:16
Hi Could you please check issue #39, i have posted updated sources of TXQuery.
As long as I remember that issue was fixed in my sources long time ago.
Original comment by fdue...@gmail.com
on 14 Apr 2013 at 11:12
Original issue reported on code.google.com by
adzad...@gmail.com
on 23 Oct 2012 at 4:10