[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - connectivity/source
connectivity/source/drivers/firebird/PreparedStatement.cxx |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) New commits: commit f2d8aa40c811d78b71302285711bc2eccdbcd9ea Author: Caolán McNamara AuthorDate: Fri Dec 21 13:00:33 2018 + Commit: Caolán McNamara CommitDate: Sun Dec 23 18:10:10 2018 +0100 tdf#120576 avoid crash during database migration 0x cast to short turned into -1 so wasn't seen as > 8000 Change-Id: I57592020c3c31751bec43f2619bf65d41ac47e87 Reviewed-on: https://gerrit.libreoffice.org/65540 Tested-by: Jenkins Reviewed-by: Julien Nabet Reviewed-by: Caolán McNamara Tested-by: Caolán McNamara diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx index fee4029088f4..be81eef324a3 100644 --- a/connectivity/source/drivers/firebird/PreparedStatement.cxx +++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx @@ -207,7 +207,7 @@ void SAL_CALL OPreparedStatement::setString(sal_Int32 nParameterIndex, { str = str.copy(0, max_varchar_len); } -const short nLength = str.getLength(); +const auto nLength = str.getLength(); memcpy(pVar->sqldata, , 2); // Actual data memcpy(pVar->sqldata + 2, str.getStr(), str.getLength()); @@ -841,7 +841,7 @@ void SAL_CALL OPreparedStatement::setBytes(sal_Int32 nParameterIndex, { xBytesCopy.realloc( nMaxSize ); } -const short nSize = xBytesCopy.getLength(); +const auto nSize = xBytesCopy.getLength(); // 8000 corresponds to value from lcl_addDefaultParameters // in dbaccess/source/filter/hsqldb/createparser.cxx if (nSize > 8000) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - connectivity/source
connectivity/source/drivers/postgresql/pq_preparedstatement.cxx |4 connectivity/source/drivers/postgresql/pq_statement.cxx |9 + 2 files changed, 13 insertions(+) New commits: commit 3423dca574d0a2d46d0399705cd7926f5c0aab62 Author: Lionel Elie Mamane AuthorDate: Tue Dec 18 22:04:18 2018 +0100 Commit: Christian Lohmaier CommitDate: Wed Dec 19 21:29:24 2018 +0100 postgresql: correctly implement XMultipleResults interface note that we implement it in a very limited way, since we will always return only a single result. Change-Id: Idc7927d1a6896b78f6de8627ba857982821ac629 Reviewed-on: https://gerrit.libreoffice.org/65382 Tested-by: Jenkins Reviewed-by: Christian Lohmaier diff --git a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx index 865222cbcc83..a976d7e3dfc4 100644 --- a/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx +++ b/connectivity/source/drivers/postgresql/pq_preparedstatement.cxx @@ -741,6 +741,10 @@ sal_Int32 PreparedStatement::getUpdateCount( ) } sal_Bool PreparedStatement::getMoreResults( ) { +Reference< XCloseable > lastResultSet = m_lastResultset; +if( lastResultSet.is() ) +lastResultSet->close(); +m_multipleResultUpdateCount = -1; return false; } diff --git a/connectivity/source/drivers/postgresql/pq_statement.cxx b/connectivity/source/drivers/postgresql/pq_statement.cxx index b50f9008c720..184b305aa1fd 100644 --- a/connectivity/source/drivers/postgresql/pq_statement.cxx +++ b/connectivity/source/drivers/postgresql/pq_statement.cxx @@ -939,6 +939,15 @@ sal_Int32 Statement::getUpdateCount( ) sal_Bool Statement::getMoreResults( ) { +// The PostgreSQL C interface always returns a single result, +// so we will never have multiple ones. +// Implicitly close the open resultset (if any) as per spec, +// and setup to signal "no more result, neither as resultset, +// nor as update count". +Reference< XCloseable > lastResultSetHolder = m_lastResultset; +if( lastResultSetHolder.is() ) +lastResultSetHolder->close(); +m_multipleResultUpdateCount = -1; return false; } ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - connectivity/source
connectivity/source/commontools/DriversConfig.cxx |7 +-- 1 file changed, 1 insertion(+), 6 deletions(-) New commits: commit c957c5a4a0d3f621087b6dab468caaa4ed1a3e39 Author: Xisco Faulí AuthorDate: Thu Aug 16 10:30:47 2018 +0200 Commit: Miklos Vajna CommitDate: Thu Aug 16 14:42:02 2018 +0200 Revert "tdf#118751: Revert "tdf#117081: show Firebird by default"" This reverts commit 88abae93c5e0a030eca36d7e33909ad52e1c71a2. Change-Id: Ic51eca2797ad80a976f923c9003fd9751ac165ff Reviewed-on: https://gerrit.libreoffice.org/59158 Tested-by: Jenkins Reviewed-by: Miklos Vajna diff --git a/connectivity/source/commontools/DriversConfig.cxx b/connectivity/source/commontools/DriversConfig.cxx index a6b78b0d0330..380fe321930b 100644 --- a/connectivity/source/commontools/DriversConfig.cxx +++ b/connectivity/source/commontools/DriversConfig.cxx @@ -18,7 +18,6 @@ */ #include #include -#include #include using namespace connectivity; @@ -103,8 +102,6 @@ const TInstalledDrivers& DriversConfigImpl::getInstalledDrivers(const uno::Refer if ( m_aInstalled.isValid() ) { -SvtMiscOptions aMiscOptions; - const uno::Sequence< OUString > aURLPatterns = m_aInstalled.getNodeNames(); const OUString* pPatternIter = aURLPatterns.getConstArray(); const OUString* pPatternEnd = pPatternIter + aURLPatterns.getLength(); @@ -112,9 +109,7 @@ const TInstalledDrivers& DriversConfigImpl::getInstalledDrivers(const uno::Refer { TInstalledDriver aInstalledDriver; lcl_readURLPatternNode(m_aInstalled,*pPatternIter,aInstalledDriver); -if ( !aInstalledDriver.sDriverFactory.isEmpty() && - ( aMiscOptions.IsExperimentalMode() || - aInstalledDriver.sDriverFactory != "com.sun.star.comp.sdbc.firebird.Driver" )) +if ( !aInstalledDriver.sDriverFactory.isEmpty() ) m_aDrivers.emplace(*pPatternIter,aInstalledDriver); } } // if ( m_aInstalled.isValid() ) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - connectivity/source
connectivity/source/commontools/DriversConfig.cxx |7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) New commits: commit 88abae93c5e0a030eca36d7e33909ad52e1c71a2 Author: Xisco Faulí AuthorDate: Sat Jul 14 13:22:27 2018 +0200 Commit: Miklos Vajna CommitDate: Wed Jul 18 15:39:05 2018 +0200 tdf#118751: Revert "tdf#117081: show Firebird by default" Only in 6.1 branch This reverts commit 8a1a9899e05b0ebbc3ff43f2db242724c8feb18f. Change-Id: I48c9ce8dc9d45ab243c96e65da8d1b01a9423b5c Reviewed-on: https://gerrit.libreoffice.org/57429 Tested-by: Jenkins Reviewed-by: Miklos Vajna diff --git a/connectivity/source/commontools/DriversConfig.cxx b/connectivity/source/commontools/DriversConfig.cxx index 380fe321930b..a6b78b0d0330 100644 --- a/connectivity/source/commontools/DriversConfig.cxx +++ b/connectivity/source/commontools/DriversConfig.cxx @@ -18,6 +18,7 @@ */ #include #include +#include #include using namespace connectivity; @@ -102,6 +103,8 @@ const TInstalledDrivers& DriversConfigImpl::getInstalledDrivers(const uno::Refer if ( m_aInstalled.isValid() ) { +SvtMiscOptions aMiscOptions; + const uno::Sequence< OUString > aURLPatterns = m_aInstalled.getNodeNames(); const OUString* pPatternIter = aURLPatterns.getConstArray(); const OUString* pPatternEnd = pPatternIter + aURLPatterns.getLength(); @@ -109,7 +112,9 @@ const TInstalledDrivers& DriversConfigImpl::getInstalledDrivers(const uno::Refer { TInstalledDriver aInstalledDriver; lcl_readURLPatternNode(m_aInstalled,*pPatternIter,aInstalledDriver); -if ( !aInstalledDriver.sDriverFactory.isEmpty() ) +if ( !aInstalledDriver.sDriverFactory.isEmpty() && + ( aMiscOptions.IsExperimentalMode() || + aInstalledDriver.sDriverFactory != "com.sun.star.comp.sdbc.firebird.Driver" )) m_aDrivers.emplace(*pPatternIter,aInstalledDriver); } } // if ( m_aInstalled.isValid() ) ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - connectivity/source
connectivity/source/drivers/firebird/PreparedStatement.cxx |9 - 1 file changed, 8 insertions(+), 1 deletion(-) New commits: commit 570279baa7df076413cc6b4f9220a07248db0c1b Author: Julien Nabet Date: Sat May 26 18:01:15 2018 +0200 tdf#117446: FB mig, (VAR)BINARY, fix memory management By default, 8000 bytes are allocated for VARBINARY The pb is we can need more. See https://bugs.documentfoundation.org/show_bug.cgi?id=117446#c6 Change-Id: I0ef5811dc01a587491bd9345129d1a41a4d9f095 Reviewed-on: https://gerrit.libreoffice.org/54863 Tested-by: Jenkins Reviewed-by: Julien Nabet (cherry picked from commit 54ddc4ff4c2ff7e8b2c502d6b475cfdc9b8e3cec) Reviewed-on: https://gerrit.libreoffice.org/54963 Reviewed-by: Noel Grandin diff --git a/connectivity/source/drivers/firebird/PreparedStatement.cxx b/connectivity/source/drivers/firebird/PreparedStatement.cxx index 0a43d5c93851..fee4029088f4 100644 --- a/connectivity/source/drivers/firebird/PreparedStatement.cxx +++ b/connectivity/source/drivers/firebird/PreparedStatement.cxx @@ -837,12 +837,19 @@ void SAL_CALL OPreparedStatement::setBytes(sal_Int32 nParameterIndex, setParameterNull(nParameterIndex, false); const sal_Int32 nMaxSize = 0x; Sequence xBytesCopy(xBytes); -// First 2 bytes indicate string size if (xBytesCopy.getLength() > nMaxSize) { xBytesCopy.realloc( nMaxSize ); } const short nSize = xBytesCopy.getLength(); +// 8000 corresponds to value from lcl_addDefaultParameters +// in dbaccess/source/filter/hsqldb/createparser.cxx +if (nSize > 8000) +{ +free(pVar->sqldata); +pVar->sqldata = static_cast(malloc(sizeof(char) * nSize + 2)); +} +// First 2 bytes indicate string size memcpy(pVar->sqldata, , 2); // Actual data memcpy(pVar->sqldata + 2, xBytesCopy.getConstArray(), nSize); ___ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits