use Scope::Guard ();
use Context::Preserve 'preserve_context';
use DBIx::Class::Carp;
+use Try::Tiny;
use namespace::clean;
__PACKAGE__->sql_limit_dialect ('LimitOffset');
# Ask for a DBD::Pg with array support
# pg uses (used?) version::qv()
require DBD::Pg;
- if ($DBD::Pg::VERSION < 2.009002) {
- carp_once( __PACKAGE__.": DBD::Pg 2.9.2 or greater is strongly recommended\n" );
+
+ if ($self->_server_info->{normalized_dbms_version} >= 9.0) {
+ if (not try { DBD::Pg->VERSION('2.17.2') }) {
+ carp_once( __PACKAGE__.': BYTEA columns are known to not work on Pg >='
+ . " 9.0 with DBD::Pg < 2.17.2\n" );
+ }
+ }
+ elsif (not try { DBD::Pg->VERSION('2.9.2') }) {
+ carp_once( __PACKAGE__.': DBD::Pg 2.9.2 or greater is strongly recommended'
+ . "for BYTEA column support.\n" );
}
# cache the result of _is_binary_lob_type
use Test::More;
use DBIx::Class::Optional::Dependencies ();
+use Try::Tiny;
use lib qw(t/lib);
use DBICTest;
my $schema = DBICTest::Schema->connection($dsn, $dbuser, $dbpass, { AutoCommit => 1 });
+if ($schema->storage->_server_info->{normalized_dbms_version} >= 9.0) {
+ if (not try { DBD::Pg->VERSION('2.17.2') }) {
+ plan skip_all =>
+ 'DBD::Pg < 2.17.2 does not work with Pg >= 9.0 BYTEA columns';
+ }
+}
+elsif (not try { DBD::Pg->VERSION('2.9.2') }) {
+ plan skip_all =>
+ 'DBD::Pg < 2.9.2 does not work with BYTEA columns';
+}
+
my $dbh = $schema->storage->dbh;
{