connectivity/source/drivers/hsqldb/HUser.cxx | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-)
New commits: commit edbbc471bcd9db9b366c32e9d16d965460cd3960 Author: Lionel Elie Mamane <lio...@mamane.lu> Date: Tue Dec 17 12:14:15 2013 +0100 HSQLDB: correct syntax of change password from MySQL to HSQLDB Change-Id: Iacf60c456912f2e38c7a082e48c45164e79c1097 diff --git a/connectivity/source/drivers/hsqldb/HUser.cxx b/connectivity/source/drivers/hsqldb/HUser.cxx index 0dfcd2c..e1c2a75 100644 --- a/connectivity/source/drivers/hsqldb/HUser.cxx +++ b/connectivity/source/drivers/hsqldb/HUser.cxx @@ -272,10 +272,13 @@ void SAL_CALL OHSQLUser::changePassword( const OUString& /*oldPassword*/, const Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData(); - OUString sAlterPwd = "SET PASSWORD FOR " + - ::dbtools::quoteName(xMeta->getIdentifierQuoteString(), m_Name) + - "@\"%\" = PASSWORD('" + newPassword + "')"; + if( m_Name != xMeta->getUserName() ) + { + ::dbtools::throwGenericSQLException("HSQLDB can only change password of the current user.", *this); + } + OUString sAlterPwd = "SET PASSWORD " + + ::dbtools::quoteName(xMeta->getIdentifierQuoteString(), newPassword); Reference<XStatement> xStmt = m_xConnection->createStatement(); if ( xStmt.is() ) commit 9203ae338fdbcaf614be8436172e05a24fd7d754 Author: Lionel Elie Mamane <lio...@mamane.lu> Date: Tue Dec 17 12:00:46 2013 +0100 HSQLDB: quote usernames Change-Id: I8384920bc55dafb2cc6581fe82f38d4e2659cc3d diff --git a/connectivity/source/drivers/hsqldb/HUser.cxx b/connectivity/source/drivers/hsqldb/HUser.cxx index 297591e..0dfcd2c 100644 --- a/connectivity/source/drivers/hsqldb/HUser.cxx +++ b/connectivity/source/drivers/hsqldb/HUser.cxx @@ -229,7 +229,7 @@ void SAL_CALL OHSQLUser::grantPrivileges( const OUString& objName, sal_Int32 obj Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData(); OUString sGrant = "GRANT " + sPrivs + " ON " + ::dbtools::quoteTableName(xMeta,objName,::dbtools::eInDataManipulation) + - " TO " + m_Name; + " TO " + ::dbtools::quoteName(xMeta->getIdentifierQuoteString(), m_Name); Reference<XStatement> xStmt = m_xConnection->createStatement(); if(xStmt.is()) @@ -255,7 +255,7 @@ void SAL_CALL OHSQLUser::revokePrivileges( const OUString& objName, sal_Int32 ob Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData(); OUString sGrant = "REVOKE " + sPrivs + " ON " + ::dbtools::quoteTableName(xMeta,objName,::dbtools::eInDataManipulation) + - " FROM " + m_Name; + " FROM " + ::dbtools::quoteName(xMeta->getIdentifierQuoteString(), m_Name); Reference<XStatement> xStmt = m_xConnection->createStatement(); if(xStmt.is()) @@ -269,8 +269,12 @@ void SAL_CALL OHSQLUser::changePassword( const OUString& /*oldPassword*/, const { ::osl::MutexGuard aGuard(m_aMutex); checkDisposed(OUser_BASE_RBHELPER::rBHelper.bDisposed); + + Reference<XDatabaseMetaData> xMeta = m_xConnection->getMetaData(); + OUString sAlterPwd = "SET PASSWORD FOR " + - m_Name + "@\"%\" = PASSWORD('" + newPassword + "')"; + ::dbtools::quoteName(xMeta->getIdentifierQuoteString(), m_Name) + + "@\"%\" = PASSWORD('" + newPassword + "')"; Reference<XStatement> xStmt = m_xConnection->createStatement(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits