support for postgres-pr

The latest version from github doesn't work
with the postgres-pr driver. Has support
for postgres-pr been dropped?

Stefan

The pg gem is what you should be using now.

postgres-pr was easier to deploy - put it in vendor
and be done. Building a C extension on/for the server
can be a hassle.

And neither pg nor ruby-postgres build with Ruby 1.9.

What was the reason for dropping postgres-pr support,
and what needs to be done to make it work again?

Thanks,
  Stefan

The pg gem is what you should be using now.

postgres-pr was easier to deploy - put it in vendor
and be done. Building a C extension on/for the server
can be a hassle.

And neither pg nor ruby-postgres build with Ruby 1.9.

What was the reason for dropping postgres-pr support,
and what needs to be done to make it work again?

I don't know if the support was dropped deliberately, merely that the
preferred deployment option is pg. To get it working again you'll
need to simply run the tests and fix the tests. I realise that's a
little trite, but there weren't many huge changes made.

Perhaps use git bisect to find it?

It wasn't intentionally dropped. It doesn't implement the
#transaction_status method.

Upgrade to the latest postgres-pr, which has this method, and you'll
be back up and running.

Also, the C drivers have worked with 1.9 since January 2008.

Best,
jeremy

The pg gem is what you should be using now.

postgres-pr was easier to deploy - put it in vendor
and be done. Building a C extension on/for the server
can be a hassle.

And neither pg nor ruby-postgres build with Ruby 1.9.

What was the reason for dropping postgres-pr support,
and what needs to be done to make it work again?

It wasn't intentionally dropped. It doesn't implement the
#transaction_status method.

Upgrade to the latest postgres-pr, which has this method, and you'll
be back up and running.

Weird. gem install gives me version 0.4.0. Looking on RubyForge
there's a 0.5.0 version. I manually downloaded and installed
that, but rails still gives me this error (with Ruby 1.9):

in establish_connection': Please install the postgresql adapter: `gem
install activerecord-postgresql-adapter` (no such file to load -- pg)
(RuntimeError)

And trying to load postgres-pr manually:

irb(main):001:0> require "postgres"
LoadError: no such file to load -- readbytes
        from /usr/local/lib/ruby191/gems/1.9.1/gems/postgres-pr-0.5.0/lib/postgres-pr/message.rb:8:in
`require'
...

readbytes.rb is in Ruby 1.8 standard library but not in Ruby 1.9
anymore. It doesn't do much anyway. I'll patch postgres-pr.

Also, the C drivers have worked with 1.9 since January 2008.

ruby-postgres-0.7.1.2006.04.06 fails with this error:

In file included from postgres.c:16:
/usr/local/include/ruby191-1.9.1/ruby/backward/rubyio.h:2:2: warning:
#warning use "ruby/io.h" instead of "rubyio.h"
In file included from postgres.c:17:
/usr/local/include/ruby191-1.9.1/ruby/backward/st.h:2:2: warning:
#warning use "ruby/st.h" instead of bare "st.h"
postgres.c:18:20: error: intern.h: No such file or directory

pg-0.7.9.2008.10.13 fails with this error:

In file included from pg.h:6,
                 from pg.c:15:
/usr/local/include/ruby191-1.9.1/ruby/backward/rubyio.h:2:2: warning:
#warning use "ruby/io.h" instead of "rubyio.h"
pg.c: In Funktion »parse_connect_args«:
pg.c:233: Warnung: Variable »error« wird nicht verwendet
pg.c:231: Warnung: Variable »conn« wird nicht verwendet
pg.c: In Funktion »pgconn_exec«:
pg.c:960: Fehler: »struct RArray« hat kein Element namens »len«

All three gems work with Ruby 1.8 on the same machine.

Thanks,
  Stefan

Ah, this is due to a recent change in Ruby 1.9. Here's a patch that fixes it:
  http://rubyforge.org/tracker/index.php?func=detail&aid=22856&group_id=3214&atid=12396

Best,
jeremy