Hi Mariano -- I'd like to encourage you to keep making pg8000 a viable alternative for web2py. I started with it but had to change to psycopg2 because of some issues that postgres handled better under the psy driver. But I think pypy could be the future of python and it won't support a driver like psycopg2 -- but it could support pg8000 since it is all python.
It's just good to have an alternative because no driver does it all. -- Joe B. On Tuesday, February 25, 2014 6:55:17 PM UTC-8, Mariano Reingart wrote: > > Hi Horst: > > Sadly there have been a lot of changes in pg8000, so it is not backward > compatible with the current custom version in web2py. > > First, you need to delete the pg8000 folder in contrib, and put the new > pg8000 folder (the one with __init__.py) directly in the web2py top level > folder (at the same level as gluon). > Note that the new pg8000 uses absolute imports that will not work if > pg8000 is in contrib folder (or it should be added to the PYTHONPATH) > > Second, you need to apply the attached patch to gluon/dal.py to: > * change the import (and add a missing __version__ attribute) > * change connection to pass individual parameters (dsn string is not > supported anymore) > * change after_connection set_client_encoding to execute SQL > * change server_version to _server_version > > I'll propose (again) to the pg8000 group the changes I've introduced for > web2py, so the latest version could be used as a direct drop-in replacement > for psycopg2 > IIRC, at some stage the author gave me commit access, but I didn't have > time to pull my changes and missed some discussions about the project > internals. > > Best regards > > > Mariano Reingart > http://www.sistemasagiles.com.ar > http://reingart.blogspot.com > > > On Tue, Feb 25, 2014 at 5:46 PM, Horst Horst <[email protected]<javascript:> > > wrote: > >> I've tried the latest pg8000 as a drop-in replacement, but it seems >> web2py can't import it: >> >> <type 'exceptions.RuntimeError'> Failure to connect, tried 5 times: >> Traceback (most recent call last): File >> "/Users/sfx/dev/mdb/web2py.app/Contents/Resources/gluon/dal.py", line 7766, >> in __init__ File >> "/Users/sfx/dev/mdb/web2py.app/Contents/Resources/gluon/dal.py", line 2756, >> in __init__ File >> "/Users/sfx/dev/mdb/web2py.app/Contents/Resources/gluon/dal.py", line 795, >> in find_driver RuntimeError: no driver available ('psycopg2', 'pg8000') >> >> I didn't step through it in the debugger, but the module's __init__.pyc >> got compiled, so I know web2py attempted an import. >> >> The latest pg8000/__init__.py contains a section which matches the former >> interface >> >> # For compatibility with 1.8 >> import pg8000 as dbapi >> DBAPI = dbapi >> pg8000_dbapi = DBAPI >> >> so I'd guess it's a minor problem, nonetheless I'm lost at this point. >> >> >> On Monday, February 24, 2014 9:32:05 PM UTC+1, Mariano Reingart wrote: >> >>> You could try to update pg8000 from the official: >>> >>> https://github.com/mfenniak/pg8000 >>> >>> Let us know if that works, so we could update the one distributed with >>> web2py >>> The one currently distributed in contrib is an older version with custom >>> patches (as it was not being mantained at the time it was included to >>> web2py), but now the official site has updates that could help you in this >>> case. >>> >>> Best regards >>> >>> >>> >>> Mariano Reingart >>> http://www.sistemasagiles.com.ar >>> http://reingart.blogspot.com >>> >>> >>> On Mon, Feb 24, 2014 at 10:18 AM, Horst Horst <[email protected]>wrote: >>> >>>> I'm getting a: >>>> >>>> <class 'gluon.contrib.pg8000.errors.NotSupportedError'> type oid 114 >>>> not mapped to py type >>>> >>>> I'm wondering what's the best thing to do now? Currently I'm >>>> considering: >>>> >>>> - using TEXT instead. But my former JSON strings are then enclosed by >>>> "|" which leads to new errors >>>> >>>> - updating gp8000 (there seems to be a newer version, but the version >>>> numbering is confusing) >>>> >>>> - using psycopg2. How can I install this into an Mac OS standalone >>>> version of web2py? >>>> >>>> -- >>>> Resources: >>>> - http://web2py.com >>>> - http://web2py.com/book (Documentation) >>>> - http://github.com/web2py/web2py (Source code) >>>> - https://code.google.com/p/web2py/issues/list (Report Issues) >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "web2py-users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> >>>> For more options, visit https://groups.google.com/groups/opt_out. >>>> >>> >>> -- >> Resources: >> - http://web2py.com >> - http://web2py.com/book (Documentation) >> - http://github.com/web2py/web2py (Source code) >> - https://code.google.com/p/web2py/issues/list (Report Issues) >> --- >> You received this message because you are subscribed to the Google Groups >> "web2py-users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/groups/opt_out. >> > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

