Re: Thread safe connection-name mapping in ECPG. Is it

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

In response to

Responses

Browse pgsql-hackers by date

  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