From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Lee Kindness <lkindness(at)csl(dot)co(dot)uk> |
Cc: | shridhar(at)frodo(dot)hserus(dot)net, Michael Meskes <meskes(at)postgresql(dot)org>, Zeugswetter Andreas SB SD <ZeugswetterA(at)spardat(dot)at>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Thread safe connection-name mapping in ECPG. Is it |
Date: | 2004-03-03 13:47:50 |
Message-ID: | 200403031347.i23DloT17618@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Should I add this to the TODO list?
---------------------------------------------------------------------------
Lee Kindness wrote:
> Sort of related, I was thinking about adding some more thread-related
> code such that if a connection wasn't explicitely specified then the
> last connection SET or CONNECTed to for the current thread is used,
> rather than just the "last connection".
>
> But yeah, specifying the connection by variable (be it string or
> connection ptr) would be a definite step forward. Currently you cannot
> write a generic function like:
>
> int getit(char *using_connection)
> {
> EXEC SQL BEGIN DECLARE SECTION;
> char *s_connection = using_connection;
> int s_it;
> EXEC SQL END DECLARE SECTION;
>
> EXEC SQL AT :s_connection SELECT it INTO :s_it FROM some_table;
> return( s_it );
> }
>
> which could be run concurrently by multiple threads.
>
> L.
>
> Shridhar Daithankar writes:
> > On Friday 27 February 2004 20:54, Michael Meskes wrote:
> > > On Fri, Feb 27, 2004 at 04:22:33PM +0530, Shridhar Daithankar wrote:
> > > > How about, allowing 'connection *'? If somebody puts a 'connection *'
> > > > there it is used. If it is a string a name search is performed. Best of
> > > > both worlds.
> > >
> > > How shall anyone put a pointer to a connection struct inside the SQL
> > > statement?
> > >
> > > It would help me a lot if you'd be able to give some examples.
> >
> > EXEC SQL BEGIN DECLARE SECTION;
> > connect *connectionPtr;
> > EXEC SQL END DECLARE SECTION;
> >
> > EXEC SQL CONNECT TO db AS connectionPtr;
> > EXEC SQL AT connectionPtr SELECT 1;
> >
> > After all, it is matter of parsing some code and emitting equivalent C code,
> > isn't it?
> >
> > Shridhar
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
>
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
From | Date | Subject | |
---|---|---|---|
Next Message | Shridhar Daithankar | 2004-03-03 14:10:40 | Re: Thread safe connection-name mapping in ECPG. Is it |
Previous Message | Magnus Hagander | 2004-03-03 13:46:44 | Re: [HACKERS] Tablespaces |