AW: [Dbix-class] DBIx::Class::Storage::DBI::NoBindVars failing oncustom data types

Robert Heinzmann Robert.Heinzmann at 1und1.de
Fri Jun 19 15:27:46 GMT 2009


Hi, 

tried it - could not cleanly compile the stuff on Debian Lenny. 

After installing additional dependencies, the Tests fail: 

t/67pager........................................Can't locate object
method "load_optional_class" via package "DBIx::Class::Storage::DBI" at
/home/builder/BUILD/libdbix-class-perl/libdbix-class-perl-0.08010sybase6
715/blib/lib/DBIx/Class/Storage/DBI.pm line 645.

Grep shows: 

builder at my-dev:~/BUILD/libdbix-class-perl/sybase$ grep -R
load_optional_class *
Changes:        - move load_optional_class from
DBIx::Class::Componentised to
Changes:          load_optional_class
lib/DBIx/Class/Storage/.svn/text-base/DBI.pm.svn-base:    if
($self->load_optional_class("DBIx::Class::Storage::DBI::${driver}")) {
lib/DBIx/Class/Storage/DBI.pm:    if
($self->load_optional_class("DBIx::Class::Storage::DBI::${driver}")) {
lib/DBIx/Class/Storage/DBI/Sybase.pm:    if (!$exception && $dbtype &&
$self->load_optional_class($subclass)) {
lib/DBIx/Class/Storage/DBI/.svn/text-base/Sybase.pm.svn-base:    if
(!$exception && $dbtype && $self->load_optional_class($subclass)) {
t/90ensure_class_loaded.t:# Test load_optional_class
t/90ensure_class_loaded.t:my $retval = eval {
$schema->load_optional_class('ANOTHER::FAKE::PACKAGE') };
t/90ensure_class_loaded.t:ok( !$@, 'load_optional_class on a nonexistent
class did not throw' );
t/90ensure_class_loaded.t:$retval = eval {
$schema->load_optional_class('DBICTest::OptionalComponent') };
t/90ensure_class_loaded.t:ok( !$@, 'load_optional_class on an existing
class did not throw' );
t/90ensure_class_loaded.t:eval {
$schema->load_optional_class('DBICTest::ErrorComponent') };
t/90ensure_class_loaded.t:  $retval = eval {
$schema->load_optional_class('FAKE::PAR::PACKAGE') };
t/90ensure_class_loaded.t:  ok( !$@, 'load_optional_class on a
nonexistent PAR class did not throw' );
t/90ensure_class_loaded.t:  $retval = eval {
$schema->load_optional_class('VIRTUAL::PAR::PACKAGE') };
t/90ensure_class_loaded.t:  ok( $@, 'load_optional_class of a
no-true-returning PAR module did throw' );
t/90ensure_class_loaded.t:  $retval = eval {
$schema->load_optional_class('VIRTUAL::PAR::PACKAGE') };
t/90ensure_class_loaded.t:  ok( !$@, 'load_optional_class of a PAR
module did not throw' );
t/90ensure_class_loaded.t:  $retval = eval {
$schema->load_optional_class('DBIx::Class::ResultClass::HashRefInflator'
) };
t/90ensure_class_loaded.t:  ok( !$@, 'load_optional_class did not throw'
) || diag $@;
t/90ensure_class_loaded.t:  eval {
$schema->load_optional_class('DBICTest::SyntaxErrorComponent2') };
t/90ensure_class_loaded.t:
'load_optional_class(DBICTest::SyntaxErrorComponent2) threw ok' );
t/.svn/text-base/90ensure_class_loaded.t.svn-base:# Test
load_optional_class
t/.svn/text-base/90ensure_class_loaded.t.svn-base:my $retval = eval {
$schema->load_optional_class('ANOTHER::FAKE::PACKAGE') };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:ok( !$@,
'load_optional_class on a nonexistent class did not throw' );
t/.svn/text-base/90ensure_class_loaded.t.svn-base:$retval = eval {
$schema->load_optional_class('DBICTest::OptionalComponent') };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:ok( !$@,
'load_optional_class on an existing class did not throw' );
t/.svn/text-base/90ensure_class_loaded.t.svn-base:eval {
$schema->load_optional_class('DBICTest::ErrorComponent') };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  $retval = eval {
$schema->load_optional_class('FAKE::PAR::PACKAGE') };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  ok( !$@,
'load_optional_class on a nonexistent PAR class did not throw' );
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  $retval = eval {
$schema->load_optional_class('VIRTUAL::PAR::PACKAGE') };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  ok( $@,
'load_optional_class of a no-true-returning PAR module did throw' );
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  $retval = eval {
$schema->load_optional_class('VIRTUAL::PAR::PACKAGE') };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  ok( !$@,
'load_optional_class of a PAR module did not throw' );
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  $retval = eval {
$schema->load_optional_class('DBIx::Class::ResultClass::HashRefInflator'
) };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  ok( !$@,
'load_optional_class did not throw' ) || diag $@;
t/.svn/text-base/90ensure_class_loaded.t.svn-base:  eval {
$schema->load_optional_class('DBICTest::SyntaxErrorComponent2') };
t/.svn/text-base/90ensure_class_loaded.t.svn-base:
'load_optional_class(DBICTest::SyntaxErrorComponent2) threw ok' );

Seems somethins is missing ....
...
Changes:        - move load_optional_class from
DBIx::Class::Componentised to
Changes:          load_optional_class
... However noting in C3 ..


Robert 

> 
> Try this branch:
> 
> http://dev.catalyst.perl.org/repos/bast/DBIx-Class/0.08/branch
> es/sybase/
> 
> It is not released yet, but will be very soon if we get input 
> from users like yourself.
> 



More information about the DBIx-Class mailing list