P5-dbix-class

Jul 20, 2023

Extensible and flexible object <-> relational mapper

This is an SQL to OO mapper with an object API inspired by ClassDBI 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.

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



Checkout these related ports:
  • Zodb3 - Z - Object Database for python
  • Zodb - Python object-oriented database
  • Zabbix22-libzbxpgsql - Zabbix agent module for comprehensive monitoring of PostgreSQL servers
  • Xtrabackup8 - Open-source backup tool for InnoDB and XtraDB
  • Xtrabackup - OpenSource version of InnoDB backup with support of Percona extensions
  • Xrootd - Framework for fast, low latency, scalable data access
  • Xls2txt - Utilities to convert spreadsheet files to text and csv formats
  • Xapian-core12 - Probabilistic text search database engine
  • Xapian-core10 - Probabilistic text search database engine
  • Xapian-core - Probabilistic text search database engine
  • Xapian-bindings12 - Bindings allowing Xapian to be used from various programming languages
  • Xapian-bindings - Bindings allowing Xapian to be used from various programming languages
  • Wfb2sql - CIA World Fact Book to SQL Conversion Utility
  • Webdis - HTTP interface for Redis
  • Vsqlite - Well designed and portable SQLite3 Wrapper for C++