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/ado/Transactor.h
22 
23  \brief DataSourceTransactor class implementation for Microsoft Access driver.
24 */
25 
26 #ifndef __TERRALIB_ADO_INTERNAL_DATASOURCETRANSACTOR_H
27 #define __TERRALIB_ADO_INTERNAL_DATASOURCETRANSACTOR_H
28 
29 // TerraLib
30 #include "../dataaccess/datasource/DataSourceTransactor.h"
31 #include "Config.h"
32 #include "DataSource.h"
33 
34 // STL
35 #include <memory>
36 #include <map>
37 #include <string>
38 
39 namespace te
40 {
41 // Forward declarations
42  namespace dt { class Property; }
43  namespace gm { class Envelope; class Geometry; }
44 
45  namespace ado
46  {
47  // Forward declarations
48  class BatchExecutor;
49  class Connection;
50  class DataSet;
51  class ObjectIdSet;
52  class PreparedQuery;
53  class Query;
54 
55  /*!
56  \class Transactor
57 
58  \brief The transactor class for the Microsoft Access driver.
59 
60  \sa te::da::DataSourceTransactor, DataSource
61  */
63  {
64  public:
65 
67 
69 
71 
72  void begin();
73 
74  void commit();
75 
76  void rollBack();
77 
78  bool isInTransaction() const;
79 
80  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
82  bool connected = false,
83  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
84 
85  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
86  const std::string& propertyName,
87  const te::gm::Envelope* e,
90  bool connected = false,
91  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
92 
93  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
94  const std::string& propertyName,
95  const te::gm::Geometry* g,
98  bool connected = false,
99  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
100 
101  std::unique_ptr<te::da::DataSet> getDataSet(const std::string& name,
102  const ObjectIdSet* oids,
104  bool connected = false,
105  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
106 
107  std::unique_ptr<te::da::DataSet> query(const te::da::Select& q,
109  bool connected = false,
110  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
111 
112  std::unique_ptr<te::da::DataSet> query(const std::string& query,
114  bool connected = false,
115  const te::common::AccessPolicy accessPolicy = te::common::RAccess);
116 
117  void execute(const te::da::Query& command);
118 
119  void execute(const std::string& command);
120 
121  std::unique_ptr<te::da::PreparedQuery> getPrepared(const std::string& qName = std::string(""));
122 
123  std::unique_ptr<te::da::BatchExecutor> getBatchExecutor();
124 
125  void cancel();
126 
127  boost::int64_t getLastGeneratedId();
128 
129  std::string escape(const std::string& value);
130 
131  std::vector<std::string> getDataSetNames();
132 
133  std::size_t getNumberOfDataSets();
134 
135  std::unique_ptr<te::da::DataSetType> getDataSetType(const std::string& name);
136 
137  boost::ptr_vector<te::dt::Property> getProperties(const std::string& datasetName);
138 
139  std::unique_ptr<te::dt::Property> getProperty(const std::string& datasetName, const std::string& name);
140 
141  std::unique_ptr<te::dt::Property> getProperty(const std::string& datasetName, std::size_t propertyPos);
142 
143  std::vector<std::string> getPropertyNames(const std::string& datasetName);
144 
145  std::size_t getNumberOfProperties(const std::string& datasetName);
146 
147  bool propertyExists(const std::string& datasetName, const std::string& name);
148 
149 // TODO: rever o caso colunas geometricas => adicionar automaticamente as colunas do box => atualizar o cache
150  void addProperty(const std::string& datasetName, te::dt::Property* p);
151 
152 // TODO: rever o caso colunas geometricas => remover as colunas do box => atualizar o cache
153  void dropProperty(const std::string& datasetName, const std::string& name);
154 
155 // TODO: rever o caso colunas geometricas => atualizar o cache e a tabela de metadados
156  void renameProperty(const std::string& datasetName,
157  const std::string& propertyName,
158  const std::string& newPropertyName);
159 
160  void changePropertyDefinition(const std::string& datasetName, const std::string& propName, te::dt::Property* newProp);
161 
162  std::unique_ptr<te::da::PrimaryKey> getPrimaryKey(const std::string& datasetName);
163 
164  bool primaryKeyExists(const std::string& datasetName, const std::string& name);
165 
166  void addPrimaryKey(const std::string& datasetName, te::da::PrimaryKey* pk);
167 
168  void dropPrimaryKey(const std::string& datasetName);
169 
170  std::unique_ptr<te::da::ForeignKey> getForeignKey(const std::string& datasetName, const std::string& name);
171 
172  std::vector<std::string> getForeignKeyNames(const std::string& datasetName);
173 
174  bool foreignKeyExists(const std::string& datasetName, const std::string& name);
175 
176  void addForeignKey(const std::string& datasetName, te::da::ForeignKey* fk);
177 
178  void dropForeignKey(const std::string& datasetName, const std::string& fkName);
179 
180  std::unique_ptr<te::da::UniqueKey> getUniqueKey(const std::string& datasetName, const std::string& name);
181 
182  std::vector<std::string> getUniqueKeyNames(const std::string& datasetName);
183 
184  bool uniqueKeyExists(const std::string& datasetName, const std::string& name);
185 
186  void addUniqueKey(const std::string& datasetName, te::da::UniqueKey* uk);
187 
188  void dropUniqueKey(const std::string& datasetName, const std::string& name);
189 
190  std::unique_ptr<te::da::CheckConstraint> getCheckConstraint(const std::string& datasetName, const std::string& name);
191 
192  std::vector<std::string> getCheckConstraintNames(const std::string& datasetName);
193 
194  bool checkConstraintExists(const std::string& datasetName, const std::string& name);
195 
196  void addCheckConstraint(const std::string& datasetName, te::da::CheckConstraint* cc);
197 
198  void dropCheckConstraint(const std::string& datasetName, const std::string& name);
199 
200  std::unique_ptr<te::da::Index> getIndex(const std::string& datasetName, const std::string& name);
201 
202  std::vector<std::string> getIndexNames(const std::string& datasetName);
203 
204  bool indexExists(const std::string& datasetName, const std::string& name);
205 
206  void addIndex(const std::string& datasetName, te::da::Index* idx,
207  const std::map<std::string, std::string>& options);
208 
209  void dropIndex(const std::string& datasetName, const std::string& idxName);
210 
211  std::unique_ptr<te::da::Sequence> getSequence(const std::string& name);
212 
213  std::vector<std::string> getSequenceNames();
214 
215  bool sequenceExists(const std::string& name);
216 
217  void addSequence(te::da::Sequence* sequence);
218 
219  void dropSequence(const std::string& name);
220 
221  std::unique_ptr<te::gm::Envelope> getExtent(const std::string& datasetName,
222  const std::string& propertyName);
223 
224  std::unique_ptr<te::gm::Envelope> getExtent(const std::string& datasetName,
225  std::size_t propertyPos);
226 
227  std::size_t getNumberOfItems(const std::string& datasetName);
228 
229  bool hasDataSets();
230 
231  bool dataSetExists(const std::string& name);
232 
233  void createDataSet(te::da::DataSetType* dt, const std::map<std::string, std::string>& options);
234 
235  void cloneDataSet(const std::string& name,
236  const std::string& cloneName,
237  const std::map<std::string, std::string>& options);
238 
239  void dropDataSet(const std::string& name);
240 
241  void renameDataSet(const std::string& name, const std::string& newName);
242 
243  void add(const std::string& datasetName,
244  te::da::DataSet* d,
245  const std::map<std::string, std::string>& options,
246  std::size_t limit = 0,
247  bool enableProgress = true);
248 
249  void remove(const std::string& datasetName, const te::da::ObjectIdSet* oids = 0);
250 
251  void update(const std::string& datasetName,
252  te::da::DataSet* dataset,
253  const std::vector<std::size_t>& properties,
254  const te::da::ObjectIdSet* oids,
255  const std::map<std::string, std::string>& options,
256  std::size_t limit = 0);
257 
258  void update(const std::string& datasetName,
259  te::da::DataSet* dataset,
260  const std::vector< std::set<int> >& properties,
261  const std::vector<size_t>& ids);
262 
263  void optimize(const std::map<std::string, std::string>& opInfo);
264 
265  DataSource* getAdoDataSource() const;
266 
267  protected:
268 
269  /*!
270  \brief It update the DataSetType about the Primary Key.
271 
272  \param dt The DataSetType that will be updated.
273 
274  \exception Exception It throws an exception if the query execution fails.
275  */
277 
278  /*!
279  \brief It update the DataSetType about the Properties.
280 
281  \param dt The DataSetType that will be updated.
282 
283  \exception Exception It throws an exception if the query execution fails.
284  */
286 
287  /*!
288  \brief It update the DataSetType about the Unique Keys.
289 
290  \param dt The DataSetType that will be updated.
291 
292  \exception Exception It throws an exception if the query execution fails.
293  */
295 
296  /*!
297  \brief It update the DataSetType about the Indexes.
298 
299  \param dt The DataSetType that will be updated.
300 
301  \exception Exception It throws an exception if the query execution fails.
302  */
304 
305  /*!
306  \brief It update the DataSetType about the Check Constraints.
307 
308  \param dt The DataSetType that will be updated.
309 
310  \exception Exception It throws an exception if the query execution fails.
311  */
313 
314  /*!
315  \brief It insert a geometry property in the geometry_clumns (SFS Schema).
316 
317  \param datasetName The DataSet name.
318  \param geomProp The geometry property.
319 
320  \exception Exception It throws an exception if the query execution fails.
321  */
322  void insertIntoGeometryColumns(const std::string& datasetName,
323  te::gm::GeometryProperty* geomProp);
324 
325  private:
326 
327  DataSource* m_ds; //!< The ADO data source associated to this transactor.
328  Connection* m_conn; //!< The connection used by this transactor.
329  bool m_isInTransaction; //!< Tells if there is a transaction in progress.
330 
331  };
332 
334  {
335  return m_ds;
336  }
337 
338  } // end namespace ado
339 } // end namespace te
340 
341 #endif // __TERRALIB_ADO_INTERNAL_DATASOURCETRANSACTOR_H
342 
343 
te::ado::Transactor::getSequenceNames
std::vector< std::string > getSequenceNames()
It gets the sequence names available in the data source.
te::ado::Transactor::getForeignKey
std::unique_ptr< te::da::ForeignKey > getForeignKey(const std::string &datasetName, const std::string &name)
It retrieves the foreign key from the given dataset.
te::gm::Envelope
An Envelope defines a 2D rectangular region.
Definition: Envelope.h:52
te::da::CheckConstraint
A class that describes a check constraint.
Definition: CheckConstraint.h:47
te::ado::Transactor::uniqueKeyExists
bool uniqueKeyExists(const std::string &datasetName, const std::string &name)
It checks if a unique key with the given name exists in the dataset.
te::ado::Transactor::getIndexes
void getIndexes(te::da::DataSetType *dt)
It update the DataSetType about the Indexes.
te
TerraLib.
Definition: AddressGeocodingOp.h:52
te::ado::Transactor::getIndexNames
std::vector< std::string > getIndexNames(const std::string &datasetName)
It gets the index names of the given dataset.
te::ado::Transactor::getBatchExecutor
std::unique_ptr< te::da::BatchExecutor > getBatchExecutor()
It creates a batch command executor.
te::ado::Transactor::dropCheckConstraint
void dropCheckConstraint(const std::string &datasetName, const std::string &name)
It removes the check constraint from the dataset.
te::gm::GeometryProperty
Geometric property.
Definition: GeometryProperty.h:52
te::ado::Transactor::getPrimaryKey
std::unique_ptr< te::da::PrimaryKey > getPrimaryKey(const std::string &datasetName)
It retrieves the primary key of the dataset.
te::ado::Transactor::addForeignKey
void addForeignKey(const std::string &datasetName, te::da::ForeignKey *fk)
It adds a foreign key constraint to a dataset.
te::ado::Transactor::getUniqueKey
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.
te::ado::Transactor::remove
void remove(const std::string &datasetName, const te::da::ObjectIdSet *oids=0)
It removes all the informed items from the dataset.
te::ado::Transactor::getNumberOfItems
std::size_t getNumberOfItems(const std::string &datasetName)
It retrieves the number of items of the given dataset.
te::ado::Transactor::getUniqueKeys
void getUniqueKeys(te::da::DataSetType *dt)
It update the DataSetType about the Unique Keys.
te::ado::Transactor::isInTransaction
bool isInTransaction() const
It returns true if a transaction is in progress, otherwise, it returns false.
te::ado::Transactor::addIndex
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.
te::common::RAccess
@ RAccess
Definition: Enums.h:43
te::ado::Transactor::query
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....
DataSource.h
Data Source for WS OGC WMS.
te::ado::Connection
A class that implements a connection to a ADO database.
Definition: Connection.h:61
te::ado::Transactor::getDataSet
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::ado::Transactor::getDataSource
te::da::DataSource * getDataSource() const
It returns the parent data source of the transactor.
te::ado::Transactor::renameDataSet
void renameDataSet(const std::string &name, const std::string &newName)
It renames a dataset.
te::da::Query
A Query is independent from the data source language/dialect.
Definition: Query.h:47
te::ado::Transactor::getDataSet
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....
te::ado::Transactor::addProperty
void addProperty(const std::string &datasetName, te::dt::Property *p)
It adds a new property to the dataset schema.
te::common::TraverseType
TraverseType
A dataset can be traversed in two ways:
Definition: Enums.h:54
te::ado::Transactor::execute
void execute(const std::string &command)
It executes the specifed command in the data source native language.
te::da::Index
It describes an index associated to a DataSetType.
Definition: Index.h:53
te::ado::Transactor::cloneDataSet
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.
te::ado::Transactor::getPropertyNames
std::vector< std::string > getPropertyNames(const std::string &datasetName)
It gets the property names of the given dataset.
te::ado::Transactor::sequenceExists
bool sequenceExists(const std::string &name)
It checks if a sequence with the given name exists in the data source.
te::ado::Transactor::hasDataSets
bool hasDataSets()
It checks if the data source has any dataset.
te::ado::Transactor::createDataSet
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.
te::ado::Transactor::indexExists
bool indexExists(const std::string &datasetName, const std::string &name)
It checks if an index with the given name exists in the dataset.
te::ado::Transactor::getLastGeneratedId
boost::int64_t getLastGeneratedId()
It returns the last id generated by an insertion command.
te::ado::Transactor::dropProperty
void dropProperty(const std::string &datasetName, const std::string &name)
It removes a property from the given dataset.
te::ado::Transactor::escape
std::string escape(const std::string &value)
It escapes a string for using in commands and queries.
te::ado::Transactor::getForeignKeyNames
std::vector< std::string > getForeignKeyNames(const std::string &datasetName)
It gets the foreign key names of the given dataset.
te::ado::Transactor::begin
void begin()
It starts a new transaction.
te::ado::Transactor::addCheckConstraint
void addCheckConstraint(const std::string &datasetName, te::da::CheckConstraint *cc)
It adds a check constraint to the dataset.
te::ado::Transactor::insertIntoGeometryColumns
void insertIntoGeometryColumns(const std::string &datasetName, te::gm::GeometryProperty *geomProp)
It insert a geometry property in the geometry_clumns (SFS Schema).
te::ado::Transactor::getDataSet
std::unique_ptr< te::da::DataSet > getDataSet(const std::string &name, const ObjectIdSet *oids, te::common::TraverseType travType=te::common::FORWARDONLY, bool connected=false, const te::common::AccessPolicy accessPolicy=te::common::RAccess)
te::da::DataSourceTransactor
A DataSourceTransactor can be viewed as a connection to the data source for reading/writing things in...
Definition: DataSourceTransactor.h:89
te::ado::Transactor::addUniqueKey
void addUniqueKey(const std::string &datasetName, te::da::UniqueKey *uk)
It adds a unique key constraint to the dataset.
te::ado::Transactor::getPrimaryKey
void getPrimaryKey(te::da::DataSetType *dt)
It update the DataSetType about the Primary Key.
te::ado::Transactor::getCheckConstraints
void getCheckConstraints(te::da::DataSetType *dt)
It update the DataSetType about the Check Constraints.
te::ado::Transactor::optimize
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.
te::ado::Transactor::addPrimaryKey
void addPrimaryKey(const std::string &datasetName, te::da::PrimaryKey *pk)
It adds a primary key constraint to the dataset schema.
te::ado::Transactor::propertyExists
bool propertyExists(const std::string &datasetName, const std::string &name)
It checks if a property with the given name exists in the dataset.
te::ado::DataSource
The ADO driver.
Definition: DataSource.h:62
te::ado::Transactor::getProperty
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.
te::da::ForeignKey
It models a foreign key constraint for a DataSetType.
Definition: ForeignKey.h:49
te::gm::SpatialRelation
SpatialRelation
Spatial relations between geometric objects.
Definition: Enums.h:128
te::ado::Transactor::commit
void commit()
It commits the transaction.
te::ado::Transactor::addSequence
void addSequence(te::da::Sequence *sequence)
It creates a new sequence in the data source.
te::ado::Transactor::changePropertyDefinition
void changePropertyDefinition(const std::string &datasetName, const std::string &propName, te::dt::Property *newProp)
te::ado::Transactor::dropPrimaryKey
void dropPrimaryKey(const std::string &datasetName)
It removes the primary key constraint from the dataset schema.
te::ado::Transactor::getIndex
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.
te::ado::Transactor::getProperties
boost::ptr_vector< te::dt::Property > getProperties(const std::string &datasetName)
It retrieves the properties of the dataset.
te::ado::Transactor::foreignKeyExists
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.
te::ado::Transactor::getCheckConstraintNames
std::vector< std::string > getCheckConstraintNames(const std::string &datasetName)
It gets the check constraint names of the given dataset.
te::ado::Transactor::update
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.
te::ado::Transactor::renameProperty
void renameProperty(const std::string &datasetName, const std::string &propertyName, const std::string &newPropertyName)
It renames a property of the given dataset.
te::ado::Transactor::getExtent
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...
te::ado::Transactor::primaryKeyExists
bool primaryKeyExists(const std::string &datasetName, const std::string &name)
It checks if a primary key exists in the dataset.
te::ado::Transactor::dropIndex
void dropIndex(const std::string &datasetName, const std::string &idxName)
It removes the index from the dataset schema.
te::ado::Transactor::getDataSet
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....
te::ado::Transactor::add
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.
te::ado::Transactor::getProperty
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.
te::ado::Transactor::m_ds
DataSource * m_ds
The ADO data source associated to this transactor.
Definition: Transactor.h:327
te::ado::Transactor::getAdoDataSource
DataSource * getAdoDataSource() const
Definition: Transactor.h:333
te::ado::Transactor
The transactor class for the Microsoft Access driver.
Definition: Transactor.h:63
te::ado::Transactor::dropUniqueKey
void dropUniqueKey(const std::string &datasetName, const std::string &name)
It removes the unique key constraint from the dataset.
te::ado::Transactor::getUniqueKeyNames
std::vector< std::string > getUniqueKeyNames(const std::string &datasetName)
It gets the unique key names of the given dataset.
te::ado::Transactor::Transactor
Transactor(DataSource *ds)
te::ado::Transactor::update
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.
te::ado::Transactor::getNumberOfProperties
std::size_t getNumberOfProperties(const std::string &datasetName)
It gets the number of properties of the given dataset.
te::da::Select
A Select models a query to be used when retrieving data from a DataSource.
Definition: Select.h:67
te::da::UniqueKey
It describes a unique key (uk) constraint.
Definition: UniqueKey.h:50
te::ado::Transactor::rollBack
void rollBack()
It aborts the transaction. Any changes will be rolled-back.
te::ado::Transactor::getSequence
std::unique_ptr< te::da::Sequence > getSequence(const std::string &name)
It gets the sequence with the given name in the data source.
te::ado::Transactor::getCheckConstraint
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.
te::ado::Transactor::execute
void execute(const te::da::Query &command)
It executes the specified command using a generic query representation.
te::da::DataSource
An abstract class for data providers like a DBMS, Web Services or a regular file.
Definition: DataSource.h:120
te::ado::Transactor::dropDataSet
void dropDataSet(const std::string &name)
It removes the dataset schema from the data source.
te::dt::Property
It models a property definition.
Definition: Property.h:60
te::ado::Transactor::getDataSetType
std::unique_ptr< te::da::DataSetType > getDataSetType(const std::string &name)
It gets information about the given dataset.
te::ado::Transactor::m_conn
Connection * m_conn
The connection used by this transactor.
Definition: Transactor.h:328
TEADOEXPORT
#define TEADOEXPORT
You can use this macro in order to export/import classes and functions from this module.
Definition: Config.h:130
te::da::DataSet
A dataset is the unit of information manipulated by the data access module of TerraLib.
Definition: DataSet.h:114
te::da::Sequence
It describes a sequence (a number generator).
Definition: Sequence.h:57
Config.h
Proxy configuration file for TerraView (see terraview_config.h).
te::ado::Transactor::getNumberOfDataSets
std::size_t getNumberOfDataSets()
It retrieves the number of data sets available in the data source.
te::ado::Transactor::dataSetExists
bool dataSetExists(const std::string &name)
It checks if a dataset with the given name exists in the data source.
te::ado::Transactor::m_isInTransaction
bool m_isInTransaction
Tells if there is a transaction in progress.
Definition: Transactor.h:329
te::da::PrimaryKey
It describes a primary key (pk) constraint.
Definition: PrimaryKey.h:49
te::da::DataSetType
A class that models the description of a dataset.
Definition: DataSetType.h:73
te::ado::Transactor::~Transactor
~Transactor()
te::gm::Geometry
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Definition: Geometry.h:78
te::ado::Transactor::dropForeignKey
void dropForeignKey(const std::string &datasetName, const std::string &fkName)
It removes the foreign key constraint from the dataset schema.
te::ado::Transactor::query
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...
te::ado::Transactor::dropSequence
void dropSequence(const std::string &name)
It removes the sequence from the data source.
te::ado::Transactor::getDataSetNames
std::vector< std::string > getDataSetNames()
It It gets the dataset names available in the data source.
te::common::AccessPolicy
AccessPolicy
Supported data access policies (can be used as bitfield).
Definition: Enums.h:41
te::ado::Transactor::getExtent
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.
te::ado::Transactor::getPrepared
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,...
te::da::ObjectIdSet
This class represents a set of unique ids created in the same context. i.e. from the same data set.
Definition: ObjectIdSet.h:56
te::ado::Transactor::getProperties
void getProperties(te::da::DataSetType *dt)
It update the DataSetType about the Properties.
te::ado::Transactor::checkConstraintExists
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.
te::ado::Transactor::cancel
void cancel()
It requests that the data source stop the processing of the current command.
te::common::FORWARDONLY
@ FORWARDONLY
Definition: Enums.h:55