That's awesome news! I'm in the midst of fleshing out the pgdb.txt file to include documentation for our differences/extensions to DB-ABI v2.0 I've had to suspend the work for a bit (client work calls) but will be back to it as soon as possible.
-- Chris On Feb 15, 2010, at 12:00 PM, Michael Dominice wrote: > Hello all, > > I have been attempting to integrate PyGreSQL’s DBAPI compliant module as the > database driver for SQLAlchemy. After initial searching, I found that you > can pass the driver as the “module” argument when initializing SQLAlchemy, > and that this was the way to get it to start working with PyGreSQL. > > The only Python PostgreSQL driver that SQLAlchemy “supports” is Psycopg2, but > I am unable to use that library due to its license restrictions, and I have > been using PyGreSQL for quite some time now, so it’s a much more attractive > alternative. > > I had been attempting to write the code using Psycopg2 as the Postgres driver > for SQLAlchemy and was able to reflect my schema without hang-ups, but wanted > to try using PyGreSQL. My first attempt at replacing the driver and > reflecting my schema resulted in the following error: > > “sqlalchemy.exc.OperationalError: (OperationalError) internal error in > 'BEGIN': not all arguments converted during string formatting 'select > current_schema()' [None]”. > > Obviously, this is not in the PyGreSQL code, so I chased this error down the > stack trace to the method Connection_cursor_execute() method in base.py > (SQLAlchemy). I changed the exception that is caught there to look into > exactly what is happening, and then ran my code again, resulting in an error > being thrown in PyGreSQL: > > “pg.OperationalError: internal error in 'BEGIN': not all arguments converted > during string formatting” > > I chased this error to where it was being raised, which was in lines 290-291 > in pgdbCursor.executemany() method in pgdb.py. I removed the exception > handling so I could further find where things were going wrong. I found that > the error in question was: > > “TypeError: not all arguments converted during string formatting” > > This was occurring at line 222 in pgdb.py in the method > pgdbCursor._quoteparams(). After some more inspection, I found that the > params argument was a list containing only the value None, that is, [None]. > I added a check at the beginning of that method for this value: > > if params == [None]: > return string > > After this change, my code functioned exactly the same as when I was working > with Psycopg2, and I’ve been running fine for about a month of work. > > My question is whether or not this is something that is OK to change, as I am > not familiar with the inner workings of PyGreSQL and wanted to see if there > are any repercussions of this change that I could potentially be missing. > > I am using Python 2.5.4, working on Windows XP SP 2, Using SQLAlchemy 0.5.6 > and the latest stable version of PyGreSQL. > > Thanks in advance, > Mike > _______________________________________________ > PyGreSQL mailing list > [email protected] > http://mailman.vex.net/mailman/listinfo/pygresql Chris Hilton tildeChris -- http://myblog.vindaloo.com e: -- chris /at/ vindaloo /dot/ com .~~.--.~~.--.~~.--.~~.--.~~.--.~~.--.~~.--.~~.--.~~.--.~~.--.~~.--.~~.--.~~. "I'm on the outside looking inside, What do I see? Much confusion, disillusion, all around me." -- Ian McDonald / Peter Sinfield _______________________________________________ PyGreSQL mailing list [email protected] http://mailman.vex.net/mailman/listinfo/pygresql
