I need some help with this error I'm seeing after upgrading DBIx::Class. In ReulstSet.pm there's this code that calls $storage->_use_multicolumn_in.
The problem is that method throws and error on replicated storage. sub _rs_update_delete { my ($self, $op, $values) = @_; .... if (@$idcols == 1) { $cond = { $idcols->[0] => { -in => $subrs->as_query } }; } elsif ($storage->_use_multicolumn_in) { # no syntax for calling this properly yet # !!! EXPERIMENTAL API !!! WILL CHANGE !!! $cond = $storage->sql_maker->_where_op_multicolumn_in ( $idcols, # how do I convey a list of idents...? can binds reside on lhs? $subrs->as_query ), } else { But, in DBIx::Class::Storage::Replicated the _use_multicolumn method is blocked by this code: for my $method (@{$method_dispatch->{unimplemented}}) { __PACKAGE__->meta->add_method($method, sub { my $self = shift; $self->throw_exception("$method() must not be called on ".(blessed $self).' objects'); }); } What I'm not clear on is if this just wasn't tested with Replicated storage, or if there's something odd in my code that is causing ResultSet.pm to call that method (because other deletes are working). The query that is failing is: my $student_class_rs = $account->search_related( 'classes' )->search_related( 'student_classes', { student => $student_id, } ); $student_class_rs->delete(); $idcols in the code above is a arrayref of two names 'student' and 'class'. -- Bill Moseley mose...@hank.org
_______________________________________________ List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class IRC: irc.perl.org#dbix-class SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/ Searchable Archive: http://www.grokbase.com/group/dbix-class@lists.scsys.co.uk