X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSQLMaker%2FOracleJoins.pm;h=44f4b08ab7e4d5011b6537192da3d248ca3cf2ce;hb=c200d94979bde5ac74070d3e898927433b0e667c;hp=b95c56e882913f00f4e8fb65037a4a234613305c;hpb=21621fe4565697ead298e6829425dc0e9e5ba816;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/SQLMaker/OracleJoins.pm b/lib/DBIx/Class/SQLMaker/OracleJoins.pm index b95c56e..44f4b08 100644 --- a/lib/DBIx/Class/SQLMaker/OracleJoins.pm +++ b/lib/DBIx/Class/SQLMaker/OracleJoins.pm @@ -80,6 +80,19 @@ sub _recurse_oracle_joins { && $jt !~ /inner/i; } + # FIXME - the code below *UTTERLY* doesn't work with custom conds... sigh + # for the time being do not do any processing with the likes of _collapse_cond + # instead only unroll the -and hack if present + $on = $on->{-and}[0] if ( + ref $on eq 'HASH' + and + keys %$on == 1 + and + ref $on->{-and} eq 'ARRAY' + and + @{$on->{-and}} == 1 + ); + # sadly SQLA treats where($scalar) as literal, so we need to jump some hoops push @where, map { \sprintf ('%s%s = %s%s', ref $_ ? $self->_recurse_where($_) : $self->_quote($_),