4 #ifndef FIRE_CONNECTION_QT_CONNECTIONQTSQL_HPP_INCLUDED 
    5 #define FIRE_CONNECTION_QT_CONNECTIONQTSQL_HPP_INCLUDED 
    7 #include <QtSql/QSqlError> 
    8 #include <QtSql/QSqlQuery> 
    9 #include <boost/thread.hpp> 
   10 #include <QtCore/QByteArray> 
   11 #include <QtSql/QSqlDatabase> 
   12 #include <fire/logging/Logger.hpp> 
   13 #include <boost/thread/mutex.hpp> 
   14 #include <fire/source/vector/Metadata.hpp> 
   15 #include <boost/thread/condition_variable.hpp> 
   16 #include <fire/gear/geom/shared/EnvelopeSh.hpp> 
   17 #include <fire/source/vector/shared/MetadataSh.hpp> 
   22 #include "fire/source/vector/ConnectionSpatialDb.hpp" 
   25 namespace connection {
 
   29 class ConnectionQtSqlSh;
 
   84   size_t getCount(
const std::string & name, 
const std::string & schema) 
const;
 
   85   int getSrid(
const std::string & name, 
const std::string & schema, 
const std::string & geom) 
const;
 
   91   virtual void _openNoWait();
 
   92   virtual void _closeNoWait();
 
   93   virtual bool _isOpenNoWait() 
const;
 
   95   virtual std::string 
const _getTestSql() 
const = 0;
 
   96   virtual std::string 
const _getQtDriverName() 
const = 0;
 
   97   virtual bool _isGeometryNativeType(
const int &
id) 
const = 0;
 
   98   virtual bool _isGeographyNativeType(
const int &
id) 
const = 0;
 
   99   virtual void _configureDb(ConnectionParams 
const & pramas);
 
  100   virtual void _configureDbNoWait(ConnectionParams 
const & pramas);
 
  101   virtual std::string 
const _getBuff2GeomSql(
const bool& useWkb) 
const = 0;
 
  102   virtual std::string 
const _getLayersSql(
const std::string & schema, 
const std::string & tbl) 
const = 0;
 
  103   virtual std::string  _getSridSql(
const std::string & tblName, 
const std::string & schemaName, 
const std::string & geomFld) 
const = 0;
 
  104   virtual std::string 
const _getLayerExtentSql(
const std::string & tblName, 
const std::string & schemaName, 
const std::string & geomFld) 
const = 0;
 
  108   virtual const std::string _getSpatialIndexCreationSql(
const std::string& schema, 
const std::string& tbl, 
const source::vector::Field::FieldShp& fld) 
const = 0;
 
  114   std::string 
const _getConnectionIdNoWait(ConnectionParams 
const & cnnParams) 
const;
 
  116   QSqlDatabase _getQtDbNoWait(std::string 
const & name, 
const bool &verify = 
true) 
const;
 
  118   int _getSridNoWait(
const std::string & name, 
const std::string & schema, 
const std::string &geom) 
const;
 
  123   std::string _defaultSchema;
 
Definition: DataSetSh.hpp:21
 
virtual void rollbackTransaction()
Effettua il rollback della transazione corrente. 
 
Specializzazione per connessioni vettoriali su db con supporto spaziale. 
Definition: ConnectionSpatialDb.hpp:27
 
Definition: EnvelopeSh.hpp:18
 
Oggetto che consente di verificare la presenza di specifiche funzionalità sull'implementazione di una...
Definition: Features.hpp:21
 
virtual source::Features const getFeatures() const 
Restituisce un oggetto indicante le caratteristiche supportate da questa connessione. 
 
ConnectionQtSql()
Costruttore ConnectionQtSql. 
 
static void qtToVal(source::vector::DataValue::DataValueShp &data, QVariant const &val, const std::string &poolName)
Metodo statico che valorizza un DataValue. 
 
Definition: ConnectionQtSqlSh.hpp:21
 
Definition: FieldSh.hpp:21
 
virtual void execUpdate(std::string const &sql, const source::vector::DataRow::MapSqlParam ¶ms)
Esegue una interrogazione di modifica (INSERIMENTO, MODIFICA O CANCELLAZIONE) sul contenitore dei dat...
 
std::map< std::string, DataValue::DataValueShp > MapSqlParam
Mappa di parametri usata per query SQL parametriche. 
Definition: DataRow.hpp:47
 
virtual void commitTransaction()
Persiste sul DB la transazione corrente. 
 
Implementazione Connection per l'accesso a banche dati spaziali basato su QtSql. 
Definition: ConnectionQtSql.hpp:35
 
virtual source::vector::VectorLayerInfo::VectorLayerInfoShp getLayerInfo(std::string const &name) const 
Estrae le informazioni relative ad un contenitore di dati vettoriali. 
 
Definition: Geometry.hpp:69
 
virtual source::vector::DataSet::DataSetShp const execQuery(std::string const &sql, const source::vector::DataRow::MapSqlParam ¶ms=source::vector::DataRow::MapSqlParam()) const 
Esegue una interrogazione restituendo un cursore sui dati. 
 
static QVariant valToQt(const source::vector::DataValue::DataValueShp &val)
Trasforma il valore in un Variant. 
 
virtual source::vector::VectorLayerInfo::VectorLayerInfoShp createTable(const source::vector::Metadata::MetadataShp &mtd, const source::vector::VectorLayerInfo::VctEnvelope &extents)
crea una nuova tabella geografica sulla sorgente dati allineando il catalogo spaziale ...
 
virtual ~ConnectionQtSql()
Distruttore connessione. 
 
virtual source::vector::DataSet::DataSetShp const getData(const std::string &schema, std::string const &tbl) const 
Interroga il livello tematico restituendo un cursore sui dati in sola lettura. 
 
virtual void execUpdate(std::string const &query)
Esegue una interrogazione di modifica (INSERIMENTO, MODIFICA O CANCELLAZIONE) sul contenitore dei dat...
 
virtual LayerList getLayers() const 
Restituisce la lista degli identificativi testuali dei livelli tematici presenti nella connessione...
 
virtual void beginTransaction()
Avvia una transazione sul DB. 
 
Definition: DataValueSh.hpp:24
 
virtual bool isValid() const 
Indica se la connessione risulta operativa. 
 
Definition: VectorLayerInfoSh.hpp:23