mirror of
https://github.com/pocoproject/poco.git
synced 2025-03-04 07:27:23 +01:00
data fixes (getters constness, string any handling)
This commit is contained in:
parent
fa042447a4
commit
55e56b668d
@ -30,5 +30,3 @@ vc.project.prebuild.release_static_md = xcopy /y ${openssl}\\build\\win${bits}\\
|
||||
vc.project.prebuild.release_static_mt = xcopy /y ${openssl}\\build\\win${bits}\\lib\\release\\*.lib ..\\lib${dirbits}\\* 1>nul\nexit 0
|
||||
vc.solution.create = true
|
||||
vc.solution.include = testsuite\\TestSuite
|
||||
vc.solution.create = true
|
||||
vc.solution.include = testsuite\\TestSuite
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -71,7 +71,7 @@ public:
|
||||
Binder(const StatementHandle& rStmt,
|
||||
std::size_t maxFieldSize,
|
||||
ParameterBinding dataBinding = PB_IMMEDIATE,
|
||||
TypeInfo* pDataTypes = 0);
|
||||
const TypeInfo* pDataTypes = 0);
|
||||
/// Creates the Binder.
|
||||
|
||||
~Binder();
|
||||
|
@ -30,6 +30,7 @@ namespace Poco {
|
||||
namespace Data {
|
||||
namespace ODBC {
|
||||
|
||||
class SessionImpl;
|
||||
|
||||
class ODBC_API ConnectionHandle
|
||||
/// ODBC connection handle class
|
||||
@ -60,6 +61,8 @@ private:
|
||||
const EnvironmentHandle* _pEnvironment;
|
||||
SQLHDBC _hdbc;
|
||||
bool _ownsEnvironment;
|
||||
|
||||
friend class Poco::Data::ODBC::SessionImpl;
|
||||
};
|
||||
|
||||
|
||||
|
@ -70,7 +70,7 @@ public:
|
||||
~SessionImpl();
|
||||
/// Destroys the SessionImpl.
|
||||
|
||||
Poco::Data::StatementImpl* createStatementImpl();
|
||||
Poco::SharedPtr<Poco::Data::StatementImpl> createStatementImpl();
|
||||
/// Returns an ODBC StatementImpl
|
||||
|
||||
void open(const std::string& connect = "");
|
||||
@ -79,13 +79,13 @@ public:
|
||||
void close();
|
||||
/// Closes the connection
|
||||
|
||||
bool isConnected();
|
||||
bool isConnected() const;
|
||||
/// Returns true if session is connected
|
||||
|
||||
void setConnectionTimeout(std::size_t timeout);
|
||||
/// Sets the session connection timeout value.
|
||||
|
||||
std::size_t getConnectionTimeout();
|
||||
std::size_t getConnectionTimeout() const;
|
||||
/// Returns the session connection timeout value.
|
||||
|
||||
void begin();
|
||||
@ -97,61 +97,61 @@ public:
|
||||
void rollback();
|
||||
/// Aborts a transaction
|
||||
|
||||
bool isTransaction();
|
||||
bool isTransaction() const;
|
||||
/// Returns true iff a transaction is in progress.
|
||||
|
||||
const std::string& connectorName() const;
|
||||
/// Returns the name of the connector.
|
||||
|
||||
bool canTransact();
|
||||
bool canTransact() const;
|
||||
/// Returns true if connection is transaction-capable.
|
||||
|
||||
void setTransactionIsolation(Poco::UInt32 ti);
|
||||
/// Sets the transaction isolation level.
|
||||
|
||||
Poco::UInt32 getTransactionIsolation();
|
||||
Poco::UInt32 getTransactionIsolation() const;
|
||||
/// Returns the transaction isolation level.
|
||||
|
||||
bool hasTransactionIsolation(Poco::UInt32);
|
||||
bool hasTransactionIsolation(Poco::UInt32) const;
|
||||
/// Returns true iff the transaction isolation level corresponding
|
||||
/// to the supplied bitmask is supported.
|
||||
|
||||
bool isTransactionIsolation(Poco::UInt32);
|
||||
bool isTransactionIsolation(Poco::UInt32) const;
|
||||
/// Returns true iff the transaction isolation level corresponds
|
||||
/// to the supplied bitmask.
|
||||
|
||||
void autoCommit(const std::string&, bool val);
|
||||
/// Sets autocommit property for the session.
|
||||
|
||||
bool isAutoCommit(const std::string& name="");
|
||||
bool isAutoCommit(const std::string& name="") const;
|
||||
/// Returns autocommit property value.
|
||||
|
||||
void autoBind(const std::string&, bool val);
|
||||
/// Sets automatic binding for the session.
|
||||
|
||||
bool isAutoBind(const std::string& name="");
|
||||
bool isAutoBind(const std::string& name="") const;
|
||||
/// Returns true if binding is automatic for this session.
|
||||
|
||||
void autoExtract(const std::string&, bool val);
|
||||
/// Sets automatic extraction for the session.
|
||||
|
||||
bool isAutoExtract(const std::string& name="");
|
||||
bool isAutoExtract(const std::string& name="") const;
|
||||
/// Returns true if extraction is automatic for this session.
|
||||
|
||||
void setMaxFieldSize(const std::string& rName, const Poco::Any& rValue);
|
||||
/// Sets the max field size (the default used when column size is unknown).
|
||||
|
||||
Poco::Any getMaxFieldSize(const std::string& rName="");
|
||||
Poco::Any getMaxFieldSize(const std::string& rName="") const;
|
||||
/// Returns the max field size (the default used when column size is unknown).
|
||||
|
||||
int maxStatementLength();
|
||||
int maxStatementLength() const;
|
||||
/// Returns maximum length of SQL statement allowed by driver.
|
||||
|
||||
void setQueryTimeout(const std::string&, const Poco::Any& value);
|
||||
/// Sets the timeout (in seconds) for queries.
|
||||
/// Value must be of type int.
|
||||
|
||||
Poco::Any getQueryTimeout(const std::string&);
|
||||
Poco::Any getQueryTimeout(const std::string&) const;
|
||||
/// Returns the timeout (in seconds) for queries,
|
||||
/// or -1 if no timeout has been set.
|
||||
|
||||
@ -162,7 +162,7 @@ public:
|
||||
const ConnectionHandle& dbc() const;
|
||||
/// Returns the connection handle.
|
||||
|
||||
Poco::Any dataTypeInfo(const std::string& rName="");
|
||||
Poco::Any dataTypeInfo(const std::string& rName="") const;
|
||||
/// Returns the data types information.
|
||||
|
||||
private:
|
||||
@ -171,19 +171,23 @@ private:
|
||||
|
||||
static const int FUNCTIONS = SQL_API_ODBC3_ALL_FUNCTIONS_SIZE;
|
||||
|
||||
void checkError(SQLRETURN rc, const std::string& msg="");
|
||||
void checkError(SQLRETURN rc, const std::string& msg="") const;
|
||||
|
||||
Poco::UInt32 getDefaultTransactionIsolation();
|
||||
Poco::UInt32 getDefaultTransactionIsolation() const;
|
||||
|
||||
Poco::UInt32 transactionIsolation(SQLULEN isolation);
|
||||
static Poco::UInt32 transactionIsolation(SQLULEN isolation);
|
||||
|
||||
void setTransactionIsolationImpl(Poco::UInt32 ti) const;
|
||||
/// Sets the transaction isolation level.
|
||||
/// Called internally from getTransactionIsolation()
|
||||
|
||||
std::string _connector;
|
||||
const ConnectionHandle _db;
|
||||
mutable ConnectionHandle _db;
|
||||
Poco::Any _maxFieldSize;
|
||||
bool _autoBind;
|
||||
bool _autoExtract;
|
||||
TypeInfo _dataTypes;
|
||||
char _canTransact;
|
||||
mutable char _canTransact;
|
||||
bool _inTransaction;
|
||||
int _queryTimeout;
|
||||
Poco::FastMutex _mutex;
|
||||
@ -193,7 +197,7 @@ private:
|
||||
///
|
||||
/// inlines
|
||||
///
|
||||
inline void SessionImpl::checkError(SQLRETURN rc, const std::string& msg)
|
||||
inline void SessionImpl::checkError(SQLRETURN rc, const std::string& msg) const
|
||||
{
|
||||
if (Utility::isError(rc))
|
||||
throw ConnectionException(_db, msg);
|
||||
@ -212,7 +216,7 @@ inline void SessionImpl::setMaxFieldSize(const std::string& rName, const Poco::A
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Any SessionImpl::getMaxFieldSize(const std::string& rName)
|
||||
inline Poco::Any SessionImpl::getMaxFieldSize(const std::string& rName) const
|
||||
{
|
||||
return _maxFieldSize;
|
||||
}
|
||||
@ -224,7 +228,7 @@ inline void SessionImpl::setDataTypeInfo(const std::string& rName, const Poco::A
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Any SessionImpl::dataTypeInfo(const std::string& rName)
|
||||
inline Poco::Any SessionImpl::dataTypeInfo(const std::string& rName) const
|
||||
{
|
||||
return &_dataTypes;
|
||||
}
|
||||
@ -236,7 +240,7 @@ inline void SessionImpl::autoBind(const std::string&, bool val)
|
||||
}
|
||||
|
||||
|
||||
inline bool SessionImpl::isAutoBind(const std::string& name)
|
||||
inline bool SessionImpl::isAutoBind(const std::string& name) const
|
||||
{
|
||||
return _autoBind;
|
||||
}
|
||||
@ -248,7 +252,7 @@ inline void SessionImpl::autoExtract(const std::string&, bool val)
|
||||
}
|
||||
|
||||
|
||||
inline bool SessionImpl::isAutoExtract(const std::string& name)
|
||||
inline bool SessionImpl::isAutoExtract(const std::string& name) const
|
||||
{
|
||||
return _autoExtract;
|
||||
}
|
||||
@ -260,7 +264,7 @@ inline const std::string& SessionImpl::connectorName() const
|
||||
}
|
||||
|
||||
|
||||
inline bool SessionImpl::isTransactionIsolation(Poco::UInt32 ti)
|
||||
inline bool SessionImpl::isTransactionIsolation(Poco::UInt32 ti) const
|
||||
{
|
||||
return 0 != (ti & getTransactionIsolation());
|
||||
}
|
||||
@ -272,7 +276,7 @@ inline void SessionImpl::setQueryTimeout(const std::string&, const Poco::Any& va
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Any SessionImpl::getQueryTimeout(const std::string&)
|
||||
inline Poco::Any SessionImpl::getQueryTimeout(const std::string&) const
|
||||
{
|
||||
return _queryTimeout;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ namespace ODBC {
|
||||
Binder::Binder(const StatementHandle& rStmt,
|
||||
std::size_t maxFieldSize,
|
||||
Binder::ParameterBinding dataBinding,
|
||||
TypeInfo* pDataTypes):
|
||||
const TypeInfo* pDataTypes):
|
||||
_rStmt(rStmt),
|
||||
_paramBinding(dataBinding),
|
||||
_pTypeInfo(pDataTypes),
|
||||
|
@ -68,7 +68,24 @@ bool Extractor::extractBoundImpl<UTF16String>(std::size_t pos, UTF16String& val)
|
||||
typedef UTF16String::value_type CharT;
|
||||
if (isNull(pos)) return false;
|
||||
std::size_t dataSize = _pPreparator->actualDataSize(pos);
|
||||
CharT* sp = AnyCast<CharT*>(_pPreparator->at(pos));
|
||||
//CharT* sp = AnyCast<CharT*>(_pPreparator->at(pos));
|
||||
CharT* sp = 0;
|
||||
UTF16String us;
|
||||
const type_info& ti = _pPreparator->at(pos).type();
|
||||
if (ti == typeid(CharT*))
|
||||
{
|
||||
sp = AnyCast<CharT*>(_pPreparator->at(pos));
|
||||
}
|
||||
else if (ti == typeid(char*))
|
||||
{
|
||||
std::string s(AnyCast<char*>(_pPreparator->at(pos)));
|
||||
Poco::UnicodeConverter::convert(s, us);
|
||||
sp = const_cast<CharT*>(us.c_str());
|
||||
}
|
||||
else
|
||||
{
|
||||
throw Poco::Data::ExtractException("Unsupported string type: " + std::string(ti.name()));
|
||||
}
|
||||
std::size_t len = Poco::UnicodeConverter::UTFStrlen(sp);
|
||||
if (len < dataSize) dataSize = len;
|
||||
checkDataSize(dataSize);
|
||||
|
@ -86,11 +86,11 @@ void ODBCStatementImpl::compileImpl()
|
||||
Binder::ParameterBinding bind = session().getFeature("autoBind") ?
|
||||
Binder::PB_IMMEDIATE : Binder::PB_AT_EXEC;
|
||||
|
||||
TypeInfo* pDT = 0;
|
||||
const TypeInfo* pDT = 0;
|
||||
try
|
||||
{
|
||||
Poco::Any dti = session().getProperty("dataTypeInfo");
|
||||
pDT = AnyCast<TypeInfo*>(dti);
|
||||
pDT = AnyCast<const TypeInfo*>(dti);
|
||||
}
|
||||
catch (NotSupportedException&)
|
||||
{
|
||||
|
@ -85,7 +85,7 @@ SessionImpl::~SessionImpl()
|
||||
}
|
||||
|
||||
|
||||
Poco::Data::StatementImpl* SessionImpl::createStatementImpl()
|
||||
Poco::Data::StatementImpl::Ptr SessionImpl::createStatementImpl()
|
||||
{
|
||||
return new ODBCStatementImpl(*this);
|
||||
}
|
||||
@ -164,7 +164,7 @@ void SessionImpl::open(const std::string& connect)
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isConnected()
|
||||
bool SessionImpl::isConnected() const
|
||||
{
|
||||
SQLULEN value = 0;
|
||||
|
||||
@ -189,7 +189,7 @@ void SessionImpl::setConnectionTimeout(std::size_t timeout)
|
||||
}
|
||||
|
||||
|
||||
std::size_t SessionImpl::getConnectionTimeout()
|
||||
std::size_t SessionImpl::getConnectionTimeout() const
|
||||
{
|
||||
SQLULEN value = 0;
|
||||
|
||||
@ -203,7 +203,7 @@ std::size_t SessionImpl::getConnectionTimeout()
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::canTransact()
|
||||
bool SessionImpl::canTransact() const
|
||||
{
|
||||
if (ODBC_TXN_CAPABILITY_UNKNOWN == _canTransact)
|
||||
{
|
||||
@ -221,6 +221,12 @@ bool SessionImpl::canTransact()
|
||||
|
||||
|
||||
void SessionImpl::setTransactionIsolation(Poco::UInt32 ti)
|
||||
{
|
||||
setTransactionIsolationImpl(ti);
|
||||
}
|
||||
|
||||
|
||||
void SessionImpl::setTransactionIsolationImpl(Poco::UInt32 ti) const
|
||||
{
|
||||
#if POCO_PTR_IS_64_BIT
|
||||
Poco::UInt64 isolation = 0;
|
||||
@ -244,7 +250,7 @@ void SessionImpl::setTransactionIsolation(Poco::UInt32 ti)
|
||||
}
|
||||
|
||||
|
||||
Poco::UInt32 SessionImpl::getTransactionIsolation()
|
||||
Poco::UInt32 SessionImpl::getTransactionIsolation() const
|
||||
{
|
||||
SQLULEN isolation = 0;
|
||||
checkError(SQLGetConnectAttr(_db, SQL_ATTR_TXN_ISOLATION,
|
||||
@ -256,20 +262,20 @@ Poco::UInt32 SessionImpl::getTransactionIsolation()
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::hasTransactionIsolation(Poco::UInt32 ti)
|
||||
bool SessionImpl::hasTransactionIsolation(Poco::UInt32 ti) const
|
||||
{
|
||||
if (isTransaction()) throw InvalidAccessException();
|
||||
|
||||
bool retval = true;
|
||||
Poco::UInt32 old = getTransactionIsolation();
|
||||
try { setTransactionIsolation(ti); }
|
||||
try { setTransactionIsolationImpl(ti); }
|
||||
catch (Poco::Exception&) { retval = false; }
|
||||
setTransactionIsolation(old);
|
||||
setTransactionIsolationImpl(old);
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
Poco::UInt32 SessionImpl::getDefaultTransactionIsolation()
|
||||
Poco::UInt32 SessionImpl::getDefaultTransactionIsolation() const
|
||||
{
|
||||
SQLUINTEGER isolation = 0;
|
||||
checkError(SQLGetInfo(_db, SQL_DEFAULT_TXN_ISOLATION,
|
||||
@ -317,7 +323,7 @@ void SessionImpl::autoCommit(const std::string&, bool val)
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isAutoCommit(const std::string&)
|
||||
bool SessionImpl::isAutoCommit(const std::string&) const
|
||||
{
|
||||
SQLULEN value = 0;
|
||||
|
||||
@ -331,7 +337,7 @@ bool SessionImpl::isAutoCommit(const std::string&)
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isTransaction()
|
||||
bool SessionImpl::isTransaction() const
|
||||
{
|
||||
if (!canTransact()) return false;
|
||||
|
||||
@ -397,7 +403,7 @@ void SessionImpl::close()
|
||||
}
|
||||
|
||||
|
||||
int SessionImpl::maxStatementLength()
|
||||
int SessionImpl::maxStatementLength() const
|
||||
{
|
||||
SQLUINTEGER info;
|
||||
SQLRETURN rc = 0;
|
||||
|
@ -41,11 +41,11 @@ using Poco::DynamicAny;
|
||||
using Poco::DateTime;
|
||||
|
||||
|
||||
#define ORACLE_ODBC_DRIVER "Oracle in OraDB12Home1"
|
||||
#define ORACLE_ODBC_DRIVER "Oracle in XE"
|
||||
#define ORACLE_DSN "PocoDataOracleTest"
|
||||
#define ORACLE_SERVER POCO_ODBC_TEST_DATABASE_SERVER
|
||||
#define ORACLE_PORT "1521"
|
||||
#define ORACLE_SID "ORCL"
|
||||
#define ORACLE_SID "XE"
|
||||
#define ORACLE_UID "poco"
|
||||
#define ORACLE_PWD "poco"
|
||||
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
~SessionImpl();
|
||||
/// Destroys the SessionImpl.
|
||||
|
||||
Poco::Data::StatementImpl* createStatementImpl();
|
||||
Poco::SharedPtr<Poco::Data::StatementImpl> createStatementImpl();
|
||||
/// Returns an SQLite StatementImpl.
|
||||
|
||||
void open(const std::string& connect = "");
|
||||
@ -68,14 +68,14 @@ public:
|
||||
void close();
|
||||
/// Closes the session.
|
||||
|
||||
bool isConnected();
|
||||
bool isConnected() const;
|
||||
/// Returns true if connected, false otherwise.
|
||||
|
||||
void setConnectionTimeout(std::size_t timeout);
|
||||
/// Sets the session connection timeout value.
|
||||
/// Timeout value is in seconds.
|
||||
|
||||
std::size_t getConnectionTimeout();
|
||||
std::size_t getConnectionTimeout() const;
|
||||
/// Returns the session connection timeout value.
|
||||
/// Timeout value is in seconds.
|
||||
|
||||
@ -88,30 +88,30 @@ public:
|
||||
void rollback();
|
||||
/// Aborts a transaction.
|
||||
|
||||
bool canTransact();
|
||||
bool canTransact() const;
|
||||
/// Returns true if session has transaction capabilities.
|
||||
|
||||
bool isTransaction();
|
||||
bool isTransaction() const;
|
||||
/// Returns true iff a transaction is a transaction is in progress, false otherwise.
|
||||
|
||||
void setTransactionIsolation(Poco::UInt32 ti);
|
||||
/// Sets the transaction isolation level.
|
||||
|
||||
Poco::UInt32 getTransactionIsolation();
|
||||
Poco::UInt32 getTransactionIsolation() const;
|
||||
/// Returns the transaction isolation level.
|
||||
|
||||
bool hasTransactionIsolation(Poco::UInt32 ti);
|
||||
bool hasTransactionIsolation(Poco::UInt32 ti) const;
|
||||
/// Returns true iff the transaction isolation level corresponding
|
||||
/// to the supplied bitmask is supported.
|
||||
|
||||
bool isTransactionIsolation(Poco::UInt32 ti);
|
||||
bool isTransactionIsolation(Poco::UInt32 ti) const;
|
||||
/// Returns true iff the transaction isolation level corresponds
|
||||
/// to the supplied bitmask.
|
||||
|
||||
void autoCommit(const std::string&, bool val);
|
||||
/// Sets autocommit property for the session.
|
||||
|
||||
bool isAutoCommit(const std::string& name="");
|
||||
bool isAutoCommit(const std::string& name="") const;
|
||||
/// Returns autocommit property value.
|
||||
|
||||
const std::string& connectorName() const;
|
||||
@ -119,7 +119,7 @@ public:
|
||||
|
||||
protected:
|
||||
void setConnectionTimeout(const std::string& prop, const Poco::Any& value);
|
||||
Poco::Any getConnectionTimeout(const std::string& prop);
|
||||
Poco::Any getConnectionTimeout(const std::string& prop) const;
|
||||
|
||||
private:
|
||||
std::string _connector;
|
||||
@ -127,6 +127,7 @@ private:
|
||||
bool _connected;
|
||||
bool _isTransaction;
|
||||
int _timeout;
|
||||
mutable
|
||||
Poco::Mutex _mutex;
|
||||
|
||||
static const std::string DEFERRED_BEGIN_TRANSACTION;
|
||||
@ -138,13 +139,13 @@ private:
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline bool SessionImpl::canTransact()
|
||||
inline bool SessionImpl::canTransact() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
inline bool SessionImpl::isTransaction()
|
||||
inline bool SessionImpl::isTransaction() const
|
||||
{
|
||||
return _isTransaction;
|
||||
}
|
||||
@ -156,7 +157,7 @@ inline const std::string& SessionImpl::connectorName() const
|
||||
}
|
||||
|
||||
|
||||
inline std::size_t SessionImpl::getConnectionTimeout()
|
||||
inline std::size_t SessionImpl::getConnectionTimeout() const
|
||||
{
|
||||
return static_cast<std::size_t>(_timeout/1000);
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ SessionImpl::~SessionImpl()
|
||||
}
|
||||
|
||||
|
||||
Poco::Data::StatementImpl* SessionImpl::createStatementImpl()
|
||||
Poco::Data::StatementImpl::Ptr SessionImpl::createStatementImpl()
|
||||
{
|
||||
poco_check_ptr (_pDB);
|
||||
return new SQLiteStatementImpl(*this, _pDB);
|
||||
@ -118,20 +118,20 @@ void SessionImpl::setTransactionIsolation(Poco::UInt32 ti)
|
||||
}
|
||||
|
||||
|
||||
Poco::UInt32 SessionImpl::getTransactionIsolation()
|
||||
Poco::UInt32 SessionImpl::getTransactionIsolation() const
|
||||
{
|
||||
return Session::TRANSACTION_READ_COMMITTED;
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::hasTransactionIsolation(Poco::UInt32 ti)
|
||||
bool SessionImpl::hasTransactionIsolation(Poco::UInt32 ti) const
|
||||
{
|
||||
if (ti == Session::TRANSACTION_READ_COMMITTED) return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isTransactionIsolation(Poco::UInt32 ti)
|
||||
bool SessionImpl::isTransactionIsolation(Poco::UInt32 ti) const
|
||||
{
|
||||
if (ti == Session::TRANSACTION_READ_COMMITTED) return true;
|
||||
return false;
|
||||
@ -182,7 +182,7 @@ void SessionImpl::close()
|
||||
{
|
||||
if (_pDB)
|
||||
{
|
||||
sqlite3_close(_pDB);
|
||||
sqlite3_close_v2(_pDB);
|
||||
_pDB = 0;
|
||||
}
|
||||
|
||||
@ -190,7 +190,7 @@ void SessionImpl::close()
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isConnected()
|
||||
bool SessionImpl::isConnected() const
|
||||
{
|
||||
return _connected;
|
||||
}
|
||||
@ -211,7 +211,7 @@ void SessionImpl::setConnectionTimeout(const std::string& prop, const Poco::Any&
|
||||
}
|
||||
|
||||
|
||||
Poco::Any SessionImpl::getConnectionTimeout(const std::string& prop)
|
||||
Poco::Any SessionImpl::getConnectionTimeout(const std::string& prop) const
|
||||
{
|
||||
return Poco::Any(_timeout/1000);
|
||||
}
|
||||
@ -227,7 +227,7 @@ void SessionImpl::autoCommit(const std::string&, bool)
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isAutoCommit(const std::string&)
|
||||
bool SessionImpl::isAutoCommit(const std::string&) const
|
||||
{
|
||||
Poco::Mutex::ScopedLock l(_mutex);
|
||||
return (0 != sqlite3_get_autocommit(_pDB));
|
||||
|
@ -41,13 +41,13 @@ public:
|
||||
typedef void (C::*FeatureSetter)(const std::string&, bool);
|
||||
/// The setter method for a feature.
|
||||
|
||||
typedef bool (C::*FeatureGetter)(const std::string&);
|
||||
typedef bool (C::*FeatureGetter)(const std::string&) const;
|
||||
/// The getter method for a feature.
|
||||
|
||||
typedef void (C::*PropertySetter)(const std::string&, const Poco::Any&);
|
||||
/// The setter method for a property.
|
||||
|
||||
typedef Poco::Any (C::*PropertyGetter)(const std::string&);
|
||||
typedef Poco::Any (C::*PropertyGetter)(const std::string&) const;
|
||||
/// The getter method for a property.
|
||||
|
||||
AbstractSessionImpl(const std::string& connectionString,
|
||||
@ -187,7 +187,7 @@ public:
|
||||
_storage = Poco::RefAnyCast<std::string>(value);
|
||||
}
|
||||
|
||||
Poco::Any getStorage(const std::string& name="")
|
||||
Poco::Any getStorage(const std::string& name="") const
|
||||
/// Returns the storage type
|
||||
{
|
||||
return _storage;
|
||||
@ -199,7 +199,7 @@ public:
|
||||
_handle = handle;
|
||||
}
|
||||
|
||||
Poco::Any getHandle(const std::string& name="")
|
||||
Poco::Any getHandle(const std::string& name="") const
|
||||
/// Returns the native session handle.
|
||||
{
|
||||
return _handle;
|
||||
@ -211,7 +211,7 @@ public:
|
||||
_bulk = bulk;
|
||||
}
|
||||
|
||||
bool getBulk(const std::string& name="")
|
||||
bool getBulk(const std::string& name="") const
|
||||
/// Returns the execution type
|
||||
{
|
||||
return _bulk;
|
||||
@ -229,7 +229,7 @@ public:
|
||||
_emptyStringIsNull = emptyStringIsNull;
|
||||
}
|
||||
|
||||
bool getEmptyStringIsNull(const std::string& name="")
|
||||
bool getEmptyStringIsNull(const std::string& name="") const
|
||||
/// Returns the setting for the behavior regarding empty variable
|
||||
/// length strings. See setEmptyStringIsNull(const std::string&, bool)
|
||||
/// and this class documentation for feature rationale and details.
|
||||
@ -250,7 +250,7 @@ public:
|
||||
_forceEmptyString = forceEmptyString;
|
||||
}
|
||||
|
||||
bool getForceEmptyString(const std::string& name="")
|
||||
bool getForceEmptyString(const std::string& name="") const
|
||||
/// Returns the setting for the behavior regarding empty variable
|
||||
/// length strings. See setForceEmptyString(const std::string&, bool)
|
||||
/// and this class documentation for feature rationale and details.
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "Poco/Data/Data.h"
|
||||
#include "Poco/Data/SessionImpl.h"
|
||||
#include "Poco/Data/PooledSessionHolder.h"
|
||||
#include "Poco/Data/StatementImpl.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
|
||||
|
||||
@ -43,22 +44,21 @@ public:
|
||||
~PooledSessionImpl();
|
||||
/// Destroys the PooledSessionImpl.
|
||||
|
||||
// SessionImpl
|
||||
StatementImpl* createStatementImpl();
|
||||
StatementImpl::Ptr createStatementImpl();
|
||||
void begin();
|
||||
void commit();
|
||||
void rollback();
|
||||
void open(const std::string& connect = "");
|
||||
void close();
|
||||
bool isConnected();
|
||||
bool isConnected() const;
|
||||
void setConnectionTimeout(std::size_t timeout);
|
||||
std::size_t getConnectionTimeout();
|
||||
bool canTransact();
|
||||
bool isTransaction();
|
||||
std::size_t getConnectionTimeout() const;
|
||||
bool canTransact() const;
|
||||
bool isTransaction()const ;
|
||||
void setTransactionIsolation(Poco::UInt32);
|
||||
Poco::UInt32 getTransactionIsolation();
|
||||
bool hasTransactionIsolation(Poco::UInt32);
|
||||
bool isTransactionIsolation(Poco::UInt32);
|
||||
Poco::UInt32 getTransactionIsolation() const;
|
||||
bool hasTransactionIsolation(Poco::UInt32) const;
|
||||
bool isTransactionIsolation(Poco::UInt32) const;
|
||||
const std::string& connectorName() const;
|
||||
void setFeature(const std::string& name, bool state);
|
||||
bool getFeature(const std::string& name);
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "Poco/Data/Statement.h"
|
||||
#include "Poco/Data/StatementCreator.h"
|
||||
#include "Poco/Data/Binding.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
#include "Poco/Any.h"
|
||||
#include <algorithm>
|
||||
@ -191,7 +192,7 @@ public:
|
||||
return _statementCreator << t;
|
||||
}
|
||||
|
||||
StatementImpl* createStatementImpl();
|
||||
SharedPtr<StatementImpl> createStatementImpl();
|
||||
/// Creates a StatementImpl.
|
||||
|
||||
void open(const std::string& connect = "");
|
||||
@ -313,7 +314,7 @@ private:
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline StatementImpl* Session::createStatementImpl()
|
||||
inline SharedPtr<StatementImpl> Session::createStatementImpl()
|
||||
{
|
||||
return _pImpl->createStatementImpl();
|
||||
}
|
||||
|
@ -22,6 +22,8 @@
|
||||
#include "Poco/RefCountedObject.h"
|
||||
#include "Poco/String.h"
|
||||
#include "Poco/Format.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
#include "Poco/Any.h"
|
||||
|
||||
|
||||
@ -37,6 +39,8 @@ class Data_API SessionImpl: public Poco::RefCountedObject
|
||||
/// SessionImpl objects are noncopyable.
|
||||
{
|
||||
public:
|
||||
typedef Poco::AutoPtr<SessionImpl> Ptr;
|
||||
|
||||
static const std::size_t LOGIN_TIMEOUT_INFINITE = 0;
|
||||
/// Infinite connection/login timeout.
|
||||
|
||||
@ -56,7 +60,7 @@ public:
|
||||
virtual ~SessionImpl();
|
||||
/// Destroys the SessionImpl.
|
||||
|
||||
virtual StatementImpl* createStatementImpl() = 0;
|
||||
virtual Poco::SharedPtr<StatementImpl> createStatementImpl() = 0;
|
||||
/// Creates a StatementImpl.
|
||||
|
||||
virtual void open(const std::string& connectionString = "") = 0;
|
||||
@ -70,7 +74,7 @@ public:
|
||||
virtual void close() = 0;
|
||||
/// Closes the connection.
|
||||
|
||||
virtual bool isConnected() = 0;
|
||||
virtual bool isConnected() const = 0;
|
||||
/// Returns true if session is connected, false otherwise.
|
||||
|
||||
void setLoginTimeout(std::size_t timeout);
|
||||
@ -82,7 +86,7 @@ public:
|
||||
virtual void setConnectionTimeout(std::size_t timeout) = 0;
|
||||
/// Sets the session connection timeout value.
|
||||
|
||||
virtual std::size_t getConnectionTimeout() = 0;
|
||||
virtual std::size_t getConnectionTimeout() const = 0;
|
||||
/// Returns the session connection timeout value.
|
||||
|
||||
void reconnect();
|
||||
@ -97,23 +101,23 @@ public:
|
||||
virtual void rollback() = 0;
|
||||
/// Aborts a transaction.
|
||||
|
||||
virtual bool canTransact() = 0;
|
||||
virtual bool canTransact() const = 0;
|
||||
/// Returns true if session has transaction capabilities.
|
||||
|
||||
virtual bool isTransaction() = 0;
|
||||
virtual bool isTransaction() const = 0;
|
||||
/// Returns true iff a transaction is a transaction is in progress, false otherwise.
|
||||
|
||||
virtual void setTransactionIsolation(Poco::UInt32) = 0;
|
||||
/// Sets the transaction isolation level.
|
||||
|
||||
virtual Poco::UInt32 getTransactionIsolation() = 0;
|
||||
virtual Poco::UInt32 getTransactionIsolation() const = 0;
|
||||
/// Returns the transaction isolation level.
|
||||
|
||||
virtual bool hasTransactionIsolation(Poco::UInt32) = 0;
|
||||
virtual bool hasTransactionIsolation(Poco::UInt32) const = 0;
|
||||
/// Returns true iff the transaction isolation level corresponding
|
||||
/// to the supplied bitmask is supported.
|
||||
|
||||
virtual bool isTransactionIsolation(Poco::UInt32) = 0;
|
||||
virtual bool isTransactionIsolation(Poco::UInt32) const = 0;
|
||||
/// Returns true iff the transaction isolation level corresponds
|
||||
/// to the supplied bitmask.
|
||||
|
||||
|
@ -42,7 +42,7 @@ PooledSessionImpl::~PooledSessionImpl()
|
||||
}
|
||||
|
||||
|
||||
StatementImpl* PooledSessionImpl::createStatementImpl()
|
||||
StatementImpl::Ptr PooledSessionImpl::createStatementImpl()
|
||||
{
|
||||
return access()->createStatementImpl();
|
||||
}
|
||||
@ -60,7 +60,7 @@ void PooledSessionImpl::commit()
|
||||
}
|
||||
|
||||
|
||||
bool PooledSessionImpl::isConnected()
|
||||
bool PooledSessionImpl::isConnected() const
|
||||
{
|
||||
return access()->isConnected();
|
||||
}
|
||||
@ -72,19 +72,19 @@ void PooledSessionImpl::setConnectionTimeout(std::size_t timeout)
|
||||
}
|
||||
|
||||
|
||||
std::size_t PooledSessionImpl::getConnectionTimeout()
|
||||
std::size_t PooledSessionImpl::getConnectionTimeout() const
|
||||
{
|
||||
return access()->getConnectionTimeout();
|
||||
}
|
||||
|
||||
|
||||
bool PooledSessionImpl::canTransact()
|
||||
bool PooledSessionImpl::canTransact() const
|
||||
{
|
||||
return access()->canTransact();
|
||||
}
|
||||
|
||||
|
||||
bool PooledSessionImpl::isTransaction()
|
||||
bool PooledSessionImpl::isTransaction() const
|
||||
{
|
||||
return access()->isTransaction();
|
||||
}
|
||||
@ -96,19 +96,19 @@ void PooledSessionImpl::setTransactionIsolation(Poco::UInt32 ti)
|
||||
}
|
||||
|
||||
|
||||
Poco::UInt32 PooledSessionImpl::getTransactionIsolation()
|
||||
Poco::UInt32 PooledSessionImpl::getTransactionIsolation() const
|
||||
{
|
||||
return access()->getTransactionIsolation();
|
||||
}
|
||||
|
||||
|
||||
bool PooledSessionImpl::hasTransactionIsolation(Poco::UInt32 ti)
|
||||
bool PooledSessionImpl::hasTransactionIsolation(Poco::UInt32 ti) const
|
||||
{
|
||||
return access()->hasTransactionIsolation(ti);
|
||||
}
|
||||
|
||||
|
||||
bool PooledSessionImpl::isTransactionIsolation(Poco::UInt32 ti)
|
||||
bool PooledSessionImpl::isTransactionIsolation(Poco::UInt32 ti) const
|
||||
{
|
||||
return access()->isTransactionIsolation(ti);
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ void SessionImpl::close()
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isConnected()
|
||||
bool SessionImpl::isConnected() const
|
||||
{
|
||||
return _connected;
|
||||
}
|
||||
@ -61,13 +61,13 @@ void SessionImpl::setConnectionTimeout(std::size_t timeout)
|
||||
}
|
||||
|
||||
|
||||
std::size_t SessionImpl::getConnectionTimeout()
|
||||
std::size_t SessionImpl::getConnectionTimeout() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Poco::Data::StatementImpl* SessionImpl::createStatementImpl()
|
||||
StatementImpl::Ptr SessionImpl::createStatementImpl()
|
||||
{
|
||||
return new TestStatementImpl(*this);
|
||||
}
|
||||
@ -88,13 +88,13 @@ void SessionImpl::rollback()
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::canTransact()
|
||||
bool SessionImpl::canTransact() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isTransaction()
|
||||
bool SessionImpl::isTransaction() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -105,19 +105,19 @@ void SessionImpl::setTransactionIsolation(Poco::UInt32)
|
||||
}
|
||||
|
||||
|
||||
Poco::UInt32 SessionImpl::getTransactionIsolation()
|
||||
Poco::UInt32 SessionImpl::getTransactionIsolation() const
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::hasTransactionIsolation(Poco::UInt32)
|
||||
bool SessionImpl::hasTransactionIsolation(Poco::UInt32) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::isTransactionIsolation(Poco::UInt32)
|
||||
bool SessionImpl::isTransactionIsolation(Poco::UInt32) const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -129,7 +129,7 @@ const std::string& SessionImpl::connectorName() const
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::getConnected(const std::string& name)
|
||||
bool SessionImpl::getConnected(const std::string& name) const
|
||||
{
|
||||
return _connected;
|
||||
}
|
||||
@ -147,7 +147,7 @@ void SessionImpl::setF(const std::string& name, bool value)
|
||||
}
|
||||
|
||||
|
||||
bool SessionImpl::getF(const std::string& name)
|
||||
bool SessionImpl::getF(const std::string& name) const
|
||||
{
|
||||
return _f;
|
||||
}
|
||||
@ -159,7 +159,7 @@ void SessionImpl::setP(const std::string& name, const Poco::Any& value)
|
||||
}
|
||||
|
||||
|
||||
Poco::Any SessionImpl::getP(const std::string& name)
|
||||
Poco::Any SessionImpl::getP(const std::string& name) const
|
||||
{
|
||||
return _p;
|
||||
}
|
||||
|
@ -15,6 +15,7 @@
|
||||
|
||||
|
||||
#include "Poco/Data/AbstractSessionImpl.h"
|
||||
#include "Poco/Data/StatementImpl.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include "Binder.h"
|
||||
|
||||
@ -35,7 +36,7 @@ public:
|
||||
~SessionImpl();
|
||||
/// Destroys the SessionImpl.
|
||||
|
||||
Poco::Data::StatementImpl* createStatementImpl();
|
||||
StatementImpl::Ptr createStatementImpl();
|
||||
/// Returns an test StatementImpl.
|
||||
|
||||
void open(const std::string& connectionString = "");
|
||||
@ -44,14 +45,14 @@ public:
|
||||
void close();
|
||||
/// Closes the session.
|
||||
|
||||
bool isConnected();
|
||||
bool isConnected() const;
|
||||
/// Returns true if session is connected to the database,
|
||||
/// false otherwise.
|
||||
|
||||
void setConnectionTimeout(std::size_t timeout);
|
||||
/// Sets the session connection timeout value.
|
||||
|
||||
std::size_t getConnectionTimeout();
|
||||
std::size_t getConnectionTimeout() const;
|
||||
/// Returns the session connection timeout value.
|
||||
|
||||
void begin();
|
||||
@ -63,23 +64,23 @@ public:
|
||||
void rollback();
|
||||
/// Aborts a transaction.
|
||||
|
||||
bool canTransact();
|
||||
bool canTransact() const;
|
||||
/// Returns true if session has transaction capabilities.
|
||||
|
||||
bool isTransaction();
|
||||
bool isTransaction() const;
|
||||
/// Returns true iff a transaction is a transaction is in progress, false otherwise.
|
||||
|
||||
void setTransactionIsolation(Poco::UInt32);
|
||||
/// Sets the transaction isolation level.
|
||||
|
||||
Poco::UInt32 getTransactionIsolation();
|
||||
Poco::UInt32 getTransactionIsolation() const;
|
||||
/// Returns the transaction isolation level.
|
||||
|
||||
bool hasTransactionIsolation(Poco::UInt32);
|
||||
bool hasTransactionIsolation(Poco::UInt32) const;
|
||||
/// Returns true iff the transaction isolation level corresponding
|
||||
/// to the supplied bitmask is supported.
|
||||
|
||||
bool isTransactionIsolation(Poco::UInt32);
|
||||
bool isTransactionIsolation(Poco::UInt32) const;
|
||||
/// Returns true iff the transaction isolation level corresponds
|
||||
/// to the supplied bitmask.
|
||||
|
||||
@ -87,15 +88,15 @@ public:
|
||||
/// Returns the name of the connector.
|
||||
|
||||
void setConnected(const std::string& name, bool value);
|
||||
bool getConnected(const std::string& name);
|
||||
bool getConnected(const std::string& name) const;
|
||||
/// Sets/gets the connected property.
|
||||
/// This is normally done by implementation
|
||||
/// when a database connection loss is detected.
|
||||
|
||||
void setF(const std::string& name, bool value);
|
||||
bool getF(const std::string& name);
|
||||
bool getF(const std::string& name) const;
|
||||
void setP(const std::string& name, const Poco::Any& value);
|
||||
Poco::Any getP(const std::string& name);
|
||||
Poco::Any getP(const std::string& name) const;
|
||||
|
||||
private:
|
||||
bool _f;
|
||||
|
@ -2,7 +2,7 @@ Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Foundation", "Foundation_x64_vs90.vcproj", "{B01196CC-B693-4548-8464-2FF60499E73F}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs90.vcproj", "{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}"
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_x64_vs90.vcproj", "{F1EE93DF-347F-4CB3-B191-C4E63F38E972}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F} = {B01196CC-B693-4548-8464-2FF60499E73F}
|
||||
EndProjectSection
|
||||
@ -10,49 +10,49 @@ EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug_shared|x64 = debug_shared|x64
|
||||
release_shared|x64 = release_shared|x64
|
||||
debug_static_mt|x64 = debug_static_mt|x64
|
||||
release_static_mt|x64 = release_static_mt|x64
|
||||
debug_static_md|x64 = debug_static_md|x64
|
||||
debug_static_mt|x64 = debug_static_mt|x64
|
||||
release_shared|x64 = release_shared|x64
|
||||
release_static_md|x64 = release_static_md|x64
|
||||
release_static_mt|x64 = release_static_mt|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{C812E0B9-69A9-4FA1-A1D4-161CF677BD10}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{B01196CC-B693-4548-8464-2FF60499E73F}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{F1EE93DF-347F-4CB3-B191-C4E63F38E972}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
Loading…
x
Reference in New Issue
Block a user