class Index extends AbstractAsset implements Constraint (View source)

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 index is associated with.
protected bool $_isUnique
protected bool $_isPrimary
protected true[] $_flags Platform specific flags for indexes.

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(string[] $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, bool $isUnique = false, bool $isPrimary = false, array $flags = [], array $options = [])

No description

void
_addColumn(string $column)

No description

string[]
getColumns()

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

string[]
getQuotedColumns(AbstractPlatform $platform)

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

string[]
getUnquotedColumns()

No description

bool
isSimpleIndex()

Is the index neither unique nor primary key?

bool
isUnique()

No description

bool
isPrimary()

No description

bool
hasColumnAtPosition(string $columnName, int $pos = 0)

No description

bool
spansColumns(array $columnNames)

Checks if this index exactly spans the given column names in the correct order.

bool
isFullfilledBy(Index $other)

Checks if the other index already fulfills all the indexing and constraint needs of the current one.

bool
overrules(Index $other)

Detects if the other index is a non-unique, non primary index that can be overwritten by this one.

string[]
getFlags()

Returns platform specific flags for indexes.

addFlag(string $flag)

Adds Flag for an index that translates to platform specific handling.

bool
hasFlag(string $flag)

Does this index have a specific flag?

void
removeFlag(string $flag)

Removes a flag.

bool
hasOption(string $name)

No description

mixed
getOption(string $name)

No description

mixed[]
getOptions()

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(string[] $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

string[] $columnNames
string $prefix
int $maxSize

Return Value

string

__construct(string $indexName, array $columns, bool $isUnique = false, bool $isPrimary = false, array $flags = [], array $options = [])

Parameters

string $indexName
array $columns
bool $isUnique
bool $isPrimary
array $flags
array $options

protected void _addColumn(string $column)

Parameters

string $column

Return Value

void

Exceptions

InvalidArgumentException

string[] getColumns()

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

Return Value

string[]

string[] 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

string[]

string[] getUnquotedColumns()

Return Value

string[]

bool isSimpleIndex()

Is the index neither unique nor primary key?

Return Value

bool

bool isUnique()

Return Value

bool

bool isPrimary()

Return Value

bool

bool hasColumnAtPosition(string $columnName, int $pos = 0)

Parameters

string $columnName
int $pos

Return Value

bool

bool spansColumns(array $columnNames)

Checks if this index exactly spans the given column names in the correct order.

Parameters

array $columnNames

Return Value

bool

bool isFullfilledBy(Index $other)

Checks if the other index already fulfills all the indexing and constraint needs of the current one.

Parameters

Index $other

Return Value

bool

bool overrules(Index $other)

Detects if the other index is a non-unique, non primary index that can be overwritten by this one.

Parameters

Index $other

Return Value

bool

string[] getFlags()

Returns platform specific flags for indexes.

Return Value

string[]

Index addFlag(string $flag)

Adds Flag for an index that translates to platform specific handling.

Parameters

string $flag

Return Value

Index

bool hasFlag(string $flag)

Does this index have a specific flag?

Parameters

string $flag

Return Value

bool

void removeFlag(string $flag)

Removes a flag.

Parameters

string $flag

Return Value

void

bool hasOption(string $name)

Parameters

string $name

Return Value

bool

mixed getOption(string $name)

Parameters

string $name

Return Value

mixed

mixed[] getOptions()

Return Value

mixed[]