From 45ef237517ea134f511c9b0024ec34c9d379eb82 Mon Sep 17 00:00:00 2001 From: Lionel Elie Mamane Date: Mon, 16 Jan 2012 19:47:24 +0100 Subject: [PATCH 2/3] fdo#44813: handle NULL values correctly when filtering on primary key --- dbaccess/source/core/api/KeySet.cxx | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dbaccess/source/core/api/KeySet.cxx b/dbaccess/source/core/api/KeySet.cxx index 17789ff..ff701a3 100644 --- a/dbaccess/source/core/api/KeySet.cxx +++ b/dbaccess/source/core/api/KeySet.cxx @@ -229,7 +229,7 @@ SAL_WNODEPRECATED_DECLARATIONS_POP const ::rtl::OUString aQuote = getIdentifierQuoteString(); ::rtl::OUStringBuffer aFilter; static ::rtl::OUString s_sDot(RTL_CONSTASCII_USTRINGPARAM(".")); - static ::rtl::OUString s_sParam(RTL_CONSTASCII_USTRINGPARAM(" = ?")); + static ::rtl::OUString s_sParam(RTL_CONSTASCII_USTRINGPARAM(" IS NOT DISTINCT FROM ?")); // create the where clause Reference xMeta = m_xConnection->getMetaData(); SelectColumnsMetaData::iterator aPosEnd = m_pKeyColumnNames->end(); @@ -277,7 +277,7 @@ void OKeySet::construct(const Reference< XResultSet>& _xDriverSet,const ::rtl::O static ::rtl::OUString aAnd(RTL_CONSTASCII_USTRINGPARAM(" AND ")); const ::rtl::OUString aQuote = getIdentifierQuoteString(); static ::rtl::OUString s_sDot(RTL_CONSTASCII_USTRINGPARAM(".")); - static ::rtl::OUString s_sParam(RTL_CONSTASCII_USTRINGPARAM(" = ?")); + static ::rtl::OUString s_sParam(RTL_CONSTASCII_USTRINGPARAM(" IS NOT DISTINCT FROM ?")); const ::rtl::OUString* pIter = aSeq.getConstArray(); const ::rtl::OUString* pEnd = pIter + aSeq.getLength(); for(;pIter != pEnd;++pIter) -- 1.7.7.3