26 #ifndef __TERRALIB_STMEMORY_INTERNAL_TRANSACTOR_H    27 #define __TERRALIB_STMEMORY_INTERNAL_TRANSACTOR_H    30 #include "../dataaccess/datasource/DataSourceTransactor.h"    33 namespace te { 
namespace dt { 
class DateTimePeriod; } }  
    76          bool isInTransaction() 
const;
    78          std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name, 
    80                                                   bool connected = 
false,
    83          std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name,
    84                                                   const std::string& propertyName,
    88                                                   bool connected = 
false,
    91          std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name,
    92                                                   const std::string& propertyName,
    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);
   288          std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name,
   291                                                    bool connected = 
false,
   317         std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name, 
   321                                                   bool connected = 
false,
   347         std::auto_ptr<te::da::DataSet> getDataSet(
const std::string& name, 
   351                                                   bool connected = 
false,
   363         std::auto_ptr<te::dt::DateTimePeriod> getTemporalExtent(
const std::string& name);
   375         DataSet* getData(
const std::string& datasetName);
   385 #endif  // __TERRALIB_STMEMORY_INTERNAL_TRANSACTOR_H CharEncoding
Supported charsets (character encoding). 
 
A class that models the description of a dataset. 
 
Implements a DataSource that contains In-Memory DataSets indexed by space and time. 
 
TemporalRelation
Temporal relations between date and time (Source: Allen, 1991). 
 
SpatialRelation
Spatial relations between geometric objects. 
 
It describes a sequence (a number generator). 
 
A class that describes a check constraint. 
 
An abstract class for data providers like a DBMS, Web Services or a regular file. ...
 
DataSource * m_ds
The associated data source. 
 
It models a property definition. 
 
AccessPolicy
Supported data access policies (can be used as bitfield). 
 
TraverseType
A dataset can be traversed in two ways: 
 
#define TESTMEMORYEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
An Envelope defines a 2D rectangular region. 
 
This class represents a set of unique ids created in the same context. i.e. from the same data set...
 
It models a foreign key constraint for a DataSetType. 
 
It describes a unique key (uk) constraint. 
 
A DataSourceTransactor can be viewed as a connection to the data source for reading/writing things in...
 
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards. 
 
An implementation of DataSourceTransactor class for the ST in-memory driver. 
 
A Select models a query to be used when retrieving data from a DataSource. 
 
Implementation of a in-memory data set that contains spatiotemporal observations indexed by time and ...
 
A dataset is the unit of information manipulated by the data access module of TerraLib. 
 
It describes a primary key (pk) constraint. 
 
A Query is independent from the data source language/dialect. 
 
It describes an index associated to a DataSetType.