Обсуждение: delayed input

Поиск
Список
Период
Сортировка

delayed input

От
"Hicham G. Elmongui"
Дата:
I need to select all tuples from a table, but need them to be fetched with a
constant delay (say 1 sec) between every consecutive tuples.

The first idea that came up to my mind is to create a DelayedSeqScan
operator, and put delay before returning the scanned tuple.

Can I do this functionality using table functions?

Regards,
--h



Re: delayed input

От
Kevin Barnard
Дата:
Why not do this on the client side?  I'm just curious as to the benfit
of doing this on the server.

On Tue, 19 Oct 2004 11:10:58 -0500, Hicham G. Elmongui
<elmongui@cs.purdue.edu> wrote:
> I need to select all tuples from a table, but need them to be fetched with a
> constant delay (say 1 sec) between every consecutive tuples.
>
> The first idea that came up to my mind is to create a DelayedSeqScan
> operator, and put delay before returning the scanned tuple.
>
> Can I do this functionality using table functions?
>
> Regards,
> --h

Re: delayed input

От
Richard Huxton
Дата:
Hicham G. Elmongui wrote:
> I need to select all tuples from a table, but need them to be fetched with a
> constant delay (say 1 sec) between every consecutive tuples.
>
> The first idea that came up to my mind is to create a DelayedSeqScan
> operator, and put delay before returning the scanned tuple.
>
> Can I do this functionality using table functions?

Could you not just use a cursor and fetch each row in turn based on some
timer in your application?

--
   Richard Huxton
   Archonet Ltd

Re: delayed input

От
Pierre-Frédéric Caillaud
Дата:

    Use a cursor...

> I need to select all tuples from a table, but need them to be fetched
> with a
> constant delay (say 1 sec) between every consecutive tuples.
>
> The first idea that came up to my mind is to create a DelayedSeqScan
> operator, and put delay before returning the scanned tuple.
>
> Can I do this functionality using table functions?
>
> Regards,
> --h
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faqs/FAQ.html
>



Re: delayed input

От
"Hicham G. Elmongui"
Дата:
I need this for a side project. Is there a way to do something like this:

SELECT *
FROM DelayedTable('tablename', 5);

DelayedTable provides me with one tuple every 5 seconds.
Regards,
--h

"Hicham G. Elmongui" <elmongui@cs.purdue.edu> wrote in message
news:cl3eaj$1ggv$1@news.hub.org...
> I need to select all tuples from a table, but need them to be fetched with
a
> constant delay (say 1 sec) between every consecutive tuples.
>
> The first idea that came up to my mind is to create a DelayedSeqScan
> operator, and put delay before returning the scanned tuple.
>
> Can I do this functionality using table functions?
>
> Regards,
> --h
>
>



Re: delayed input

От
Alvaro Herrera
Дата:
On Tue, Oct 19, 2004 at 01:44:34PM -0500, Hicham G. Elmongui wrote:
> I need this for a side project. Is there a way to do something like this:
>
> SELECT *
> FROM DelayedTable('tablename', 5);

You can probably build a sleep() function in C, and then use that to
cause delaying in a PL/pgSQL set-returning function.  Something like

#include <postgres.h>
#include <fmgr.h>

PG_FUNCTION_INFO_V1(sleep);

Datum
sleep(PG_FUNCTION_ARGS)
{
    int32   delay = PG_GETARG_INT32(0);
    sleep(delay);
    PG_RETURN_VOID();
}

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
La web junta la gente porque no importa que clase de mutante sexual seas,
tienes millones de posibles parejas. Pon "buscar gente que tengan sexo con
ciervos incendiándose", y el computador dirá "especifique el tipo de ciervo"
(Jason Alexander)


Re: delayed input

От
Gaetano Mendola
Дата:
Hicham G. Elmongui wrote:
> I need this for a side project. Is there a way to do something like this:
>
> SELECT *
> FROM DelayedTable('tablename', 5);

No, at my knowledge you'll obtain the first tuple only when
the function exit.


Regards
Gaetano Mendola




Re: delayed input

От
"Hicham G. Elmongui"
Дата:
Well, it seems that i have to build the scan operator myself. Even the
FunctionScan will make all the function calls and stores the result in a
tuuplestore. So, all the delay will be occured only at the first function
invocation.
--h




"Alvaro Herrera" <alvherre@dcc.uchile.cl> wrote in message
news:20041019191943.GC5625@dcc.uchile.cl...
> On Tue, Oct 19, 2004 at 01:44:34PM -0500, Hicham G. Elmongui wrote:
> > I need this for a side project. Is there a way to do something like
this:
> >
> > SELECT *
> > FROM DelayedTable('tablename', 5);
>
> You can probably build a sleep() function in C, and then use that to
> cause delaying in a PL/pgSQL set-returning function.  Something like
>
> #include <postgres.h>
> #include <fmgr.h>
>
> PG_FUNCTION_INFO_V1(sleep);
>
> Datum
> sleep(PG_FUNCTION_ARGS)
> {
> int32   delay = PG_GETARG_INT32(0);
> sleep(delay);
> PG_RETURN_VOID();
> }
>
> --
> Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
> La web junta la gente porque no importa que clase de mutante sexual seas,
> tienes millones de posibles parejas. Pon "buscar gente que tengan sexo con
> ciervos incendi�ndose", y el computador dir� "especifique el tipo de
ciervo"
> (Jason Alexander)
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>                http://archives.postgresql.org
>