---
name: "DBIx::DBStag::Constraint"
section: "3pm"
platform: "linux"
package: "libdbix-dbstag-perl"
version: "0.12-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::DBStag::Constraint"
---

# DBIx::DBStag::Constraint(3pm)

recursive structure for representing query constraints

## NAME

DBIx::DBStag::Constraint - recursive structure for representing query constraints

## SYNOPSIS

## DESCRIPTION

A constraint is a recursive structure for representing query constraints;

```
  AND ---  x=1
    \
     \---- OR   ---  y>2
            \
             \-----  boolfunc(z)
```

A constraint is either a bool (AND, OR, NOT) with \>0 children, or it can be a leaf node representing an atomic constraint

the constraint corresponds to a SQLTemplate option block; eg

```
  [ name LIKE &name& ]
  [ name => &name& ]
  [ start > &min_start& ]
  [ start => &start& ]
  [ somefunc(&x&) ]
  [ somefunc(&x&, &y&) ]
  [ somefunc(t.col, &x&, &y&) => &z& ]
```

the constraint consists of an operator (represented by =\> in the option block). If no =\> is present, then it is a simple variable binding.

A constraint can consist of multiple variable bindings

## WEBSITE

\<http://stag.sourceforge.net\>

## AUTHOR

Chris Mungall \<*cjm@fruitfly.org*\>

## COPYRIGHT

Copyright (c) 2003 Chris Mungall

This module is free software. You may distribute this module under the same terms as perl itself
