Re: How to FindNearest

From: "Alexander Ilyin" <a_ilyin(at)ukr(dot)net>
To: "Bruno Wolff III" <bruno(at)wolff(dot)to>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: How to FindNearest
Date: 2006-10-03 11:43:40
Message-ID: E1GUigW-000K1a-7F@kitty.ukr.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


-----Original Message-----
From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Alexander Ilyin <a_ilyin(at)ukr(dot)net>
Date: Mon, 2 Oct 2006 19:20:49 -0500
Subject: Re: How to FindNearest

> On Sat, Sep 30, 2006 at 11:43:40 +0300,
> Alexander Ilyin <a_ilyin(at)ukr(dot)net> wrote:
> >
> > Suppose we have huge table. On the screen we need to show contents of that table in the Grid and under that Grid user can input in TextBox some letters. OnChange of this TextBox we need to make current row selection in the Grid on the row with value of some column nearest to the user input in the TextBox.
> >
> > How this can be implemented in PostgreSQL?
>
> You can search for the row with the closest above and the row with the
> closest below and then return whichever these is closer. (Remember to handle
> the case where the target is larger or smaller than all values in the
> database.) You can use ORDER BY and LIMIT 1 and an appropiiate WHERE
> clause (something like columnname >= targetvalue) to do this.
>
>

Thank you for your great idea. But how it can be used for positioning the cursor in the already existed ResultSet? Using your idea I can found the closest to targetvalue row but not its position in my ResultSet.
Anyway thank you for your idea it is very useful by itself. Also I can solve my problem using your idea and emulating the movement in my existed ResultSet. Even better - no need to store the large RS between cursor movements. Just each time I need to fetch the all visible rows.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Daryl Richter 2006-10-03 11:49:37 Re: i have table
Previous Message Achilleas Mantzios 2006-10-03 11:00:35 Re: i have table