Cleanup Row::sequence()
Peter Rabbitson [Sun, 12 Sep 2010 18:52:49 +0000 (20:52 +0200)]
While it seems like a rather useless method these days (we have excellent sequence
detection) keep it around nevertheless. However move it to ResultSource where
it logically belongs, and undocument its use from a couple of ::Storage driver
POD examples

lib/DBIx/Class/PK/Auto.pm
lib/DBIx/Class/ResultSource.pm
lib/DBIx/Class/ResultSourceProxy.pm
lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm
lib/DBIx/Class/Storage/DBI/Pg.pm

index e2f717f..523ec27 100644 (file)
@@ -5,6 +5,8 @@ use base qw/DBIx::Class/;
 use strict;
 use warnings;
 
+1;
+
 =head1 NAME
 
 DBIx::Class::PK::Auto - Automatic primary key class
@@ -36,19 +38,8 @@ The code that was handled here is now in Row for efficiency.
 
 =head2 sequence
 
-Manually define the correct sequence for your table, to avoid the overhead
-associated with looking up the sequence automatically.
-
-=cut
-
-sub sequence {
-    my ($self,$seq) = @_;
-    foreach my $pri ($self->primary_columns) {
-        $self->column_info($pri)->{sequence} = $seq;
-    }
-}
-
-1;
+The code that was handled here is now in ResultSource, and is being proxied to
+Row as well.
 
 =head1 AUTHORS
 
index 075c331..824e6d6 100644 (file)
@@ -537,6 +537,30 @@ sub _pri_cols {
   return @pcols;
 }
 
+=head2 sequence
+
+Manually define the correct sequence for your table, to avoid the overhead
+associated with looking up the sequence automatically. The supplied sequence
+will be applied to the L</column_info> of each L<primary_key|/set_primary_key>
+
+=over 4
+
+=item Arguments: $sequence_name
+
+=item Return value: undefined
+
+=back
+
+=cut
+
+sub sequence {
+    my ($self,$seq) = @_;
+    foreach my $pri ($self->primary_columns) {
+        $self->column_info($pri)->{sequence} = $seq;
+    }
+}
+
+
 =head2 add_unique_constraint
 
 =over 4
index 859b397..dcbc276 100644 (file)
@@ -67,6 +67,7 @@ for my $method_to_proxy (qw/
   set_primary_key
   primary_columns
   _pri_cols
+  sequence
 
   add_unique_constraint
   add_unique_constraints
index be48f20..40156b6 100644 (file)
@@ -19,7 +19,6 @@ DBIx::Class::Storage::DBI::Oracle::Generic - Oracle Support for DBIx::Class
   use base 'DBIx::Class::Core';
   __PACKAGE__->add_columns({ id => { sequence => 'mysequence', auto_nextval => 1 } });
   __PACKAGE__->set_primary_key('id');
-  __PACKAGE__->sequence('mysequence');
 
   # Somewhere in your Code
   # add some data to a table with a hierarchical relationship
index 36c9c42..e5eaff2 100644 (file)
@@ -229,7 +229,6 @@ DBIx::Class::Storage::DBI::Pg - Automatic primary key class for PostgreSQL
   # In your result (table) classes
   use base 'DBIx::Class::Core';
   __PACKAGE__->set_primary_key('id');
-  __PACKAGE__->sequence('mysequence');
 
 =head1 DESCRIPTION