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
Linear Supertypes
HasGeoMesaStats, MetadataBackedDataStore, LazyLogging, DistributedLocking, HasGeoMesaFeatureReader, HasGeoMesaMetadata[String], DataStore, DataAccess[SimpleFeatureType, SimpleFeature], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GeoMesaDataStore
  2. HasGeoMesaStats
  3. MetadataBackedDataStore
  4. LazyLogging
  5. DistributedLocking
  6. HasGeoMesaFeatureReader
  7. HasGeoMesaMetadata
  8. DataStore
  9. DataAccess
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GeoMesaDataStore(config: GeoMesaDataStoreConfig)

    config

    common datastore configuration options - subclasses can extend this

Abstract Value Members

  1. abstract def adapter: IndexAdapter[DS]
  2. abstract def metadata: GeoMesaMetadata[String]
    Definition Classes
    HasGeoMesaMetadata
  3. abstract def stats: GeoMesaStats
    Definition Classes
    HasGeoMesaStats

Concrete Value Members

  1. 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

  2. val config: GeoMesaDataStoreConfig
  3. 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)

  4. 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.

  5. def dispose(): Unit

    Cleanup any open connections, etc.

    Cleanup any open connections, etc. Equivalent to java.io.Closeable.close()

    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#dispose()

  6. 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

  7. 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

  8. def getClientVersion: SemanticVersion

    Gets the geomesa version

    Gets the geomesa version

    returns

    client version

  9. def getDistributedVersion: Option[SemanticVersion]

    Gets the geomesa version

    Gets the geomesa version

    returns

    iterator version, if data store has iterators

  10. 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)

  11. 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)

  12. 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)

  13. 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)

  14. 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)

  15. 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)

  16. 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

  17. def getInfo(): ServiceInfo

    returns

    service info

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#getInfo()

  18. 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()

  19. def getNames(): List[Name]

    returns

    existing simple feature type names

    Definition Classes
    MetadataBackedDataStore → DataAccess
    See also

    org.geotools.data.DataAccess#getNames()

  20. 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

  21. def getSchema(typeName: String): SimpleFeatureType

    typeName

    feature type name

    returns

    feature type, or null if it does not exist

    Definition Classes
    GeoMesaDataStoreMetadataBackedDataStore → DataStore
    See also

    org.geotools.api.data.DataStore#getSchema(java.lang.String)

  22. 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)

  23. def getTypeNames(): Array[String]

    returns

    existing simple feature type names

    Definition Classes
    MetadataBackedDataStore → DataStore
    See also

    org.geotools.api.data.DataStore#getTypeNames()

  24. val manager: IndexManager
  25. val queryPlanner: QueryPlanner[DS]
  26. 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)

  27. 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)

  28. 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)

  29. 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)