Hey Jorge,

  Yes. The join parameter is the name of DBIx::Class relation to the foreign
table and I'm using the relation name not the foreign key name. So that's
not a problem.

Yes I'm using DBIC_TRACE and I see following output in my Catalyst app
console.

DBI Exception: DBD::Oracle::db prepare_cached failed: ORA-00933: SQL command
not properly ended (DBD ERROR: error possibly near <*> indicator at char
....

SELECT me.logid, me.status, me.timedetails, employee.id, employee.name,
employee.phone, employee.email FROM PGx_LOG me <*>JOIN employee employee ON
employee.userid = me.id WHERE ( someotherid = ? )

If I try to use the same query directly on sql prompt there also I get the
same error.

I checked for the Oracle 8i sql statements -
http://oreilly.com/catalog/orsqlpluspr2/chapter/ch01.html

http://www.dba-oracle.com/art_sql_iso_99.htm

This tells you that Oracle 8i does not support such syntax.

"
http://search.cpan.org/~frew/DBIx-Class-0.08115/lib/DBIx/Class/Storage/DBI/Oracle/WhereJoins.pm";


Also, the above link tells that the joins are differently handled by for
Oracle 8i.

Please let me know if I'm doing something wrong.

Regards,
Rohan
<http://oreilly.com/catalog/orsqlpluspr2/chapter/ch01.html>
On Mon, May 30, 2011 at 1:00 PM, Jorge Gonzalez <[email protected]>wrote:

>  The argument to 'join' parameter must be the name of the DBIx::Class
> relation to the foreign table, not the foreign key name. In some cases
> (autogenerated schema with DBix::Class::Schema::Loader) they will be the
> same, but in other cases (i.e. when you build the schema by hand), this
> might not necessarily be the case.
>
> Have you checked this?
>
> Have you executed your script with DBIC_TRACE=1 to see the exact SQL which
> is being generated?
>
> Can you post the exact error message that Oracle gives you? It's quite
> clear that Oracle _does_ understand the JOIN syntax since..... well,
> forever.
>
> Cheers
> J.
>
>
>    *Jorge González Villalonga*
> Director Técnico
>
> *DAIKON Integración y Desarrollo S.L.*
> Telf: (+34) 91 188 08 28
> Fax: (+34) 91 632 65 42
> *www.daikon.es*
>
> El 29/05/11 19:45, Rohan M escribió:
>
> Dear All,
>
>   I'm using Oracle 8i as a back-end database server for my Catalyst
> application. When I try to use join parameter using DBIx::Class model, it
> gives me syntax error.
> It doesn't understand 'JOIN' keyword in the SQL generated by DBIx::Class.
>
>  for example - >
>
>  my $Info = $c->model('App::Log')->search({
>  id => $someid,
>  },{
>  join => 'foreignkey_id',
>  });
>
>  I did checked "
> http://search.cpan.org/~frew/DBIx-Class-0.08115/lib/DBIx/Class/Storage/DBI/Oracle/WhereJoins.pm";
>  where it is mentioned that DBIx::Class automatically detects the version
> and calls the above class to generate the JOIN in oracle 8i fashion but
> somehow its not working.
>
>  Also I checked for join_type parameter which allows you to go for 'outer'
> or 'inner' join but it didn't work.
>
>  Could some body tell me how can I use join for oracle 8i using
> DBIx::Class model in the Catalyst application?
>
>
>  Thanks and regards,
> Rohan
>
>
>
>
>
> _______________________________________________
> List: [email protected]
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/[email protected]/
> Dev site: http://dev.catalyst.perl.org/
>
>
> _______________________________________________
> List: [email protected]
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/[email protected]/
> Dev site: http://dev.catalyst.perl.org/
>
>

<<logo-daikon-email.png>>

_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/

Reply via email to