Package org.umlg.sqlg.structure.topology
Class AbstractLabel
java.lang.Object
org.umlg.sqlg.structure.topology.AbstractLabel
- All Implemented Interfaces:
TopologyInf
- Direct Known Subclasses:
EdgeLabel
,VertexLabel
Date: 2016/09/14
Time: 11:19 AM
-
Field Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
ensureDistributed
(int shardCount, PropertyColumn distributionPropertyColumn, AbstractLabel colocate) ensureHashPartitionExists
(String name, int modulus, int remainder) Ensures that a HASH partition exists.ensureHashPartitionWithSubPartitionExists
(String name, Integer modulus, Integer remainder, PartitionType partitionType, String partitionExpression) Ensures that a HASH partition exists.ensureIndexExists
(IndexType indexType, List<PropertyColumn> properties) ensureListPartitionExists
(String name, String in) Ensures that a LIST partition exists.ensureListPartitionWithSubPartitionExists
(String name, String in, PartitionType partitionType, String partitionExpression) Ensures that a LIST partition exists.ensureRangePartitionExists
(String name, String from, String to) Ensures that a RANGE partition exists.ensureRangePartitionWithSubPartitionExists
(String name, String from, String to, PartitionType partitionType, String partitionExpression) Ensures that a RANGE partition exists.boolean
org.apache.commons.collections4.set.ListOrderedSet<String>
getLabel()
getName()
getPartition
(String name) Does a recursive search for a partition with the given name.abstract String
getProperty
(String key) abstract Schema
int
abstract Topology
boolean
protected void
internalUpdatePropertyDefinition
(PropertyColumn propertyColumn, PropertyDefinition propertyDefinition, PropertyDefinition currentPropertyDefinition, String name, PropertyColumn copy) boolean
boolean
boolean
boolean
boolean
boolean
boolean
void
removePartition
(Partition partition, boolean preserveData) void
setPartitionExpression
(String partitionExpression) void
setPartitionType
(PartitionType partitionType) protected abstract List<Topology.TopologyValidationError>
validateTopology
(DatabaseMetaData metadata) Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.umlg.sqlg.structure.TopologyInf
isUncommitted, remove, remove, rename, updatePropertyDefinition
-
Field Details
-
isForeignAbstractLabel
protected final boolean isForeignAbstractLabel
-
-
Method Details
-
isForeign
public boolean isForeign() -
ensureRangePartitionExists
Ensures that a RANGE partition exists.- Parameters:
name
- The partition's namefrom
- The RANGE partition's start clause.to
- THe RANGE partition's end clause.- Returns:
- The
Partition
-
ensureRangePartitionWithSubPartitionExists
public Partition ensureRangePartitionWithSubPartitionExists(String name, String from, String to, PartitionType partitionType, String partitionExpression) Ensures that a RANGE partition exists.- Parameters:
name
- The partition's namefrom
- The RANGE partition's start clause.to
- The RANGE partition's end clause.partitionType
- The partition'sPartitionType
if is is going to be sub-partitioned.partitionExpression
- The partition's partitionExpression if is is going to be sub-partitioned.- Returns:
- The
Partition
-
ensureHashPartitionExists
Ensures that a HASH partition exists.- Parameters:
name
- The partition's name.modulus
- The HASH partition's 'modulus'.remainder
- The HASH partition's 'remainder'.- Returns:
- The
Partition
-
ensureListPartitionExists
Ensures that a LIST partition exists.- Parameters:
name
- The partition's name.in
- The LIST partition's 'in' clause.- Returns:
- The
Partition
-
ensureListPartitionWithSubPartitionExists
public Partition ensureListPartitionWithSubPartitionExists(String name, String in, PartitionType partitionType, String partitionExpression) Ensures that a LIST partition exists.- Parameters:
name
- The partition's name.in
- The LIST partition's 'in' clause.partitionType
- The partition'sPartitionType
if it is going to be sub-partitioned.partitionExpression
- The partition's partitionExpression if it is going to be sub-partitioned.- Returns:
- The
Partition
-
ensureHashPartitionWithSubPartitionExists
public Partition ensureHashPartitionWithSubPartitionExists(String name, Integer modulus, Integer remainder, PartitionType partitionType, String partitionExpression) Ensures that a HASH partition exists.- Parameters:
name
- The partition's name.modulus
- The HASH partition's 'modulus' clause.remainder
- The HASH partition's 'remainder' clause.partitionType
- The partition'sPartitionType
if it is going to be sub-partitioned.partitionExpression
- The partition's partitionExpression if it is going to be sub-partitioned.- Returns:
- The
Partition
-
isCommitted
public boolean isCommitted()- Specified by:
isCommitted
in interfaceTopologyInf
-
isRangePartition
public boolean isRangePartition() -
isListPartition
public boolean isListPartition() -
isHashPartition
public boolean isHashPartition() -
isPartition
public boolean isPartition() -
ensureIndexExists
-
getSchema
-
getTopology
-
getLabel
-
getName
- Specified by:
getName
in interfaceTopologyInf
-
getFullName
-
getPartitionType
-
getPartitionExpression
-
setPartitionType
-
setPartitionExpression
-
getPartition
Does a recursive search for a partition with the given name.- Parameters:
name
- The partition to returns name.- Returns:
- The partition as an Optional.
-
getPartitions
-
getProperties
-
getIdentifiers
-
getProperty
-
getIndexes
-
getIndex
-
equals
-
validateTopology
protected abstract List<Topology.TopologyValidationError> validateTopology(DatabaseMetaData metadata) throws SQLException - Throws:
SQLException
-
getPrefix
-
internalUpdatePropertyDefinition
protected void internalUpdatePropertyDefinition(PropertyColumn propertyColumn, PropertyDefinition propertyDefinition, PropertyDefinition currentPropertyDefinition, String name, PropertyColumn copy) -
removePartition
-
hasIDPrimaryKey
public boolean hasIDPrimaryKey() -
ensureDistributed
public void ensureDistributed(int shardCount, PropertyColumn distributionPropertyColumn, AbstractLabel colocate) -
isDistributed
public boolean isDistributed() -
getDistributionPropertyColumn
-
getDistributionColocate
-
getShardCount
public int getShardCount()
-