how to tell if cursor is sqlite.Cursor or psycopg2.Cursor

Jon Clements joncle at googlemail.com
Mon Jan 24 15:41:46 EST 2011


On Jan 24, 7:44 pm, dmaziuk <dmaz... at bmrb.wisc.edu> wrote:
> Hi everyone,
>
> I've wrapper class around some sql statements and I'm trying to add a
> method that does:
>   if my_cursor is a sqlite cursor, then run "select
> last_insert_rowid()"
>   else if it's a psycopg2 cursor, then run "select
> currval( 'my_sequence' )"
>   etc.
> The best I can come up with is import both psycopg2 and sqlite and
> then do
>  if isinstance( self._curs, sqlite.Cursor ) : ...
>  elif isinstance( self._curs, psycopg2._psycopg.cursor ) : ...
> and I can't help thinking there has to be another way to find out what
> kind of thing self._curs is. Is there a better way?
>
> TIA
> Dima

I'm not 100% sure but maybe look at SQLAlchemy (or other Python ORMs)
as a wrapper. That *might* abstract the "last ID" across different
DB's. And still enable direct SQL querying.

Jon.



More information about the Python-list mailing list