---
name: "DBIx::Class::Storage::DBI::SQLAnywhere"
section: "3pm"
platform: "linux"
package: "libdbix-class-perl"
version: "0.082844-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::Class::Storage::DBI::SQLAnywhere"
---

# DBIx::Class::Storage::DBI::SQLAnywhere(3pm)

Driver for SQL Anywhere

## NAME

DBIx::Class::Storage::DBI::SQLAnywhere - Driver for SQL Anywhere

## DESCRIPTION

This class implements autoincrements for SQL Anywhere and provides DBIx::Class::InflateColumn::DateTime support and support for the `"uniqueidentifier"` type (via DBIx::Class::Storage::DBI::SQLAnywhere::Cursor.)

You need the `"DBD::SQLAnywhere"` driver that comes with the SQL Anywhere distribution, **NOT** the one on CPAN. It is usually under a path such as:

```
  /opt/sqlanywhere11/sdk/perl
```

Recommended connect\_info settings:

```
  on_connect_call => 'datetime_setup'
```

## METHODS

### connect\_call\_datetime\_setup

Used as:

```
    on_connect_call => 'datetime_setup'
```

In connect\_info to set the date and timestamp formats (as temporary options for the session) for use with DBIx::Class::InflateColumn::DateTime.

The `"TIMESTAMP"` data type supports up to 6 digits after the decimal point for second precision. The full precision is used.

The `"DATE"` data type supposedly stores hours and minutes too, according to the documentation, but I could not get that to work. It seems to only store the date.

You will need the DateTime::Format::Strptime module for inflation to work.

## MAXIMUM CURSORS

A DBIx::Class application can use a lot of cursors, due to the usage of prepare\_cached.

The default cursor maximum is `50`, which can be a bit too low. This limit can be turned off (or increased) by the DBA by executing:

```
  set option max_statement_count = 0
  set option max_cursor_count    = 0
```

Highly recommended.

## 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.
