Package org.h2.index

Class IndexType


  • public class IndexType
    extends java.lang.Object
    Represents information about the properties of an index
    • Field Detail

      • primaryKey

        private boolean primaryKey
      • persistent

        private boolean persistent
      • unique

        private boolean unique
      • hash

        private boolean hash
      • scan

        private boolean scan
      • spatial

        private boolean spatial
      • belongsToConstraint

        private boolean belongsToConstraint
    • Constructor Detail

      • IndexType

        public IndexType()
    • Method Detail

      • createPrimaryKey

        public static IndexType createPrimaryKey​(boolean persistent,
                                                 boolean hash)
        Create a primary key index.
        Parameters:
        persistent - if the index is persistent
        hash - if a hash index should be used
        Returns:
        the index type
      • createUnique

        public static IndexType createUnique​(boolean persistent,
                                             boolean hash)
        Create a unique index.
        Parameters:
        persistent - if the index is persistent
        hash - if a hash index should be used
        Returns:
        the index type
      • createNonUnique

        public static IndexType createNonUnique​(boolean persistent)
        Create a non-unique index.
        Parameters:
        persistent - if the index is persistent
        Returns:
        the index type
      • createNonUnique

        public static IndexType createNonUnique​(boolean persistent,
                                                boolean hash,
                                                boolean spatial)
        Create a non-unique index.
        Parameters:
        persistent - if the index is persistent
        hash - if a hash index should be used
        spatial - if a spatial index should be used
        Returns:
        the index type
      • createScan

        public static IndexType createScan​(boolean persistent)
        Create a scan pseudo-index.
        Parameters:
        persistent - if the index is persistent
        Returns:
        the index type
      • setBelongsToConstraint

        public void setBelongsToConstraint​(boolean belongsToConstraint)
        Sets if this index belongs to a constraint.
        Parameters:
        belongsToConstraint - if the index belongs to a constraint
      • getBelongsToConstraint

        public boolean getBelongsToConstraint()
        If the index is created because of a constraint. Such indexes are to be dropped once the constraint is dropped.
        Returns:
        if the index belongs to a constraint
      • isHash

        public boolean isHash()
        Is this a hash index?
        Returns:
        true if it is a hash index
      • isSpatial

        public boolean isSpatial()
        Is this a spatial index?
        Returns:
        true if it is a spatial index
      • isPersistent

        public boolean isPersistent()
        Is this index persistent?
        Returns:
        true if it is persistent
      • isPrimaryKey

        public boolean isPrimaryKey()
        Does this index belong to a primary key constraint?
        Returns:
        true if it references a primary key constraint
      • isUnique

        public boolean isUnique()
        Is this a unique index?
        Returns:
        true if it is
      • getSQL

        public java.lang.String getSQL()
        Get the SQL snippet to create such an index.
        Returns:
        the SQL snippet
      • isScan

        public boolean isScan()
        Is this a table scan pseudo-index?
        Returns:
        true if it is