From: Michael Granger Date: 2012-01-27T12:55:35+09:00 Subject: Re: Upcoming changes to the pg gem On Jan 26, 2012, at 7:44 PM, Michael Granger wrote: > > Well, that was an inauspicious start. I sent the original mail signed, and the content got stripped. As I was saying: --- Hi all, I'm making some changes to the names and arrangement of namespaces in the 'pg' gem (the Ruby PostgreSQL driver), and I was wondering if I could ask for a little help with testing before I release it. Here's the list of changes so far: == Changes (so far) in 0.13.0 Reorganization of modules/classes to be better Ruby citizens (with backward-compatible aliases): - Created toplevel namespace 'PG' to correspond with the gem name. - Renamed PGconn to PG::Connection (with ::PGconn alias) - Renamed PGresult to PG::Result (with ::PGresult alias) - Renamed PGError to PG::Error (with ::PGError alias) - Declare all constants inside PG::Constants, then include them in PG::Connection and PG::Result for backward-compatibility, and in PG for convenience. - Split the extension source up by class/module. - Removed old compatibility code for PostgreSQL versions < 8.3 Documentation: - Clarified licensing, updated to Ruby 1.9's license. - Merged authors list, added some missing people to the Contributor's list. - Cleaned up the sample/ directory - Making contact info a bit clearer, link to the Google+ page and the mailing list Enhancements: - Added a convenience method: PG.connect -> PG::Connection.new Bugfixes: - Fixed LATIN5-LATIN10 Postgres<->Ruby encoding conversions == Goals I need help especially with: - Ensuring that it's completely backward-compatible with the previous version (0.12.2). All the specs pass with both the new names and the old ones, but the coverage of the 'pg' gem is less complete than I'd like. This rearrangement is the first step on the road to improvement. - Ensuring that it still compiles and functions under all the OSes that 0.12.2 does. - This version (as indicated in the 0.12 series) removes support for versions of PostgreSQL that have been EOL'ed (i.e., older than 8.3). This allowed me to remove a bunch of really old code that was providing compatibility with older versions, but I want to make sure it works under 8.3.17, 8.4.10, 9.0.6, and 9.1.2. == If You Want To Help 1. Install the prerelease gem: `gem install pg --prerelease` 2. Test your stuff 3. Report the results (good or bad) via mail (to the list or me personally), or via the Google group. Please include the version of PostgreSQL you're using, the version of pg you're running, and what platform you're on. I've set up a Google Group (https://groups.google.com/forum/#!forum/ruby-pg) where I'll be announcing any further updates to the prerelease, the results of the testing, and (when I'm confident that I'm not breaking everyone's stuff) when the new version will be release. Thanks! -- Michael Granger Rubymage, Architect, Believer The FaerieMUD Consortium