Scroll to navigation

DBIx::SearchBuilder::Unique(3pm) User Contributed Perl Documentation DBIx::SearchBuilder::Unique(3pm)

NAME

DBIx::SearchBuilder::Unique - Ensure uniqueness of records in a collection

SYNOPSIS

    package Foo::Collection;
    use base 'DBIx::SearchBuilder';
    use DBIx::SearchBuilder::Unique; # mixin
    my $collection = Foo::Collection->New();
    $collection->SetupComplicatedJoins;
    $collection->OrderByMagic;
    while (my $thing = $collection->Next) {
        # $thing is going to be distinct
    }

DESCRIPTION

Currently, DBIx::SearchBuilder makes exceptions for databases which cannot handle both "SELECT DISTINCT" and ordering in the same statement; it drops the "DISTINCT" requirement. This, of course, means that you can get the same row twice, which you might not want. If that's the case, use this module as a mix-in, and it will provide you with an "AddRecord" method which ensures that a record will not appear twice in the same search.

2024-05-15 perl v5.38.2