Re: Integration of Psycopg with XTA
От | Federico Di Gregorio |
---|---|
Тема | Re: Integration of Psycopg with XTA |
Дата | |
Msg-id | 4d647279-19ae-75ea-83a7-b74b647c79bd@dndg.it обсуждение исходный текст |
Ответ на | Re: Integration of Psycopg with XTA (Christian Ferrari <camauz@yahoo.com>) |
Ответы |
Re: Integration of Psycopg with XTA
|
Список | psycopg |
On 10/02/2018 10:07 PM, Christian Ferrari wrote: > Hi Federico, > I have been able to test _raw_pgconn using SWIG, as documented here > https://sourceforge.net/p/swig/mailman/message/27919299/ , the trick to > use PyCapsule and SWIG together is to specifically map the type with a > directive like this one: > > %typemap(in) PGconn * { > $1 = (PGconn *) PyCapsule_GetPointer($input, > "psycopg2.connection._raw_pgconn"); > } > > This is interesting because PyCapsule is for sure a "clean" way to pass > the pointer from Psycopg to XTA. > > > A couple of questions to understand how to implement it as a re-usable > deliverable. > > In current branch, _raw_pgconn is a property, it's not a method, I have > to retrieve it as below: > > pgconn = rm1._raw_pgconn > xar1 = PostgresqlXaResource(pgconn, "PostgreSQL", "dbname=testdb") > > what do you think about a "getter method": > > pgconn = rm1._raw_pgconn() > > the name of the method does not really matter to me. > > _raw_pgconn() create a Capsule object that should be destroyed. Right now the getter creates a new capsule at every invocation so transforming it into a method should be straightforward. I'll do it later today so that you can test. > What do you think about a factory to create and destroy a PyCapsule that > contains the PGconn pointer? Mm. I don't understand what you need here? Can you show an example of usage? federico -- Federico Di Gregorio federico.digregorio@dndg.it DNDG srl http://dndg.it Credo fermamente che da qualche parte, in una scatola ci sia un gatto che non è vivo ne morto. Credo anche che se i fisici non si sbrigano a dargli una scatoletta, ben presto sarà solo morto. -- adattato da una frase di Sam Black Crow
В списке psycopg по дате отправления: