27 #include "../core/translator/Translator.h" 28 #include "../dataaccess/dataset/DataSetType.h" 29 #include "../geometry/Envelope.h" 76 const std::string& ,
const std::string& ,
80 return std::unique_ptr<te::da::DataSet>(
nullptr);
84 const std::string& ,
const std::string& ,
88 return std::unique_ptr<te::da::DataSet>(
nullptr);
95 return std::unique_ptr<te::da::DataSet>(
nullptr);
102 return std::unique_ptr<te::da::DataSet>(
nullptr);
116 return std::unique_ptr<te::da::PreparedQuery>();
121 return std::unique_ptr<te::da::BatchExecutor>();
135 return std::string(value);
205 const std::string& propertyName,
206 const std::string& newPropertyName)
214 return std::unique_ptr<te::da::PrimaryKey>();
232 return std::unique_ptr<te::da::ForeignKey>();
237 return std::vector<std::string>();
255 return std::unique_ptr<te::da::UniqueKey>();
260 return std::vector<std::string>();
278 return std::unique_ptr<te::da::CheckConstraint>();
283 return std::vector<std::string>();
301 return std::unique_ptr<te::da::Index>();
306 return std::vector<std::string>();
315 const std::map<std::string, std::string>& )
325 return std::unique_ptr<te::da::Sequence>();
330 return std::vector<std::string>();
349 return std::unique_ptr<te::gm::Envelope>();
355 return std::unique_ptr<te::gm::Envelope>();
379 const std::string& cloneName,
380 const std::map<std::string, std::string>& options)
397 const std::map<std::string, std::string>& options,
400 m_ds->
add(datasetName, d, options, limit);
410 const std::vector<std::size_t>& properties,
412 const std::map<std::string, std::string>& options,
415 m_ds->
update(datasetName, dataset, properties, oids, options, limit);
std::size_t getNumberOfProperties(const std::string &datasetName)
It gets the number of properties of the given dataset.
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::size_t getNumberOfItems(const std::string &datasetName)
It retrieves the number of items of the given dataset.
An implementation of the Transactor class for the Memory Data Access driver.
std::size_t getNumberOfProperties(const std::string &datasetName)
It gets the number of properties of the given dataset.
std::vector< std::string > getDataSetNames()
It It gets the dataset names available in the data source.
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::PrimaryKey > getPrimaryKey(const std::string &datasetName)
It retrieves the primary key of 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::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given dataset.
bool dataSetExists(const std::string &name)
It checks if a dataset with the given name exists in the data source.
A class that models the description of a dataset.
bool isDataSetNameValid(const std::string &datasetName)
It returns true if the given string is a valid dataset name.
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.
std::unique_ptr< te::da::DataSet > query(const te::da::Select &q, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false)
bool uniqueKeyExists(const std::string &datasetName, const std::string &name)
It checks if a unique key with the given name exists in the dataset.
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
std::unique_ptr< te::da::DataSetType > getDataSetType(const std::string &name)
It gets information about the given dataset.
void dropUniqueKey(const std::string &datasetName, const std::string &name)
It removes the unique key constraint from the dataset.
An exception class for the TerraLib In-Memory Data Access driver.
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the 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::da::DataSet > getDataSet(const std::string &name, te::common::TraverseType travType=te::common::FORWARDONLY, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It gets the dataset identified by the given name. This method always returns a disconnected dataset...
SpatialRelation
Spatial relations between geometric objects.
It describes a sequence (a number generator).
bool hasDataSets()
It checks if the data source has any dataset.
bool hasDataSets()
It checks if the data source has any 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.
DataSource * m_ds
The associated data source.
static te::dt::Date ds(2010, 01, 01)
A class that describes a check constraint.
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
void dropForeignKey(const std::string &datasetName, const std::string &fkName)
It removes the foreign key constraint from the dataset schema.
std::size_t getNumberOfItems(const std::string &datasetName)
It retrieves the number of items of the given dataset.
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...
bool dataSetExists(const std::string &name)
It checks if a dataset with the given name exists in the data source.
bool isInTransaction() const
It returns true if a transaction is in progress, otherwise, it returns false.
It models a property definition.
void addCheckConstraint(const std::string &datasetName, te::da::CheckConstraint *cc)
It adds a check constraint to the dataset.
void addForeignKey(const std::string &datasetName, te::da::ForeignKey *fk)
It adds a foreign key constraint to a dataset.
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.
Transactor(DataSource *ds)
Constructor.
std::unique_ptr< te::da::ForeignKey > getForeignKey(const std::string &datasetName, const std::string &name)
It retrieves the foreign key from the given dataset.
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.
bool propertyExists(const std::string &datasetName, const std::string &name)
It checks if a property with the given name exists in the dataset.
void dropDataSet(const std::string &name)
It removes the dataset schema from the data source.
void execute(const te::da::Query &command)
It executes the specified command using a generic query representation.
TraverseType
A dataset can be traversed in two ways:
void begin()
It starts a new transaction.
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 cancel()
It requests that the data source stop the processing of the current command.
std::vector< std::string > getForeignKeyNames(const std::string &datasetName)
It gets the foreign key names of the given dataset.
void add(const std::string &datasetName, te::da::DataSet *d, const std::map< std::string, std::string > &options, std::size_t limit)
It adds data items to the dataset in the data source.
An Envelope defines a 2D rectangular region.
bool sequenceExists(const std::string &name)
It checks if a sequence with the given name exists in the data source.
This class represents a set of unique ids created in the same context. i.e. from the same data set...
std::vector< std::string > getIndexNames(const std::string &datasetName)
It gets the index names of the given dataset.
void renameDataSet(const std::string &name, const std::string &newName)
It renames a dataset.
void commit()
It commits the transaction.
std::vector< std::string > getCheckConstraintNames(const std::string &datasetName)
It gets the check constraint names of the given dataset.
void renameProperty(const std::string &datasetName, const std::string &propertyName, const std::string &newPropertyName)
It renames a property of the given dataset.
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.
static te::dt::DateTime d(2010, 8, 9, 15, 58, 39)
static te::dt::TimeDuration dt(20, 30, 50, 11)
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.
It models a foreign key constraint for a DataSetType.
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.
bool indexExists(const std::string &datasetName, const std::string &name)
It checks if an index with the given name exists in the dataset.
It describes a unique key (uk) constraint.
void dropIndex(const std::string &datasetName, const std::string &idxName)
It removes the index from the dataset schema.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
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.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
void rollBack()
It aborts the transaction. Any changes will be rolled-back.
void addProperty(const std::string &datasetName, te::dt::Property *p)
It adds a new property to the dataset schema.
A Select models a query to be used when retrieving data from a DataSource.
std::unique_ptr< te::da::Sequence > getSequence(const std::string &name)
It gets the sequence with the given name in the data source.
void renameDataSet(const std::string &name, const std::string &newName)
It renames a dataset.
void dropProperty(const std::string &datasetName, const std::string &name)
It removes a property from 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.
void addPrimaryKey(const std::string &datasetName, te::da::PrimaryKey *pk)
It adds a primary key constraint to the dataset schema.
A dataset is the unit of information manipulated by the data access module of TerraLib.
std::unique_ptr< te::da::BatchExecutor > getBatchExecutor()
It creates a batch command executor.
void addSequence(te::da::Sequence *sequence)
It creates a new sequence in the data source.
void add(const std::string &datasetName, te::da::DataSet *d, const std::map< std::string, std::string > &options, std::size_t limit=0)
void remove(const std::string &datasetName, const te::da::ObjectIdSet *oids=0)
It removes all the informed items from the dataset.
bool isPropertyNameValid(const std::string &propertyName)
It checks if the given property name is valid.
void dropPrimaryKey(const std::string &datasetName)
It removes the primary key constraint from the dataset schema.
It describes a primary key (pk) constraint.
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, update and delete) that are used repeatedly.
std::vector< std::string > getSequenceNames()
It gets the sequence names available in the data source.
void addProperty(const std::string &datasetName, te::dt::Property *p)
It adds a new property to the dataset schema.
std::unique_ptr< te::da::DataSetType > getDataSetType(const std::string &datasetName)
It gets information about the given dataset.
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.
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the dataset.
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
std::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given dataset.
void dropDataSet(const std::string &name)
It removes the dataset schema from the data source.
std::vector< std::string > getDataSetNames()
It gets the dataset names available in the data source.
void dropCheckConstraint(const std::string &datasetName, const std::string &name)
It removes the check constraint from the dataset.
void renameProperty(const std::string &datasetName, const std::string &name, const std::string &newName)
It renames a property of the given dataset.
Implementation of a random-access dataset class for the TerraLib In-Memory Data Access driver...
void dropSequence(const std::string &name)
It removes the sequence from the data source.
std::vector< std::string > getUniqueKeyNames(const std::string &datasetName)
It gets the unique key names of the given dataset.
void remove(const std::string &datasetName, const te::da::ObjectIdSet *oids)
It removes all the informed items from the dataset.
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 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.
bool primaryKeyExists(const std::string &datasetName, const std::string &name)
It checks if a primary key exists in the dataset.
A Query is independent from the data source language/dialect.
It describes an index associated to a DataSetType.
te::da::DataSource * getDataSource() const
It returns the parent data source of the transactor.
void dropProperty(const std::string &datasetName, const std::string &propertyName)
It removes a property from the given dataset.
void addUniqueKey(const std::string &datasetName, te::da::UniqueKey *uk)
It adds a unique key constraint to the dataset.
boost::int64_t getLastGeneratedId()
It returns the last id generated by an insertion command.