NAME

DBIx::QuickORM::Role::Handle - Role defining the query/handle interface.

DESCRIPTION

Defines the common interface for handle objects used to build and run queries against a source. Consumers implement the bulk of the interface; this role supplies a small set of convenience aliases and a group of explicitly-unsupported operations that croak when called.

SYNOPSIS

package My::Handle;
use Role::Tiny::With;
with 'DBIx::QuickORM::Role::Handle';

sub one { ... }
# ...and the other required methods

REQUIRED METHODS

Consumers must provide the full handle interface, including handle, clone, the is_* mode predicates, the by_id/by_ids lookups, the all/one/count/first/iterate/iterator result methods, the delete/insert/update/vivify/upsert write methods, the accessors (connection, dialect, source, sql_builder, sync, aside, async, forked, data_only, fields, limit, omit, order_by, row, where), and the join methods (cross_join, full_join, inner_join, left_join, right_join).

PUBLIC METHODS

$row = $handle->any(@args)

Alias for first.

The following methods exist for interface compatibility but are not supported by this role; calling any of them dies.

$handle->internal_transactions
$handle->internal_txns
$handle->insert_and_refresh
$handle->auto_refresh
$handle->no_internal_transactions
$handle->no_internal_txns

SOURCE

The source code repository for DBIx::QuickORM can be found at https://github.com/exodist/DBIx-QuickORM.

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS

Chad Granum <exodist@cpan.org>

COPYRIGHT

Copyright Chad Granum <exodist7@gmail.com>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See https://dev.perl.org/licenses/