Skip Menu |

This queue is for tickets about the DBIx-Class CPAN distribution.

Report information
The Basics
Id: 72178
Status: rejected
Priority: 0/
Queue: DBIx-Class

People
Owner: Nobody in particular
Requestors: DAVEGMX [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Column ambiguously defined after Oracle Upgrade Recently after upgrading from Oracle 10 to 11G, a call to DBIx::Class::ResultSet::search began failing with an ambiguously defined column error: DBIx::Class::ResultSet::search(): DBI Exception: DBD::Oracle::db prepare_cached failed: ORA-00918: column ambiguously defined (DBD ERROR: error possibly near <*> indicator at char 1691 in It like this was a bug in Oracle 10 that permitted ambiguously defined columns by choosing the table name at random and was fixed in Oracle 11 (and possibly in Oracle 10 patch set 2). http://myoraclesupports.com/content/sql-returning-wrong-results-and-not- reporting-ora-918-when-using-ansi-join Is it possible this is a change that has not been reflected in DBIx::Class::Storage::DBI::Oracle::WhereJoins?
Subject: Re: [rt.cpan.org #72178]
Date: Fri, 4 Nov 2011 15:48:44 -0400
To: Dave Williams via RT <bug-DBIx-Class [...] rt.cpan.org>
From: Peter Rabbitson <ribasushi [...] cpan.org>
BOn Fri, Nov 04, 2011 at 12:59:28PM -0400, Dave Williams via RT wrote: Show quoted text
> Fri Nov 04 12:59:26 2011: Request 72178 was acted upon. > Transaction: Ticket created by DAVEGMX > Queue: DBIx-Class > Subject: (No subject given) > Broken in: (no value) > Severity: (no value) > Owner: Nobody > Requestors: DAVEGMX@cpan.org > Status: new > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=72178 > > > > > Column ambiguously defined after Oracle Upgrade > > > Recently after upgrading from Oracle 10 to 11G, a call to > DBIx::Class::ResultSet::search began failing with an ambiguously defined > column error: > > DBIx::Class::ResultSet::search(): DBI Exception: DBD::Oracle::db > prepare_cached failed: ORA-00918: column ambiguously defined (DBD ERROR: > error possibly near <*> indicator at char 1691 in > > It like this was a bug in Oracle 10 that permitted ambiguously defined > columns by choosing the table name at random and was fixed in Oracle 11 > (and possibly in Oracle 10 patch set 2). > > http://myoraclesupports.com/content/sql-returning-wrong-results-and-not- > reporting-ora-918-when-using-ansi-join > > Is it possible this is a change that has not been reflected in > DBIx::Class::Storage::DBI::Oracle::WhereJoins? >
I have absolutely no idea. You provided a random error, without the actual SQL behind it. Moreover you did not provide the DBIC-side search() call that produced said SQL. And to top it off you made a random stab in the dark at diagnosing this, totally ignoring this line: https://github.com/dbsrgits/dbix-class/blob/master/lib/DBIx/Class/Storage/DBI/Oracle/WhereJoins.pm#L24 Therefore I think it is best if we assume you never reported this and start over ;) Cheers
Hey Peter, Sorry I couldn't actually include any of the SQL or the call to search. Thanks for pointing out the Oracle version info in WhereJoins. I think the solution may end up being to not use DBIx- Class in our environment. Would be nice if this worked with Oracle 11G though since I belive they added support for standard ANSI join syntax. Sorry not the developer or DBA here.
I'm pretty sure your search includes a not fully qualified column. Always specify all search parameters with their relationship names or $self->current_source_alias.
On Fri Nov 04 23:22:21 2011, DAVEGMX wrote: Show quoted text
> Hey Peter, > > Sorry I couldn't actually include any of the SQL or the call to > search.
This is ridiculous. If you can't provide details for diagnostics (or a failing test case) - then why bother people at all?