Go to the documentation of this file.
   26 #ifndef __TERRALIB_OGR_INTERNAL_TRANSACTOR_H 
   27 #define __TERRALIB_OGR_INTERNAL_TRANSACTOR_H 
   31 #include "../dataaccess/datasource/DataSourceTransactor.h" 
   37   namespace da { 
class DataSetType;}
 
   61         std::unique_ptr<te::da::DataSet> 
getDataSet(
const std::string& name, 
 
   63                                                   bool connected = 
false,
 
   66         std::unique_ptr<te::da::DataSet> 
getDataSet(
const std::string& name,
 
   67                                                   const std::string& propertyName,
 
   71                                                   bool connected = 
false,
 
   74         std::unique_ptr<te::da::DataSet> 
getDataSet(
const std::string& name,
 
   75                                                   const std::string& propertyName,
 
   79                                                   bool connected = 
false,
 
   84                                              bool connected = 
false,
 
   87         std::unique_ptr<te::da::DataSet> 
query(
const std::string& query,
 
   89                                              bool connected = 
false,
 
   96         std::unique_ptr<te::da::PreparedQuery> 
getPrepared(
const std::string& qName = std::string(
""));
 
  104         std::string 
escape(
const std::string& value);
 
  112         std::unique_ptr<te::da::DataSetTypeCapabilities> 
getCapabilities(
const std::string& name);
 
  114         boost::ptr_vector<te::dt::Property> 
getProperties(
const std::string& datasetName);
 
  116         std::unique_ptr<te::dt::Property> 
getProperty(
const std::string& datasetName, 
const std::string& name);
 
  118         std::unique_ptr<te::dt::Property> 
getProperty(
const std::string& datasetName, std::size_t propertyPos);
 
  128         void dropProperty(
const std::string& datasetName, 
const std::string& name);
 
  131                                     const std::string& propertyName,
 
  132                                     const std::string& newPropertyName);
 
  136         std::unique_ptr<te::da::PrimaryKey> 
getPrimaryKey(
const std::string& datasetName);
 
  144         std::unique_ptr<te::da::ForeignKey> 
getForeignKey(
const std::string& datasetName, 
const std::string& name);
 
  154         std::unique_ptr<te::da::UniqueKey> 
getUniqueKey(
const std::string& datasetName, 
const std::string& name);
 
  162         void dropUniqueKey(
const std::string& datasetName, 
const std::string& name);
 
  164         std::unique_ptr<te::da::CheckConstraint> 
getCheckConstraint(
const std::string& datasetName, 
const std::string& name);
 
  174         std::unique_ptr<te::da::Index> 
getIndex(
const std::string& datasetName, 
const std::string& name);
 
  178         bool indexExists(
const std::string& datasetName, 
const std::string& name);
 
  181                               const std::map<std::string, std::string>& options); 
 
  183         void dropIndex(
const std::string& datasetName, 
const std::string& idxName);
 
  185         std::unique_ptr<te::da::Sequence> 
getSequence(
const std::string& name);
 
  195         std::unique_ptr<te::gm::Envelope> 
getExtent(
const std::string& datasetName,
 
  196                                                           const std::string& propertyName);
 
  198         std::unique_ptr<te::gm::Envelope> 
getExtent(
const std::string& datasetName,
 
  199                                                           std::size_t propertyPos);
 
  210                                   const std::string& cloneName,
 
  211                                   const std::map<std::string, std::string>& options);
 
  217         void add(
const std::string& datasetName,
 
  219                          const std::map<std::string, std::string>& options,
 
  220                          std::size_t limit = 0,
 
  221                          bool enableProgress = 
true);
 
  225         void update(
const std::string& datasetName,
 
  227                             const std::vector<std::size_t>& properties,
 
  229                             const std::map<std::string, std::string>& options,
 
  230                             std::size_t limit = 0);
 
  232         virtual void update(
const std::string& datasetName,
 
  234                             const std::vector< std::set<int> >& properties,
 
  235                             const std::vector<size_t>& ids);
 
  238         void optimize(
const std::map<std::string, std::string>& opInfo);
 
  250 #endif //__TERRALIB_OGR_INTERNAL_TRANSACTOR_H 
  
 
void addForeignKey(const std::string &datasetName, te::da::ForeignKey *fk)
It adds a foreign key constraint to a dataset.
 
An Envelope defines a 2D rectangular region.
 
std::size_t getNumberOfItems(const std::string &datasetName)
It retrieves the number of items of the given dataset.
 
A class that describes a check constraint.
 
std::unique_ptr< te::da::DataSet > query(const std::string &query, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It executes a query that may return some data using the data source native language....
 
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 dropProperty(const std::string &datasetName, const std::string &name)
It removes a property from the given dataset.
 
std::vector< std::string > getForeignKeyNames(const std::string &datasetName)
It gets the foreign key names of the given dataset.
 
std::vector< std::string > getUniqueKeyNames(const std::string &datasetName)
It gets the unique key names of the given dataset.
 
boost::int64_t getLastGeneratedId()
It returns the last id generated by an insertion command.
 
void dropCheckConstraint(const std::string &datasetName, const std::string &name)
It removes the check constraint from the dataset.
 
std::unique_ptr< te::da::DataSetType > getDataSetType(const std::string &name)
It gets information about the given dataset.
 
bool isInTransaction() const override
It returns true if a transaction is in progress, otherwise, it returns false.
 
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 dropForeignKey(const std::string &datasetName, const std::string &fkName)
It removes the foreign key constraint from the dataset schema.
 
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::Index > getIndex(const std::string &datasetName, const std::string &name)
It gets the index with the given name from the dataset.
 
bool sequenceExists(const std::string &name)
It checks if a sequence with the given name exists in the data source.
 
void addProperty(const std::string &datasetName, te::dt::Property *p)
It adds a new property to the dataset schema.
 
virtual void update(const std::string &datasetName, te::da::DataSet *dataset, const std::vector< std::set< int > > &properties, const std::vector< size_t > &ids)
It updates the contents of a dataset.
 
A Query is independent from the data source language/dialect.
 
std::size_t getNumberOfProperties(const std::string &datasetName)
It gets the number of properties of the given dataset.
 
TraverseType
A dataset can be traversed in two ways:
 
It describes an index associated to a DataSetType.
 
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.
 
void dropDataSet(const std::string &name)
It removes the dataset schema from the data source.
 
void remove(const std::string &datasetName, const te::da::ObjectIdSet *oids=0)
It removes all the informed items from the dataset.
 
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 renameDataSet(const std::string &name, const std::string &newName)
It renames a dataset.
 
void addPrimaryKey(const std::string &datasetName, te::da::PrimaryKey *pk)
It adds a primary key constraint to the dataset schema.
 
std::string m_putFIDAttributeOption
 
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::ForeignKey > getForeignKey(const std::string &datasetName, const std::string &name)
It retrieves the foreign key from the given dataset.
 
void rollBack() override
It aborts the transaction. Any changes will be rolled-back.
 
bool primaryKeyExists(const std::string &datasetName, const std::string &name)
It checks if a primary key exists in the dataset.
 
Transactor(DataSource *ds)
 
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
 
void dropUniqueKey(const std::string &datasetName, const std::string &name)
It removes the unique key constraint from the dataset.
 
void addCheckConstraint(const std::string &datasetName, te::da::CheckConstraint *cc)
It adds a check constraint to the dataset.
 
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 cancel()
It requests that the data source stop the processing of the current command.
 
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.
 
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 commit() override
It commits the transaction.
 
void changePropertyDefinition(const std::string &datasetName, const std::string &propName, te::dt::Property *newProp)
 
A DataSourceTransactor can be viewed as a connection to the data source for reading/writing things in...
 
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the dataset.
 
std::unique_ptr< te::da::Sequence > getSequence(const std::string &name)
It gets the sequence with the given name in the data source.
 
It models a foreign key constraint for a DataSetType.
 
SpatialRelation
Spatial relations between geometric objects.
 
std::vector< std::string > getIndexNames(const std::string &datasetName)
It gets the index names of the given dataset.
 
std::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given dataset.
 
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It gets the dataset identified by the given name. A dataset can be connected or disconnected....
 
void dropPrimaryKey(const std::string &datasetName)
It removes the primary key constraint from the dataset schema.
 
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.
 
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,...
 
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, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It gets the dataset identified by the given name using a spatial filter over the given geometric prop...
 
te::da::DataSource * getDataSource() const
It returns the parent data source of the transactor.
 
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.
 
std::size_t m_transactionCount
 
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 dropSequence(const std::string &name)
It removes the sequence from the data source.
 
The OGR data source provider.
 
void execute(const te::da::Query &command)
It executes the specified command using a generic query representation.
 
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...
 
void dropIndex(const std::string &datasetName, const std::string &idxName)
It removes the index from the dataset schema.
 
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.
 
#define TEOGREXPORT
You can use this macro in order to export/import classes and functions from this module.
 
std::string escape(const std::string &value)
It escapes a string for using in commands and queries.
 
A Select models a query to be used when retrieving data from a DataSource.
 
It describes a unique key (uk) constraint.
 
An abstract class for data providers like a DBMS, Web Services or a regular file.
 
void addSequence(te::da::Sequence *sequence)
It creates a new sequence in the data source.
 
It models a property definition.
 
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::BatchExecutor > getBatchExecutor()
It creates a batch command executor.
 
A dataset is the unit of information manipulated by the data access module of TerraLib.
 
It describes a sequence (a number generator).
 
std::vector< std::string > getSequenceNames()
It gets the sequence names available in the data source.
 
Proxy configuration file for TerraView (see terraview_config.h).
 
std::unique_ptr< te::da::PrimaryKey > getPrimaryKey(const std::string &datasetName)
It retrieves the primary key of the dataset.
 
std::vector< std::string > getDataSetNames()
It It gets the dataset names available in the data source.
 
It describes a primary key (pk) constraint.
 
void addUniqueKey(const std::string &datasetName, te::da::UniqueKey *uk)
It adds a unique key constraint to 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.
 
A class that models the description of a 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, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It gets the dataset identified by the given name using a spatial filter over the specified property....
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
 
bool hasDataSets()
It checks if the data source has any dataset.
 
std::unique_ptr< te::da::DataSetTypeCapabilities > getCapabilities(const std::string &name)
It gets capabilities about a data set.
 
std::vector< std::string > getCheckConstraintNames(const std::string &datasetName)
It gets the check constraint names of the given dataset.
 
std::unique_ptr< te::da::DataSet > query(const te::da::Select &q, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It executes a query that may return some data using a generic query. A dataset can be connected or di...
 
This file contains include headers for the memory data source of TerraLib.
 
AccessPolicy
Supported data access policies (can be used as bitfield).
 
void add(const std::string &datasetName, te::da::DataSet *d, const std::map< std::string, std::string > &options, std::size_t limit=0, bool enableProgress=true)
It adds data items to the dataset in the data source.
 
bool propertyExists(const std::string &datasetName, const std::string &name)
It checks if a property with the given name exists in the dataset.
 
This class represents a set of unique ids created in the same context. i.e. from the same data set.
 
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 begin() override
It starts a new transaction.
 
void execute(const std::string &command)
It executes the specifed command in the data source native language.