Loading...
Searching...
No Matches
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
33namespace te { namespace dt { class DateTimePeriod; } }
34
35namespace 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,
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,
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,
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
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
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,
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
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.
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::vector< std::string > getForeignKeyNames(const std::string &datasetName)
It gets the foreign key names of the given dataset.
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.
std::unique_ptr< te::da::PrimaryKey > getPrimaryKey(const std::string &datasetName)
It retrieves the primary key 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::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::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::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....
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.
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::da::BatchExecutor > getBatchExecutor()
It creates a batch command executor.
void addPrimaryKey(const std::string &datasetName, te::da::PrimaryKey *pk)
It adds a primary key constraint to 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::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::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...
DataSource * m_ds
The associated data source.
Definition: Transactor.h:379
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,...
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.
te::da::DataSource * getDataSource() const
It returns the parent data source of the transactor.
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.
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.
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 dropUniqueKey(const std::string &datasetName, const std::string &name)
It removes the unique key constraint from the dataset.
std::vector< std::string > getSequenceNames()
It gets the sequence names available 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.
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
std::vector< std::string > getUniqueKeyNames(const std::string &datasetName)
It gets the unique key names of the given dataset.
void addCheckConstraint(const std::string &datasetName, te::da::CheckConstraint *cc)
It adds a check constraint to the dataset.
bool isInTransaction() const
It returns true if a transaction is in progress, otherwise, it returns false.
std::vector< std::string > getIndexNames(const std::string &datasetName)
It gets the index names of 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.
Transactor(DataSource *parent)
It constructs a Transactor.
std::unique_ptr< te::dt::DateTimePeriod > getTemporalExtent(const std::string &name)
It returns the temporal extent associated to a DataSet.
void begin()
It starts a new transaction.
boost::int64_t getLastGeneratedId()
It returns the last id generated by an insertion command.
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.
std::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given dataset.
std::unique_ptr< te::da::Sequence > getSequence(const std::string &name)
It gets the sequence with the given name in the data source.
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...
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 cancel()
It requests that the data source stop the processing of the current command.
void rollBack()
It aborts the transaction. Any changes will be rolled-back.
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...
std::unique_ptr< te::da::ForeignKey > getForeignKey(const std::string &datasetName, const std::string &name)
It retrieves the foreign key from the given dataset.
std::vector< std::string > getDataSetNames()
It It gets the dataset names available in the data source.
void add(const std::string &name, te::da::DataSetType *t, DataSet *d)
It adds the DataSet and its type associated to a given name.
void dropSequence(const std::string &name)
It removes the sequence from the data source.
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::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...
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....
DataSource * getSTMemDataSource() const
It returns its associated ST In-Memory DataSource.
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 dropForeignKey(const std::string &datasetName, const std::string &fkName)
It removes the foreign key constraint from the dataset schema.
void dropIndex(const std::string &datasetName, const std::string &idxName)
It removes the index from the dataset schema.
std::unique_ptr< te::da::DataSetType > getDataSetType(const std::string &name)
It gets information about the given dataset.
~Transactor()
It constructs a Transactor.
void execute(const te::da::Query &command)
It executes the specified command using a generic query representation.
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the dataset.
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.
DataSet * getData(const std::string &datasetName)
It returns the DataSet associated to a given name.
te::da::DataSetType * getType(const std::string &datasetName)
It returns the DataSetType associated to a given name.
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.
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).