class Index extends AbstractAsset implements Constraint (View source)

Properties

protected string $_name from AbstractAsset
protected string $_namespace Namespace of the asset. If none isset the default namespace is assumed. from AbstractAsset
protected bool $_quoted from AbstractAsset
protected array $_columns
protected bool $_isUnique
protected bool $_isPrimary
protected array $_flags Platform specific flags for indexes.

Methods

_setName(string $name)

Set name of this asset

bool
isInDefaultNamespace(string $defaultNamespaceName)

Is this asset in the default namespace?

string
getNamespaceName()

Get 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($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()

Check if this asset's name is quoted

bool
isIdentifierQuoted(string $identifier)

Check if this identifier is quoted.

string
trimQuotes(string $identifier)

Trim quotes from the identifier.

string
getName()

Return name of this schema asset.

string
getQuotedName(AbstractPlatform $platform)

Get 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)

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

__construct($indexName, array $columns, $isUnique = false, $isPrimary = false, array $flags = array())

No description

_addColumn(string $column)

No description

getColumns()

No description

array
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

boolean
spansColumns(array $columnNames)

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

bool
isFullfilledBy(Index $other)

Check if the other index already fullfills all the indexing and constraint needs of the current one.

bool
overrules(Index $other)

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

addFlag(string $flag)

Add 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)

Remove a flag

Details

protected _setName(string $name)

Set name of this asset

Parameters

string $name

bool isInDefaultNamespace(string $defaultNamespaceName)

Is this asset in the default namespace?

Parameters

string $defaultNamespaceName

Return Value

bool

string getNamespaceName()

Get namespace name of this asset.

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

Return Value

string

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($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

$defaultNamespaceName

Return Value

string

bool isQuoted()

Check if this asset's name is quoted

Return Value

bool

protected bool isIdentifierQuoted(string $identifier)

Check 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()

Return name of this schema asset.

Return Value

string

string getQuotedName(AbstractPlatform $platform)

Get 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)

Generate 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($indexName, array $columns, $isUnique = false, $isPrimary = false, array $flags = array())

Parameters

$indexName
array $columns
$isUnique
$isPrimary
array $flags

protected _addColumn(string $column)

Parameters

string $column

getColumns()

array getUnquotedColumns()

Return Value

array

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

boolean spansColumns(array $columnNames)

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

Parameters

array $columnNames

Return Value

boolean

bool isFullfilledBy(Index $other)

Check if the other index already fullfills all the indexing and constraint needs of the current one.

Parameters

Index $other

Return Value

bool

bool overrules(Index $other)

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

Parameters

Index $other

Return Value

bool

Index addFlag(string $flag)

Add 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)

Remove a flag

Parameters

string $flag

Return Value

void