Scroll to navigation

DBIx::Class::Storage::DBI::Sybase::ASE::NoBindVars(3pm) User Contributed Perl Documentation DBIx::Class::Storage::DBI::Sybase::ASE::NoBindVars(3pm)

NAME

DBIx::Class::Storage::DBI::Sybase::ASE::NoBindVars - Storage::DBI subclass for Sybase ASE without placeholder support

DESCRIPTION

If you're using this driver then your version of Sybase or the libraries you use to connect to it do not support placeholders.

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);

See the discussion in "Using ? Placeholders & bind parameters to $sth->execute" in DBD::Sybase for details on the pros and cons of using placeholders with this particular driver.

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.

When using this driver, bind variables will be interpolated (properly quoted of course) into the SQL query itself, without using placeholders.

The caching of prepared statements is also explicitly disabled, as the interpolation renders it useless.

FURTHER QUESTIONS?

Check the list of additional DBIC resources.

COPYRIGHT AND LICENSE

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.

2022-05-21 perl v5.34.0