Go to the documentation of this file.
26 #ifndef __TERRALIB_MEMORY_INTERNAL_TRANSACTOR_H
27 #define __TERRALIB_MEMORY_INTERNAL_TRANSACTOR_H
30 #include "../dataaccess/datasource/DataSourceTransactor.h"
74 std::unique_ptr<te::da::DataSet>
getDataSet(
const std::string& name,
76 bool connected =
false);
78 std::unique_ptr<te::da::DataSet>
getDataSet(
const std::string& name,
79 const std::string& propertyName,
83 bool connected =
false);
85 std::unique_ptr<te::da::DataSet>
getDataSet(
const std::string& name,
86 const std::string& propertyName,
90 bool connected =
false);
94 bool connected =
false);
96 std::unique_ptr<te::da::DataSet>
query(
const std::string& query,
98 bool connected =
false);
104 std::unique_ptr<te::da::PreparedQuery>
getPrepared(
const std::string& qName = std::string(
""));
112 std::string
escape(
const std::string& value);
124 boost::ptr_vector<te::dt::Property>
getProperties(
const std::string& datasetName);
126 std::unique_ptr<te::dt::Property>
getProperty(
const std::string& datasetName,
const std::string& name);
128 std::unique_ptr<te::dt::Property>
getProperty(
const std::string& datasetName, std::size_t propertyPos);
138 void dropProperty(
const std::string& datasetName,
const std::string& name);
141 const std::string& propertyName,
142 const std::string& newPropertyName);
144 std::unique_ptr<te::da::PrimaryKey>
getPrimaryKey(
const std::string& datasetName);
152 std::unique_ptr<te::da::ForeignKey>
getForeignKey(
const std::string& datasetName,
const std::string& name);
162 std::unique_ptr<te::da::UniqueKey>
getUniqueKey(
const std::string& datasetName,
const std::string& name);
170 void dropUniqueKey(
const std::string& datasetName,
const std::string& name);
172 std::unique_ptr<te::da::CheckConstraint>
getCheckConstraint(
const std::string& datasetName,
const std::string& name);
182 std::unique_ptr<te::da::Index>
getIndex(
const std::string& datasetName,
const std::string& name);
186 bool indexExists(
const std::string& datasetName,
const std::string& name);
189 const std::map<std::string, std::string>& options);
191 void dropIndex(
const std::string& datasetName,
const std::string& idxName);
193 std::unique_ptr<te::da::Sequence>
getSequence(
const std::string& name);
203 std::unique_ptr<te::gm::Envelope>
getExtent(
const std::string& datasetName,
204 const std::string& propertyName);
206 std::unique_ptr<te::gm::Envelope>
getExtent(
const std::string& datasetName,
207 std::size_t propertyPos);
218 const std::string& cloneName,
219 const std::map<std::string, std::string>& options);
225 void add(
const std::string& datasetName,
227 const std::map<std::string, std::string>& options,
228 std::size_t limit = 0);
232 void update(
const std::string& datasetName,
234 const std::vector<std::size_t>& properties,
236 const std::map<std::string, std::string>& options,
237 std::size_t limit = 0);
239 void optimize(
const std::map<std::string, std::string>& opInfo);
249 #endif // __TERRALIB_MEMORY_INTERNAL_TRANSACTOR_H
std::vector< std::string > getForeignKeyNames(const std::string &datasetName)
It gets the foreign key names of the given dataset.
An Envelope defines a 2D rectangular region.
void addUniqueKey(const std::string &datasetName, te::da::UniqueKey *uk)
It adds a unique key constraint to the dataset.
A class that describes a check constraint.
std::unique_ptr< te::dt::Property > getProperty(const std::string &datasetName, const std::string &name)
It retrieves the property with the given name from the dataset.
void addIndex(const std::string &datasetName, te::da::Index *idx, const std::map< std::string, std::string > &options)
It adds an index to the dataset.
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, const std::string &propertyName, const te::gm::Geometry *g, te::gm::SpatialRelation r, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false)
bool isInTransaction() const
It returns true if a transaction is in progress, otherwise, it returns false.
bool isDataSetNameValid(const std::string &datasetName)
It returns true if the given string is a valid dataset name.
bool uniqueKeyExists(const std::string &datasetName, const std::string &name)
It checks if a unique key with the given name exists in the dataset.
void dropUniqueKey(const std::string &datasetName, const std::string &name)
It removes the unique key constraint from the dataset.
void execute(const std::string &command)
It executes the specifed command in the data source native language.
Data Source for WS OGC WMS.
bool hasDataSets()
It checks if the data source has any dataset.
An implementation of the Transactor class for the Memory Data Access driver.
A Query is independent from the data source language/dialect.
void dropForeignKey(const std::string &datasetName, const std::string &fkName)
It removes the foreign key constraint from the dataset schema.
te::da::DataSource * getDataSource() const
It returns the parent data source of the transactor.
TraverseType
A dataset can be traversed in two ways:
It describes an index associated to a DataSetType.
bool dataSetExists(const std::string &name)
It checks if a dataset with the given name exists in the data source.
std::unique_ptr< te::da::Sequence > getSequence(const std::string &name)
It gets the sequence with the given name in the data source.
std::vector< std::string > getUniqueKeyNames(const std::string &datasetName)
It gets the unique key names of the given dataset.
DataSource * m_ds
The associated data source.
std::size_t getNumberOfItems(const std::string &datasetName)
It retrieves the number of items of the given dataset.
void execute(const te::da::Query &command)
It executes the specified command using a generic query representation.
void optimize(const std::map< std::string, std::string > &opInfo)
For some data access drivers, this method will perform some operations to optimize the data storage.
void addCheckConstraint(const std::string &datasetName, te::da::CheckConstraint *cc)
It adds a check constraint to the dataset.
std::vector< std::string > getIndexNames(const std::string &datasetName)
It gets the index names of the given dataset.
void addForeignKey(const std::string &datasetName, te::da::ForeignKey *fk)
It adds a foreign key constraint to a dataset.
Transactor(DataSource *ds)
Constructor.
bool checkConstraintExists(const std::string &datasetName, const std::string &name)
It checks if a check-constraint with the given name exists in the data source.
void commit()
It commits the transaction.
A DataSourceTransactor can be viewed as a connection to the data source for reading/writing things in...
void begin()
It starts a new transaction.
std::vector< std::string > getCheckConstraintNames(const std::string &datasetName)
It gets the check constraint names of the given dataset.
void cancel()
It requests that the data source stop the processing of the current command.
It models a foreign key constraint for a DataSetType.
SpatialRelation
Spatial relations between geometric objects.
bool sequenceExists(const std::string &name)
It checks if a sequence with the given name exists in the data source.
void dropIndex(const std::string &datasetName, const std::string &idxName)
It removes the index from the dataset schema.
void renameProperty(const std::string &datasetName, const std::string &propertyName, const std::string &newPropertyName)
It renames a property of the given dataset.
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, const std::string &propertyName, const te::gm::Envelope *e, te::gm::SpatialRelation r, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false)
std::string escape(const std::string &value)
It escapes a string for using in commands and queries.
bool foreignKeyExists(const std::string &datasetName, const std::string &name)
It checks if a foreign key with the given name exists in the data source.
void createDataSet(te::da::DataSetType *dt, const std::map< std::string, std::string > &options)
It creates the dataset schema definition in the target data source.
void rollBack()
It aborts the transaction. Any changes will be rolled-back.
void update(const std::string &datasetName, te::da::DataSet *dataset, const std::vector< std::size_t > &properties, const te::da::ObjectIdSet *oids, const std::map< std::string, std::string > &options, std::size_t limit=0)
It updates the contents of a dataset for the set of data items.
void dropProperty(const std::string &datasetName, const std::string &name)
It removes a property from the given dataset.
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false)
std::unique_ptr< te::dt::Property > getProperty(const std::string &datasetName, std::size_t propertyPos)
It retrieves the property lying in the given position from the dataset.
bool indexExists(const std::string &datasetName, const std::string &name)
It checks if an index with the given name exists in the dataset.
std::unique_ptr< te::da::PrimaryKey > getPrimaryKey(const std::string &datasetName)
It retrieves the primary key of the dataset.
std::unique_ptr< te::da::DataSet > query(const te::da::Select &q, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false)
void add(const std::string &datasetName, te::da::DataSet *d, const std::map< std::string, std::string > &options, std::size_t limit=0)
std::unique_ptr< te::da::Index > getIndex(const std::string &datasetName, const std::string &name)
It gets the index with the given name from the dataset.
void dropPrimaryKey(const std::string &datasetName)
It removes the primary key constraint from the dataset schema.
std::vector< std::string > getDataSetNames()
It It gets the dataset names available in the data source.
void renameDataSet(const std::string &name, const std::string &newName)
It renames a dataset.
std::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given dataset.
bool propertyExists(const std::string &datasetName, const std::string &name)
It checks if a property with the given name exists in the dataset.
std::unique_ptr< te::da::PreparedQuery > getPrepared(const std::string &qName=std::string(""))
It creates a prepared query object that may be used for query commands (select, insert,...
void addPrimaryKey(const std::string &datasetName, te::da::PrimaryKey *pk)
It adds a primary key constraint to the dataset schema.
std::unique_ptr< te::gm::Envelope > getExtent(const std::string &datasetName, const std::string &propertyName)
It retrieves the bounding rectangle of the spatial property for the given dataset.
void addProperty(const std::string &datasetName, te::dt::Property *p)
It adds a new property to the dataset schema.
#define TEMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
std::vector< std::string > getSequenceNames()
It gets the sequence names available in the data source.
A Select models a query to be used when retrieving data from a DataSource.
It describes a unique key (uk) constraint.
void addSequence(te::da::Sequence *sequence)
It creates a new sequence in the data source.
std::unique_ptr< te::da::ForeignKey > getForeignKey(const std::string &datasetName, const std::string &name)
It retrieves the foreign key from the given dataset.
void remove(const std::string &datasetName, const te::da::ObjectIdSet *oids=0)
It removes all the informed items from the dataset.
An abstract class for data providers like a DBMS, Web Services or a regular file.
bool isPropertyNameValid(const std::string &propertyName)
It checks if the given property name is valid.
std::unique_ptr< te::gm::Envelope > getExtent(const std::string &datasetName, std::size_t propertyPos)
It retrieves the bounding rectangle for the spatial property lying in the given position in the datas...
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
It models a property definition.
A dataset is the unit of information manipulated by the data access module of TerraLib.
It describes a sequence (a number generator).
Proxy configuration file for TerraView (see terraview_config.h).
std::unique_ptr< te::da::CheckConstraint > getCheckConstraint(const std::string &datasetName, const std::string &name)
It gets the check constraint of the dataset with the given name.
void dropCheckConstraint(const std::string &datasetName, const std::string &name)
It removes the check constraint from the dataset.
void dropSequence(const std::string &name)
It removes the sequence from the data source.
It describes a primary key (pk) constraint.
std::unique_ptr< te::da::UniqueKey > getUniqueKey(const std::string &datasetName, const std::string &name)
It gets the unique key in the dataset with the given name.
void cloneDataSet(const std::string &name, const std::string &cloneName, const std::map< std::string, std::string > &options)
It clones the dataset in the data source.
A class that models the description of a dataset.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
void dropDataSet(const std::string &name)
It removes the dataset schema from the data source.
boost::int64_t getLastGeneratedId()
It returns the last id generated by an insertion command.
std::unique_ptr< te::da::DataSet > query(const std::string &query, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false)
std::size_t getNumberOfProperties(const std::string &datasetName)
It gets the number of properties of the given dataset.
std::unique_ptr< te::da::BatchExecutor > getBatchExecutor()
It creates a batch command executor.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver.
This class represents a set of unique ids created in the same context. i.e. from the same data set.
std::unique_ptr< te::da::DataSetType > getDataSetType(const std::string &name)
It gets information about the given dataset.
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the dataset.
bool primaryKeyExists(const std::string &datasetName, const std::string &name)
It checks if a primary key exists in the dataset.