Re: Backward reading

From: <mac_man2005(at)hotmail(dot)it>
To: "Gregory Stark" <stark(at)enterprisedb(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Backward reading
Date: 2008-02-01 22:47:24
Message-ID: BAY132-DS2D6467F50B245624A23E8E6300@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

--------------------------------------------------
From: "Gregory Stark" <stark(at)enterprisedb(dot)com>
Sent: Friday, February 01, 2008 10:31 PM
To: "Simon Riggs" <simon(at)2ndquadrant(dot)com>
Cc: <mac_man2005(at)hotmail(dot)it>; <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] Backward reading

>>> Is there any example of backward reading tuples into PostgreSQL code?
>>
>> Don't think so, but we don't always use randomAccess anyway. Sounds like
>> we might be able to drop the length at the end of each tuple in those
>> cases...
>
> We already do. We only generate the "frozen" tape when we think it might
> be
> necessary.

Thanks for your reply. I need to read tuples backward in order to rearrange
runs on tapes in a different way than what Postres does now.
Has that of "frozen tape" something to do with it?

Regards, Manolo.

> I think the easiest (possibly only?) way to trigger this case is to run
> the
> query in a cursor like:
>
> postgres=# set enable_indexscan = off;
> SET
>
> postgres=# explain select * from h order by i;
> QUERY PLAN
> ----------------------------------------------------------------
> Sort (cost=61772.22..62022.20 rows=99994 width=512)
> Sort Key: i
> -> Seq Scan on h (cost=0.00..7666.94 rows=99994 width=512)
> (3 rows)
>
> postgres=# begin;
> BEGIN
>
> postgres=# declare c cursor for select * from h order by i;
> DECLARE CURSOR
> postgres=# fetch 5 from c;
> i | r
> ---+------
> 1 | 10352
> 2 | 15034
> 3 | 91904
> 4 | 89058
> 5 | 87001
> (5 rows)
>
> postgres=# fetch backward 5 from c;
> i | r
> ---+------
> 4 | 89058
> 3 | 91904
> 2 | 15034
> 1 | 10352
> (4 rows)
>
>
> --
> Gregory Stark
> EnterpriseDB http://www.enterprisedb.com
> Ask me about EnterpriseDB's RemoteDBA services!
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2008-02-01 23:56:56 Re: <IDLE> and waiting
Previous Message Alvaro Herrera 2008-02-01 22:33:36 configurability of OOM killer