From 01329972d89ddfd30d197b7947c571fdb83b0cf8 Mon Sep 17 00:00:00 2001 From: Lionel Elie Mamane Date: Mon, 6 Jan 2014 16:40:59 +0100 Subject: fdo#37167 create statement before execute/wasNull/getBoolean This populates "object" member variable. The "createStatement" calls were removed in: commit b9392a36645d8632b97ad79240f483b3a1683b61 Author: Ivo Hinkelmann Date: Thu Apr 23 10:42:05 2009 +0000 CWS-TOOLING: integrate CWS dbaperf1 This was most probably in error since the call is not removed from the other modified member functions in this commit and/or failed to aaccount for the scenario of no parameter (and thus no setXXX call before execute). Change-Id: Ic0e7b7b64ea496791f32c1416aa7d4416f909616 --- connectivity/source/drivers/jdbc/CallableStatement.cxx | 4 ++++ connectivity/source/drivers/jdbc/PreparedStatement.cxx | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'connectivity') diff --git a/connectivity/source/drivers/jdbc/CallableStatement.cxx b/connectivity/source/drivers/jdbc/CallableStatement.cxx index 7ab349f3e1fa..50cce64578f8 100644 --- a/connectivity/source/drivers/jdbc/CallableStatement.cxx +++ b/connectivity/source/drivers/jdbc/CallableStatement.cxx @@ -69,12 +69,16 @@ Any SAL_CALL java_sql_CallableStatement::queryInterface( const Type & rType ) th // ------------------------------------------------------------------------- sal_Bool SAL_CALL java_sql_CallableStatement::wasNull( ) throw(starsdbc::SQLException, RuntimeException) { + SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!"); + createStatement(t.pEnv); static jmethodID mID(NULL); return callBooleanMethod( "wasNull", mID ); } sal_Bool SAL_CALL java_sql_CallableStatement::getBoolean( sal_Int32 columnIndex ) throw(starsdbc::SQLException, RuntimeException) { + SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!"); + createStatement(t.pEnv); static jmethodID mID(NULL); return callBooleanMethodWithIntArg( "getBoolean", mID,columnIndex ); } diff --git a/connectivity/source/drivers/jdbc/PreparedStatement.cxx b/connectivity/source/drivers/jdbc/PreparedStatement.cxx index 59a4b29b46f3..774d13001655 100644 --- a/connectivity/source/drivers/jdbc/PreparedStatement.cxx +++ b/connectivity/source/drivers/jdbc/PreparedStatement.cxx @@ -96,6 +96,8 @@ sal_Bool SAL_CALL java_sql_PreparedStatement::execute( ) throw(::com::sun::star ::osl::MutexGuard aGuard( m_aMutex ); checkDisposed(java_sql_Statement_BASE::rBHelper.bDisposed); + SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!"); + createStatement(t.pEnv); static jmethodID mID(NULL); return callBooleanMethod( "execute", mID ); } @@ -106,6 +108,9 @@ sal_Int32 SAL_CALL java_sql_PreparedStatement::executeUpdate( ) throw(::com::su ::osl::MutexGuard aGuard( m_aMutex ); checkDisposed(java_sql_Statement_BASE::rBHelper.bDisposed); m_aLogger.log( LogLevel::FINE, STR_LOG_EXECUTING_PREPARED_UPDATE ); + + SDBThreadAttach t; OSL_ENSURE(t.pEnv,"Java Enviroment geloescht worden!"); + createStatement(t.pEnv); static jmethodID mID(NULL); return callIntMethod("executeUpdate",mID); } -- cgit