DBIx::C...indVars(3)

๐ŸŒธ NAME ๐ŸŒธ

Okay so bestie, this is the manual page for DBIx::C...indVars(3) from the User Contributed Perl Documentation, and the full module name is a whole mouthful: DBIx::Class::Storage::DBI::Sybase::ASE::NoBindVars. Itโ€™s a Storage::DBI subclass for Sybase ASE without placeholder support. Iconic, honestly. ๐Ÿ’…

โœจ DESCRIPTION โœจ

Hereโ€™s the tea, fr fr: if youโ€™re using this driver, then your version of Sybase or the libraries you use to connect to it do not support placeholders. Thatโ€™s the whole vibe check.

You can also enable this driver explicitly using:

my $schema = SchemaClass->clone;
$schema->storage_type('::DBI::Sybase::ASE::NoBindVars');
$schema->connect($dsn, $user, $pass, \%opts);

Thereโ€™s a whole discussion in โ€œUsing ? Placeholders & bind parameters to $sth->executeโ€ in DBD::Sybase about the pros and cons of using placeholders with this particular driver. Go read it, iykyk. ๐Ÿ‘‘

One advantage of not using placeholders is that select @@identity will work for obtaining the last insert id of an IDENTITY column, instead of having to do select max(col) in a transaction as the base Sybase driver does. Lowkey a glow-up. โœจ

When using this driver, bind variables will be interpolated (properly quoted of course) into the SQL query itself, without using placeholders. Not a single placeholder in sight, periodt. ๐Ÿ’–

The caching of prepared statements is also explicitly disabled, as the interpolation renders it useless. Itโ€™s giving โ€œwhy keep it, itโ€™s not serving.โ€ ๐Ÿ’€

๐Ÿ’– FURTHER QUESTIONS? ๐Ÿ’–

Check the list of additional DBIC resources. Thatโ€™s the move, bestie. ๐Ÿซถ

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


Bye bestie ๐Ÿซถ this page is from perl v5.42.0, dated 2025-01-22, and itโ€™s DBIx::C...indVars(3) โ€” mwah ๐Ÿ’‹

๐Ÿ“ฆ where this page comes from