---
name: "Jifty::DBI::Collection::Unique"
section: "3pm"
platform: "linux"
package: "libjifty-dbi-perl"
version: "0.78-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Jifty::DBI::Collection::Unique"
---

# Jifty::DBI::Collection::Unique(3pm)

Ensure uniqueness of records in a collection

### add\_record

Overrides add\_record to ensure uniqueness.

## NAME

Jifty::DBI::Collection::Unique - Ensure uniqueness of records in a collection

## SYNOPSIS

```
    package Foo::Collection;
    use base 'Jifty::DBI::Collection';
    use Jifty::DBI::Collection::Unique; # mixin
    my $collection = Foo::Collection->New();
    $collection->SetupComplicatedJoins;
    $collection->OrderByMagic;

    while (my $thing = $collection->Next) {
        # $thing is going to be distinct
    }
```

## DESCRIPTION

Currently, Jifty::DBI 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.

## AUTHOR

Simon Cozens.

## COPYRIGHT

Copyright 2005 Best Practical Solutions, LLC

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