26 #ifndef __TERRALIB_TERRALIB4_INTERNAL_DATASOURCETRANSACTOR_H 
   27 #define __TERRALIB_TERRALIB4_INTERNAL_DATASOURCETRANSACTOR_H 
   30 #include "../dataaccess/datasource/DataSourceTransactor.h" 
   41   namespace dt { 
class Property; }
 
   42   namespace gm { 
class Envelope; 
class Geometry; }
 
   70       bool isInTransaction() 
const;
 
   72       std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name, 
 
   74                                                 bool connected = 
false,
 
   77       std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name,
 
   78                                                 const std::string& propertyName,
 
   82                                                 bool connected = 
false,
 
   85       std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name,
 
   86                                                 const std::string& propertyName,
 
   90                                                 bool connected = 
false,
 
   93       std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name,
 
   94                                                 const ObjectIdSet* oids, 
 
   96                                                 bool connected = 
false,
 
  101                                            bool connected = 
false,
 
  104       std::auto_ptr<te::da::DataSet> query(
const std::string& query,
 
  106                                            bool connected = 
false,
 
  111       void execute(
const std::string& command);
 
  113       std::auto_ptr<te::da::PreparedQuery> getPrepared(
const std::string& qName = std::string(
""));
 
  115       std::auto_ptr<te::da::BatchExecutor> getBatchExecutor();
 
  119       boost::int64_t getLastGeneratedId();
 
  121       std::string escape(
const std::string& value);
 
  123       bool isDataSetNameValid(
const std::string& datasetName);
 
  125       bool isPropertyNameValid(
const std::string& propertyName);
 
  127       std::vector<std::string> getDataSetNames();
 
  129       std::size_t getNumberOfDataSets();
 
  131       std::auto_ptr<te::da::DataSetType> getDataSetType(
const std::string& name);
 
  133       boost::ptr_vector<te::dt::Property> getProperties(
const std::string& datasetName);
 
  135       std::auto_ptr<te::dt::Property> getProperty(
const std::string& datasetName, 
const std::string& name);
 
  137       std::auto_ptr<te::dt::Property> getProperty(
const std::string& datasetName, std::size_t propertyPos);
 
  139       std::vector<std::string> getPropertyNames(
const std::string& datasetName);
 
  141       std::size_t getNumberOfProperties(
const std::string& datasetName);
 
  143       bool propertyExists(
const std::string& datasetName, 
const std::string& name);
 
  147       void dropProperty(
const std::string& datasetName, 
const std::string& name);
 
  149       void renameProperty(
const std::string& datasetName,
 
  150                           const std::string& propertyName,
 
  151                           const std::string& newPropertyName);
 
  153       std::auto_ptr<te::da::PrimaryKey> getPrimaryKey(
const std::string& datasetName);
 
  155       bool primaryKeyExists(
const std::string& datasetName, 
const std::string& name);
 
  159       void dropPrimaryKey(
const std::string& datasetName);
 
  161       std::auto_ptr<te::da::ForeignKey> getForeignKey(
const std::string& datasetName, 
const std::string& name);
 
  163       std::vector<std::string> getForeignKeyNames(
const std::string& datasetName);
 
  165       bool foreignKeyExists(
const std::string& datasetName, 
const std::string& name);
 
  169       void dropForeignKey(
const std::string& datasetName, 
const std::string& fkName);
 
  171       std::auto_ptr<te::da::UniqueKey> getUniqueKey(
const std::string& datasetName, 
const std::string& name);
 
  173       std::vector<std::string> getUniqueKeyNames(
const std::string& datasetName);
 
  175       bool uniqueKeyExists(
const std::string& datasetName, 
const std::string& name);
 
  179       void dropUniqueKey(
const std::string& datasetName, 
const std::string& name);
 
  181       std::auto_ptr<te::da::CheckConstraint> getCheckConstraint(
const std::string& datasetName, 
const std::string& name);
 
  183       std::vector<std::string> getCheckConstraintNames(
const std::string& datasetName);
 
  185       bool checkConstraintExists(
const std::string& datasetName, 
const std::string& name);
 
  189       void dropCheckConstraint(
const std::string& datasetName, 
const std::string& name);
 
  191       std::auto_ptr<te::da::Index> getIndex(
const std::string& datasetName, 
const std::string& name);
 
  193       std::vector<std::string> getIndexNames(
const std::string& datasetName);
 
  195       bool indexExists(
const std::string& datasetName, 
const std::string& name);
 
  197       void addIndex(
const std::string& datasetName, 
te::da::Index* idx,
 
  198                     const std::map<std::string, std::string>& options); 
 
  200       void dropIndex(
const std::string& datasetName, 
const std::string& idxName);
 
  202       std::auto_ptr<te::da::Sequence> getSequence(
const std::string& name);
 
  204       std::vector<std::string> getSequenceNames();
 
  206       bool sequenceExists(
const std::string& name);
 
  210       void dropSequence(
const std::string& name);
 
  212       std::auto_ptr<te::gm::Envelope> getExtent(
const std::string& datasetName,
 
  213                                                 const std::string& propertyName);
 
  215       std::auto_ptr<te::gm::Envelope> getExtent(
const std::string& datasetName,
 
  216                                                 std::size_t propertyPos);
 
  218       std::size_t getNumberOfItems(
const std::string& datasetName);
 
  222       bool dataSetExists(
const std::string& name);
 
  224       void createDataSet(
te::da::DataSetType* dt, 
const std::map<std::string, std::string>& options);
 
  226       void cloneDataSet(
const std::string& name,
 
  227                         const std::string& cloneName,
 
  228                         const std::map<std::string, std::string>& options);
 
  230       void dropDataSet(
const std::string& name);
 
  232       void renameDataSet(
const std::string& name, 
const std::string& newName);
 
  234       void add(
const std::string& datasetName,
 
  236                 const std::map<std::string, std::string>& options,
 
  237                 std::size_t limit = 0);
 
  241       void update(
const std::string& datasetName,
 
  243                   const std::vector<std::size_t>& properties,
 
  245                   const std::map<std::string, std::string>& options,
 
  246                   std::size_t limit = 0);
 
  248       void optimize(
const std::map<std::string, std::string>& opInfo);
 
  260 #endif  // __TERRALIB_TERRALIB4_INTERNAL_DATASOURCETRANSACTOR_H 
It describes an index associated to a DataSetType. 
 
This class represents a set of unique ids created in the same context. i.e. from the same data set...
 
A Select models a query to be used when retrieving data from a DataSource. 
 
It describes a primary key (pk) constraint. 
 
It describes a sequence (a number generator). 
 
SpatialRelation
Spatial relations between geometric objects. 
 
It models a foreign key constraint for a DataSetType. 
 
AccessPolicy
Supported data access policies (can be used as bitfield). 
 
A Query is independent from the data source language/dialect. 
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. 
 
#define TETERRALIB4EXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
It describes a unique key (uk) constraint. 
 
Implements the DataSource class for the TerraLib 4.x Data Access Driver. 
 
TraverseType
A dataset can be traversed in two ways: 
 
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
 
A class that models the description of a dataset. 
 
It models a property definition. 
 
Configuration flags for the TerraLib 4 driver. 
 
A class that describes a check constraint. 
 
An Envelope defines a 2D rectangular region. 
 
A dataset is the unit of information manipulated by the data access module of TerraLib. 
 
A DataSourceTransactor can be viewed as a connection to the data source for reading/writing things in...