我們在過去的幾周內重新定位了我們的服務器,並且隨機(但是太頻繁地)發生了跟蹤錯誤。隨機看到「解決方法時發現存根」???「在「XXX」包中重載「」「」
dbix verison現在是0.082820,之前是0.08250,但未出現此錯誤。
「在解析方法中找到存根」???「overloading」「」「在包中」XXX「位於/home/perlbrew/.perlbrew/libs/[email protected]/lib/perl5/ DBIx/Class/Row.pm 1250行「。
包XXX
有這可能與
use Class::Trait qw(TPrintable );
sub inflate_result {
my $self = shift;
my $ret = $self->next::method(@_);
my $typeCd = $ret->typeCd;
given ($typeCd) {
when($specialTypeCd) {
$self->ensure_class_loaded($specialSubClass);
bless ($ret, $specialSubClass);
}
default {
bless ($ret, $self);
}
}
return $ret;
}
代碼引進包XXX有一個輔助方法做:
my $theY = $c->model('DB::Y')->find($yID,
{
prefetch => [ { 'xxxs' => 'typecd' } , 'zid' ]
});
return $theY;
思考的問題是什麼;如何使其一致以提交錯誤報告。
我們已經知道在Abstract.pm 潛在的解決方法SQLA_ISVALUE_IGNORE_AUTOGENERATED_STRINGIFICATION = 1
有在'SQL :: Abstract'中是[this comment](https://github.com/dbsrgits/sql-abstract/blob/ca4f826a37ccb5194b0b5b9b4190b4007d647d9c/lib/SQL/Abstract.pm#L100),但這並不意味着問題是在'SQL :: Abstract'中。 –
另外,就我所見,CPAN上沒有版本「0.082820」。這再次強調了在升級生產庫之前進行廣泛測試的必要性。 –
@SinanÜnür沒有注意到我們的0.082820不是最新的好產品。 (我正在讀它作爲當前最新的0.082840)感謝您花時間看。 – melutovich