abstract class GeoMesaDataStore[DS <: GeoMesaDataStore[DS]] extends MetadataBackedDataStore with HasGeoMesaStats
Abstract base class for data store implementations on top of distributed databases
- DS
type of this data store
- Self Type
- DS
- Alphabetic
- By Inheritance
- GeoMesaDataStore
- HasGeoMesaStats
- MetadataBackedDataStore
- LazyLogging
- DistributedLocking
- HasGeoMesaFeatureReader
- HasGeoMesaMetadata
- DataStore
- DataAccess
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
GeoMesaDataStore(config: GeoMesaDataStoreConfig)
- config
common datastore configuration options - subclasses can extend this
Abstract Value Members
- abstract def adapter: IndexAdapter[DS]
-
abstract
def
metadata: GeoMesaMetadata[String]
- Definition Classes
- HasGeoMesaMetadata
-
abstract
def
stats: GeoMesaStats
- Definition Classes
- HasGeoMesaStats
Concrete Value Members
-
def
checkSchemaCompatibility(typeName: String, sft: SimpleFeatureType): SchemaCompatibility
Checks a simple feature type against an existing schema
Checks a simple feature type against an existing schema
- typeName
type name
- sft
udpated simple feature type
- val config: GeoMesaDataStoreConfig
-
def
createSchema(schema: SimpleFeatureType): Unit
Validates the schema and writes metadata to catalog.If the schema already exists, continue without error.
Validates the schema and writes metadata to catalog.If the schema already exists, continue without error.
This method uses distributed locking to ensure a schema is only created once.
- schema
type to create
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#createSchema(org.geotools.api.feature.type.FeatureType)
-
def
delete(): Unit
Optimized method to delete everything (all tables) associated with this datastore (index tables and catalog table) NB: We are *not* currently deleting the query table and/or query information.
-
def
dispose(): Unit
Cleanup any open connections, etc.
Cleanup any open connections, etc. Equivalent to java.io.Closeable.close()
- Definition Classes
- GeoMesaDataStore → MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#dispose()
-
def
getAllIndexTableNames(typeName: String): Seq[String]
Returns all index tables that may be created for the simple feature type.
Returns all index tables that may be created for the simple feature type. Note that some of these tables may be shared with other simple feature types, and the tables may not all currently exist.
- typeName
simple feature type name
-
def
getAllTableNames(typeName: String): Seq[String]
Returns all tables that may be created for the simple feature type.
Returns all tables that may be created for the simple feature type. Note that some of these tables may be shared with other simple feature types, and the tables may not all currently exist.
- typeName
simple feature type name
-
def
getClientVersion: SemanticVersion
Gets the geomesa version
Gets the geomesa version
- returns
client version
-
def
getDistributedVersion: Option[SemanticVersion]
Gets the geomesa version
Gets the geomesa version
- returns
iterator version, if data store has iterators
-
def
getFeatureReader(query: Query, transaction: Transaction): SimpleFeatureReader
- query
query to execute
- transaction
transaction to use (currently ignored)
- returns
feature reader
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getFeatureReader(org.geotools.api.data.Query, org.geotools.api.data.Transaction)
-
def
getFeatureSource(typeName: String): GeoMesaFeatureStore
- typeName
simple feature type name
- returns
featureStore, suitable for reading and writing
- Definition Classes
- GeoMesaDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getFeatureSource(java.lang.String)
-
def
getFeatureSource(typeName: Name): SimpleFeatureSource
- typeName
simple feature type name
- returns
featureStore, suitable for reading and writing
- Definition Classes
- MetadataBackedDataStore → DataStore → DataAccess
- See also
org.geotools.api.data.DataStore#getFeatureSource(java.lang.String)
-
def
getFeatureWriter(typeName: String, filter: Filter, transaction: Transaction): FlushableFeatureWriter
Create a general purpose writer that is capable of updates and deletes.
Create a general purpose writer that is capable of updates and deletes. Does not allow inserts.
- typeName
feature type name
- filter
cql filter to select features for update/delete
- transaction
transaction (currently ignored)
- returns
feature writer
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getFeatureWriter(java.lang.String, org.geotools.api.filter.Filter, org.geotools.api.data.Transaction)
-
def
getFeatureWriter(typeName: String, transaction: Transaction): FlushableFeatureWriter
Create a general purpose writer that is capable of updates and deletes.
Create a general purpose writer that is capable of updates and deletes. Does not allow inserts. Will return all existing features.
- typeName
feature type name
- transaction
transaction (currently ignored)
- returns
feature writer
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getFeatureWriter(java.lang.String, org.geotools.api.data.Transaction)
-
def
getFeatureWriterAppend(typeName: String, transaction: Transaction): FlushableFeatureWriter
Creates a feature writer only for writing - does not allow updates or deletes.
Creates a feature writer only for writing - does not allow updates or deletes.
- typeName
feature type name
- transaction
transaction (currently ignored)
- returns
feature writer
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getFeatureWriterAppend(java.lang.String, org.geotools.api.data.Transaction)
-
def
getIndexWriterAppend(typeName: String, indices: Seq[GeoMesaFeatureIndex[_, _]]): FlushableFeatureWriter
Writes to the specified indices
Writes to the specified indices
- typeName
feature type name
- indices
indices to write
-
def
getInfo(): ServiceInfo
- returns
service info
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#getInfo()
-
def
getLockingManager(): LockingManager
We always return null, which indicates that we are handling transactions ourselves.
We always return null, which indicates that we are handling transactions ourselves.
- returns
locking manager - null
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getLockingManager()
-
def
getNames(): List[Name]
- returns
existing simple feature type names
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#getNames()
-
def
getQueryPlan(query: Query, index: Option[String] = None, explainer: Explainer = new ExplainLogging): Seq[QueryPlan[DS]]
Gets the query plan for a given query.
Gets the query plan for a given query. The query plan consists of the tables, ranges, iterators etc required to run a query against the data store.
- query
query to execute
- index
hint on the index to use to satisfy the query
- returns
query plans
-
def
getSchema(typeName: String): SimpleFeatureType
- typeName
feature type name
- returns
feature type, or null if it does not exist
- Definition Classes
- GeoMesaDataStore → MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getSchema(java.lang.String)
-
def
getSchema(name: Name): SimpleFeatureType
- name
feature type name
- returns
feature type, or null if it does not exist
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#getSchema(org.geotools.api.feature.type.Name)
-
def
getTypeNames(): Array[String]
- returns
existing simple feature type names
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#getTypeNames()
- val manager: IndexManager
- val queryPlanner: QueryPlanner[DS]
-
def
removeSchema(typeName: Name): Unit
- typeName
simple feature type name
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#removeSchema(org.geotools.api.feature.type.Name)
-
def
removeSchema(typeName: String): Unit
Deletes the schema metadata
Deletes the schema metadata
- typeName
simple feature type name
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#removeSchema(java.lang.String)
-
def
updateSchema(typeName: Name, schema: SimpleFeatureType): Unit
Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data
Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data
Other modifications are not supported.
- typeName
simple feature type name
- schema
new simple feature type
- Definition Classes
- MetadataBackedDataStore → DataAccess
- See also
org.geotools.data.DataAccess#updateSchema(org.geotools.api.feature.type.Name, org.geotools.api.feature.type.FeatureType)
-
def
updateSchema(typeName: String, sft: SimpleFeatureType): Unit
Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data
Allows the following modifications to the schema: renaming the feature type renaming attributes appending new attributes enabling/disabling indices through RichSimpleFeatureType.setIndexVersion modifying keywords through user-data
Other modifications are not supported.
- typeName
simple feature type name
- sft
new simple feature type
- Definition Classes
- MetadataBackedDataStore → DataStore
- See also
org.geotools.api.data.DataStore#updateSchema(java.lang.String, org.geotools.api.feature.simple.SimpleFeatureType)