Indexes
This section describes the DDL commands pertaining to indexes.
Create index
Define an new index for a given object type or link.
create index on ( index-expr )
[ except ( except-expr ) ]
[ "{" subcommand; [...] "}" ] ;
where subcommand is one of
create annotation annotation-name := value
Description
The command create index
constructs a new index for a given object type or
link using index-expr.
Parameters
Most sub-commands and options of this command are identical to the
SDL index declaration. There’s
only one subcommand that is allowed in the create index
block:
- create annotation annotation-name := value
-
Set object type annotation-name to value.
See
create annotation
for details.
Alter index
Alter the definition of an index.
alter index on ( index-expr ) [ except ( except-expr ) ]
[ "{" subcommand; [...] "}" ] ;
where subcommand is one of
create annotation annotation-name := value
alter annotation annotation-name := value
drop annotation annotation-name
Description
The command alter index
is used to change the annotations of an index. The index-expr is used to
identify the index to be altered.
Parameters
- on ( index-expr )
-
The specific expression for which the index is made. Note also that
<index-expr>
itself has to be parenthesized.
The following subcommands are allowed in the alter index
block:
- create annotation annotation-name := value
-
Set index annotation-name to value. See
create annotation
for details. - alter annotation annotation-name;
-
Alter index annotation-name. See
alter annotation
for details. - drop annotation annotation-name;
-
Remove constraint annotation-name. See
drop annotation
for details.
Drop index
Remove an index from a given schema item.
drop index on ( index-expr ) [ except ( except-expr ) ];
Description
The command drop index
removes an index from a schema item.
- on ( index-expr )
-
The specific expression for which the index was made.
This statement can only be used as a subdefinition in another DDL statement.
Example
Drop the name
index from the User
object type:
alter type User {
drop index on (.name);
};