From 17aaa3fed1fcb0319d76e51a39888b9216f8f16b Mon Sep 17 00:00:00 2001 From: Lionel Elie Mamane Date: Tue, 20 Oct 2015 19:14:29 +0200 Subject: tdf#93724 KeySet insert: properly set default values: NULL & right type Change-Id: I933eed918e18b6923d4e0d24748297cf0dd0088d --- dbaccess/source/core/api/KeySet.cxx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dbaccess/source/core/api/KeySet.cxx b/dbaccess/source/core/api/KeySet.cxx index 429ff3040cdf..0497ec322599 100644 --- a/dbaccess/source/core/api/KeySet.cxx +++ b/dbaccess/source/core/api/KeySet.cxx @@ -695,7 +695,18 @@ void OKeySet::executeInsert( const ORowSetRow& _rInsertRow,const OUString& i_sSQ for(;aIter != aEnd;++aIter) { if ( !(_rInsertRow->get())[aIter->second.nPosition].isModified() ) - (_rInsertRow->get())[aIter->second.nPosition] = aIter->second.sDefaultValue; + { + if(aIter->second.bNullable) + { + (_rInsertRow->get())[aIter->second.nPosition].setTypeKind(aIter->second.nType); + (_rInsertRow->get())[aIter->second.nPosition].setNull(); + } + else + { + (_rInsertRow->get())[aIter->second.nPosition] = aIter->second.sDefaultValue; + (_rInsertRow->get())[aIter->second.nPosition].setTypeKind(aIter->second.nType); + } + } } try { -- cgit