NAME

DBIx::QuickORM::Role::Source - Role for things that can be queried.

DESCRIPTION

A "source" is anything a query can run against: a table, a view, a join, or a literal SQL fragment. This role defines the interface the query and SQL layers rely on. Consumers include DBIx::QuickORM::Schema::Table, DBIx::QuickORM::Join, and DBIx::QuickORM::LiteralSource.

REQUIRED METHODS

$sql = $source->source_db_moniker

The SQL naming the source: a table name, "table AS alias", or literal SQL.

$name = $source->source_orm_name

The abstract source kind: TABLE, VIEW, JOIN, or LITERAL.

$class = $source->row_class
$cols = $source->primary_key
$type = $source->field_type($field)
$aff = $source->field_affinity($field, $dialect)
$bool = $source->has_field($field)
$fields = $source->fields_to_fetch
$fields = $source->fields_to_omit
$fields = $source->fields_list_all

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/