dbTalk Databases Forums  

delayed input

comp.databases.postgresql.general comp.databases.postgresql.general


Discuss delayed input in the comp.databases.postgresql.general forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Hicham G. Elmongui
 
Posts: n/a

Default delayed input - 10-19-2004 , 11:10 AM






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



Reply With Quote
  #2  
Old   
Kevin Barnard
 
Posts: n/a

Default Re: delayed input - 10-19-2004 , 11:28 AM






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 (AT) cs (DOT) purdue.edu> wrote:
Quote:
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 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo (AT) postgresql (DOT) org)



Reply With Quote
  #3  
Old   
Richard Huxton
 
Posts: n/a

Default Re: delayed input - 10-19-2004 , 11:41 AM



Hicham G. Elmongui wrote:
Quote:
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

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to majordomo (AT) postgresql (DOT) org)



Reply With Quote
  #4  
Old   
Pierre-Frédéric Caillaud
 
Posts: n/a

Default Re: delayed input - 10-19-2004 , 11:43 AM





Use a cursor...

Quote:
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



---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo (AT) postgresql (DOT) org so that your
message can get through to the mailing list cleanly



Reply With Quote
  #5  
Old   
Hicham G. Elmongui
 
Posts: n/a

Default Re: delayed input - 10-19-2004 , 01:44 PM



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 (AT) cs (DOT) purdue.edu> wrote

Quote:
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





Reply With Quote
  #6  
Old   
Gaetano Mendola
 
Posts: n/a

Default Re: delayed input - 10-19-2004 , 02:17 PM



Hicham G. Elmongui wrote:
Quote:
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





Reply With Quote
  #7  
Old   
Alvaro Herrera
 
Posts: n/a

Default Re: delayed input - 10-19-2004 , 02:19 PM



On Tue, Oct 19, 2004 at 01:44:34PM -0500, Hicham G. Elmongui wrote:
Quote:
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



Reply With Quote
  #8  
Old   
Hicham G. Elmongui
 
Posts: n/a

Default Re: delayed input - 10-22-2004 , 03:21 PM



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 (AT) dcc (DOT) uchile.cl> wrote

Quote:
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




Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.