sub deploy { die "Virtual method!" }
-sub on_connect_do { die "Virtual method!" }
+=head2 connect_info
+
+The arguments of C<connect_info> are always a single array reference,
+and are Storage-handler specific.
+
+This is normally accessed via L<DBIx::Class::Schema/connection>, which
+encapsulates its argument list in an arrayref before calling
+C<connect_info> here.
+
+=cut
+
sub connect_info { die "Virtual method!" }
+
+=head2 select
+
+Handle a select statement.
+
+=cut
+
+sub select { die "Virtual method!" }
+
+=head2 insert
+
+Handle an insert statement.
+
+=cut
+
sub insert { die "Virtual method!" }
+
+=head2 update
+
+Handle an update statement.
+
+=cut
+
sub update { die "Virtual method!" }
+
+=head2 delete
+
+Handle a delete statement.
+
+=cut
+
sub delete { die "Virtual method!" }
-sub select { die "Virtual method!" }
+
+=head2 select_single
+
+Performs a select, fetch and return of data - handles a single row
+only.
+
+=cut
+
sub select_single { die "Virtual method!" }
+
+=head2 columns_info_for
+
+Returns database type info for the given table's columns.
+
+=cut
+
sub columns_info_for { die "Virtual method!" }
=head1 ENVIRONMENT VARIABLES
return $self->_execute(@args);
}
-=head2 select
-
-Handle a SQL select statement.
-
-=cut
-
sub select {
my $self = shift;
my ($ident, $select, $condition, $attrs) = @_;
return $self->cursor->new($self, \@_, $attrs);
}
-=head2 select_single
-
-Performs a select, fetch and return of data - handles a single row
-only.
-
-=cut
-
-# Need to call finish() to work round broken DBDs
-
sub select_single {
my $self = shift;
my ($rv, $sth, @bind) = $self->_select(@_);
my @row = $sth->fetchrow_array;
+ # Need to call finish() to work round broken DBDs
$sth->finish();
return @row;
}
return $self->dbh_do(sub { shift->prepare_cached($sql, {}, 3) });
}
-=head2 columns_info_for
-
-Returns database type info for a given table columns.
-
-=cut
-
sub columns_info_for {
my ($self, $table) = @_;