diff --git a/dbaccess/source/sdbtools/connection/datasourcemetadata.cxx b/dbaccess/source/sdbtools/connection/datasourcemetadata.cxx index ee0a6aa40627..c95334ce405e 100644 --- a/dbaccess/source/sdbtools/connection/datasourcemetadata.cxx +++ b/dbaccess/source/sdbtools/connection/datasourcemetadata.cxx @@ -29,6 +29,7 @@ namespace sdbtools using ::com::sun::star::uno::Reference; using ::com::sun::star::sdbc::XConnection; using ::com::sun::star::lang::NullPointerException; + using ::com::sun::star::sdbc::SQLException; using ::com::sun::star::uno::RuntimeException; using ::com::sun::star::uno::XComponentContext; @@ -51,7 +52,7 @@ namespace sdbtools { } - sal_Bool SAL_CALL DataSourceMetaData::supportsQueriesInFrom( ) throw (RuntimeException, std::exception) + sal_Bool SAL_CALL DataSourceMetaData::supportsQueriesInFrom( ) throw (RuntimeException, SQLException, std::exception) { EntryGuard aGuard( *this ); ::dbtools::DatabaseMetaData aMeta( getConnection() ); diff --git a/dbaccess/source/sdbtools/connection/datasourcemetadata.hxx b/dbaccess/source/sdbtools/connection/datasourcemetadata.hxx index 5a454efccba5..67e58ec8e11d 100644 --- a/dbaccess/source/sdbtools/connection/datasourcemetadata.hxx +++ b/dbaccess/source/sdbtools/connection/datasourcemetadata.hxx @@ -58,7 +58,7 @@ namespace sdbtools ); // XDataSourceMetaData - virtual sal_Bool SAL_CALL supportsQueriesInFrom( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; + virtual sal_Bool SAL_CALL supportsQueriesInFrom() throw (::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; protected: virtual ~DataSourceMetaData(); diff --git a/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl b/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl index ba09c51f7829..eb7f48159680 100644 --- a/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl +++ b/offapi/com/sun/star/sdb/tools/XDataSourceMetaData.idl @@ -21,6 +21,7 @@ #define __com_sun_star_sdb_tools_XDataSourceMetaData_idl__ #include +#include module com { module sun { module star { module sdb { module tools { @@ -29,7 +30,7 @@ interface XDataSourceMetaData /** determines whether the data source supports queries in the FROM part of a SELECT statement. */ - boolean supportsQueriesInFrom( ); + boolean supportsQueriesInFrom() raises ( com::sun::star::sdbc::SQLException ); }; }; }; }; }; }; diff --git a/wizards/com/sun/star/wizards/db/DBMetaData.java b/wizards/com/sun/star/wizards/db/DBMetaData.java index b788f84eb2be..4106e7594071 100644 --- a/wizards/com/sun/star/wizards/db/DBMetaData.java +++ b/wizards/com/sun/star/wizards/db/DBMetaData.java @@ -762,14 +762,12 @@ public class DBMetaData } } - - - public boolean supportsQueriesInFrom() + public boolean supportsQueriesInFrom() throws SQLException { return m_connectionTools.getDataSourceMetaData().supportsQueriesInFrom(); } - public String suggestName( final int i_objectType, final String i_baseName ) throws IllegalArgumentException + public String suggestName( final int i_objectType, final String i_baseName ) throws IllegalArgumentException, SQLException { return m_connectionTools.getObjectNames().suggestName( i_objectType, i_baseName ); } diff --git a/wizards/com/sun/star/wizards/query/Finalizer.java b/wizards/com/sun/star/wizards/query/Finalizer.java index 853d478cb4f9..9d6673e6b416 100644 --- a/wizards/com/sun/star/wizards/query/Finalizer.java +++ b/wizards/com/sun/star/wizards/query/Finalizer.java @@ -21,6 +21,7 @@ import com.sun.star.awt.XRadioButton; import com.sun.star.awt.XTextComponent; import com.sun.star.lang.IllegalArgumentException; import com.sun.star.sdb.CommandType; +import com.sun.star.sdbc.SQLException; import com.sun.star.uno.AnyConverter; import com.sun.star.wizards.common.HelpIds; import com.sun.star.wizards.common.Helper; @@ -147,6 +148,11 @@ public class Finalizer exception.printStackTrace(System.err); return PropertyNames.EMPTY_STRING; } + catch (SQLException exception) + { + exception.printStackTrace(System.err); + return PropertyNames.EMPTY_STRING; + } } private String getTitle()