Jifty:...Oracle(3pm)

πŸ“¦
version 0.78 Β· 2 versions
  • 0.78 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking (latest)
  • 0.78 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– Jifty:...Oracle πŸ’–

okay bestie, this is a page from the User Contributed Perl Documentation section of the manual, and it's all about Jifty:...Oracle(3pm). yes the title has three dots in it, no i don't know why, we move πŸ’…


✨ NAME ✨

Jifty::DBI::Handle::Oracle β€” an Oracle-specific Handle object. that's it, that's the whole name section, short and iconic πŸŽ€


🌸 SYNOPSIS 🌸

not me showing up to the SYNOPSIS section with literally nothing in it 😭 the original page has no synopsis, so bestie, we have no synopsis. it's giving minimalism. it's giving mystery. go read DESCRIPTION instead πŸ¦‹

πŸ’« DESCRIPTION πŸ’«

so this module is a subclass of Jifty::DBI::Handle, right? and its whole job is to compensate for some of the idiosyncrasies of Oracle. like, Oracle is that one friend who does things their own way and everyone else just has to adapt. this module is the adapt. no cap. πŸ‘‘


🌈 METHODS 🌈


πŸ’œ connect PARAMHASH: Driver, Database, Host, User, Password

takes a paramhash (yes, a hash full of params) and connects you to your DBI datasource. plug in, bestie πŸ”Œβœ¨


πŸ¦‹ database_version

returns the value of the ORA_OCI constant. if you wanna know more, go peek at "Constants" in DBD::Oracle. iykyk πŸ“–


πŸ“ insert

takes a table name as the first argument, and then it just assumes the rest of the arguments are an array of key-value pairs that need to be inserted. very "trust the process" of it πŸ’–


🧚 build_dsn PARAMHASH

takes a bunch of parameters, and here's the tea:

  • Required: Driver, Database or Host/SID
  • Optional: Port and RequireSSL

and then it builds a dsn suitable for an Oracle DBI connection. the whole point. the main character moment. slay 🌟


πŸ‘‘ blob_params column_NAME column_type

returns a hash ref for the bind_param call, so it can identify the BLOB types your current database uses for a particular column type. and heads up: the current Oracle implementation only supports ORA_CLOB types (112). that's the number, that's the limit, periodt πŸ’…


🌸 apply_limits STATEMENTREF ROWS_PER_PAGE FIRST_ROW

takes an SQL SELECT statement and massages it (yes, massages it, the manpage said so and i am not changing it) so it returns ROWS_PER_PAGE starting with FIRST_ROW. so you get your lil page of rows, exactly where you want them πŸŽ€


⭐ distinct_query STATEMENTREF

takes an incomplete SQL SELECT statement and massages it into returning a DISTINCT result set. incomplete in, distinct out. glow-up fr fr ✨


πŸ’Œ AUTHOR πŸ’Œ

Jesse Vincent, jesse@fsck.com β€” shoutout to the author, we love a credited icon 🫢


πŸ”₯ SEE ALSO πŸ”₯

  • Jifty::DBI
  • Jifty::DBI::Handle
  • DBD::Oracle

πŸ’€ quick reminder bestie: keep those Oracle quirks in mind, because this whole module exists specifically because Oracle does things Oracle's way. the vibes are chill but the behaviour is what it is 😌

okay and that's the whole page!! this one shipped as perl v5.34.0, dated 2022-06-15, and it lives under Jifty:...Oracle(3pm) in the User Contributed Perl Documentation. bye bestie, go connect to a database responsibly πŸŒˆπŸ’–βœ¨

πŸ“¦ where this page comes from