DBIx::C...ereJoins(3)

🌸 NAME 🌸

okay so you're reading the DBIx::C...ereJoins(3) page from User Contributed Perl Documentation, and the main character here is DBIx::Class::Storage::DBI::Oracle::WhereJoins πŸ’…

It's literally: Oracle joins in WHERE syntax support (instead of ANSI). Periodt. ✨


πŸŽ€ PURPOSE πŸŽ€

This module is used with Oracle < 9.0 because Oracle was out here with no support for standard ANSI join syntax 😭. So this little icon steps in to handle the vibes. 🫢


πŸ¦‹ SYNOPSIS πŸ¦‹

DBIx::Class should automagically detect Oracle and use this module with no work from you. fr fr, that's the whole synopsis β€” DBIC handles the detection, you just live your life. πŸ’–


✨ DESCRIPTION ✨

This class implements Oracle's WhereJoin support. Instead of writing this:

SELECT x FROM y JOIN z ON y.id = z.id

It will write this:

SELECT x FROM y, z WHERE y.id = z.id

It should properly support left joins, and right joins. πŸŽ€

Full outer joins are not possible β€” and the reason is kinda tragic, ngl. Oracle requires the entire query be written to union the results of a left and right join, and by the time this module is called to create the where query and table definition part of the SQL query, it's already too late. πŸ’€

πŸ’… METHODS πŸ’…

See DBIx::Class::SQLMaker::OracleJoins for implementation details. iykyk β€” that's where the actual brainwork lives. 🧚


πŸ™ˆ BUGS πŸ™ˆ

  • Does not support full outer joins. Not me, not ever, not possible here. 😭
  • Probably lots more.

🌈 SEE ALSO 🌈

  • DBIx::Class::SQLMaker
  • DBIx::Class::SQLMaker::OracleJoins
  • DBIx::Class::Storage::DBI::Oracle::Generic
  • DBIx::Class

🫢 FURTHER QUESTIONS? 🫢

Check the list of additional DBIC resources. Go forth and scroll, bestie. πŸ“šβœ¨


This module is free software copyright by the DBIx::Class (DBIC) authors. You can redistribute and/or modify it under the same terms as the DBIx::Class library. Slay, legally speaking. πŸ’š


πŸŽ€ signed off with perl v5.42.0, dated 2025-01-22, on page DBIx::C...ereJoins(3) β€” bye bestie! πŸŽ€

πŸ“¦ where this page comes from