Изменение DBix::Class::SQLMaker::Oracle
- это способ, которым я это сделал.
Просто включите ваш измененный модуль в каталог, который находится перед каталогом, содержащим распределение класса DBIx в @INC
.
* 1006.* Модификация DBIx / Class / SQLMaker / Oracle.pm заключается в добавлении этих строк:
my $for_syntax = {
update => 'FOR UPDATE',
shared => 'FOR SHARE',
update_nowait => 'FOR UDPATE NOWAIT',
};
sub _lock_select {
my ($self, $type) = @_;
my $sql = $for_syntax->{$type} || croak "Unknown SELECT ... FOR type '$type' requested";
return " $sql";
}
Теперь, если бы $for_syntax
был вызовом метода вместо лексического, вам не пришлось бы повторять определение_lock_select
.Что стоит учесть, если вы хотите отправить патч.