[Dbix-class] Unmet DBIx::Class::Optional::Dependencies not fatal

James Gilbert jgrg at sanger.ac.uk
Thu Apr 26 16:44:35 GMT 2018


Hi,

I just upgraded my perl to 5.26.2, DBIx::Class 0.82.841

My DBIx::Class code using an Oracle database then failed because it was making SQL where instead of a table alias, e.g. "display_status", was inserting the string "_SHORTEN_IDENTIFIER DISPLAY_STATUS".

The "_shorten_identifer" method is in DBIx::Class::SQLMaker::Oracle. It appears that this BEGIN block:

BEGIN {
  use DBIx::Class::Optional::Dependencies;
  die('The following extra modules are required for Oracle-based Storages ' . DBIx::Class::Optional::Dependencies->req_missing_for ('id_shortener') . "\n" )
    unless DBIx::Class::Optional::Dependencies->req_ok_for ('id_shortener');
}

at the top of DBIx::Class::SQLMaker::Oracle was not fatal. One of the dependencies for "id_shortener" is Math::Base36, which I didn't have installed. I guess something is trapping the die. I don't understand where the capitalised method + argument string is coming from!

Having got this far I wasn't inclined to dig further into the magic guts of DBIx::Class.

	James



-- 
 The Wellcome Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 



More information about the DBIx-Class mailing list