Transactor.h
Go to the documentation of this file.
1 /* Copyright (C) 2008 National Institute For Space Research (INPE) - Brazil.
2 
3  This file is part of the TerraLib - a Framework for building GIS enabled applications.
4 
5  TerraLib is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  TerraLib is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with TerraLib. See COPYING. If not, write to
17  TerraLib Team at <terralib-team@terralib.org>.
18 */
19 
20 /*!
21  \file terralib/stmemory/Transactor.h
22 
23  \brief An implementation of DataSourceTransactor class for the ST In-memory driver.
24 */
25 
26 #ifndef __TERRALIB_STMEMORY_INTERNAL_TRANSACTOR_H
27 #define __TERRALIB_STMEMORY_INTERNAL_TRANSACTOR_H
28 
29 // TerraLib
30 #include "../dataaccess/datasource/DataSourceTransactor.h"
31 #include "Config.h"
32 
33 namespace te { namespace dt { class DateTimePeriod; } }
34 
35 namespace te
36 {
37  namespace stmem
38  {
39  // Forward declaration
40  class DataSource;
41 
42  /*!
43  \class Transactor
44 
45  \brief An implementation of DataSourceTransactor class for the ST in-memory driver.
46 
47  \sa te::da::DataSourceTransactor
48  */
50  {
51  public:
52 
53  /*!
54  \brief It constructs a Transactor.
55  */
57 
58  /*!
59  \brief It constructs a Transactor.
60  */
62 
63  /** @name inherited methods
64  *
65  */
66  //@{
67 
69 
70  void begin();
71 
72  void commit();
73 
74  void rollBack();
75 
76  bool isInTransaction() const;
77 
78  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
80  bool connected = false,
81  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
82 
83  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
84  const std::string& propertyName,
85  const te::gm::Envelope* e,
88  bool connected = false,
89  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
90 
91  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
92  const std::string& propertyName,
93  const te::gm::Geometry* g,
96  bool connected = false,
97  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
98 
99  std::unique_ptr<te::da::DataSet> query(const te::da::Select& q,
101  bool connected = false,
102  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
103 
104  std::unique_ptr<te::da::DataSet> query(const std::string& query,
106  bool connected = false,
107  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
108 
109  void execute(const te::da::Query& command);
110 
111  void execute(const std::string& command);
112 
113  std::unique_ptr<te::da::PreparedQuery> getPrepared(const std::string& qName = std::string(""));
114 
115  std::unique_ptr<te::da::BatchExecutor> getBatchExecutor();
116 
117  void cancel();
118 
119  boost::int64_t getLastGeneratedId();
120 
121  std::string escape(const std::string& value);
122 
123  bool isDataSetNameValid(const std::string& datasetName);
124 
125  bool isPropertyNameValid(const std::string& propertyName);
126 
127  std::vector<std::string> getDataSetNames();
128 
129  std::size_t getNumberOfDataSets();
130 
131  std::unique_ptr<te::da::DataSetType> getDataSetType(const std::string& name);
132 
133  boost::ptr_vector<te::dt::Property> getProperties(const std::string& datasetName);
134 
135  std::unique_ptr<te::dt::Property> getProperty(const std::string& datasetName, const std::string& name);
136 
137  std::unique_ptr<te::dt::Property> getProperty(const std::string& datasetName, std::size_t propertyPos);
138 
139  std::vector<std::string> getPropertyNames(const std::string& datasetName);
140 
141  std::size_t getNumberOfProperties(const std::string& datasetName);
142 
143  bool propertyExists(const std::string& datasetName, const std::string& name);
144 
145  void addProperty(const std::string& datasetName, te::dt::Property* p);
146 
147  void dropProperty(const std::string& datasetName, const std::string& name);
148 
149  void renameProperty(const std::string& datasetName,
150  const std::string& propertyName,
151  const std::string& newPropertyName);
152 
153  std::unique_ptr<te::da::PrimaryKey> getPrimaryKey(const std::string& datasetName);
154 
155  bool primaryKeyExists(const std::string& datasetName, const std::string& name);
156 
157  void addPrimaryKey(const std::string& datasetName, te::da::PrimaryKey* pk);
158 
159  void dropPrimaryKey(const std::string& datasetName);
160 
161  std::unique_ptr<te::da::ForeignKey> getForeignKey(const std::string& datasetName, const std::string& name);
162 
163  std::vector<std::string> getForeignKeyNames(const std::string& datasetName);
164 
165  bool foreignKeyExists(const std::string& datasetName, const std::string& name);
166 
167  void addForeignKey(const std::string& datasetName, te::da::ForeignKey* fk);
168 
169  void dropForeignKey(const std::string& datasetName, const std::string& fkName);
170 
171  std::unique_ptr<te::da::UniqueKey> getUniqueKey(const std::string& datasetName, const std::string& name);
172 
173  std::vector<std::string> getUniqueKeyNames(const std::string& datasetName);
174 
175  bool uniqueKeyExists(const std::string& datasetName, const std::string& name);
176 
177  void addUniqueKey(const std::string& datasetName, te::da::UniqueKey* uk);
178 
179  void dropUniqueKey(const std::string& datasetName, const std::string& name);
180 
181  std::unique_ptr<te::da::CheckConstraint> getCheckConstraint(const std::string& datasetName, const std::string& name);
182 
183  std::vector<std::string> getCheckConstraintNames(const std::string& datasetName);
184 
185  bool checkConstraintExists(const std::string& datasetName, const std::string& name) ;
186 
187  void addCheckConstraint(const std::string& datasetName, te::da::CheckConstraint* cc);
188 
189  void dropCheckConstraint(const std::string& datasetName, const std::string& name);
190 
191  std::unique_ptr<te::da::Index> getIndex(const std::string& datasetName, const std::string& name);
192 
193  std::vector<std::string> getIndexNames(const std::string& datasetName);
194 
195  bool indexExists(const std::string& datasetName, const std::string& name);
196 
197  void addIndex(const std::string& datasetName, te::da::Index* idx,
198  const std::map<std::string, std::string>& options);
199 
200  void dropIndex(const std::string& datasetName, const std::string& idxName);
201 
202  std::unique_ptr<te::da::Sequence> getSequence(const std::string& name);
203 
204  std::vector<std::string> getSequenceNames();
205 
206  bool sequenceExists(const std::string& name);
207 
208  void addSequence(te::da::Sequence* sequence);
209 
210  void dropSequence(const std::string& name);
211 
212  std::unique_ptr<te::gm::Envelope> getExtent(const std::string& datasetName,
213  const std::string& propertyName);
214 
215  std::unique_ptr<te::gm::Envelope> getExtent(const std::string& datasetName,
216  std::size_t propertyPos);
217 
218  std::size_t getNumberOfItems(const std::string& datasetName);
219 
220  bool hasDataSets();
221 
222  bool dataSetExists(const std::string& name);
223 
224  void createDataSet(te::da::DataSetType* dt, const std::map<std::string, std::string>& options);
225 
226  void cloneDataSet(const std::string& name,
227  const std::string& cloneName,
228  const std::map<std::string, std::string>& options);
229 
230  void dropDataSet(const std::string& name);
231 
232  void renameDataSet(const std::string& name, const std::string& newName);
233 
234  void add(const std::string& datasetName,
235  te::da::DataSet* d,
236  const std::map<std::string, std::string>& options,
237  std::size_t limit = 0,
238  bool enableProgress = true);
239 
240  void remove(const std::string& datasetName, const te::da::ObjectIdSet* oids = 0);
241 
242  void update(const std::string& datasetName,
243  te::da::DataSet* dataset,
244  const std::vector<std::size_t>& properties,
245  const te::da::ObjectIdSet* oids,
246  const std::map<std::string, std::string>& options,
247  std::size_t limit = 0);
248 
249  void optimize(const std::map<std::string, std::string>& opInfo);
250 
251  //@}
252 
253  /*!
254  \brief It returns its associated ST In-Memory DataSource
255  */
257 
258  /*!
259  \brief It adds the DataSet and its type associated to a given name.
260 
261  \param name The DataSet name.
262  \param t The DataSet Type.
263  \param d The DataSet.
264 
265  \note It will take the ownership of the given pointers.
266  */
267  void add(const std::string& name, te::da::DataSetType* t, DataSet* d);
268 
269  /*!
270  \brief It returns a data set with observations whose phenomenon times satisfy a
271  given temporal relation.
272 
273  The possible temporal relations are: 1. AFTER;
274  2. AFTER | EQUALS; 3. BEFORE; 4. BEFORE | EQUALS; 5. DURING; 6. EQUALS
275 
276  \param name The DataSet name.
277  \param dt A given datetime.
278  \param r A given temporal relation.
279  \param travType The traverse type associated to the returned dataset.
280  \param connected If the returned DataSet is connecet or not.
281 
282  \return A pointer to a new DataSet that shares the intenal content.
283 
284  \note The caller will take the ownership of the returned pointer.
285  \note When the temporal relation is DURING, dt must be a time period.
286  \note It can throw an Exception when internal errors occur.
287  */
288  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
291  bool connected = false,
292  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
293 
294  /*!
295  \brief It returns a data set with observations whose observed geometries satisfy a
296  given spatial relation and phenomenon times satisfy a given temporal relation.
297 
298  The possible spatial relations are: INTERSECTS
299  The possible temporal relations are: 1. AFTER;
300  2. AFTER | EQUALS; 3. BEFORE; 4. BEFORE | EQUALS; 5. DURING; 6. EQUALS
301 
302  \param name The DataSet name.
303  \param geom A given geometry.
304  \param sr A given spatial relation.
305  \param dt A given datetime.
306  \param tr A given temporal relation.
307  \param travType The traverse type associated to the returned dataset.
308  \param connected If the returned DataSet is connecet or not.
309 
310  \return A pointer to a new DataSet that shares the intenal content.
311 
312  \note The caller will take the ownership of the returned pointer.
313  \note It will NOT take the ownership of the given pointers.
314  \note When the temporal relation is DURING, dt must be a time period.
315  \note It can throw an Exception when internal errors occur.
316  */
317  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
321  bool connected = false,
322  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
323 
324  /*!
325  \brief It returns a data set with observations whose observed geometries satisfy a
326  given spatial relation and phenomenon times satisfy a given temporal relation.
327 
328  The possible spatial relations are: INTERSECTS
329  The possible temporal relations are: 1. AFTER;
330  2. AFTER | EQUALS; 3. BEFORE; 4. BEFORE | EQUALS; 5. DURING; 6. EQUALS
331 
332  \param name The DataSet name.
333  \param e A given envelope.
334  \param sr A given spatial relation.
335  \param dt A given datetime.
336  \param tr A given temporal relation.
337  \param travType The traverse type associated to the returned dataset.
338  \param connected If the returned DataSet is connecet or not.
339 
340  \return A pointer to a new DataSet that shares the intenal content.
341 
342  \note The caller will take the ownership of the returned pointer.
343  \note It will NOT take the ownership of the given pointers.
344  \note When the temporal relation is DURING, dt must be a time period.
345  \note It can throw an Exception when internal errors occur.
346  */
347  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
351  bool connected = false,
352  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
353  /*!
354  \brief It returns the temporal extent associated to a DataSet.
355 
356  \param name The DataSet name.
357 
358  \return A pointer to its temporal extent.
359 
360  \note The caller will take the ownership of the returned pointer.
361  \note It can throw an Exception when internal errors occur.
362  */
363  std::unique_ptr<te::dt::DateTimePeriod> getTemporalExtent(const std::string& name);
364 
365  protected:
366 
367  /*!
368  \brief It returns the DataSetType associated to a given name.
369  */
370  te::da::DataSetType* getType(const std::string& datasetName);
371 
372  /*!
373  \brief It returns the DataSet associated to a given name.
374  */
375  DataSet* getData(const std::string& datasetName);
376 
377  private:
378 
379  DataSource* m_ds; //!< The associated data source.
380  };
381 
382  } // end namespace stmem
383 } // end namespace te
384 
385 #endif // __TERRALIB_STMEMORY_INTERNAL_TRANSACTOR_H
386 
387 
388 
A class that describes a check constraint.
A class that models the description of a dataset.
Definition: DataSetType.h:73
A dataset is the unit of information manipulated by the data access module of TerraLib.
Definition: DataSet.h:114
A DataSourceTransactor can be viewed as a connection to the data source for reading/writing things in...
An abstract class for data providers like a DBMS, Web Services or a regular file.
Definition: DataSource.h:120
It models a foreign key constraint for a DataSetType.
Definition: ForeignKey.h:49
It describes an index associated to a DataSetType.
Definition: Index.h:53
This class represents a set of unique ids created in the same context. i.e. from the same data set.
Definition: ObjectIdSet.h:56
It describes a primary key (pk) constraint.
Definition: PrimaryKey.h:49
A Query is independent from the data source language/dialect.
Definition: Query.h:47
A Select models a query to be used when retrieving data from a DataSource.
Definition: Select.h:67
It describes a sequence (a number generator).
Definition: Sequence.h:57
It describes a unique key (uk) constraint.
Definition: UniqueKey.h:50
It models a property definition.
Definition: Property.h:60
An Envelope defines a 2D rectangular region.
Definition: Envelope.h:52
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Definition: Geometry.h:78
Implementation of a in-memory data set that contains spatiotemporal observations indexed by time and ...
Definition: DataSet.h:62
Implements a DataSource that contains In-Memory DataSets indexed by space and time.
Definition: DataSource.h:58
An implementation of DataSourceTransactor class for the ST in-memory driver.
Definition: Transactor.h:50
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....
std::vector< std::string > getSequenceNames()
It gets the sequence names available in the data source.
bool isDataSetNameValid(const std::string &datasetName)
It returns true if the given string is a valid dataset name.
std::vector< std::string > getCheckConstraintNames(const std::string &datasetName)
It gets the check constraint names 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.
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.
std::unique_ptr< te::da::Sequence > getSequence(const std::string &name)
It gets the sequence with the given name in the data source.
void dropPrimaryKey(const std::string &datasetName)
It removes the primary key constraint from the dataset schema.
bool isPropertyNameValid(const std::string &propertyName)
It checks if the given property name is valid.
void addProperty(const std::string &datasetName, te::dt::Property *p)
It adds a new property to 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.
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the dataset.
void dropProperty(const std::string &datasetName, const std::string &name)
It removes a property from the given 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.
void addUniqueKey(const std::string &datasetName, te::da::UniqueKey *uk)
It adds a unique key constraint to 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 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 addPrimaryKey(const std::string &datasetName, te::da::PrimaryKey *pk)
It adds a primary key constraint to the dataset schema.
std::size_t getNumberOfItems(const std::string &datasetName)
It retrieves the number of items of the given dataset.
void remove(const std::string &datasetName, const te::da::ObjectIdSet *oids=0)
It removes all the informed items from the dataset.
void addSequence(te::da::Sequence *sequence)
It creates a new sequence in the data source.
bool sequenceExists(const std::string &name)
It checks if a sequence with the given name exists in the data source.
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.
DataSource * m_ds
The associated data source.
Definition: Transactor.h:379
te::da::DataSetType * getType(const std::string &datasetName)
It returns the DataSetType associated to a given name.
bool propertyExists(const std::string &datasetName, const std::string &name)
It checks if a property with the given name exists in the 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 primaryKeyExists(const std::string &datasetName, const std::string &name)
It checks if a primary key exists in the dataset.
std::size_t getNumberOfProperties(const std::string &datasetName)
It gets the number of properties of the given dataset.
std::vector< std::string > getIndexNames(const std::string &datasetName)
It gets the index names of the given 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.
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::DataSetType > getDataSetType(const std::string &name)
It gets information about the given dataset.
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 > getDataSet(const std::string &name, const te::gm::Envelope *e, te::gm::SpatialRelation sr, const te::dt::DateTime *dt, te::dt::TemporalRelation tr=te::dt::DURING, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It returns a data set with observations whose observed geometries satisfy a given spatial relation an...
void execute(const std::string &command)
It executes the specifed command in the data source native language.
std::string escape(const std::string &value)
It escapes a string for using in commands and queries.
void addForeignKey(const std::string &datasetName, te::da::ForeignKey *fk)
It adds a foreign key constraint to a dataset.
void dropUniqueKey(const std::string &datasetName, const std::string &name)
It removes the unique key constraint from the dataset.
te::da::DataSource * getDataSource() const
It returns the parent data source of the transactor.
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.
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
void addCheckConstraint(const std::string &datasetName, te::da::CheckConstraint *cc)
It adds a check constraint 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, 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...
bool isInTransaction() const
It returns true if a transaction is in progress, otherwise, it returns false.
Transactor(DataSource *parent)
It constructs a Transactor.
void begin()
It starts a new transaction.
boost::int64_t getLastGeneratedId()
It returns the last id generated by an insertion command.
DataSource * getSTMemDataSource() const
It returns its associated ST In-Memory DataSource.
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.
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 renameDataSet(const std::string &name, const std::string &newName)
It renames a dataset.
bool hasDataSets()
It checks if the data source has any dataset.
void cancel()
It requests that the data source stop the processing of the current command.
std::vector< std::string > getDataSetNames()
It It gets the dataset names available in the data source.
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, const te::gm::Geometry *geom, te::gm::SpatialRelation sr, const te::dt::DateTime *dt, te::dt::TemporalRelation tr=te::dt::DURING, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It returns a data set with observations whose observed geometries satisfy a given spatial relation an...
DataSet * getData(const std::string &datasetName)
It returns the DataSet associated to a given name.
void rollBack()
It aborts the transaction. Any changes will be rolled-back.
void add(const std::string &name, te::da::DataSetType *t, DataSet *d)
It adds the DataSet and its type associated to a given name.
std::vector< std::string > getUniqueKeyNames(const std::string &datasetName)
It gets the unique key names of the given dataset.
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 dropSequence(const std::string &name)
It removes the sequence from the data source.
std::vector< std::string > getForeignKeyNames(const std::string &datasetName)
It gets the foreign key names of the given dataset.
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 dropForeignKey(const std::string &datasetName, const std::string &fkName)
It removes the foreign 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.
void dropIndex(const std::string &datasetName, const std::string &idxName)
It removes the index from the dataset schema.
std::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given 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 > 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....
~Transactor()
It constructs a Transactor.
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 execute(const te::da::Query &command)
It executes the specified command using a generic query representation.
bool dataSetExists(const std::string &name)
It checks if a dataset with the given name exists in the data source.
void dropCheckConstraint(const std::string &datasetName, const std::string &name)
It removes the check constraint from the dataset.
void dropDataSet(const std::string &name)
It removes the dataset schema from 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, bool enableProgress=true)
It adds data items to the dataset in the data source.
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, const te::dt::DateTime *dt, te::dt::TemporalRelation r=te::dt::DURING, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
It returns a data set with observations whose phenomenon times satisfy a given temporal relation.
std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const std::string &name)
It returns the temporal extent associated to a DataSet.
std::unique_ptr< te::da::BatchExecutor > getBatchExecutor()
It creates a batch command executor.
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...
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.
void commit()
It commits the transaction.
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....
TraverseType
A dataset can be traversed in two ways:
Definition: Enums.h:54
@ FORWARDONLY
Definition: Enums.h:55
AccessPolicy
Supported data access policies (can be used as bitfield).
Definition: Enums.h:41
@ RAccess
Definition: Enums.h:43
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991).
Definition: Enums.h:141
@ DURING
Definition: Enums.h:145
SpatialRelation
Spatial relations between geometric objects.
Definition: Enums.h:128
TerraLib.
#define TESTMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:76
Proxy configuration file for TerraView (see terraview_config.h).