"Chris Angelico" wrote in message
news:CAPTjJmpLuyFf04AT+34VraJ5itDvNySVJspEv=ddwdsmmsf...@mail.gmail.com...
On Tue, Dec 18, 2018 at 9:52 PM Frank Millman <fr...@chagford.com> wrote:
> I need to know if one row is greater than or less than the other. The
> sort
> sequence can be complex - one or more columns, each of which can be
> sorted
> ascending or descending.
>
> Below is the function I have come up with. Can anyone see any problem
> with
> it, or suggest a better way to do it?
I'm not sure what the difference is between "compare_type" and "desc".
You have four options here:
* gt, desc
True if source_col is None else source_col < target_col
* gt, not desc
False if source_col is None else source_col > target_col
* lt, desc
False if source_col is None else source_col > target_col
* lt, not desc
True if source_col is None else source_col < target_col
The way this is currently coded, these come in two perfect pairs.
Yes, now that you point it out, there is definitely scope for shortening the
code, as that is effectively duplication.
My main concern was whether my algorithm had any flaws in it. I will keep
testing to look for corner cases.
I can assume total ordering. The background is that I want to find the
position of a row in a table according to some sequence. I can't read in the
entire table, as it could contain millions of rows. So I create a
server-side cursor in the desired sequence, and then perform a binary search
on it. So far it is working well.
Thanks
Frank
--
https://mail.python.org/mailman/listinfo/python-list