Re: Working with pages of data (LIMIT/OFFSET keyword)

From: Mike Christensen <mike(at)kitchenpc(dot)com>
To: francisco(at)npgsql(dot)org
Cc: Szymon Guz <mabewlun(at)gmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Working with pages of data (LIMIT/OFFSET keyword)
Date: 2010-06-17 22:56:47
Message-ID: AANLkTikuXxXcCUZ9gqWZREbgiP7C2R_otQMT1wELUKbg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Sweet! I knew there was a way to do this, I'll mess around with it
more in a bit.

On Thu, Jun 17, 2010 at 10:38 AM, Francisco Figueiredo Jr.
<francisco(at)npgsql(dot)org> wrote:
> I would go with 2).
>
> Npgsql supports multiple resultsets. You can pass a query separated by
> semicolon ';'  or you can use a procedure call which return a setof
> refcursor.
>
> On both ways, you will need to call NextResult in your Datareader just
> like with SQLServer.
>
> You can check our user manual: http://manual.npgsql.org to get more
> info about how to use refcursors
>
> I hope it helps.
>
> Please, let me know if you need more info.
>
>
>
> On Wed, Jun 16, 2010 at 16:44, Szymon Guz <mabewlun(at)gmail(dot)com> wrote:
>>
>>
>> 2010/6/16 Mike Christensen <mike(at)kitchenpc(dot)com>
>>>
>>> I'm generating a query on the fly to return a set of data, however I
>>> only want to display 30 rows at a time to the user.  For this reason,
>>> I use the LIMIT 30 OFFSET x clause on the select statement.  However,
>>> I also want to know the total rows that match this query had there
>>> been no limit, that way I can display to the user the total count and
>>> the number of pages, and have Next/Prev buttons in my UI.  I can think
>>> of the following ways to do this:
>>>
>>> 1) When the page loads, execute two totally separate queries.  One
>>> that does the COUNT, and then another query immediately after to get
>>> the desired page of data.  I don't like this as much because the two
>>> queries will execute in separate transactions and it'd be nice if I
>>> could just perform a single SQL query and get all this information at
>>> once.  However, I will use this if there's no other way.
>>>
>>
>> Just run them in one transaction.
>> You can also just show the Next/Prev buttons and then do something just for
>> the case where there is no data.
>> Or use LIMIT 31 so you always know that there is the next page with at least
>> one record.
>> regards
>> Szymon Guz
>
>
>
> --
> Regards,
>
> Francisco Figueiredo Jr.
> Npgsql Lead Developer
> http://www.npgsql.org
> http://fxjr.blogspot.com
> http://twitter.com/franciscojunior
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Ozz Nixon 2010-06-18 00:56:43 UUID/GUID
Previous Message Merlin Moncure 2010-06-17 20:57:27 Re: postgres crash SOS