aboutsummaryrefslogtreecommitdiff
path: root/databases/p5-DBIx-Class/pkg-descr
blob: 3de5b4672b1ee5c897c8d0767f89f5a1a7b06ae1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
This is an SQL to OO mapper with an object API inspired by Class::DBI (with a
compatibility layer as a springboard for porting) and a resultset API that
allows abstract encapsulation of database operations. It aims to make
representing queries in your code as perl-ish as possible while still providing
access to as many of the capabilities of the database as possible, including
retrieving related records from multiple tables in a single query, JOIN, LEFT
JOIN, COUNT, DISTINCT, GROUP BY, ORDER BY and HAVING support.

DBIx::Class can handle multi-column primary and foreign keys, complex queries
and database-level paging, and does its best to only query the database in
order to return something you've directly asked for. If a resultset is used as
an iterator it only fetches rows off the statement handle as requested in order
to minimise memory usage. It has auto-increment support for SQLite, MySQL,
PostgreSQL, Oracle, SQL Server and DB2 and is known to be used in production
on at least the first four, and is fork- and thread-safe out of the box
(although your DBD may not be).

This project is still under rapid development, so large new features may be
marked EXPERIMENTAL - such APIs are still usable but may have edge bugs.
Failing test cases are *always* welcome and point releases are put out rapidly
as bugs are found and fixed.