- Improve identity/autoinc retrieval code in MSSQL and Sybase -
should reduce weird side-effects especially with populate()
- Explicitly disable DBD::ODBC batch operations (as of DBD::ODBC 1.35)
- when using freetds - the freetds driver is just too buggy to handle
- the optimized path
+ for the following drivers too buggy to handle the optimized path:
+ - FreeTDS ODBC driver (when used with MSSQL)
+ - The Firebird ODBC driver
- Explicitly disable DBD::ODBC dynamic_cursors when using freetds 0.83
or later - they made enough ODBC incompatible changes making it
impossible to support sanely
__PACKAGE__->datetime_parser_type ('DBIx::Class::Storage::DBI::ODBC::Firebird::DateTime::Format');
+# batch operations in DBD::ODBC 1.35 do not work with the official ODBC driver
+sub _init {
+ my $self = shift;
+
+ $self->next::method(@_);
+
+ if ($self->_dbh_get_info('SQL_DRIVER_NAME') eq 'OdbcFb') {
+ $self->_get_dbh->{odbc_disable_array_operations} = 1;
+ }
+}
+
# releasing savepoints doesn't work for some reason, but that shouldn't matter
sub _exec_svp_release { 1 }