[Libreoffice-commits] core.git: 5 commits - connectivity/source
Andrzej J.R. Hunt
andrzej at ahunt.org
Tue Aug 27 13:02:00 PDT 2013
connectivity/source/drivers/firebird/PreparedStatement.cxx | 131 ++++++-----
connectivity/source/drivers/firebird/PreparedStatement.hxx | 26 +-
connectivity/source/drivers/firebird/Statement.cxx | 24 --
connectivity/source/drivers/firebird/StatementCommonBase.cxx | 96 +++++++-
connectivity/source/drivers/firebird/StatementCommonBase.hxx | 6
5 files changed, 196 insertions(+), 87 deletions(-)
New commits:
commit 7bc88db8c500b41fe926fb99cd403accd696e671
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date: Tue Aug 27 20:52:37 2013 +0100
Implemet setNull. (firebird-sdbc)
Change-Id: I9fd53a5e8b5d1dba467fa8064f9f2ea1b93f26df
diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx
index 00f7b0e..2c59931 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.cxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx
@@ -323,6 +323,16 @@ Reference< XResultSet > SAL_CALL OPreparedStatement::executeQuery()
}
//----- XParameters -----------------------------------------------------------
+void SAL_CALL OPreparedStatement::setNull(sal_Int32 nIndex, sal_Int32 nSqlType)
+ throw(SQLException, RuntimeException)
+{
+ (void) nSqlType;
+ MutexGuard aGuard( m_pConnection->getMutex() );
+ checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
+
+ setParameterNull(nIndex, true);
+}
+
void SAL_CALL OPreparedStatement::setBoolean(sal_Int32 nIndex, sal_Bool x)
throw(SQLException, RuntimeException)
{
@@ -458,16 +468,6 @@ void SAL_CALL OPreparedStatement::setFloat( sal_Int32 parameterIndex, float x )
}
// -------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 sqlType ) throw(SQLException, RuntimeException)
-{
- (void) parameterIndex;
- (void) sqlType;
- ::osl::MutexGuard aGuard( m_pConnection->getMutex() );
- checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
-
-}
-// -------------------------------------------------------------------------
-
void SAL_CALL OPreparedStatement::setClob( sal_Int32 parameterIndex, const Reference< XClob >& x ) throw(SQLException, RuntimeException)
{
(void) parameterIndex;
commit 186f264dc2ac45c3de16a651b64de77794589eab
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date: Tue Aug 27 20:50:44 2013 +0100
Implement set[Int|Long]. (firebird-sdbc)
Change-Id: I234b8f136b90f56c689553d0df8ec2d473a92225
diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx
index 004d191..00f7b0e 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.cxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx
@@ -335,17 +335,17 @@ void SAL_CALL OPreparedStatement::setBoolean(sal_Int32 nIndex, sal_Bool x)
// it might be best to just determine the db type and set as appropriate?
}
-void SAL_CALL OPreparedStatement::setByte(sal_Int32 nIndex, sal_Int8 x)
+void SAL_CALL OPreparedStatement::setByte(sal_Int32 nIndex, sal_Int8 nValue)
throw(SQLException, RuntimeException)
{
(void) nIndex;
- (void) x;
+ (void) nValue;
::dbtools::throwFunctionNotSupportedException("setByte not supported in firebird",
*this,
Any());
}
-void SAL_CALL OPreparedStatement::setShort(sal_Int32 nIndex, sal_Int16 x)
+void SAL_CALL OPreparedStatement::setShort(sal_Int32 nIndex, sal_Int16 nValue)
throw(SQLException, RuntimeException)
{
MutexGuard aGuard( m_pConnection->getMutex() );
@@ -362,7 +362,47 @@ void SAL_CALL OPreparedStatement::setShort(sal_Int32 nIndex, sal_Int16 x)
if (dtype != SQL_SHORT)
throw SQLException(); // TODO: cast instead?
- memcpy(pVar->sqldata, &x, 2);
+ memcpy(pVar->sqldata, &nValue, sizeof(nValue));
+}
+
+void SAL_CALL OPreparedStatement::setInt(sal_Int32 nIndex, sal_Int32 nValue)
+ throw(SQLException, RuntimeException)
+{
+ MutexGuard aGuard( m_pConnection->getMutex() );
+ checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
+ ensurePrepared();
+
+ checkParameterIndex(nIndex);
+ setParameterNull(nIndex, false);
+
+ XSQLVAR* pVar = m_pInSqlda->sqlvar + (nIndex - 1);
+
+ int dtype = (pVar->sqltype & ~1); // drop flag bit for now
+
+ if (dtype != SQL_LONG)
+ throw SQLException(); // TODO: cast instead?
+
+ memcpy(pVar->sqldata, &nValue, sizeof(nValue));
+}
+
+void SAL_CALL OPreparedStatement::setLong(sal_Int32 nIndex, sal_Int64 nValue)
+ throw(SQLException, RuntimeException)
+{
+ MutexGuard aGuard( m_pConnection->getMutex() );
+ checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
+ ensurePrepared();
+
+ checkParameterIndex(nIndex);
+ setParameterNull(nIndex, false);
+
+ XSQLVAR* pVar = m_pInSqlda->sqlvar + (nIndex - 1);
+
+ int dtype = (pVar->sqltype & ~1); // drop flag bit for now
+
+ if (dtype != SQL_INT64)
+ throw SQLException(); // TODO: cast instead?
+
+ memcpy(pVar->sqldata, &nValue, sizeof(nValue));
}
// -------------------------------------------------------------------------
@@ -418,26 +458,6 @@ void SAL_CALL OPreparedStatement::setFloat( sal_Int32 parameterIndex, float x )
}
// -------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::setInt( sal_Int32 parameterIndex, sal_Int32 x ) throw(SQLException, RuntimeException)
-{
- (void) parameterIndex;
- (void) x;
- ::osl::MutexGuard aGuard( m_pConnection->getMutex() );
- checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
-
-}
-// -------------------------------------------------------------------------
-
-void SAL_CALL OPreparedStatement::setLong( sal_Int32 parameterIndex, sal_Int64 aVal ) throw(SQLException, RuntimeException)
-{
- (void) parameterIndex;
- (void) aVal;
- ::osl::MutexGuard aGuard( m_pConnection->getMutex() );
- checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
-
-}
-// -------------------------------------------------------------------------
-
void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 sqlType ) throw(SQLException, RuntimeException)
{
(void) parameterIndex;
diff --git a/connectivity/source/drivers/firebird/PreparedStatement.hxx b/connectivity/source/drivers/firebird/PreparedStatement.hxx
index eca8562..4434a64 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.hxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.hxx
@@ -117,13 +117,25 @@ namespace connectivity
::com::sun::star::uno::RuntimeException);
// XParameters
- virtual void SAL_CALL setNull( sal_Int32 nParameterIndex, sal_Int32 sqlType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setObjectNull( sal_Int32 parameterIndex, sal_Int32 sqlType, const ::rtl::OUString& typeName ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setBoolean( sal_Int32 parameterIndex, sal_Bool x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setByte( sal_Int32 parameterIndex, sal_Int8 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setShort( sal_Int32 parameterIndex, sal_Int16 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setInt( sal_Int32 parameterIndex, sal_Int32 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setLong( sal_Int32 parameterIndex, sal_Int64 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setNull(sal_Int32 nIndex, sal_Int32 nValue)
+ throw(::com::sun::star::sdbc::SQLException,
+ ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setObjectNull(sal_Int32 parameterIndex, sal_Int32 sqlType, const ::rtl::OUString& typeName ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setBoolean( sal_Int32 nIndex, sal_Bool nValue)
+ throw(::com::sun::star::sdbc::SQLException,
+ ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setByte(sal_Int32 nIndex, sal_Int8 nValue)
+ throw(::com::sun::star::sdbc::SQLException,
+ ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setShort(sal_Int32 nIndex, sal_Int16 nValue)
+ throw(::com::sun::star::sdbc::SQLException,
+ ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setInt(sal_Int32 nIndex, sal_Int32 nValue)
+ throw(::com::sun::star::sdbc::SQLException,
+ ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLong(sal_Int32 nIndex, sal_Int64 nValue)
+ throw(::com::sun::star::sdbc::SQLException,
+ ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setFloat( sal_Int32 parameterIndex, float x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setDouble( sal_Int32 parameterIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
virtual void SAL_CALL setString( sal_Int32 parameterIndex, const ::rtl::OUString& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
commit 8620524f1979105c35460ad7cf621468b7ef6a28
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date: Tue Aug 27 20:35:33 2013 +0100
Implement setShort. (firebird-sdbc)
Change-Id: Ia543f34344915c4621ba0c6ce6984dce7ca9e08b
diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx
index 1898777..004d191 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.cxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx
@@ -24,6 +24,7 @@
#include "Util.hxx"
#include <comphelper/sequence.hxx>
+#include <connectivity/dbexception.hxx>
#include <cppuhelper/typeprovider.hxx>
#include <osl/diagnose.h>
#include <propertyids.hxx>
@@ -320,25 +321,48 @@ Reference< XResultSet > SAL_CALL OPreparedStatement::executeQuery()
return m_xResultSet;
}
-// -------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::setBoolean( sal_Int32 parameterIndex, sal_Bool x ) throw(SQLException, RuntimeException)
+//----- XParameters -----------------------------------------------------------
+void SAL_CALL OPreparedStatement::setBoolean(sal_Int32 nIndex, sal_Bool x)
+ throw(SQLException, RuntimeException)
{
- (void) parameterIndex;
+ (void) nIndex;
(void) x;
- ::osl::MutexGuard aGuard( m_pConnection->getMutex() );
+ MutexGuard aGuard(m_pConnection->getMutex());
checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
+ // TODO: decide how to deal with bools. Probably just as a byte, although
+ // it might be best to just determine the db type and set as appropriate?
}
-// -------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::setByte( sal_Int32 parameterIndex, sal_Int8 x ) throw(SQLException, RuntimeException)
+
+void SAL_CALL OPreparedStatement::setByte(sal_Int32 nIndex, sal_Int8 x)
+ throw(SQLException, RuntimeException)
{
- (void) parameterIndex;
+ (void) nIndex;
(void) x;
- ::osl::MutexGuard aGuard( m_pConnection->getMutex() );
+ ::dbtools::throwFunctionNotSupportedException("setByte not supported in firebird",
+ *this,
+ Any());
+}
+
+void SAL_CALL OPreparedStatement::setShort(sal_Int32 nIndex, sal_Int16 x)
+ throw(SQLException, RuntimeException)
+{
+ MutexGuard aGuard( m_pConnection->getMutex() );
checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
+ ensurePrepared();
+
+ checkParameterIndex(nIndex);
+ setParameterNull(nIndex, false);
+ XSQLVAR* pVar = m_pInSqlda->sqlvar + (nIndex - 1);
+
+ int dtype = (pVar->sqltype & ~1); // drop flag bit for now
+ if (dtype != SQL_SHORT)
+ throw SQLException(); // TODO: cast instead?
+
+ memcpy(pVar->sqldata, &x, 2);
}
// -------------------------------------------------------------------------
@@ -497,16 +521,6 @@ void SAL_CALL OPreparedStatement::setObject( sal_Int32 parameterIndex, const Any
}
// -------------------------------------------------------------------------
-void SAL_CALL OPreparedStatement::setShort( sal_Int32 parameterIndex, sal_Int16 x ) throw(SQLException, RuntimeException)
-{
- (void) parameterIndex;
- (void) x;
- ::osl::MutexGuard aGuard( m_pConnection->getMutex() );
- checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
-
-}
-// -------------------------------------------------------------------------
-
void SAL_CALL OPreparedStatement::setBytes( sal_Int32 parameterIndex, const Sequence< sal_Int8 >& x ) throw(SQLException, RuntimeException)
{
(void) parameterIndex;
commit dadba3efcb2fb3df3b89058dfd4a98d648241ec6
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date: Tue Aug 27 13:33:00 2013 +0100
Return change count for Statement:executeUpdate too. (firebird-sdbc)
This also simplifies Statement, although not using execute_immediate
is somewhat less efficient.
Change-Id: I4bebe13e5a63cb02e6b2659dec534f0c6feeba52
diff --git a/connectivity/source/drivers/firebird/Statement.cxx b/connectivity/source/drivers/firebird/Statement.cxx
index 59f89de..00978b7 100644
--- a/connectivity/source/drivers/firebird/Statement.cxx
+++ b/connectivity/source/drivers/firebird/Statement.cxx
@@ -97,28 +97,8 @@ void OStatement::disposeResultSet()
sal_Int32 SAL_CALL OStatement::executeUpdate(const OUString& sql)
throw(SQLException, RuntimeException)
{
- MutexGuard aGuard(m_pConnection->getMutex());
- checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed);
-
- SAL_INFO("connectivity.firebird", "executeUpdate(" << sql << ")");
-
- int aErr = isc_dsql_execute_immediate(m_statusVector,
- &m_pConnection->getDBHandle(),
- &m_pConnection->getTransaction(),
- 0,
- OUStringToOString(sql, RTL_TEXTENCODING_UTF8).getStr(),
- FIREBIRD_SQL_DIALECT,
- NULL);
-
- if (aErr)
- SAL_WARN("connectivity.firebird", "isc_dsql_execute_immediate failed" );
-
- evaluateStatusVector(m_statusVector, sql, *this);
- // TODO: get number of changed rows with SELECT ROW_COUNT (use executeQuery)
- // return getUpdateCount();
- // We can't use return getStatementChangeCount(); since that depends
- // on having the statement handle, so maybe just use executeQuery instead?
- return 0;
+ execute(sql);
+ return getStatementChangeCount();
}
commit 73aaa4da674ac8389ee8269e4d7c827d7e642e26
Author: Andrzej J.R. Hunt <andrzej at ahunt.org>
Date: Tue Aug 27 13:27:23 2013 +0100
Implement retrieving change count for executeUpdate. (firebird-sdbc)
Change-Id: Ied47f421dc801bb6790bed49b28d3231844e6ee5
diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx
index 7645748..1898777 100644
--- a/connectivity/source/drivers/firebird/PreparedStatement.cxx
+++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx
@@ -306,10 +306,7 @@ sal_Int32 SAL_CALL OPreparedStatement::executeUpdate()
throw(SQLException, RuntimeException)
{
execute();
- // TODO: get the number of rows changed -- look in Statement::executeUpdate for details
- // 1 is a temporary hack so that things like dbaccess's keyset which rely
- // on the value work correctly.
- return 1;
+ return getStatementChangeCount();
}
Reference< XResultSet > SAL_CALL OPreparedStatement::executeQuery()
diff --git a/connectivity/source/drivers/firebird/Statement.cxx b/connectivity/source/drivers/firebird/Statement.cxx
index 32b6243..59f89de 100644
--- a/connectivity/source/drivers/firebird/Statement.cxx
+++ b/connectivity/source/drivers/firebird/Statement.cxx
@@ -116,6 +116,8 @@ sal_Int32 SAL_CALL OStatement::executeUpdate(const OUString& sql)
evaluateStatusVector(m_statusVector, sql, *this);
// TODO: get number of changed rows with SELECT ROW_COUNT (use executeQuery)
// return getUpdateCount();
+ // We can't use return getStatementChangeCount(); since that depends
+ // on having the statement handle, so maybe just use executeQuery instead?
return 0;
}
@@ -152,7 +154,7 @@ uno::Reference< XResultSet > SAL_CALL OStatement::executeQuery(const OUString& s
evaluateStatusVector(m_statusVector, sql, *this);
- if (isDDLStatement(m_aStatementHandle))
+ if (isDDLStatement())
m_pConnection->commit();
return m_xResultSet;
diff --git a/connectivity/source/drivers/firebird/StatementCommonBase.cxx b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
index f7a3a3c..77e0052 100644
--- a/connectivity/source/drivers/firebird/StatementCommonBase.cxx
+++ b/connectivity/source/drivers/firebird/StatementCommonBase.cxx
@@ -344,32 +344,112 @@ uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL OStatementC
return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
}
-bool OStatementCommonBase::isDDLStatement(isc_stmt_handle& aStatementHandle)
+short OStatementCommonBase::getSqlInfoItem(char aInfoItem)
throw (SQLException)
{
ISC_STATUS_ARRAY aStatusVector;
ISC_STATUS aErr;
- char aInfoItems[] = {isc_info_sql_stmt_type};
+ char aInfoItems[] = {aInfoItem};
char aResultsBuffer[8];
aErr = isc_dsql_sql_info(aStatusVector,
- &aStatementHandle,
+ &m_aStatementHandle,
sizeof(aInfoItems),
aInfoItems,
sizeof(aResultsBuffer),
aResultsBuffer);
- if (!aErr && aResultsBuffer[0] == isc_info_sql_stmt_type)
+ if (!aErr && aResultsBuffer[0] == aInfoItem)
{
const short aBytes = (short) isc_vax_integer(aResultsBuffer+1, 2);
- const short aStatementType = (short) isc_vax_integer(aResultsBuffer+3, aBytes);
- if (aStatementType == isc_info_sql_stmt_ddl)
- return true;
+ return (short) isc_vax_integer(aResultsBuffer+3, aBytes);
}
+
evaluateStatusVector(aStatusVector,
"isc_dsq_sql_info",
*this);
- return false;
+ return 0;
+}
+
+bool OStatementCommonBase::isDDLStatement()
+ throw (SQLException)
+{
+ if (getSqlInfoItem(isc_info_sql_stmt_type) == isc_info_sql_stmt_ddl)
+ return true;
+ else
+ return false;
+}
+
+sal_Int32 OStatementCommonBase::getStatementChangeCount()
+ throw (SQLException)
+{
+ const short aStatementType = getSqlInfoItem(isc_info_sql_stmt_type);
+
+
+
+ ISC_STATUS_ARRAY aStatusVector;
+ ISC_STATUS aErr;
+
+ // This is somewhat undocumented so I'm just guessing and hoping for the best.
+ char aInfoItems[] = {isc_info_sql_records};
+ char aResultsBuffer[1024];
+
+ aErr = isc_dsql_sql_info(aStatusVector,
+ &m_aStatementHandle,
+ sizeof(aInfoItems),
+ aInfoItems,
+ sizeof(aResultsBuffer),
+ aResultsBuffer);
+
+ if (aErr)
+ {
+ evaluateStatusVector(aStatusVector,
+ "isc_dsq_sql_info",
+ *this);
+ return 0;
+ }
+
+ short aDesiredInfoType = 0;
+ switch (aStatementType)
+ {
+ case isc_info_sql_stmt_select:
+ aDesiredInfoType = isc_info_req_select_count;
+ break;
+ case isc_info_sql_stmt_insert:
+ aDesiredInfoType = isc_info_req_insert_count;
+ break;
+ case isc_info_sql_stmt_update:
+ aDesiredInfoType = isc_info_req_update_count;
+ break;
+ case isc_info_sql_stmt_delete:
+ aDesiredInfoType = isc_info_req_delete_count;
+ break;
+ default:
+ throw SQLException(); // TODO: better error message?
+ }
+
+ char* pResults = aResultsBuffer;
+ if (((short) *pResults++) == isc_info_sql_records)
+ {
+// const short aTotalLength = (short) isc_vax_integer(pResults, 2);
+ pResults += 2;
+
+ // Seems to be of form TOKEN (1 byte), LENGTH (2 bytes), DATA (LENGTH bytes)
+ while (*pResults != isc_info_rsb_end)
+ {
+ const char aToken = *pResults;
+ const short aLength = (short) isc_vax_integer(pResults+1, 2);
+
+ if (aToken == aDesiredInfoType)
+ {
+ return sal_Int32(isc_vax_integer(pResults + 3, aLength));
+ }
+
+ pResults += (3 + aLength);
+ }
+ }
+
+ return 0;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/firebird/StatementCommonBase.hxx b/connectivity/source/drivers/firebird/StatementCommonBase.hxx
index bb4fc3c..46377fc 100644
--- a/connectivity/source/drivers/firebird/StatementCommonBase.hxx
+++ b/connectivity/source/drivers/firebird/StatementCommonBase.hxx
@@ -92,7 +92,11 @@ namespace connectivity
XSQLDA* pInSqlda=0)
throw (::com::sun::star::sdbc::SQLException);
- bool isDDLStatement(isc_stmt_handle& aStatementHandle)
+ short getSqlInfoItem(char aInfoItem)
+ throw (::com::sun::star::sdbc::SQLException);
+ bool isDDLStatement()
+ throw (::com::sun::star::sdbc::SQLException);
+ sal_Int32 getStatementChangeCount()
throw (::com::sun::star::sdbc::SQLException);
public:
More information about the Libreoffice-commits
mailing list