From jgrg at sanger.ac.uk Tue Jun 11 13:41:21 2019 From: jgrg at sanger.ac.uk (James Gilbert) Date: Tue, 11 Jun 2019 14:41:21 +0100 Subject: [Dbix-class] Unmet DBIx::Class::Optional::Dependencies not fatal In-Reply-To: References: Message-ID: Doing a new installation, just ran into this again. Perl v5.26.1 and DBIx::Class 0.082.840 this time. James > On 26 Apr 2018, at 17:44, James Gilbert wrote: > > > 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.