[Libreoffice-commits] core.git: 11 commits - connectivity/source dbaccess/source include/connectivity include/vcl pyuno/source sd/source sot/source svl/source sw/source vcl/source

Caolán McNamara caolanm at redhat.com
Mon Jul 21 06:00:07 PDT 2014


 connectivity/source/commontools/BlobHelper.cxx                 |    6 
 connectivity/source/commontools/dbexception.cxx                |   15 +-
 connectivity/source/drivers/ado/ACallableStatement.cxx         |   14 +-
 connectivity/source/drivers/ado/AConnection.cxx                |    2 
 connectivity/source/drivers/ado/ADatabaseMetaData.cxx          |    2 
 connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx |   16 +-
 connectivity/source/drivers/ado/APreparedStatement.cxx         |   10 -
 connectivity/source/drivers/ado/AResultSet.cxx                 |   14 +-
 connectivity/source/drivers/ado/AStatement.cxx                 |    4 
 connectivity/source/drivers/calc/CConnection.cxx               |    2 
 connectivity/source/drivers/calc/CResultSet.cxx                |    2 
 connectivity/source/drivers/dbase/DConnection.cxx              |    2 
 connectivity/source/drivers/dbase/DResultSet.cxx               |    2 
 connectivity/source/drivers/evoab2/NConnection.cxx             |   14 +-
 connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx       |    2 
 connectivity/source/drivers/evoab2/NPreparedStatement.cxx      |    2 
 connectivity/source/drivers/evoab2/NStatement.cxx              |    2 
 connectivity/source/drivers/file/FConnection.cxx               |    6 
 connectivity/source/drivers/file/FPreparedStatement.cxx        |   10 -
 connectivity/source/drivers/file/FResultSet.cxx                |    2 
 connectivity/source/drivers/firebird/Blob.cxx                  |    4 
 connectivity/source/drivers/firebird/Connection.cxx            |    4 
 connectivity/source/drivers/flat/EConnection.cxx               |    2 
 connectivity/source/drivers/hsqldb/HDriver.cxx                 |    2 
 connectivity/source/drivers/jdbc/Blob.cxx                      |    2 
 connectivity/source/drivers/jdbc/Clob.cxx                      |    2 
 connectivity/source/drivers/jdbc/JConnection.cxx               |    2 
 connectivity/source/drivers/jdbc/PreparedStatement.cxx         |    8 -
 connectivity/source/drivers/jdbc/ResultSet.cxx                 |    4 
 connectivity/source/drivers/jdbc/tools.cxx                     |    2 
 connectivity/source/drivers/mork/MConnection.cxx               |   12 -
 connectivity/source/drivers/mork/MPreparedStatement.cxx        |   38 ++---
 connectivity/source/drivers/mork/MResultSet.cxx                |    4 
 connectivity/source/drivers/mork/MStatement.cxx                |    2 
 connectivity/source/drivers/mozab/MConnection.cxx              |   12 -
 connectivity/source/drivers/mozab/MPreparedStatement.cxx       |   38 ++---
 connectivity/source/drivers/mozab/MResultSet.cxx               |    4 
 connectivity/source/drivers/mozab/MStatement.cxx               |    2 
 connectivity/source/drivers/odbc/OConnection.cxx               |    4 
 connectivity/source/sdbcx/VGroup.cxx                           |    6 
 connectivity/source/sdbcx/VTable.cxx                           |    4 
 connectivity/source/sdbcx/VUser.cxx                            |   10 -
 dbaccess/source/core/api/RowSet.cxx                            |    8 -
 dbaccess/source/core/api/RowSetBase.cxx                        |    4 
 include/connectivity/dbexception.hxx                           |   18 ++
 include/vcl/texteng.hxx                                        |    4 
 pyuno/source/module/pyuno_adapter.cxx                          |    3 
 sd/source/ui/unoidl/sddetect.cxx                               |   12 +
 sot/source/unoolestorage/xolesimplestorage.cxx                 |   20 +--
 svl/source/fsstor/fsstorage.cxx                                |   66 +++++-----
 sw/source/core/doc/poolfmt.cxx                                 |   46 +++---
 vcl/source/edit/texteng.cxx                                    |    2 
 52 files changed, 258 insertions(+), 222 deletions(-)

New commits:
commit 8f199a3f0bcc5c1600ce5562605475c9e6b3def1
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 11:08:49 2014 +0100

    coverity#707210 Uncaught exception
    
    Change-Id: I63013222988735f901b37584345b79659f69ad8a

diff --git a/svl/source/fsstor/fsstorage.cxx b/svl/source/fsstor/fsstorage.cxx
index 1cf6403..b2eb88f 100644
--- a/svl/source/fsstor/fsstorage.cxx
+++ b/svl/source/fsstor/fsstorage.cxx
@@ -979,18 +979,19 @@ uno::Any SAL_CALL FSStorage::getByName( const OUString& aName )
     if ( !m_pImpl )
         throw lang::DisposedException();
 
-    if ( !GetContent() )
-        throw io::IOException(); // TODO: error handling
-
     if ( aName.isEmpty() )
         throw lang::IllegalArgumentException();
 
-    INetURLObject aURL( m_pImpl->m_aURL );
-    aURL.Append( aName );
-
     uno::Any aResult;
     try
     {
+        if ( !GetContent() )
+            throw io::IOException(); // TODO: error handling
+
+        INetURLObject aURL( m_pImpl->m_aURL );
+        aURL.Append( aName );
+
+
         if ( ::utl::UCBContentHelper::IsFolder( aURL.GetMainURL( INetURLObject::NO_DECODE ) ) )
         {
             aResult <<= openStorageElement( aName, embed::ElementModes::READ );
@@ -1002,21 +1003,21 @@ uno::Any SAL_CALL FSStorage::getByName( const OUString& aName )
         else
             throw container::NoSuchElementException(); // TODO:
     }
-    catch( container::NoSuchElementException& )
+    catch (const container::NoSuchElementException&)
     {
         throw;
     }
-    catch( lang::WrappedTargetException& )
+    catch (const lang::WrappedTargetException&)
     {
         throw;
     }
-    catch( uno::RuntimeException& )
+    catch (const uno::RuntimeException&)
     {
         throw;
     }
-    catch ( uno::Exception& )
+    catch (const uno::Exception&)
     {
-           uno::Any aCaught( ::cppu::getCaughtException() );
+        uno::Any aCaught( ::cppu::getCaughtException() );
         throw lang::WrappedTargetException( "Can not open element!",
                                             static_cast< OWeakObject* >( this ),
                                             aCaught );
commit 0317d53f7c9ae73846c03bd38d46049cdf774c4f
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 11:07:31 2014 +0100

    coverity#707209 Uncaught exception
    
    Change-Id: I876e25678d68cba09099776bf303a6540761d2ed

diff --git a/svl/source/fsstor/fsstorage.cxx b/svl/source/fsstor/fsstorage.cxx
index 37ca676..1cf6403 100644
--- a/svl/source/fsstor/fsstorage.cxx
+++ b/svl/source/fsstor/fsstorage.cxx
@@ -1034,18 +1034,18 @@ uno::Sequence< OUString > SAL_CALL FSStorage::getElementNames()
     if ( !m_pImpl )
         throw lang::DisposedException();
 
-    if ( !GetContent() )
-        throw io::IOException(); // TODO: error handling
-
-    uno::Sequence< OUString > aProps( 1 );
-    aProps[0] = "Title";
-    ::ucbhelper::ResultSetInclude eInclude = ::ucbhelper::INCLUDE_FOLDERS_AND_DOCUMENTS;
-
     uno::Sequence< OUString > aResult;
-    sal_Int32 nSize = 0;
 
     try
     {
+        if ( !GetContent() )
+            throw io::IOException(); // TODO: error handling
+
+        uno::Sequence< OUString > aProps( 1 );
+        aProps[0] = "Title";
+        ::ucbhelper::ResultSetInclude eInclude = ::ucbhelper::INCLUDE_FOLDERS_AND_DOCUMENTS;
+
+        sal_Int32 nSize = 0;
         uno::Reference< sdbc::XResultSet > xResultSet = GetContent()->createCursor( aProps, eInclude );
         uno::Reference< ucb::XContentAccess > xContentAccess( xResultSet, uno::UNO_QUERY );
         uno::Reference< sdbc::XRow > xRow( xResultSet, uno::UNO_QUERY );
@@ -1072,11 +1072,11 @@ uno::Sequence< OUString > SAL_CALL FSStorage::getElementNames()
                                             aCaught );
         }
     }
-    catch( uno::RuntimeException& )
+    catch (const uno::RuntimeException&)
     {
         throw;
     }
-    catch ( uno::Exception& )
+    catch (const uno::Exception&)
     {
         uno::Any aCaught( ::cppu::getCaughtException() );
         throw lang::WrappedTargetRuntimeException( "Can not open storage!",
@@ -1087,7 +1087,6 @@ uno::Sequence< OUString > SAL_CALL FSStorage::getElementNames()
     return aResult;
 }
 
-
 sal_Bool SAL_CALL FSStorage::hasByName( const OUString& aName )
         throw ( uno::RuntimeException, std::exception )
 {
commit 10e0de4ee69c409d2b33f3819abaefeace7d05dd
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 11:05:45 2014 +0100

    coverity#707208 Uncaught exception
    
    Change-Id: I7fe87d012acbd7bac9736ee5ff8c6abc0da3d129

diff --git a/svl/source/fsstor/fsstorage.cxx b/svl/source/fsstor/fsstorage.cxx
index f354bfc..37ca676 100644
--- a/svl/source/fsstor/fsstorage.cxx
+++ b/svl/source/fsstor/fsstorage.cxx
@@ -1143,27 +1143,29 @@ sal_Bool SAL_CALL FSStorage::hasElements()
     if ( !m_pImpl )
         throw lang::DisposedException();
 
-    if ( !GetContent() )
-        throw io::IOException(); // TODO: error handling
-
-    uno::Sequence< OUString > aProps( 1 );
-    aProps[0] = "TargetURL";
-    ::ucbhelper::ResultSetInclude eInclude = ::ucbhelper::INCLUDE_FOLDERS_AND_DOCUMENTS;
-
     try
     {
+        if ( !GetContent() )
+            throw io::IOException(); // TODO: error handling
+
+        uno::Sequence< OUString > aProps( 1 );
+        aProps[0] = "TargetURL";
+        ::ucbhelper::ResultSetInclude eInclude = ::ucbhelper::INCLUDE_FOLDERS_AND_DOCUMENTS;
+
         uno::Reference< sdbc::XResultSet > xResultSet = GetContent()->createCursor( aProps, eInclude );
         return ( xResultSet.is() && xResultSet->next() );
     }
-    catch( uno::Exception& )
+    catch (const uno::RuntimeException&)
+    {
+        throw;
+    }
+    catch (const uno::Exception&)
     {
         throw uno::RuntimeException();
     }
 }
 
-
 //  XDisposable
-
 void SAL_CALL FSStorage::dispose()
         throw ( uno::RuntimeException, std::exception )
 {
commit 067207f02dff5b499416e9e814919a32145248a2
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 11:03:46 2014 +0100

    coverity#707195 Uncaught exception
    
    Change-Id: Idaeb36f01632cc91cc9fc3d5febd249e39e44ae2

diff --git a/sot/source/unoolestorage/xolesimplestorage.cxx b/sot/source/unoolestorage/xolesimplestorage.cxx
index 1e8ba50..15d9d46 100644
--- a/sot/source/unoolestorage/xolesimplestorage.cxx
+++ b/sot/source/unoolestorage/xolesimplestorage.cxx
@@ -457,7 +457,7 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName )
         BaseStorage* pStrg = m_pStorage->OpenStorage( aName );
         m_pStorage->ResetError();
         if ( !pStrg )
-            throw io::IOException();
+            throw lang::WrappedTargetException(); // io::IOException(); // TODO
 
         SvStream* pStream = ::utl::UcbStreamHelper::CreateStream( xTempFile, false ); // do not close the original stream
         if ( !pStream )
@@ -489,15 +489,15 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName )
     else
     {
         BaseStorageStream* pStream = m_pStorage->OpenStream( aName, STREAM_READ | STREAM_SHARE_DENYALL | STREAM_NOCREATE );
-        if ( !pStream || pStream->GetError() || m_pStorage->GetError() )
-        {
-            m_pStorage->ResetError();
-            DELETEZ( pStream );
-            throw io::IOException(); // TODO
-        }
-
         try
         {
+            if ( !pStream || pStream->GetError() || m_pStorage->GetError() )
+            {
+                m_pStorage->ResetError();
+                DELETEZ( pStream );
+                throw io::IOException(); // TODO
+            }
+
             uno::Sequence< sal_Int8 > aData( nBytesCount );
             sal_Int32 nSize = nBytesCount;
             sal_Int32 nRead = 0;
@@ -518,12 +518,12 @@ uno::Any SAL_CALL OLESimpleStorage::getByName( const OUString& aName )
             xOutputStream->closeOutput();
             xSeekable->seek( 0 );
         }
-        catch( uno::RuntimeException& )
+        catch (const uno::RuntimeException&)
         {
             DELETEZ( pStream );
             throw;
         }
-        catch( uno::Exception& )
+        catch (const uno::Exception&)
         {
             DELETEZ( pStream );
             throw lang::WrappedTargetException(); // TODO:
commit d29fd56e21cc3f6ba5fba7af788e39f0a7bec00d
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 10:57:42 2014 +0100

    coverity#707130 Uncaught exception
    
    Change-Id: I76bbe1adb60e7662b4da1effc57feb54ad8733bd

diff --git a/sd/source/ui/unoidl/sddetect.cxx b/sd/source/ui/unoidl/sddetect.cxx
index 81577fc..81b7da2 100644
--- a/sd/source/ui/unoidl/sddetect.cxx
+++ b/sd/source/ui/unoidl/sddetect.cxx
@@ -75,9 +75,15 @@ OUString SAL_CALL SdFilterDetect::detect( Sequence< beans::PropertyValue >& lDes
         if ( pInStrm->remainingSize() == 0 )
             return OUString();
 
-        SotStorageRef aStorage = new SotStorage( pInStrm, false );
-        if ( !aStorage->GetError() && aStorage->IsStream( "PowerPoint Document" ) )
-            return aTypeName;
+        try
+        {
+            SotStorageRef aStorage = new SotStorage( pInStrm, false );
+            if ( !aStorage->GetError() && aStorage->IsStream( "PowerPoint Document" ) )
+                return aTypeName;
+        }
+        catch (const css::ucb::ContentCreationException&)
+        {
+        }
     }
     else
     {
commit de61e7302d05a8626aed39a2749a05fd4d376f48
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 10:56:07 2014 +0100

    coverity#706600 Uncaught exception
    
    Change-Id: I93868e6acc8e245f15ece38e00390dfc3bd9ee8c

diff --git a/pyuno/source/module/pyuno_adapter.cxx b/pyuno/source/module/pyuno_adapter.cxx
index d239119..02881dd 100644
--- a/pyuno/source/module/pyuno_adapter.cxx
+++ b/pyuno/source/module/pyuno_adapter.cxx
@@ -380,8 +380,7 @@ Any Adapter::getValue( const OUString & aPropertyName )
             PyObject_GetAttrString( mWrappedObject.get(), (char*)TO_ASCII(aPropertyName) ),
             SAL_NO_ACQUIRE );
 
-        raiseInvocationTargetExceptionWhenNeeded( runtime);
-        if( !pyRef.is() )
+        if (!pyRef.is() || PyErr_Occurred())
         {
             OUStringBuffer buf;
             buf.appendAscii( "pyuno::Adapater: Property " ).append( aPropertyName );
commit 8923103eeedc79ee8e4384ea4a1df57d76a0d5d4
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 10:40:45 2014 +0100

    coverity#706376 Uncaught exception
    
    Change-Id: Ic18823fd60826c144058df32c27ab25d58664e30

diff --git a/connectivity/source/commontools/BlobHelper.cxx b/connectivity/source/commontools/BlobHelper.cxx
index 65a12ed..c4e83d7 100644
--- a/connectivity/source/commontools/BlobHelper.cxx
+++ b/connectivity/source/commontools/BlobHelper.cxx
@@ -47,7 +47,7 @@ BlobHelper::BlobHelper(const ::com::sun::star::uno::Sequence< sal_Int8 >& _val)
 }
 
 
-// The "return" after a call to throwFeatureNotImplementedException()
+// The "return" after a call to throwFeatureNotImplementedSQLException()
 // (which always throws) will be detected as unreachable when doing
 // global inlining.
 
@@ -55,13 +55,13 @@ SAL_WNOUNREACHABLE_CODE_PUSH
 
 ::sal_Int64 SAL_CALL BlobHelper::position( const ::com::sun::star::uno::Sequence< ::sal_Int8 >& /*pattern*/, ::sal_Int64 /*start*/ ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XBlob::position", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XBlob::position", *this );
     return 0;
 }
 
 ::sal_Int64 SAL_CALL BlobHelper::positionOfBlob( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& /*pattern*/, ::sal_Int64 /*start*/ ) throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XBlob::positionOfBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XBlob::positionOfBlob", *this );
     return 0;
 }
 
diff --git a/connectivity/source/commontools/dbexception.cxx b/connectivity/source/commontools/dbexception.cxx
index b4990e8..d8b71ee 100644
--- a/connectivity/source/commontools/dbexception.cxx
+++ b/connectivity/source/commontools/dbexception.cxx
@@ -429,8 +429,7 @@ void throwGenericSQLException(const OUString& _rMsg, const Reference< XInterface
     throw SQLException( _rMsg, _rxSource, getStandardSQLState( SQL_GENERAL_ERROR ), 0, _rNextException);
 }
 
-
-void throwFeatureNotImplementedException( const OUString& _rFeatureName, const Reference< XInterface >& _rxContext, const Any* _pNextException )
+void throwFeatureNotImplementedSQLException( const OUString& _rFeatureName, const Reference< XInterface >& _rxContext, const Any* _pNextException )
     throw (SQLException)
 {
     ::connectivity::SharedResources aResources;
@@ -448,6 +447,18 @@ void throwFeatureNotImplementedException( const OUString& _rFeatureName, const R
     );
 }
 
+void throwFeatureNotImplementedRuntimeException(const OUString& _rFeatureName, const Reference< XInterface >& _rxContext)
+    throw (RuntimeException)
+{
+    ::connectivity::SharedResources aResources;
+    const OUString sError( aResources.getResourceStringWithSubstitution(
+            STR_UNSUPPORTED_FEATURE,
+            "$featurename$", _rFeatureName
+         ) );
+
+    throw RuntimeException(sError, _rxContext);
+}
+
 void throwInvalidColumnException( const OUString& _rColumnName, const Reference< XInterface >& _rxContext)
     throw (SQLException)
 {
diff --git a/connectivity/source/drivers/ado/ACallableStatement.cxx b/connectivity/source/drivers/ado/ACallableStatement.cxx
index 0d8846f..8e0c510 100644
--- a/connectivity/source/drivers/ado/ACallableStatement.cxx
+++ b/connectivity/source/drivers/ado/ACallableStatement.cxx
@@ -112,7 +112,7 @@ sal_Int64 SAL_CALL OCallableStatement::getLong( sal_Int32 columnIndex ) throw(SQ
 
 Any SAL_CALL OCallableStatement::getObject( sal_Int32 /*columnIndex*/, const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getObject", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getObject", *this );
     return Any();
 }
 
@@ -172,40 +172,40 @@ void SAL_CALL OCallableStatement::registerNumericOutParameter( sal_Int32 paramet
 
 Reference< ::com::sun::star::io::XInputStream > SAL_CALL OCallableStatement::getBinaryStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getBinaryStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getBinaryStream", *this );
     return NULL;
 }
 
 Reference< ::com::sun::star::io::XInputStream > SAL_CALL OCallableStatement::getCharacterStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getCharacterStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getCharacterStream", *this );
     return NULL;
 }
 
 
 Reference< XArray > SAL_CALL OCallableStatement::getArray( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getArray", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getArray", *this );
     return NULL;
 }
 
 
 Reference< XClob > SAL_CALL OCallableStatement::getClob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getClob", *this );
     return NULL;
 }
 
 Reference< XBlob > SAL_CALL OCallableStatement::getBlob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getBlob", *this );
     return NULL;
 }
 
 
 Reference< XRef > SAL_CALL OCallableStatement::getRef( sal_Int32 /*columnIndex*/) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getRef", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getRef", *this );
     return NULL;
 }
 
diff --git a/connectivity/source/drivers/ado/AConnection.cxx b/connectivity/source/drivers/ado/AConnection.cxx
index 6dcb562..79abed7 100644
--- a/connectivity/source/drivers/ado/AConnection.cxx
+++ b/connectivity/source/drivers/ado/AConnection.cxx
@@ -393,7 +393,7 @@ Reference< ::com::sun::star::container::XNameAccess > SAL_CALL OConnection::getT
 
 void SAL_CALL OConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTypeMap", *this );
 }
 
 // XCloseable
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaData.cxx b/connectivity/source/drivers/ado/ADatabaseMetaData.cxx
index 823dfa2..10349df 100644
--- a/connectivity/source/drivers/ado/ADatabaseMetaData.cxx
+++ b/connectivity/source/drivers/ado/ADatabaseMetaData.cxx
@@ -1067,7 +1067,7 @@ sal_Bool SAL_CALL ODatabaseMetaData::supportsBatchUpdates(  ) throw(SQLException
 
 Reference< XResultSet > SAL_CALL ODatabaseMetaData::getUDTs( const Any& /*catalog*/, const OUString& /*schemaPattern*/, const OUString& /*typeNamePattern*/, const Sequence< sal_Int32 >& /*types*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XDatabaseMetaData::getUDTs", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XDatabaseMetaData::getUDTs", *this );
     return Reference< XResultSet >();
 }
 
diff --git a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
index 6627e8d..35a6b43 100644
--- a/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/ado/ADatabaseMetaDataResultSet.cxx
@@ -182,7 +182,7 @@ Reference< ::com::sun::star::io::XInputStream > SAL_CALL ODatabaseMetaDataResult
 
 Reference< ::com::sun::star::io::XInputStream > SAL_CALL ODatabaseMetaDataResultSet::getCharacterStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getCharacterStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getCharacterStream", *this );
     return NULL;
 }
 
@@ -266,14 +266,14 @@ sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::getInt( sal_Int32 columnIndex ) t
 
 sal_Int32 SAL_CALL ODatabaseMetaDataResultSet::getRow(  ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XResultSet::getRow", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XResultSet::getRow", *this );
     return 0;
 }
 
 
 sal_Int64 SAL_CALL ODatabaseMetaDataResultSet::getLong( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getLong", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getLong", *this );
     return sal_Int64(0);
 }
 
@@ -294,7 +294,7 @@ Reference< XResultSetMetaData > SAL_CALL ODatabaseMetaDataResultSet::getMetaData
 
 Reference< XArray > SAL_CALL ODatabaseMetaDataResultSet::getArray( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getRow", *this );
     return NULL;
 }
 
@@ -302,20 +302,20 @@ Reference< XArray > SAL_CALL ODatabaseMetaDataResultSet::getArray( sal_Int32 /*c
 
 Reference< XClob > SAL_CALL ODatabaseMetaDataResultSet::getClob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getRow", *this );
     return NULL;
 }
 
 Reference< XBlob > SAL_CALL ODatabaseMetaDataResultSet::getBlob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getRow", *this );
     return NULL;
 }
 
 
 Reference< XRef > SAL_CALL ODatabaseMetaDataResultSet::getRef( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getRow", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getRow", *this );
     return NULL;
 }
 
@@ -690,7 +690,7 @@ OUString ODatabaseMetaDataResultSet::getCursorName() const
 void ODatabaseMetaDataResultSet::setFetchDirection(sal_Int32 /*_par0*/)
     throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "ResultSet::FetchDirection", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "ResultSet::FetchDirection", *this );
 }
 
 void ODatabaseMetaDataResultSet::setFetchSize(sal_Int32 _par0)
diff --git a/connectivity/source/drivers/ado/APreparedStatement.cxx b/connectivity/source/drivers/ado/APreparedStatement.cxx
index 71fbf0f..12577df 100644
--- a/connectivity/source/drivers/ado/APreparedStatement.cxx
+++ b/connectivity/source/drivers/ado/APreparedStatement.cxx
@@ -346,22 +346,22 @@ void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 /
 
 void SAL_CALL OPreparedStatement::setClob( sal_Int32 /*parameterIndex*/, const Reference< XClob >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::setClob", *this );
 }
 
 void SAL_CALL OPreparedStatement::setBlob( sal_Int32 /*parameterIndex*/, const Reference< XBlob >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::setBlob", *this );
 }
 
 void SAL_CALL OPreparedStatement::setArray( sal_Int32 /*parameterIndex*/, const Reference< XArray >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setArray", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::setArray", *this );
 }
 
 void SAL_CALL OPreparedStatement::setRef( sal_Int32 /*parameterIndex*/, const Reference< XRef >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::setRef", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::setRef", *this );
 }
 
 void SAL_CALL OPreparedStatement::setObjectWithInfo( sal_Int32 parameterIndex, const Any& x, sal_Int32 sqlType, sal_Int32 scale ) throw(SQLException, RuntimeException)
@@ -407,7 +407,7 @@ void SAL_CALL OPreparedStatement::setBytes( sal_Int32 parameterIndex, const Sequ
 
 void SAL_CALL OPreparedStatement::setCharacterStream( sal_Int32 /*parameterIndex*/, const Reference< ::com::sun::star::io::XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setCharacterStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setCharacterStream", *this );
 }
 
 void SAL_CALL OPreparedStatement::setBinaryStream( sal_Int32 parameterIndex, const Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(SQLException, RuntimeException)
diff --git a/connectivity/source/drivers/ado/AResultSet.cxx b/connectivity/source/drivers/ado/AResultSet.cxx
index 7ccbc5e..18de013 100644
--- a/connectivity/source/drivers/ado/AResultSet.cxx
+++ b/connectivity/source/drivers/ado/AResultSet.cxx
@@ -212,7 +212,7 @@ Reference< ::com::sun::star::io::XInputStream > SAL_CALL OResultSet::getBinarySt
 
 Reference< ::com::sun::star::io::XInputStream > SAL_CALL OResultSet::getCharacterStream( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getCharacterStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getCharacterStream", *this );
     return NULL;
 }
 
@@ -283,7 +283,7 @@ sal_Int32 SAL_CALL OResultSet::getRow(  ) throw(SQLException, RuntimeException)
 
 sal_Int64 SAL_CALL OResultSet::getLong( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getLong", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getLong", *this );
     return sal_Int64(0);
 }
 
@@ -301,7 +301,7 @@ Reference< XResultSetMetaData > SAL_CALL OResultSet::getMetaData(  ) throw(SQLEx
 
 Reference< XArray > SAL_CALL OResultSet::getArray( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getArray", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getArray", *this );
     return NULL;
 }
 
@@ -309,20 +309,20 @@ Reference< XArray > SAL_CALL OResultSet::getArray( sal_Int32 /*columnIndex*/ ) t
 
 Reference< XClob > SAL_CALL OResultSet::getClob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getClob", *this );
     return NULL;
 }
 
 Reference< XBlob > SAL_CALL OResultSet::getBlob( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getBlob", *this );
     return NULL;
 }
 
 
 Reference< XRef > SAL_CALL OResultSet::getRef( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getRef", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getRef", *this );
     return NULL;
 }
 
@@ -1043,7 +1043,7 @@ OUString OResultSet::getCursorName() const
 void OResultSet::setFetchDirection(sal_Int32 /*_par0*/)
     throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "ResultSet::FetchDirection", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "ResultSet::FetchDirection", *this );
 }
 
 void OResultSet::setFetchSize(sal_Int32 _par0)
diff --git a/connectivity/source/drivers/ado/AStatement.cxx b/connectivity/source/drivers/ado/AStatement.cxx
index 830040f..ad4244e 100644
--- a/connectivity/source/drivers/ado/AStatement.cxx
+++ b/connectivity/source/drivers/ado/AStatement.cxx
@@ -621,7 +621,7 @@ void OStatement_Base::setFetchDirection(sal_Int32 /*_par0*/) throw(SQLException,
 {
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "Statement::FetchDirection", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "Statement::FetchDirection", *this );
 }
 
 void OStatement_Base::setFetchSize(sal_Int32 _par0) throw(SQLException, RuntimeException)
@@ -637,7 +637,7 @@ void OStatement_Base::setMaxFieldSize(sal_Int32 /*_par0*/) throw(SQLException, R
 {
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OStatement_BASE::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "Statement::MaxFieldSize", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "Statement::MaxFieldSize", *this );
 }
 
 void OStatement_Base::setCursorName(const OUString &_par0) throw(SQLException, RuntimeException)
diff --git a/connectivity/source/drivers/calc/CConnection.cxx b/connectivity/source/drivers/calc/CConnection.cxx
index b81a585..c71f345 100644
--- a/connectivity/source/drivers/calc/CConnection.cxx
+++ b/connectivity/source/drivers/calc/CConnection.cxx
@@ -259,7 +259,7 @@ Reference< XPreparedStatement > SAL_CALL OCalcConnection::prepareCall( const OUS
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OConnection_BASE::rBHelper.bDisposed);
 
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     return NULL;
 }
 
diff --git a/connectivity/source/drivers/calc/CResultSet.cxx b/connectivity/source/drivers/calc/CResultSet.cxx
index e0748bb..236c170 100644
--- a/connectivity/source/drivers/calc/CResultSet.cxx
+++ b/connectivity/source/drivers/calc/CResultSet.cxx
@@ -133,7 +133,7 @@ Sequence< sal_Int32 > SAL_CALL OCalcResultSet::deleteRows( const  Sequence<  Any
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
 
-    ::dbtools::throwFeatureNotImplementedException( "XDeleteRows::deleteRows", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XDeleteRows::deleteRows", *this );
     return Sequence< sal_Int32 >();
 }
 
diff --git a/connectivity/source/drivers/dbase/DConnection.cxx b/connectivity/source/drivers/dbase/DConnection.cxx
index bbe93cf..a86c316 100644
--- a/connectivity/source/drivers/dbase/DConnection.cxx
+++ b/connectivity/source/drivers/dbase/DConnection.cxx
@@ -109,7 +109,7 @@ Reference< XPreparedStatement > SAL_CALL ODbaseConnection::prepareStatement( con
 
 Reference< XPreparedStatement > SAL_CALL ODbaseConnection::prepareCall( const OUString& /*sql*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     return NULL;
 }
 
diff --git a/connectivity/source/drivers/dbase/DResultSet.cxx b/connectivity/source/drivers/dbase/DResultSet.cxx
index 2d7652d..148b6ba 100644
--- a/connectivity/source/drivers/dbase/DResultSet.cxx
+++ b/connectivity/source/drivers/dbase/DResultSet.cxx
@@ -154,7 +154,7 @@ Sequence< sal_Int32 > SAL_CALL ODbaseResultSet::deleteRows( const  Sequence<  An
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OResultSet_BASE::rBHelper.bDisposed);
 
-    ::dbtools::throwFeatureNotImplementedException( "XDeleteRows::deleteRows", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XDeleteRows::deleteRows", *this );
     return Sequence< sal_Int32 >();
 }
 
diff --git a/connectivity/source/drivers/evoab2/NConnection.cxx b/connectivity/source/drivers/evoab2/NConnection.cxx
index 67204db..c6f0050 100644
--- a/connectivity/source/drivers/evoab2/NConnection.cxx
+++ b/connectivity/source/drivers/evoab2/NConnection.cxx
@@ -160,7 +160,7 @@ Reference< XPreparedStatement > SAL_CALL OEvoabConnection::prepareStatement( con
 
 Reference< XPreparedStatement > SAL_CALL OEvoabConnection::prepareCall( const OUString& /*sql*/ ) throw( SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     return NULL;
 }
 sal_Bool SAL_CALL OEvoabConnection::isClosed(  ) throw(SQLException, RuntimeException, std::exception)
@@ -203,7 +203,7 @@ void OEvoabConnection::disposing()
 // -------------------------------- stubbed methods ------------------------------------------------
 void SAL_CALL OEvoabConnection::setAutoCommit( sal_Bool /*autoCommit*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setAutoCommit", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setAutoCommit", *this );
 }
 sal_Bool SAL_CALL OEvoabConnection::getAutoCommit(  ) throw(SQLException, RuntimeException, std::exception)
 {
@@ -217,7 +217,7 @@ void SAL_CALL OEvoabConnection::rollback(  ) throw(SQLException, RuntimeExceptio
 }
 void SAL_CALL OEvoabConnection::setReadOnly( sal_Bool /*readOnly*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setReadOnly", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setReadOnly", *this );
 }
 sal_Bool SAL_CALL OEvoabConnection::isReadOnly(  ) throw(SQLException, RuntimeException, std::exception)
 {
@@ -225,7 +225,7 @@ sal_Bool SAL_CALL OEvoabConnection::isReadOnly(  ) throw(SQLException, RuntimeEx
 }
 void SAL_CALL OEvoabConnection::setCatalog( const OUString& /*catalog*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setCatalog", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setCatalog", *this );
 }
 
 OUString SAL_CALL OEvoabConnection::getCatalog(  ) throw(SQLException, RuntimeException, std::exception)
@@ -234,7 +234,7 @@ OUString SAL_CALL OEvoabConnection::getCatalog(  ) throw(SQLException, RuntimeEx
 }
 void SAL_CALL OEvoabConnection::setTransactionIsolation( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTransactionIsolation", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTransactionIsolation", *this );
 }
 
 sal_Int32 SAL_CALL OEvoabConnection::getTransactionIsolation(  ) throw(SQLException, RuntimeException, std::exception)
@@ -244,12 +244,12 @@ sal_Int32 SAL_CALL OEvoabConnection::getTransactionIsolation(  ) throw(SQLExcept
 
 Reference< ::com::sun::star::container::XNameAccess > SAL_CALL OEvoabConnection::getTypeMap(  ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::getTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::getTypeMap", *this );
     return NULL;
 }
 void SAL_CALL OEvoabConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTypeMap", *this );
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
index bbc3f01..12605cb 100644
--- a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx
@@ -1227,7 +1227,7 @@ Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTables(
 
 Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getUDTs( const Any& /*catalog*/, const OUString& /*schemaPattern*/, const OUString& /*typeNamePattern*/, const Sequence< sal_Int32 >& /*types*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XDatabaseMetaDaza::getUDTs", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XDatabaseMetaDaza::getUDTs", *this );
     return NULL;
 }
 
diff --git a/connectivity/source/drivers/evoab2/NPreparedStatement.cxx b/connectivity/source/drivers/evoab2/NPreparedStatement.cxx
index a7e72c8..ece475a 100644
--- a/connectivity/source/drivers/evoab2/NPreparedStatement.cxx
+++ b/connectivity/source/drivers/evoab2/NPreparedStatement.cxx
@@ -140,7 +140,7 @@ sal_Int32 SAL_CALL OEvoabPreparedStatement::executeUpdate(  ) throw(SQLException
 {
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XStatement::executeUpdate", *this );
     return 0;
 }
 
diff --git a/connectivity/source/drivers/evoab2/NStatement.cxx b/connectivity/source/drivers/evoab2/NStatement.cxx
index a0b2ccf..4d7ad92 100644
--- a/connectivity/source/drivers/evoab2/NStatement.cxx
+++ b/connectivity/source/drivers/evoab2/NStatement.cxx
@@ -634,7 +634,7 @@ sal_Int32 SAL_CALL OStatement::executeUpdate( const OUString& /*sql*/ ) throw(SQ
 {
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XStatement::executeUpdate", *this );
     return 0;
 }
 
diff --git a/connectivity/source/drivers/file/FConnection.cxx b/connectivity/source/drivers/file/FConnection.cxx
index bd6d0a4..dbb3c67 100644
--- a/connectivity/source/drivers/file/FConnection.cxx
+++ b/connectivity/source/drivers/file/FConnection.cxx
@@ -245,7 +245,7 @@ Reference< XPreparedStatement > SAL_CALL OConnection::prepareStatement( const OU
 
 Reference< XPreparedStatement > SAL_CALL OConnection::prepareCall( const OUString& /*sql*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     return NULL;
 }
 
@@ -321,7 +321,7 @@ sal_Bool SAL_CALL OConnection::isReadOnly(  ) throw(SQLException, RuntimeExcepti
 
 void SAL_CALL OConnection::setCatalog( const OUString& /*catalog*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XConnection::setCatalog", *this );
+    throwFeatureNotImplementedSQLException( "XConnection::setCatalog", *this );
 }
 
 OUString SAL_CALL OConnection::getCatalog(  ) throw(SQLException, RuntimeException, std::exception)
@@ -331,7 +331,7 @@ OUString SAL_CALL OConnection::getCatalog(  ) throw(SQLException, RuntimeExcepti
 
 void SAL_CALL OConnection::setTransactionIsolation( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XConnection::setTransactionIsolation", *this );
+    throwFeatureNotImplementedSQLException( "XConnection::setTransactionIsolation", *this );
 }
 
 sal_Int32 SAL_CALL OConnection::getTransactionIsolation(  ) throw(SQLException, RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/file/FPreparedStatement.cxx b/connectivity/source/drivers/file/FPreparedStatement.cxx
index 5e166db..7d5e1c5 100644
--- a/connectivity/source/drivers/file/FPreparedStatement.cxx
+++ b/connectivity/source/drivers/file/FPreparedStatement.cxx
@@ -255,7 +255,7 @@ void SAL_CALL OPreparedStatement::setInt( sal_Int32 parameterIndex, sal_Int32 x
 
 void SAL_CALL OPreparedStatement::setLong( sal_Int32 /*parameterIndex*/, sal_Int64 /*aVal*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XParameters::setLong", *this );
+    throwFeatureNotImplementedSQLException( "XParameters::setLong", *this );
 }
 
 
@@ -273,25 +273,25 @@ void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 /
 
 void SAL_CALL OPreparedStatement::setClob( sal_Int32 /*parameterIndex*/, const Reference< XClob >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XParameters::setClob", *this );
+    throwFeatureNotImplementedSQLException( "XParameters::setClob", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setBlob( sal_Int32 /*parameterIndex*/, const Reference< XBlob >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XParameters::setBlob", *this );
+    throwFeatureNotImplementedSQLException( "XParameters::setBlob", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setArray( sal_Int32 /*parameterIndex*/, const Reference< XArray >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XParameters::setArray", *this );
+    throwFeatureNotImplementedSQLException( "XParameters::setArray", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setRef( sal_Int32 /*parameterIndex*/, const Reference< XRef >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XParameters::setRef", *this );
+    throwFeatureNotImplementedSQLException( "XParameters::setRef", *this );
 }
 
 
diff --git a/connectivity/source/drivers/file/FResultSet.cxx b/connectivity/source/drivers/file/FResultSet.cxx
index 14fa331..589ecd3 100644
--- a/connectivity/source/drivers/file/FResultSet.cxx
+++ b/connectivity/source/drivers/file/FResultSet.cxx
@@ -711,7 +711,7 @@ void SAL_CALL OResultSet::updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(
 
 void SAL_CALL OResultSet::updateLong( sal_Int32 /*columnIndex*/, sal_Int64 /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::updateLong", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::updateLong", *this );
 }
 
 void SAL_CALL OResultSet::updateFloat( sal_Int32 columnIndex, float x ) throw(SQLException, RuntimeException, std::exception)
diff --git a/connectivity/source/drivers/firebird/Blob.cxx b/connectivity/source/drivers/firebird/Blob.cxx
index 95ecc54..7d62bbc 100644
--- a/connectivity/source/drivers/firebird/Blob.cxx
+++ b/connectivity/source/drivers/firebird/Blob.cxx
@@ -171,7 +171,7 @@ sal_Int64 SAL_CALL  Blob::position(const uno::Sequence< sal_Int8 >& /*rPattern*/
                                    sal_Int64 /*nStart*/)
     throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException("Blob::position", *this);
+    ::dbtools::throwFeatureNotImplementedSQLException("Blob::position", *this);
     return 0;
 }
 
@@ -179,7 +179,7 @@ sal_Int64 SAL_CALL  Blob::positionOfBlob(const uno::Reference< XBlob >& /*rPatte
                                          sal_Int64 /*aStart*/)
     throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException("Blob::positionOfBlob", *this);
+    ::dbtools::throwFeatureNotImplementedSQLException("Blob::positionOfBlob", *this);
     return 0;
 }
 
diff --git a/connectivity/source/drivers/firebird/Connection.cxx b/connectivity/source/drivers/firebird/Connection.cxx
index 14e5a5a..caf62f8 100644
--- a/connectivity/source/drivers/firebird/Connection.cxx
+++ b/connectivity/source/drivers/firebird/Connection.cxx
@@ -604,14 +604,14 @@ sal_Int32 SAL_CALL Connection::getTransactionIsolation(  ) throw(SQLException, R
 
 Reference< XNameAccess > SAL_CALL Connection::getTypeMap() throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::getTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::getTypeMap", *this );
     return 0;
 }
 
 void SAL_CALL Connection::setTypeMap(const Reference< XNameAccess >& typeMap)
                                             throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTypeMap", *this );
     (void) typeMap;
 }
 
diff --git a/connectivity/source/drivers/flat/EConnection.cxx b/connectivity/source/drivers/flat/EConnection.cxx
index 03bb821..37d1d78 100644
--- a/connectivity/source/drivers/flat/EConnection.cxx
+++ b/connectivity/source/drivers/flat/EConnection.cxx
@@ -165,7 +165,7 @@ Reference< XPreparedStatement > SAL_CALL OFlatConnection::prepareCall( const OUS
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(OConnection_B::rBHelper.bDisposed);
 
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     return NULL;
 }
 
diff --git a/connectivity/source/drivers/hsqldb/HDriver.cxx b/connectivity/source/drivers/hsqldb/HDriver.cxx
index b78c6c1..b63e421 100644
--- a/connectivity/source/drivers/hsqldb/HDriver.cxx
+++ b/connectivity/source/drivers/hsqldb/HDriver.cxx
@@ -530,7 +530,7 @@ namespace connectivity
 
     void SAL_CALL ODriverDelegator::createCatalog( const Sequence< PropertyValue >& /*info*/ ) throw (SQLException, ::com::sun::star::container::ElementExistException, RuntimeException, std::exception)
     {
-        ::dbtools::throwFeatureNotImplementedException( "XCreateCatalog::createCatalog", *this );
+        ::dbtools::throwFeatureNotImplementedSQLException( "XCreateCatalog::createCatalog", *this );
     }
 
     void ODriverDelegator::shutdownConnection(const TWeakPairVector::iterator& _aIter )
diff --git a/connectivity/source/drivers/jdbc/Blob.cxx b/connectivity/source/drivers/jdbc/Blob.cxx
index 5795053..a76831a 100644
--- a/connectivity/source/drivers/jdbc/Blob.cxx
+++ b/connectivity/source/drivers/jdbc/Blob.cxx
@@ -124,7 +124,7 @@ sal_Int64 SAL_CALL java_sql_Blob::position( const ::com::sun::star::uno::Sequenc
 
 sal_Int64 SAL_CALL java_sql_Blob::positionOfBlob( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& /*pattern*/, sal_Int64 /*start*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XBlob::positionOfBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XBlob::positionOfBlob", *this );
     // this was put here in CWS warnings01. The previous implementation was defective, as it did ignore
     // the pattern parameter. Since the effort for proper implementation is rather high - we would need
     // to translated patter into a byte[] -, we defer this functionality for the moment (hey, it was
diff --git a/connectivity/source/drivers/jdbc/Clob.cxx b/connectivity/source/drivers/jdbc/Clob.cxx
index dc722a1..842ae71 100644
--- a/connectivity/source/drivers/jdbc/Clob.cxx
+++ b/connectivity/source/drivers/jdbc/Clob.cxx
@@ -118,7 +118,7 @@ sal_Int64 SAL_CALL java_sql_Clob::position( const OUString& searchstr, sal_Int32
 
 sal_Int64 SAL_CALL java_sql_Clob::positionOfClob( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& /*pattern*/, sal_Int64 /*start*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XClob::positionOfClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XClob::positionOfClob", *this );
     // this was put here in CWS warnings01. The previous implementation was defective, as it did ignore
     // the pattern parameter. Since the effort for proper implementation is rather high - we would need
     // to translated patter into a byte[] -, we defer this functionality for the moment (hey, it was
diff --git a/connectivity/source/drivers/jdbc/JConnection.cxx b/connectivity/source/drivers/jdbc/JConnection.cxx
index 8886d7a..a4b0feb 100644
--- a/connectivity/source/drivers/jdbc/JConnection.cxx
+++ b/connectivity/source/drivers/jdbc/JConnection.cxx
@@ -427,7 +427,7 @@ void SAL_CALL java_sql_Connection::setTypeMap( const Reference< ::com::sun::star
     ::osl::MutexGuard aGuard( m_aMutex );
     checkDisposed(java_sql_Connection_BASE::rBHelper.bDisposed);
 
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTypeMap", *this );
 }
 
 
diff --git a/connectivity/source/drivers/jdbc/PreparedStatement.cxx b/connectivity/source/drivers/jdbc/PreparedStatement.cxx
index 04d9f62..6da0c57 100644
--- a/connectivity/source/drivers/jdbc/PreparedStatement.cxx
+++ b/connectivity/source/drivers/jdbc/PreparedStatement.cxx
@@ -295,25 +295,25 @@ void SAL_CALL java_sql_PreparedStatement::setNull( sal_Int32 parameterIndex, sal
 
 void SAL_CALL java_sql_PreparedStatement::setClob( sal_Int32 /*parameterIndex*/, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& /*x*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setClob", *this );
 }
 
 
 void SAL_CALL java_sql_PreparedStatement::setBlob( sal_Int32 /*parameterIndex*/, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& /*x*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBlob", *this );
 }
 
 
 void SAL_CALL java_sql_PreparedStatement::setArray( sal_Int32 /*parameterIndex*/, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >& /*x*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setArray", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setArray", *this );
 }
 
 
 void SAL_CALL java_sql_PreparedStatement::setRef( sal_Int32 /*parameterIndex*/, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >& /*x*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setRef", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setRef", *this );
 }
 
 
diff --git a/connectivity/source/drivers/jdbc/ResultSet.cxx b/connectivity/source/drivers/jdbc/ResultSet.cxx
index 1f8b0cc..8f87b17 100644
--- a/connectivity/source/drivers/jdbc/ResultSet.cxx
+++ b/connectivity/source/drivers/jdbc/ResultSet.cxx
@@ -730,7 +730,7 @@ void SAL_CALL java_sql_ResultSet::updateBinaryStream( sal_Int32 columnIndex, con
     }
     catch(const Exception&)
     {
-        ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::updateBinaryStream", *this );
+        ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::updateBinaryStream", *this );
     }
 }
 
@@ -761,7 +761,7 @@ void SAL_CALL java_sql_ResultSet::updateCharacterStream( sal_Int32 columnIndex,
     }
     catch(const Exception&)
     {
-        ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::updateCharacterStream", *this );
+        ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::updateCharacterStream", *this );
     }
 }
 
diff --git a/connectivity/source/drivers/jdbc/tools.cxx b/connectivity/source/drivers/jdbc/tools.cxx
index 5d99330..6c569f2 100644
--- a/connectivity/source/drivers/jdbc/tools.cxx
+++ b/connectivity/source/drivers/jdbc/tools.cxx
@@ -178,7 +178,7 @@ jobject connectivity::convertTypeMapToJavaMap(JNIEnv* /*pEnv*/,const Reference<
     {
         ::com::sun::star::uno::Sequence< OUString > aNames = _rMap->getElementNames();
         if ( aNames.getLength() > 0 )
-            ::dbtools::throwFeatureNotImplementedException( "Type maps", NULL );
+            ::dbtools::throwFeatureNotImplementedSQLException( "Type maps", NULL );
     }
     return 0;
 }
diff --git a/connectivity/source/drivers/mork/MConnection.cxx b/connectivity/source/drivers/mork/MConnection.cxx
index e84d55f..2c5748b 100644
--- a/connectivity/source/drivers/mork/MConnection.cxx
+++ b/connectivity/source/drivers/mork/MConnection.cxx
@@ -215,7 +215,7 @@ Reference< XPreparedStatement > SAL_CALL OConnection::prepareCall( const OUStrin
     SAL_INFO("connectivity.mork", "=> OConnection::prepareCall()" );
     SAL_INFO("connectivity.mork", "sql: " << _sSql);
     OSL_UNUSED( _sSql );
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     SAL_INFO("connectivity.mork", "OConnection::prepareCall( " << _sSql << " )");
     return NULL;
 }
@@ -234,7 +234,7 @@ OUString SAL_CALL OConnection::nativeSQL( const OUString& _sSql ) throw(SQLExcep
 
 void SAL_CALL OConnection::setAutoCommit( sal_Bool /*autoCommit*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setAutoCommit", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setAutoCommit", *this );
 }
 
 sal_Bool SAL_CALL OConnection::getAutoCommit(  ) throw(SQLException, RuntimeException, std::exception)
@@ -284,7 +284,7 @@ Reference< XDatabaseMetaData > SAL_CALL OConnection::getMetaData(  ) throw(SQLEx
 
 void SAL_CALL OConnection::setReadOnly( sal_Bool /*readOnly*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setReadOnly", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setReadOnly", *this );
 }
 
 sal_Bool SAL_CALL OConnection::isReadOnly(  ) throw(SQLException, RuntimeException, std::exception)
@@ -295,7 +295,7 @@ sal_Bool SAL_CALL OConnection::isReadOnly(  ) throw(SQLException, RuntimeExcepti
 
 void SAL_CALL OConnection::setCatalog( const OUString& /*catalog*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setCatalog", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setCatalog", *this );
 }
 
 OUString SAL_CALL OConnection::getCatalog(  ) throw(SQLException, RuntimeException, std::exception)
@@ -305,7 +305,7 @@ OUString SAL_CALL OConnection::getCatalog(  ) throw(SQLException, RuntimeExcepti
 
 void SAL_CALL OConnection::setTransactionIsolation( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTransactionIsolation", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTransactionIsolation", *this );
 }
 
 sal_Int32 SAL_CALL OConnection::getTransactionIsolation(  ) throw(SQLException, RuntimeException, std::exception)
@@ -322,7 +322,7 @@ Reference< ::com::sun::star::container::XNameAccess > SAL_CALL OConnection::getT
 
 void SAL_CALL OConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTypeMap", *this );
 }
 
 // XCloseable
diff --git a/connectivity/source/drivers/mork/MPreparedStatement.cxx b/connectivity/source/drivers/mork/MPreparedStatement.cxx
index 742a13b..2ed87e6 100644
--- a/connectivity/source/drivers/mork/MPreparedStatement.cxx
+++ b/connectivity/source/drivers/mork/MPreparedStatement.cxx
@@ -174,7 +174,7 @@ sal_Bool SAL_CALL OPreparedStatement::execute(  ) throw(SQLException, RuntimeExc
 
 sal_Int32 SAL_CALL OPreparedStatement::executeUpdate(  ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XStatement::executeUpdate", *this );
     return 0;
 }
 
@@ -212,56 +212,56 @@ Reference< XResultSet > SAL_CALL OPreparedStatement::executeQuery(  ) throw(SQLE
 
 void SAL_CALL OPreparedStatement::setBoolean( sal_Int32 /*parameterIndex*/, sal_Bool /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBoolean", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBoolean", *this );
 }
 
 void SAL_CALL OPreparedStatement::setByte( sal_Int32 /*parameterIndex*/, sal_Int8 /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setByte", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setByte", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setDate( sal_Int32 /*parameterIndex*/, const Date& /*aData*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setDate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setDate", *this );
 }
 
 
 
 void SAL_CALL OPreparedStatement::setTime( sal_Int32 /*parameterIndex*/, const Time& /*aVal*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setTime", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setTime", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setTimestamp( sal_Int32 /*parameterIndex*/, const DateTime& /*aVal*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setTimestamp", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setTimestamp", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setDouble( sal_Int32 /*parameterIndex*/, double /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setDouble", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setDouble", *this );
 }
 
 
 
 void SAL_CALL OPreparedStatement::setFloat( sal_Int32 /*parameterIndex*/, float /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setFloat", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setFloat", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setInt( sal_Int32 /*parameterIndex*/, sal_Int32 /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setInt", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setInt", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setLong( sal_Int32 /*parameterIndex*/, sal_Int64 /*aVal*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setLong", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setLong", *this );
 }
 
 
@@ -278,31 +278,31 @@ void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 /
 
 void SAL_CALL OPreparedStatement::setClob( sal_Int32 /*parameterIndex*/, const Reference< XClob >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setClob", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setBlob( sal_Int32 /*parameterIndex*/, const Reference< XBlob >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBlob", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setArray( sal_Int32 /*parameterIndex*/, const Reference< XArray >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setArray", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setArray", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setRef( sal_Int32 /*parameterIndex*/, const Reference< XRef >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setRef", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setRef", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setObjectWithInfo( sal_Int32 /*parameterIndex*/, const Any& /*x*/, sal_Int32 /*sqlType*/, sal_Int32 /*scale*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setObjectWithInfo", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setObjectWithInfo", *this );
 }
 
 
@@ -320,26 +320,26 @@ void SAL_CALL OPreparedStatement::setObject( sal_Int32 parameterIndex, const Any
 
 void SAL_CALL OPreparedStatement::setShort( sal_Int32 /*parameterIndex*/, sal_Int16 /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setShort", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setShort", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setBytes( sal_Int32 /*parameterIndex*/, const Sequence< sal_Int8 >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBytes", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBytes", *this );
 }
 
 
 
 void SAL_CALL OPreparedStatement::setCharacterStream( sal_Int32 /*parameterIndex*/, const Reference< ::com::sun::star::io::XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setCharacterStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setCharacterStream", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setBinaryStream( sal_Int32 /*parameterIndex*/, const Reference< ::com::sun::star::io::XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBinaryStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBinaryStream", *this );
 }
 
 
diff --git a/connectivity/source/drivers/mork/MResultSet.cxx b/connectivity/source/drivers/mork/MResultSet.cxx
index 8b1de56..da81055 100644
--- a/connectivity/source/drivers/mork/MResultSet.cxx
+++ b/connectivity/source/drivers/mork/MResultSet.cxx
@@ -1720,7 +1720,7 @@ void SAL_CALL OResultSet::updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(
 
 void SAL_CALL OResultSet::updateLong( sal_Int32 /*columnIndex*/, sal_Int64 /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::updateLong", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::updateLong", *this );
 }
 
 void SAL_CALL OResultSet::updateFloat( sal_Int32 columnIndex, float x ) throw(SQLException, RuntimeException, std::exception)
@@ -1885,7 +1885,7 @@ void OResultSet::setOrderByAscending(const ::std::vector<TAscendingOrder>& _aOrd
 }
 Sequence< sal_Int32 > SAL_CALL OResultSet::deleteRows( const Sequence< Any >& /*rows*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XDeleteRows::deleteRows", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XDeleteRows::deleteRows", *this );
     return Sequence< sal_Int32 >();
 };
 
diff --git a/connectivity/source/drivers/mork/MStatement.cxx b/connectivity/source/drivers/mork/MStatement.cxx
index d8f16a3..ebff5ef 100644
--- a/connectivity/source/drivers/mork/MStatement.cxx
+++ b/connectivity/source/drivers/mork/MStatement.cxx
@@ -356,7 +356,7 @@ Any SAL_CALL OStatement::queryInterface( const Type & rType ) throw(RuntimeExcep
 
 sal_Int32 SAL_CALL OCommonStatement::executeUpdate( const OUString& /*sql*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XStatement::executeUpdate", *this );
     return 0;
 
 }
diff --git a/connectivity/source/drivers/mozab/MConnection.cxx b/connectivity/source/drivers/mozab/MConnection.cxx
index 75e2353..bf1fb63 100644
--- a/connectivity/source/drivers/mozab/MConnection.cxx
+++ b/connectivity/source/drivers/mozab/MConnection.cxx
@@ -376,7 +376,7 @@ Reference< XPreparedStatement > SAL_CALL OConnection::prepareStatement( const OU
 Reference< XPreparedStatement > SAL_CALL OConnection::prepareCall( const OUString& _sSql ) throw(SQLException, RuntimeException)
 {
     OSL_UNUSED( _sSql );
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     OSL_TRACE("OConnection::prepareCall( %s )", OUtoCStr( _sSql ) );
     return NULL;
 }
@@ -392,7 +392,7 @@ OUString SAL_CALL OConnection::nativeSQL( const OUString& _sSql ) throw(SQLExcep
 
 void SAL_CALL OConnection::setAutoCommit( sal_Bool /*autoCommit*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setAutoCommit", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setAutoCommit", *this );
 }
 
 sal_Bool SAL_CALL OConnection::getAutoCommit(  ) throw(SQLException, RuntimeException)
@@ -440,7 +440,7 @@ Reference< XDatabaseMetaData > SAL_CALL OConnection::getMetaData(  ) throw(SQLEx
 
 void SAL_CALL OConnection::setReadOnly( sal_Bool /*readOnly*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setReadOnly", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setReadOnly", *this );
 }
 
 sal_Bool SAL_CALL OConnection::isReadOnly(  ) throw(SQLException, RuntimeException)
@@ -451,7 +451,7 @@ sal_Bool SAL_CALL OConnection::isReadOnly(  ) throw(SQLException, RuntimeExcepti
 
 void SAL_CALL OConnection::setCatalog( const OUString& /*catalog*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setCatalog", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setCatalog", *this );
 }
 
 OUString SAL_CALL OConnection::getCatalog(  ) throw(SQLException, RuntimeException)
@@ -462,7 +462,7 @@ OUString SAL_CALL OConnection::getCatalog(  ) throw(SQLException, RuntimeExcepti
 
 void SAL_CALL OConnection::setTransactionIsolation( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTransactionIsolation", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTransactionIsolation", *this );
 }
 
 sal_Int32 SAL_CALL OConnection::getTransactionIsolation(  ) throw(SQLException, RuntimeException)
@@ -479,7 +479,7 @@ Reference< ::com::sun::star::container::XNameAccess > SAL_CALL OConnection::getT
 
 void SAL_CALL OConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTypeMap", *this );
 }
 
 // XCloseable
diff --git a/connectivity/source/drivers/mozab/MPreparedStatement.cxx b/connectivity/source/drivers/mozab/MPreparedStatement.cxx
index e206c4a..0de6749 100644
--- a/connectivity/source/drivers/mozab/MPreparedStatement.cxx
+++ b/connectivity/source/drivers/mozab/MPreparedStatement.cxx
@@ -184,7 +184,7 @@ sal_Bool SAL_CALL OPreparedStatement::execute(  ) throw(SQLException, RuntimeExc
 
 sal_Int32 SAL_CALL OPreparedStatement::executeUpdate(  ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XStatement::executeUpdate", *this );
     return 0;
 }
 
@@ -222,56 +222,56 @@ Reference< XResultSet > SAL_CALL OPreparedStatement::executeQuery(  ) throw(SQLE
 
 void SAL_CALL OPreparedStatement::setBoolean( sal_Int32 /*parameterIndex*/, sal_Bool /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBoolean", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBoolean", *this );
 }
 
 void SAL_CALL OPreparedStatement::setByte( sal_Int32 /*parameterIndex*/, sal_Int8 /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setByte", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setByte", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setDate( sal_Int32 /*parameterIndex*/, const Date& /*aData*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setDate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setDate", *this );
 }
 
 
 
 void SAL_CALL OPreparedStatement::setTime( sal_Int32 /*parameterIndex*/, const Time& /*aVal*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setTime", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setTime", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setTimestamp( sal_Int32 /*parameterIndex*/, const DateTime& /*aVal*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setTimestamp", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setTimestamp", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setDouble( sal_Int32 /*parameterIndex*/, double /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setDouble", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setDouble", *this );
 }
 
 
 
 void SAL_CALL OPreparedStatement::setFloat( sal_Int32 /*parameterIndex*/, float /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setFloat", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setFloat", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setInt( sal_Int32 /*parameterIndex*/, sal_Int32 /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setInt", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setInt", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setLong( sal_Int32 /*parameterIndex*/, sal_Int64 /*aVal*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setLong", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setLong", *this );
 }
 
 
@@ -288,31 +288,31 @@ void SAL_CALL OPreparedStatement::setNull( sal_Int32 parameterIndex, sal_Int32 /
 
 void SAL_CALL OPreparedStatement::setClob( sal_Int32 /*parameterIndex*/, const Reference< XClob >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setClob", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setBlob( sal_Int32 /*parameterIndex*/, const Reference< XBlob >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBlob", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setArray( sal_Int32 /*parameterIndex*/, const Reference< XArray >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setArray", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setArray", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setRef( sal_Int32 /*parameterIndex*/, const Reference< XRef >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setRef", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setRef", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setObjectWithInfo( sal_Int32 /*parameterIndex*/, const Any& /*x*/, sal_Int32 /*sqlType*/, sal_Int32 /*scale*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setObjectWithInfo", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setObjectWithInfo", *this );
 }
 
 
@@ -330,26 +330,26 @@ void SAL_CALL OPreparedStatement::setObject( sal_Int32 parameterIndex, const Any
 
 void SAL_CALL OPreparedStatement::setShort( sal_Int32 /*parameterIndex*/, sal_Int16 /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setShort", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setShort", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setBytes( sal_Int32 /*parameterIndex*/, const Sequence< sal_Int8 >& /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBytes", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBytes", *this );
 }
 
 
 
 void SAL_CALL OPreparedStatement::setCharacterStream( sal_Int32 /*parameterIndex*/, const Reference< ::com::sun::star::io::XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setCharacterStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setCharacterStream", *this );
 }
 
 
 void SAL_CALL OPreparedStatement::setBinaryStream( sal_Int32 /*parameterIndex*/, const Reference< ::com::sun::star::io::XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBinaryStream", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBinaryStream", *this );
 }
 
 
diff --git a/connectivity/source/drivers/mozab/MResultSet.cxx b/connectivity/source/drivers/mozab/MResultSet.cxx
index 519a1b1..11c6a4b 100644
--- a/connectivity/source/drivers/mozab/MResultSet.cxx
+++ b/connectivity/source/drivers/mozab/MResultSet.cxx
@@ -1725,7 +1725,7 @@ void SAL_CALL OResultSet::updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(
 
 void SAL_CALL OResultSet::updateLong( sal_Int32 /*columnIndex*/, sal_Int64 /*x*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRowUpdate::updateLong", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRowUpdate::updateLong", *this );
 }
 
 void SAL_CALL OResultSet::updateFloat( sal_Int32 columnIndex, float x ) throw(SQLException, RuntimeException)
@@ -1956,7 +1956,7 @@ void OResultSet::setOrderByAscending(const ::std::vector<TAscendingOrder>& _aOrd
 }
 Sequence< sal_Int32 > SAL_CALL OResultSet::deleteRows( const Sequence< Any >& /*rows*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XDeleteRows::deleteRows", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XDeleteRows::deleteRows", *this );
     return Sequence< sal_Int32 >();
 };
 
diff --git a/connectivity/source/drivers/mozab/MStatement.cxx b/connectivity/source/drivers/mozab/MStatement.cxx
index 3e738fa..842db6b 100644
--- a/connectivity/source/drivers/mozab/MStatement.cxx
+++ b/connectivity/source/drivers/mozab/MStatement.cxx
@@ -353,7 +353,7 @@ Any SAL_CALL OStatement::queryInterface( const Type & rType ) throw(RuntimeExcep
 
 sal_Int32 SAL_CALL OCommonStatement::executeUpdate( const OUString& /*sql*/ ) throw(SQLException, RuntimeException)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XStatement::executeUpdate", *this );
     return 0;
 
 }
diff --git a/connectivity/source/drivers/odbc/OConnection.cxx b/connectivity/source/drivers/odbc/OConnection.cxx
index 93c0b3e..5a0761d 100644
--- a/connectivity/source/drivers/odbc/OConnection.cxx
+++ b/connectivity/source/drivers/odbc/OConnection.cxx
@@ -304,7 +304,7 @@ Reference< XPreparedStatement > SAL_CALL OConnection::prepareStatement( const OU
 
 Reference< XPreparedStatement > SAL_CALL OConnection::prepareCall( const OUString& /*sql*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::prepareCall", *this );
     return NULL;
 }
 
@@ -464,7 +464,7 @@ Reference< ::com::sun::star::container::XNameAccess > SAL_CALL OConnection::getT
 
 void SAL_CALL OConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XConnection::setTypeMap", *this );
 }
 
 // XCloseable
diff --git a/connectivity/source/sdbcx/VGroup.cxx b/connectivity/source/sdbcx/VGroup.cxx
index 960c320d..c71f22e 100644
--- a/connectivity/source/sdbcx/VGroup.cxx
+++ b/connectivity/source/sdbcx/VGroup.cxx
@@ -133,14 +133,14 @@ void SAL_CALL OGroup::grantPrivileges( const OUString& /*objName*/, sal_Int32 /*
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     checkDisposed(OGroup_BASE::rBHelper.bDisposed);
-    throwFeatureNotImplementedException( "XAuthorizable::grantPrivileges", *this );
+    throwFeatureNotImplementedSQLException( "XAuthorizable::grantPrivileges", *this );
 }
 
 void SAL_CALL OGroup::revokePrivileges( const OUString& /*objName*/, sal_Int32 /*objType*/, sal_Int32 /*objPrivileges*/ ) throw(::com::sun::star::sdbc::SQLException, RuntimeException, std::exception)
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     checkDisposed(OGroup_BASE::rBHelper.bDisposed);
-    throwFeatureNotImplementedException( "XAuthorizable::revokePrivileges", *this );
+    throwFeatureNotImplementedSQLException( "XAuthorizable::revokePrivileges", *this );
 }
 
 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL OGroup::getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException, std::exception)
@@ -155,7 +155,7 @@ OUString SAL_CALL OGroup::getName(  ) throw(::com::sun::star::uno::RuntimeExcept
 
 void SAL_CALL OGroup::setName( const OUString& /*aName*/ ) throw(::com::sun::star::uno::RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XNamed::setName", *this );
+    throwFeatureNotImplementedRuntimeException( "XNamed::setName", *this );
 }
 
 // XInterface
diff --git a/connectivity/source/sdbcx/VTable.cxx b/connectivity/source/sdbcx/VTable.cxx
index 18d7c35..23cfca9 100644
--- a/connectivity/source/sdbcx/VTable.cxx
+++ b/connectivity/source/sdbcx/VTable.cxx
@@ -281,12 +281,12 @@ Reference< XDatabaseMetaData> OTable::getMetaData() const
 // XAlterTable
 void SAL_CALL OTable::alterColumnByName( const OUString& /*colName*/, const Reference< XPropertySet >& /*descriptor*/ ) throw(SQLException, NoSuchElementException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XAlterTable::alterColumnByName", *this );
+    throwFeatureNotImplementedSQLException( "XAlterTable::alterColumnByName", *this );
 }
 
 void SAL_CALL OTable::alterColumnByIndex( sal_Int32 /*index*/, const Reference< XPropertySet >& /*descriptor*/ ) throw(SQLException, ::com::sun::star::lang::IndexOutOfBoundsException, RuntimeException, std::exception)
 {
-    throwFeatureNotImplementedException( "XAlterTable::alterColumnByIndex", *this );
+    throwFeatureNotImplementedSQLException( "XAlterTable::alterColumnByIndex", *this );
 }
 
 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL OTable::getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/connectivity/source/sdbcx/VUser.cxx b/connectivity/source/sdbcx/VUser.cxx
index 911c8d9..393493b 100644
--- a/connectivity/source/sdbcx/VUser.cxx
+++ b/connectivity/source/sdbcx/VUser.cxx
@@ -94,7 +94,7 @@ void SAL_CALL OUser::changePassword( const OUString& /*objPassword*/, const OUSt
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     checkDisposed(OUser_BASE::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "XUser::changePassword", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XUser::changePassword", *this );
 }
 
 // XGroupsSupplier
@@ -128,7 +128,7 @@ sal_Int32 SAL_CALL OUser::getPrivileges( const OUString& /*objName*/, sal_Int32
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     checkDisposed(OUser_BASE::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "XAuthorizable::changePassword", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XAuthorizable::changePassword", *this );
     return 0;
 }
 
@@ -136,7 +136,7 @@ sal_Int32 SAL_CALL OUser::getGrantablePrivileges( const OUString& /*objName*/, s
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     checkDisposed(OUser_BASE::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "XAuthorizable::getGrantablePrivileges", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XAuthorizable::getGrantablePrivileges", *this );
     return 0;
 }
 
@@ -147,14 +147,14 @@ void SAL_CALL OUser::grantPrivileges( const OUString& /*objName*/, sal_Int32 /*o
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     checkDisposed(OUser_BASE::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "XAuthorizable::grantPrivileges", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XAuthorizable::grantPrivileges", *this );
 }
 
 void SAL_CALL OUser::revokePrivileges( const OUString& /*objName*/, sal_Int32 /*objType*/, sal_Int32 /*objPrivileges*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception)
 {
     ::osl::MutexGuard aGuard(m_aMutex);
     checkDisposed(OUser_BASE::rBHelper.bDisposed);
-    ::dbtools::throwFeatureNotImplementedException( "XAuthorizable::revokePrivileges", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XAuthorizable::revokePrivileges", *this );
 }
 
 ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL OUser::getPropertySetInfo(  ) throw(::com::sun::star::uno::RuntimeException, std::exception)
diff --git a/dbaccess/source/core/api/RowSet.cxx b/dbaccess/source/core/api/RowSet.cxx
index 534093a..e31879e 100644
--- a/dbaccess/source/core/api/RowSet.cxx
+++ b/dbaccess/source/core/api/RowSet.cxx
@@ -2629,22 +2629,22 @@ void SAL_CALL ORowSet::setObjectWithInfo( sal_Int32 parameterIndex, const Any& x
 
 void SAL_CALL ORowSet::setRef( sal_Int32 /*parameterIndex*/, const Reference< XRef >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setRef", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setRef", *this );
 }
 
 void SAL_CALL ORowSet::setBlob( sal_Int32 /*parameterIndex*/, const Reference< XBlob >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setBlob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setBlob", *this );
 }
 
 void SAL_CALL ORowSet::setClob( sal_Int32 /*parameterIndex*/, const Reference< XClob >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setClob", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setClob", *this );
 }
 
 void SAL_CALL ORowSet::setArray( sal_Int32 /*parameterIndex*/, const Reference< XArray >& /*x*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XParameters::setArray", *this );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XParameters::setArray", *this );
 }
 
 void SAL_CALL ORowSet::clearParameters(  ) throw(SQLException, RuntimeException, std::exception)
diff --git a/dbaccess/source/core/api/RowSetBase.cxx b/dbaccess/source/core/api/RowSetBase.cxx
index 0bcee0c..09c6b1a 100644
--- a/dbaccess/source/core/api/RowSetBase.cxx
+++ b/dbaccess/source/core/api/RowSetBase.cxx
@@ -378,7 +378,7 @@ Any SAL_CALL ORowSetBase::getObject( sal_Int32 columnIndex, const Reference< XNa
 
 Reference< XRef > SAL_CALL ORowSetBase::getRef( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getRef", *m_pMySelf );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getRef", *m_pMySelf );
     return NULL;
 }
 
@@ -394,7 +394,7 @@ Reference< XClob > SAL_CALL ORowSetBase::getClob( sal_Int32 columnIndex ) throw(
 
 Reference< XArray > SAL_CALL ORowSetBase::getArray( sal_Int32 /*columnIndex*/ ) throw(SQLException, RuntimeException, std::exception)
 {
-    ::dbtools::throwFeatureNotImplementedException( "XRow::getArray", *m_pMySelf );
+    ::dbtools::throwFeatureNotImplementedSQLException( "XRow::getArray", *m_pMySelf );
     return NULL;
 }
 
diff --git a/include/connectivity/dbexception.hxx b/include/connectivity/dbexception.hxx
index 1e7fade..c933716 100644
--- a/include/connectivity/dbexception.hxx
+++ b/include/connectivity/dbexception.hxx
@@ -285,13 +285,27 @@ OOO_DLLPUBLIC_DBTOOLS void throwGenericSQLException(
     @param _pNextException
         the next exception to chain into the thrown exception, if any
 */
-OOO_DLLPUBLIC_DBTOOLS void throwFeatureNotImplementedException(
+OOO_DLLPUBLIC_DBTOOLS void throwFeatureNotImplementedSQLException(
         const OUString& _rFeatureName,
         const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxContext,
         const ::com::sun::star::uno::Any* _pNextException = NULL
     )
-    throw (::com::sun::star::sdbc::SQLException);
+    throw (css::sdbc::SQLException);
 
+/** throw a RuntimeException (Optional feature not implemented)
+    @param _rFeatureName
+        a description of the feature which is not implemented. It's recommended that the feature
+        name is built from the name of the interface plus its method, for instance "XParameters::updateBinaryStream"
+    @param _rxContext
+        the context of the exception
+    @param _pNextException
+        the next exception to chain into the thrown exception, if any
+*/
+OOO_DLLPUBLIC_DBTOOLS void throwFeatureNotImplementedRuntimeException(
+        const OUString& _rFeatureName,
+        const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxContext
+    )
+    throw (css::uno::RuntimeException);
 
 /** throw a SQLException with SQLState 42S22 (Column Not Found)
     @param _rColumnNameName
commit d4758e6f699259e865426fd761c58009d3eca7d1
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 10:19:34 2014 +0100

    coverity#706084 Unintended sign extension
    
    and
    
    coverity#706085 Unintended sign extension
    
    Change-Id: I4bb617cd6927542dfef6dea89c5417ec4f9ed495

diff --git a/include/vcl/texteng.hxx b/include/vcl/texteng.hxx
index 3994734..9da4680 100644
--- a/include/vcl/texteng.hxx
+++ b/include/vcl/texteng.hxx
@@ -113,7 +113,7 @@ private:
 
     Font                maFont;
     Color               maTextColor;
-    sal_uInt16              mnCharHeight;
+    long                mnCharHeight;
     sal_uInt16              mnFixCharWidth100;
 
     sal_uLong               mnMaxTextLen;
@@ -259,7 +259,7 @@ public:
 
     sal_uLong           GetTextHeight() const;
     sal_uLong           CalcTextWidth();
-    sal_uInt16          GetCharHeight() const { return mnCharHeight; }
+    long                GetCharHeight() const { return mnCharHeight; }
 
     sal_uLong           GetParagraphCount() const;
     OUString            GetText( sal_uLong nParagraph ) const;
diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx
index 65feb24..c020ef0a 100644
--- a/vcl/source/edit/texteng.cxx
+++ b/vcl/source/edit/texteng.cxx
@@ -203,7 +203,7 @@ void TextEngine::SetFont( const Font& rFont )
         mnDefTab = (sal_uInt16)aTextSize.Width();
         if ( !mnDefTab )
             mnDefTab = 1;
-        mnCharHeight = (sal_uInt16)aTextSize.Height();
+        mnCharHeight = aTextSize.Height();
         mnFixCharWidth100 = 0;
 
         FormatFullDoc();
commit 6554c1f363e5c7d9edbd2cb7b58d391dff3c06a4
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 10:13:17 2014 +0100

    coverity#706101 Unintended sign extension
    
    Change-Id: Ic044245aef233501c03e342084f5c27a1bee8d4e

diff --git a/sw/source/core/doc/poolfmt.cxx b/sw/source/core/doc/poolfmt.cxx
index 9b99b5d..55d8223 100644
--- a/sw/source/core/doc/poolfmt.cxx
+++ b/sw/source/core/doc/poolfmt.cxx
@@ -1796,8 +1796,9 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 }
                 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
                 {
-                    aFmt.SetListtabPos( (n+1) * nOffs );
-                    aFmt.SetIndentAt( (n+1) * nOffs );
+                    long nPos = (n+1) * static_cast<long>(nOffs);
+                    aFmt.SetListtabPos(nPos);
+                    aFmt.SetIndentAt(nPos);
                 }
 
                 aFmt.SetStart( n+1 );
@@ -1952,8 +1953,9 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 }
                 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
                 {
-                    aFmt.SetListtabPos( nOffs2 + ((n-3) * nOffs) );
-                    aFmt.SetIndentAt( nOffs2 + ((n-3) * nOffs) );
+                    long nPos = nOffs2 + ((n-3) * static_cast<long>(nOffs));
+                    aFmt.SetListtabPos(nPos);
+                    aFmt.SetIndentAt(nPos);
                 }
 
                 pNewRule->Set( n, aFmt );
@@ -2085,8 +2087,9 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 }
                 else if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_ALIGNMENT )
                 {
-                    aFmt.SetListtabPos( ((n & 1) +1) * nOffs );
-                    aFmt.SetIndentAt( ((n & 1) +1) * nOffs );
+                    long nPos = ((n & 1) +1) * static_cast<long>(nOffs);
+                    aFmt.SetListtabPos(nPos);
+                    aFmt.SetIndentAt(nPos);
                 }
 
                 pNewRule->Set( n, aFmt );
commit 55125105e87fdbe444b114acea5c1b70d61987a1
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 10:11:58 2014 +0100

    dest is signed
    
    Change-Id: I2664fe8776f058ec2c8def730ff62baaf1e1980c

diff --git a/sw/source/core/doc/poolfmt.cxx b/sw/source/core/doc/poolfmt.cxx
index acf09d8..9b99b5d 100644
--- a/sw/source/core/doc/poolfmt.cxx
+++ b/sw/source/core/doc/poolfmt.cxx
@@ -1929,7 +1929,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
             aFmt.SetCharFmt( pBullCFmt );
             aFmt.SetBulletFont(  &numfunc::GetDefBulletFont() );
             aFmt.SetBulletChar( cBulletChar );
-            sal_uInt16 nOffs = GetMetricVal( CM_01 ) * 4,
+            sal_Int16 nOffs = GetMetricVal( CM_01 ) * 4,
                    nOffs2 = GetMetricVal( CM_1 ) * 2;
 
             if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
commit 1819d1ba6052aca19e738150d854d705b31edcfc
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Mon Jul 21 10:09:53 2014 +0100

    move type to where I can see it
    
    Change-Id: I77f7e909828a67e1f095350bfdda7c5f4b00e1db

diff --git a/sw/source/core/doc/poolfmt.cxx b/sw/source/core/doc/poolfmt.cxx
index 0984cd0..acf09d8 100644
--- a/sw/source/core/doc/poolfmt.cxx
+++ b/sw/source/core/doc/poolfmt.cxx
@@ -1636,13 +1636,14 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
             "Wrong AutoFormat Id" );
 
     SwNumRule* pNewRule;
-    sal_uInt16 n;
 
-    for( n = 0; n < GetNumRuleTbl().size(); ++n )
-        if( nId == ( pNewRule = GetNumRuleTbl()[ n ] )->GetPoolFmtId() )
+    for (size_t n = 0; n < GetNumRuleTbl().size(); ++n )
+    {
+        if (nId == ( pNewRule = GetNumRuleTbl()[ n ] )->GetPoolFmtId())
         {
             return pNewRule;
         }
+    }
 
     // error: unknown Pool style
     if( RES_POOLNUMRULE_BEGIN > nId ||  nId >= RES_POOLNUMRULE_END )
@@ -1661,7 +1662,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
     {
         bool bIsModified = IsModified();
 
-        n = MakeNumRule( aNm, 0, false, eNumberFormatPositionAndSpaceMode );
+        sal_uInt16 n = MakeNumRule( aNm, 0, false, eNumberFormatPositionAndSpaceMode );
 
         pNewRule = GetNumRuleTbl()[ n ];
         pNewRule->SetPoolFmtId( nId );
@@ -1707,7 +1708,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - (*pArr) );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n, ++pArr )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
             {
                 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
                 {
@@ -1747,7 +1748,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
             }
 
             sal_uInt16 nSpace = 0;
-            for( n = 0; n < MAXLEVEL; ++n )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n)
             {
                 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
                 {
@@ -1787,7 +1788,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - nOffs );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n)
             {
                 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
                 {
@@ -1831,7 +1832,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - (*pArr) );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n, ++pArr )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
             {
                 aFmt.SetStart( n + 1 );
 
@@ -1941,7 +1942,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
             }
 
             aFmt.SetSuffix( OUString() );
-            for( n = 3; n < MAXLEVEL; ++n )
+            for (sal_uInt16 n = 3; n < MAXLEVEL; ++n)
             {
                 aFmt.SetStart( n+1 );
 
@@ -1989,7 +1990,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - (*pArr) );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n, ++pArr )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
             {
                 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
                 {
@@ -2034,7 +2035,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - (*pArr) );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n, ++pArr )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
             {
                 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
                 {
@@ -2074,7 +2075,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - nOffs );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n)
             {
                 aFmt.SetBulletChar( ( n & 1 ? 0x25a1 : 0x2611 ) );
 
@@ -2121,7 +2122,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - (*pArr) );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n, ++pArr )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
             {
                 switch( n )
                 {
@@ -2173,7 +2174,7 @@ SwNumRule* SwDoc::GetNumRuleFromPool( sal_uInt16 nId )
                 aFmt.SetFirstLineIndent( - (*pArr) );
             }
 
-            for( n = 0; n < MAXLEVEL; ++n, ++pArr )
+            for (sal_uInt16 n = 0; n < MAXLEVEL; ++n, ++pArr)
             {
                 if ( eNumberFormatPositionAndSpaceMode == SvxNumberFormat::LABEL_WIDTH_AND_POSITION )
                 {


More information about the Libreoffice-commits mailing list