connectivity/source/drivers/firebird/PreparedStatement.cxx | 20 - connectivity/source/drivers/firebird/ResultSet.cxx | 244 ------------- connectivity/source/drivers/firebird/ResultSet.hxx | 112 ----- connectivity/source/drivers/firebird/Table.cxx | 37 + connectivity/source/drivers/firebird/Table.hxx | 5 5 files changed, 59 insertions(+), 359 deletions(-)
New commits: commit 19cb39f0ffafaaa2f016035bd4ec297b87652681 Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Fri Aug 23 10:19:27 2013 +0100 Close cursors in PreparedStatement. (firebird-sdbc) Trying to reuse a statement that still has an open cursor leads to errors -- in this usage isc_free_statement doesn't actually free the statement but simply closes the db-internal cursor used by that statement previously. Change-Id: Iedbe42bc46e6b6f972b7b19f17a60d5f59bae28c diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx index 024c9ae..ddb10e0 100644 --- a/connectivity/source/drivers/firebird/PreparedStatement.cxx +++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx @@ -265,6 +265,19 @@ sal_Bool SAL_CALL OPreparedStatement::execute() ISC_STATUS aErr; + if (m_xResultSet.is()) // Checks whether we have already run the statement. + { + disposeResultSet(); + // Closes the cursor from the last run. + aErr = isc_dsql_free_statement(m_statusVector, + &m_aStatementHandle, + DSQL_close); + if (aErr) + evaluateStatusVector(m_statusVector, + "isc_dsql_free_statement: close cursor", + *this); + } + aErr = isc_dsql_execute(m_statusVector, &m_pConnection->getTransaction(), &m_aStatementHandle, commit ddc3818322b07793ae398a46d6cf9fc71f7bbff7 Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Thu Aug 22 13:05:32 2013 +0100 Use correct sqlda for number of parameters. (firebird-sdbc) Change-Id: Ief966fb9bd9f3344cfe9f3b4c4b37540e00ad063 diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx index 70d6d36..024c9ae 100644 --- a/connectivity/source/drivers/firebird/PreparedStatement.cxx +++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx @@ -199,9 +199,8 @@ void SAL_CALL OPreparedStatement::setString(sal_Int32 nParameterIndex, const OUString& x) throw(SQLException, RuntimeException) { - SAL_INFO("connectivity.firebird", "setString(). " - "parameterIndex: " << nParameterIndex << " , " - "x: " << x); + SAL_INFO("connectivity.firebird", + "setString(" << nParameterIndex << " , " << x << ")"); MutexGuard aGuard( m_pConnection->getMutex() ); checkDisposed(OStatementCommonBase_Base::rBHelper.bDisposed); @@ -570,7 +569,7 @@ void OPreparedStatement::checkParameterIndex(sal_Int32 nParameterIndex) throw(SQLException) { ensurePrepared(); - if ((nParameterIndex == 0) || (nParameterIndex > m_pOutSqlda->sqld)) + if ((nParameterIndex == 0) || (nParameterIndex > m_pInSqlda->sqld)) throw SQLException(); // TODO: sane error message here. } commit 33b011e6ff908f5b0a4eec43d89284b0cf631b21 Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Thu Aug 22 12:54:23 2013 +0100 RefreshRow is unuspported. (firebird-sdbc) Change-Id: Iec8e72a6236de83a1698e2d6e9dbcb609f0f858f diff --git a/connectivity/source/drivers/firebird/ResultSet.cxx b/connectivity/source/drivers/firebird/ResultSet.cxx index 2c29b94..edd1836 100644 --- a/connectivity/source/drivers/firebird/ResultSet.cxx +++ b/connectivity/source/drivers/firebird/ResultSet.cxx @@ -630,12 +630,11 @@ Any SAL_CALL OResultSet::getWarnings( ) throw(SQLException, RuntimeException) return Any(); } -// ------------------------------------------------------------------------- -void SAL_CALL OResultSet::refreshRow( ) throw(SQLException, RuntimeException) +void SAL_CALL OResultSet::refreshRow() throw(SQLException, RuntimeException) { - MutexGuard aGuard(m_pConnection->getMutex()); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - + ::dbtools::throwFunctionNotSupportedException("refreshRow not supported in firebird", + *this, + Any()); } // ------------------------------------------------------------------------- IPropertyArrayHelper* OResultSet::createArrayHelper( ) const commit ab59b7176fcb82ffe16c9200169c2a897387c056 Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Thu Aug 22 12:19:49 2013 +0100 Remove unsupported XRowLocate/XDeleteRows (firebird-sdbc) Change-Id: I74bf84c8aae4d4ba6b9a2a9ca497ed0cbc092d35 diff --git a/connectivity/source/drivers/firebird/ResultSet.cxx b/connectivity/source/drivers/firebird/ResultSet.cxx index a86afaf..2c29b94 100644 --- a/connectivity/source/drivers/firebird/ResultSet.cxx +++ b/connectivity/source/drivers/firebird/ResultSet.cxx @@ -638,67 +638,6 @@ void SAL_CALL OResultSet::refreshRow( ) throw(SQLException, RuntimeException) } // ------------------------------------------------------------------------- -// XRowLocate -Any SAL_CALL OResultSet::getBookmark( ) throw( SQLException, RuntimeException) -{ - MutexGuard aGuard(m_pConnection->getMutex()); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - // if you don't want to support bookmark you must remove the XRowLocate interface - - return Any(); -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OResultSet::moveToBookmark( const Any& bookmark ) throw( SQLException, RuntimeException) -{ - (void) bookmark; - MutexGuard aGuard(m_pConnection->getMutex()); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OResultSet::moveRelativeToBookmark( const Any& bookmark, sal_Int32 rows ) throw( SQLException, RuntimeException) -{ - (void) bookmark; - (void) rows; - MutexGuard aGuard(m_pConnection->getMutex()); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OResultSet::compareBookmarks( const Any& aFirst, const Any& aSecond ) throw( SQLException, RuntimeException) -{ - (void) aFirst; - (void) aSecond; - MutexGuard aGuard(m_pConnection->getMutex()); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return CompareBookmark::NOT_EQUAL; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OResultSet::hasOrderedBookmarks( ) throw( SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OResultSet::hashBookmark( const Any& bookmark ) throw( SQLException, RuntimeException) -{ - (void) bookmark; - throw SQLException(); -} -// ------------------------------------------------------------------------- -// XDeleteRows -Sequence< sal_Int32 > SAL_CALL OResultSet::deleteRows( const Sequence< Any >& rows ) throw( SQLException, RuntimeException) -{ - (void) rows; - MutexGuard aGuard(m_pConnection->getMutex()); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return Sequence< sal_Int32 >(); -} -// ------------------------------------------------------------------------- IPropertyArrayHelper* OResultSet::createArrayHelper( ) const { Sequence< Property > aProps(6); diff --git a/connectivity/source/drivers/firebird/ResultSet.hxx b/connectivity/source/drivers/firebird/ResultSet.hxx index 5f05cde..68c59a1 100644 --- a/connectivity/source/drivers/firebird/ResultSet.hxx +++ b/connectivity/source/drivers/firebird/ResultSet.hxx @@ -25,7 +25,7 @@ #include <ibase.h> #include <connectivity/OSubComponent.hxx> -#include <cppuhelper/compbase10.hxx> +#include <cppuhelper/compbase8.hxx> #include <com/sun/star/util/XCancellable.hpp> #include <com/sun/star/sdbc/XCloseable.hpp> @@ -33,12 +33,7 @@ #include <com/sun/star/sdbc/XResultSet.hpp> #include <com/sun/star/sdbc/XRow.hpp> #include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> -#include <com/sun/star/sdbc/XResultSetUpdate.hpp> -#include <com/sun/star/sdbc/XRowUpdate.hpp> #include <com/sun/star/sdbc/XWarningsSupplier.hpp> -#include <com/sun/star/sdbcx/XDeleteRows.hpp> -#include <com/sun/star/sdbcx/XRowLocate.hpp> - namespace connectivity { @@ -47,13 +42,11 @@ namespace connectivity /* ** OResultSet */ - typedef ::cppu::WeakComponentImplHelper10< ::com::sun::star::sdbc::XResultSet, + typedef ::cppu::WeakComponentImplHelper8< ::com::sun::star::sdbc::XResultSet, ::com::sun::star::sdbc::XRow, ::com::sun::star::sdbc::XResultSetMetaDataSupplier, ::com::sun::star::util::XCancellable, ::com::sun::star::sdbc::XWarningsSupplier, - ::com::sun::star::sdbcx::XRowLocate, - ::com::sun::star::sdbcx::XDeleteRows, ::com::sun::star::sdbc::XCloseable, ::com::sun::star::sdbc::XColumnLocate, ::com::sun::star::lang::XServiceInfo> OResultSet_BASE; @@ -198,15 +191,6 @@ namespace connectivity throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XRowLocate - virtual ::com::sun::star::uno::Any SAL_CALL getBookmark( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL moveToBookmark( const ::com::sun::star::uno::Any& bookmark ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL moveRelativeToBookmark( const ::com::sun::star::uno::Any& bookmark, sal_Int32 rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL compareBookmarks( const ::com::sun::star::uno::Any& first, const ::com::sun::star::uno::Any& second ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasOrderedBookmarks( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL hashBookmark( const ::com::sun::star::uno::Any& bookmark ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XDeleteRows - virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL deleteRows( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); }; // Specialisations have to be in the namespace and can't be within the class. commit f69b198ded406ed07b91c79e243cdd28298d6dad Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Thu Aug 22 10:26:05 2013 +0100 Remove unsupporte XRowUpdate/XResultSetUpdate. (firebird-sdbc) Change-Id: I3b9f8c7199e66f90e1573069996962294793d95e diff --git a/connectivity/source/drivers/firebird/ResultSet.cxx b/connectivity/source/drivers/firebird/ResultSet.cxx index aac6622..a86afaf 100644 --- a/connectivity/source/drivers/firebird/ResultSet.cxx +++ b/connectivity/source/drivers/firebird/ResultSet.cxx @@ -629,181 +629,7 @@ Any SAL_CALL OResultSet::getWarnings( ) throw(SQLException, RuntimeException) { return Any(); } -// ---- XResultSetUpdate - UNSUPPORTED --------------------------------------- -void SAL_CALL OResultSet::insertRow() throw(SQLException, RuntimeException) -{ - throwFunctionNotSupportedException("XResultSetUpdate::insertRow", *this); -} - -void SAL_CALL OResultSet::updateRow() throw(SQLException, RuntimeException) -{ - throwFunctionNotSupportedException("XResultSetUpdate::updateRow", *this); -} - -void SAL_CALL OResultSet::deleteRow() throw(SQLException, RuntimeException) -{ - throwFunctionNotSupportedException("XResultSetUpdate::deleteRow", *this); -} - -void SAL_CALL OResultSet::cancelRowUpdates() throw(SQLException, RuntimeException) -{ - throwFunctionNotSupportedException("XResultSetUpdate::cancelRowUpdates", *this); -} - -void SAL_CALL OResultSet::moveToInsertRow() throw(SQLException, RuntimeException) -{ - throwFunctionNotSupportedException("XResultSetUpdate::moveToInsertRow", *this); -} - -void SAL_CALL OResultSet::moveToCurrentRow() throw(SQLException, RuntimeException) -{ - throwFunctionNotSupportedException("XResultSetUpdate::moveToCurrentRow", *this); -} -// ---- XRowUpdate - UNSUPPORTED --------------------------------------------- -void SAL_CALL OResultSet::updateNull(sal_Int32 columnIndex) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - throwFunctionNotSupportedException("XRowUpdate::updateNull", *this); -} - -void SAL_CALL OResultSet::updateBoolean(sal_Int32 columnIndex, sal_Bool x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateBoolean", *this); -} - -void SAL_CALL OResultSet::updateByte(sal_Int32 columnIndex, sal_Int8 x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateByte", *this); -} - -void SAL_CALL OResultSet::updateShort(sal_Int32 columnIndex, sal_Int16 x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateShort", *this); -} - -void SAL_CALL OResultSet::updateInt(sal_Int32 columnIndex, sal_Int32 x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateInt", *this); -} - -void SAL_CALL OResultSet::updateLong(sal_Int32 columnIndex, sal_Int64 x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateLong", *this); -} - -void SAL_CALL OResultSet::updateFloat(sal_Int32 columnIndex, float x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateFloat", *this); -} - -void SAL_CALL OResultSet::updateDouble(sal_Int32 columnIndex, double x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateDouble", *this); -} - -void SAL_CALL OResultSet::updateString(sal_Int32 columnIndex, const OUString& x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateString", *this); -} - -void SAL_CALL OResultSet::updateBytes(sal_Int32 columnIndex, const Sequence< sal_Int8 >& x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateBytes", *this); -} - -void SAL_CALL OResultSet::updateDate(sal_Int32 columnIndex, const Date& x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateDate", *this); -} - -void SAL_CALL OResultSet::updateTime(sal_Int32 columnIndex, const Time& x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateTime", *this); -} - -void SAL_CALL OResultSet::updateTimestamp(sal_Int32 columnIndex, const DateTime& x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateTimeStamp", *this); -} - -void SAL_CALL OResultSet::updateBinaryStream(sal_Int32 columnIndex, - const uno::Reference< XInputStream >& x, - sal_Int32 length) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - (void) length; - throwFunctionNotSupportedException("XRowUpdate::updateBinaryStream", *this); -} - -void SAL_CALL OResultSet::updateCharacterStream(sal_Int32 columnIndex, - const uno::Reference< XInputStream >& x, - sal_Int32 length) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - (void) length; - throwFunctionNotSupportedException("XRowUpdate::updateCharacterStream", *this); -} - -void SAL_CALL OResultSet::updateObject(sal_Int32 columnIndex, const Any& x) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - throwFunctionNotSupportedException("XRowUpdate::updateObject", *this); -} - -void SAL_CALL OResultSet::updateNumericObject(sal_Int32 columnIndex, - const Any& x, - sal_Int32 scale) - throw(SQLException, RuntimeException) -{ - (void) columnIndex; - (void) x; - (void) scale; - throwFunctionNotSupportedException("XRowUpdate::updateNumericObject", *this); -} // ------------------------------------------------------------------------- void SAL_CALL OResultSet::refreshRow( ) throw(SQLException, RuntimeException) { diff --git a/connectivity/source/drivers/firebird/ResultSet.hxx b/connectivity/source/drivers/firebird/ResultSet.hxx index 6cfec8d..5f05cde 100644 --- a/connectivity/source/drivers/firebird/ResultSet.hxx +++ b/connectivity/source/drivers/firebird/ResultSet.hxx @@ -25,7 +25,7 @@ #include <ibase.h> #include <connectivity/OSubComponent.hxx> -#include <cppuhelper/compbase12.hxx> +#include <cppuhelper/compbase10.hxx> #include <com/sun/star/util/XCancellable.hpp> #include <com/sun/star/sdbc/XCloseable.hpp> @@ -47,13 +47,11 @@ namespace connectivity /* ** OResultSet */ - typedef ::cppu::WeakComponentImplHelper12< ::com::sun::star::sdbc::XResultSet, + typedef ::cppu::WeakComponentImplHelper10< ::com::sun::star::sdbc::XResultSet, ::com::sun::star::sdbc::XRow, ::com::sun::star::sdbc::XResultSetMetaDataSupplier, ::com::sun::star::util::XCancellable, ::com::sun::star::sdbc::XWarningsSupplier, - ::com::sun::star::sdbc::XResultSetUpdate, - ::com::sun::star::sdbc::XRowUpdate, ::com::sun::star::sdbcx::XRowLocate, ::com::sun::star::sdbcx::XDeleteRows, ::com::sun::star::sdbc::XCloseable, @@ -195,96 +193,6 @@ namespace connectivity virtual ::com::sun::star::uno::Any SAL_CALL getWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); virtual void SAL_CALL clearWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XResultSetUpdate - UNSUPPORTED - virtual void SAL_CALL insertRow() - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateRow() - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL deleteRow() - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL cancelRowUpdates() - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL moveToInsertRow() - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL moveToCurrentRow() - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - - // XRowUpdate - UNSUPPORTED - virtual void SAL_CALL updateNull(sal_Int32 columnIndex) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateBoolean(sal_Int32 columnIndex, - sal_Bool x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateByte(sal_Int32 columnIndex, - sal_Int8 x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateShort(sal_Int32 columnIndex, - sal_Int16 x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateInt(sal_Int32 columnIndex, - sal_Int32 x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateLong(sal_Int32 columnIndex, - sal_Int64 x ) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateFloat(sal_Int32 columnIndex, - float x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateDouble(sal_Int32 columnIndex, - double x ) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateString(sal_Int32 columnIndex, - const ::rtl::OUString& x ) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateBytes(sal_Int32 columnIndex, - const ::com::sun::star::uno::Sequence< sal_Int8 >& x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateDate(sal_Int32 columnIndex, - const ::com::sun::star::util::Date& x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateTime(sal_Int32 columnIndex, - const ::com::sun::star::util::Time& x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateTimestamp(sal_Int32 columnIndex, - const ::com::sun::star::util::DateTime& x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateBinaryStream(sal_Int32 columnIndex, - const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, - sal_Int32 length) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateCharacterStream(sal_Int32 columnIndex, - const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, - sal_Int32 length) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateObject(sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL updateNumericObject(sal_Int32 columnIndex, - const ::com::sun::star::uno::Any& x, - sal_Int32 scale ) - throw(::com::sun::star::sdbc::SQLException, - ::com::sun::star::uno::RuntimeException); - // XColumnLocate virtual sal_Int32 SAL_CALL findColumn(const ::rtl::OUString& columnName) throw(::com::sun::star::sdbc::SQLException, commit 7a3eff265280d311816f4bc180ef2ec74400e57d Author: Andrzej J.R. Hunt <andr...@ahunt.org> Date: Thu Aug 22 09:19:17 2013 +0100 Set Table privileges. (firebird-sdbc) Change-Id: Ia73f2f2107e17c03bc568075a0a99bc7a21fb8a7 diff --git a/connectivity/source/drivers/firebird/Table.cxx b/connectivity/source/drivers/firebird/Table.cxx index abc57af..98e446b 100644 --- a/connectivity/source/drivers/firebird/Table.cxx +++ b/connectivity/source/drivers/firebird/Table.cxx @@ -11,11 +11,14 @@ #include "Keys.hxx" #include "Table.hxx" +#include <TConnection.hxx> + #include <comphelper/sequence.hxx> #include <connectivity/dbtools.hxx> #include <connectivity/TIndexes.hxx> #include <com/sun/star/sdbc/ColumnValue.hpp> +#include <com/sun/star/sdbcx/Privilege.hpp> using namespace ::connectivity; using namespace ::connectivity::firebird; @@ -28,6 +31,7 @@ using namespace ::com::sun::star; using namespace ::com::sun::star::beans; using namespace ::com::sun::star::container; using namespace ::com::sun::star::sdbc; +using namespace ::com::sun::star::sdbcx; using namespace ::com::sun::star::uno; Table::Table(Tables* pTables, @@ -36,9 +40,10 @@ Table::Table(Tables* pTables, OTableHelper(pTables, rConnection, sal_True), - m_rMutex(rMutex) + m_rMutex(rMutex), + m_nPrivileges(0) { - OTableHelper::construct(); + construct(); } Table::Table(Tables* pTables, @@ -55,11 +60,34 @@ Table::Table(Tables* pTables, rDescription, "", ""), - m_rMutex(rMutex) + m_rMutex(rMutex), + m_nPrivileges(0) { - OTableHelper::construct(); + construct(); } +void Table::construct() +{ + OTableHelper::construct(); + if (!isNew()) + { + // TODO: get privileges when in non-embedded mode. + m_nPrivileges = Privilege::DROP | + Privilege::REFERENCE | + Privilege::ALTER | + Privilege::CREATE | + Privilege::READ | + Privilege::DELETE | + Privilege::UPDATE | + Privilege::INSERT | + Privilege::SELECT; + registerProperty(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRIVILEGES), + PROPERTY_ID_PRIVILEGES, + PropertyAttribute::READONLY, + &m_nPrivileges, + ::getCppuType(&m_nPrivileges)); + } +} //----- OTableHelper --------------------------------------------------------- OCollection* Table::createColumns(const TStringVector& rNames) { @@ -228,4 +256,5 @@ OUString Table::getAlterTableColumn(const OUString& rColumn) { return ("ALTER TABLE \"" + getName() + "\" ALTER COLUMN \"" + rColumn + "\" "); } + /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ \ No newline at end of file diff --git a/connectivity/source/drivers/firebird/Table.hxx b/connectivity/source/drivers/firebird/Table.hxx index 41f12c3..d6354bc 100644 --- a/connectivity/source/drivers/firebird/Table.hxx +++ b/connectivity/source/drivers/firebird/Table.hxx @@ -27,6 +27,7 @@ namespace connectivity { private: ::osl::Mutex& m_rMutex; + sal_Int32 m_nPrivileges; /** * Get the ALTER TABLE [TABLE] ALTER [COLUMN] String. @@ -34,6 +35,9 @@ namespace connectivity */ ::rtl::OUString getAlterTableColumn(const ::rtl::OUString& rColumn); + protected: + void construct(); + public: Table(Tables* pTables, ::osl::Mutex& rMutex, @@ -81,7 +85,6 @@ namespace connectivity SAL_CALL getTypes() throw(::com::sun::star::uno::RuntimeException); - }; } // namespace firebird _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits