class UniqueConstraint extends AbstractAsset implements Constraint (View source)

Class for a unique constraint.

Properties

protected string $_name from AbstractAsset
protected string|null $_namespace Namespace of the asset. If none isset the default namespace is assumed. from AbstractAsset
protected bool $_quoted from AbstractAsset
protected Identifier[] $columns Asset identifier instances of the column names the unique constraint is associated with.
protected array $flags Platform specific flags array($flagName => true)

Methods

void
_setName(string $name)

Sets the name of this asset.

bool
isInDefaultNamespace(string $defaultNamespaceName)

Is this asset in the default namespace?

string|null
getNamespaceName()

Gets the namespace name of this asset.

string
getShortestName(string $defaultNamespaceName)

The shortest name is stripped of the default namespace. All other namespaced elements are returned as full-qualified names.

string
getFullQualifiedName(string $defaultNamespaceName)

The normalized name is full-qualified and lowerspaced. Lowerspacing is actually wrong, but we have to do it to keep our sanity. If you are using database objects that only differentiate in the casing (FOO vs Foo) then you will NOT be able to use Doctrine Schema abstraction.

bool
isQuoted()

Checks if this asset's name is quoted.

bool
isIdentifierQuoted(string $identifier)

Checks if this identifier is quoted.

string
trimQuotes(string $identifier)

Trim quotes from the identifier.

string
getName()

Returns the name of this schema asset.

string
getQuotedName(AbstractPlatform $platform)

Gets the quoted representation of this asset but only if it was defined with one. Otherwise return the plain unquoted value as inserted.

string
_generateIdentifierName(array $columnNames, string $prefix = '', int $maxSize = 30)

Generates an identifier from a list of column names obeying a certain string length.

__construct(string $indexName, array $columns, array $flags = array(), array $options = array())

No description

array
getColumns()

Returns the names of the referencing table columns the constraint is associated with.

array
getQuotedColumns(AbstractPlatform $platform)

Returns the quoted representation of the column names the constraint is associated with.

string[]
getUnquotedColumns()

No description

string[]
getFlags()

Returns platform specific flags for unique constraint.

addFlag(string $flag)

Adds flag for a unique constraint that translates to platform specific handling.

boolean
hasFlag(string $flag)

Does this unique constraint have a specific flag?

void
removeFlag(string $flag)

Removes a flag.

boolean
hasOption(string $name)

No description

mixed
getOption(string $name)

No description

array
getOptions()

No description

void
_addColumn(string $column)

No description

Details

protected void _setName(string $name)

Sets the name of this asset.

Parameters

string $name

Return Value

void

bool isInDefaultNamespace(string $defaultNamespaceName)

Is this asset in the default namespace?

Parameters

string $defaultNamespaceName

Return Value

bool

string|null getNamespaceName()

Gets the namespace name of this asset.

If NULL is returned this means the default namespace is used.

Return Value

string|null

string getShortestName(string $defaultNamespaceName)

The shortest name is stripped of the default namespace. All other namespaced elements are returned as full-qualified names.

Parameters

string $defaultNamespaceName

Return Value

string

string getFullQualifiedName(string $defaultNamespaceName)

The normalized name is full-qualified and lowerspaced. Lowerspacing is actually wrong, but we have to do it to keep our sanity. If you are using database objects that only differentiate in the casing (FOO vs Foo) then you will NOT be able to use Doctrine Schema abstraction.

Every non-namespaced element is prefixed with the default namespace name which is passed as argument to this method.

Parameters

string $defaultNamespaceName

Return Value

string

bool isQuoted()

Checks if this asset's name is quoted.

Return Value

bool

protected bool isIdentifierQuoted(string $identifier)

Checks if this identifier is quoted.

Parameters

string $identifier

Return Value

bool

protected string trimQuotes(string $identifier)

Trim quotes from the identifier.

Parameters

string $identifier

Return Value

string

string getName()

Returns the name of this schema asset.

Return Value

string

string getQuotedName(AbstractPlatform $platform)

Gets the quoted representation of this asset but only if it was defined with one. Otherwise return the plain unquoted value as inserted.

Parameters

AbstractPlatform $platform

Return Value

string

protected string _generateIdentifierName(array $columnNames, string $prefix = '', int $maxSize = 30)

Generates an identifier from a list of column names obeying a certain string length.

This is especially important for Oracle, since it does not allow identifiers larger than 30 chars, however building idents automatically for foreign keys, composite keys or such can easily create very long names.

Parameters

array $columnNames
string $prefix
int $maxSize

Return Value

string

__construct(string $indexName, array $columns, array $flags = array(), array $options = array())

Parameters

string $indexName
array $columns
array $flags
array $options

array getColumns()

Returns the names of the referencing table columns the constraint is associated with.

Return Value

array

array getQuotedColumns(AbstractPlatform $platform)

Returns the quoted representation of the column names the constraint is associated with.

But only if they were defined with one or a column name is a keyword reserved by the platform. Otherwise the plain unquoted value as inserted is returned.

Parameters

AbstractPlatform $platform The platform to use for quotation.

Return Value

array

string[] getUnquotedColumns()

Return Value

string[]

string[] getFlags()

Returns platform specific flags for unique constraint.

Return Value

string[]

UniqueConstraint addFlag(string $flag)

Adds flag for a unique constraint that translates to platform specific handling.

Parameters

string $flag

Return Value

UniqueConstraint

boolean hasFlag(string $flag)

Does this unique constraint have a specific flag?

Parameters

string $flag

Return Value

boolean

void removeFlag(string $flag)

Removes a flag.

Parameters

string $flag

Return Value

void

boolean hasOption(string $name)

Parameters

string $name

Return Value

boolean

mixed getOption(string $name)

Parameters

string $name

Return Value

mixed

array getOptions()

Return Value

array

protected void _addColumn(string $column)

Parameters

string $column

Return Value

void

Exceptions

InvalidArgumentException