DBIx::Class::Helper::ResultSet::AutoRemoveColumns - Automatically remove columns from a ResultSet


 package MySchema::Result::Bar;

 use strict;
 use warnings;

 use parent 'DBIx::Class::Core';

    id => {
       data_type         => 'integer',
       is_auto_increment => 1,
    kitten => {
       data_type         => 'integer',
    robot => {
       data_type         => 'text',
       is_nullable       => 1,
    your_mom => {
       data_type         => 'blob',
       is_nullable       => 1,
       remove_column     => 0,


 package MySchema::ResultSet::Bar;

 use strict;
 use warnings;

 use parent 'DBIx::Class::ResultSet';



This component automatically removes "heavy-weight" columns. To be specific, columns of type text, ntext, blob, clob, or bytea. You may use the remove_column key in the column info to specify directly whether or not to remove the column automatically. See "NOTE" in DBIx::Class::Helper::ResultSet for a nice way to apply it to your entire schema.




returns true if a column should be fetched or not. This fetches a column if it is not of type text, ntext, blob, clob, or bytea or the remove_column is set to true. If you only wanted to explicitly state which columns to remove you might override this method like this:

 sub _should_column_fetch {
    my ( $self, $column ) = @_;

    my $info = $self->column_info($column);

    return !defined $info->{remove_column} || $info->{remove_column};


simply returns a list of columns that are fetchable.


Arthur Axel "fREW" Schmidt <>


This software is copyright (c) 2020 by Arthur Axel "fREW" Schmidt.

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