test fixups, Schema optimisation tweaks
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / ResultSourceProxy.pm
CommitLineData
c0e7b4e5 1package # hide from PAUSE
2 DBIx::Class::ResultSourceProxy;
b98e75f6 3
4use strict;
5use warnings;
6
7use base qw/DBIx::Class/;
8
5ac6a044 9sub iterator_class { shift->result_source_instance->resultset_class(@_) }
b98e75f6 10sub resultset_class { shift->result_source_instance->resultset_class(@_) }
11
5ac6a044 12sub resultset_attributes {
13 shift->result_source_instance->resultset_attributes(@_);
14}
15
b98e75f6 16sub add_columns {
17 my ($class, @cols) = @_;
1f23a877 18 my $source = $class->result_source_instance;
19 $source->add_columns(@cols);
20 foreach my $c (grep { !ref } @cols) {
21 $class->register_column($c => $source->column_info($c));
22 }
b98e75f6 23}
24
b98e75f6 25sub has_column {
26 my ($self, $column) = @_;
27 return $self->result_source_instance->has_column($column);
28}
29
30sub column_info {
31 my ($self, $column) = @_;
32 return $self->result_source_instance->column_info($column);
33}
34
35
36sub columns {
37 return shift->result_source_instance->columns(@_);
38}
39
40sub set_primary_key { shift->result_source_instance->set_primary_key(@_); }
41sub primary_columns { shift->result_source_instance->primary_columns(@_); }
42
87f0da6a 43sub add_unique_constraint { shift->result_source_instance->add_unique_constraint(@_); }
44sub unique_constraints { shift->result_source_instance->unique_constraints(@_); }
45
8c49f629 46sub add_relationship {
71e65b39 47 my ($class, $rel, @rest) = @_;
48 my $source = $class->result_source_instance;
49 $source->add_relationship($rel => @rest);
50 $class->register_relationship($rel => $source->relationship_info($rel));
8c49f629 51}
52
53sub relationships {
54 shift->result_source_instance->relationships(@_);
55}
56
57sub relationship_info {
58 shift->result_source_instance->relationship_info(@_);
59}
60
b98e75f6 611;