From: | <mac_man2005(at)hotmail(dot)it> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)commandprompt(dot)com> |
Cc: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Runs y Logical Tapes |
Date: | 2008-02-14 16:07:22 |
Message-ID: | BAY132-DS3F5538B0CD75C9D1F40F2E6250@phx.gbl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Clarificamos los niveles de abstracción.
Como bien dices el flag 'randomAcces' se usa en tuplesort.c
Eso permite escribir tuplas que pueden ser leídas al revés.
La lectura al revés a nivel de logtape.c es otra cosa, como bien dices. Allí
no se leen/escriben tuplas sino enteros bloques de datos.
En conclusión una lectura de un run al revés implicaría:
- leer los bloques al revés a partir del ultimo bloque de un cierto tape,
luego leer el penúltimo etc etc
- al interno de un cierto bloque leer las tuplas a partir de la ultima,
luego la penúltima etc etc etc.
Este mail sirve para aclarar si ¿estamos hablando de la misma cosa?
Gracias.
Saludos.
Manolo.
--------------------------------------------------
From: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>
Sent: Wednesday, February 13, 2008 12:39 AM
To: "Manolo _" <mac_man2005(at)hotmail(dot)it>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: [pgsql-es-ayuda] Runs y Logical Tapes
> Manolo _ escribió:
>>
>> Efectivamente las cosas por un lado están mas fáciles de lo que
>> parece. Los tapes ya se crean a la hora de establecer que pasando una
>> cierta cantidad de datos pues mejor ordenarlos con el ES. [
>> http://doxygen.postgresql.org/tuplesort_8c-source.html#l00909 ] .
>> Obvio que el espacio por cada tape se va aumentando a medida que se
>> necesite.
>>
>> Por otro lado te confirmo que si se puede leer al revez. Como te
>> comentaba antes, postgres usa esa flag randomAcces que adjunta
>> información adicional a las tuplas justamente para eso. Muy brevemente
>> te comento que se añade la largueza de cada tupla antes y después de
>> la misma tupla así que por uno u otro lado puedo leer primero el
>> tamaño de la tupla y luego la tupla... espero haber sido claro sino me
>> dices, por favor.
>
> Creo que has sido claro, pero te hago dos comentarios
> 1) yo no conozco bien este codigo
> 2) me parece que estamos confundiendo el nivel de abstraccion, porque tu
> sigues hablando de tuplesort y yo sigo hablando de logtape :-)
>
> Mi punto es que en logtape no hay ningun flag randomAccess ... Pero te
> hago el comentario (1) porque quizas no importa.
>
>> 1) ¿con la estructura de tapes existente puedo efectivamente escribir
>> 2 runs a la vez, cada run en un tape diferente?
>
> Si supone que si.
>
>> 2) ¿puedo evitar de leer al revés al fin de llegar al inicio del run?
>> es decir ¿puedo memorizar de alguna forma la dirección de la primera
>> tupla de l run que estoy construyendo?
>
> Eso no lo se.
>
> --
> Alvaro Herrera
> http://www.CommandPrompt.com/
> PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2008-02-14 16:13:54 | Re: Runs y Logical Tapes |
Previous Message | José Fermín Francisco Ferreras | 2008-02-14 14:11:40 | RE: .bat para copia en windows. |