From dcef040b9d29d160406edafe5358c4804926d1eb Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Mon, 3 Jul 2023 16:01:25 +0200 Subject: [PATCH] QIbaseResult: qWarning, when disallowed null parameter becomes zero QIbaseResult turns null into zero when database field doesn't accept a null argument. This patch adds a warning in that case. It would be better to return with an error, but that breaks existing behavior with code relying on it. Fixes: QTBUG-114683 Change-Id: Ib50b7b6b4dd6c51489ba8b355f7baa8b1b14dc15 Reviewed-by: Ievgenii Meshcheriakov Reviewed-by: Christian Ehrlicher (cherry picked from commit a7deddba519fc1f6fd637496e92ca5daccf6d453) Reviewed-by: Qt Cherry-pick Bot --- src/plugins/sqldrivers/ibase/qsql_ibase.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/sqldrivers/ibase/qsql_ibase.cpp b/src/plugins/sqldrivers/ibase/qsql_ibase.cpp index 047b64d4d03..6e86640d316 100644 --- a/src/plugins/sqldrivers/ibase/qsql_ibase.cpp +++ b/src/plugins/sqldrivers/ibase/qsql_ibase.cpp @@ -1051,6 +1051,9 @@ bool QIBaseResult::exec() } // a value of 0 means non-null. *(d->inda->sqlvar[para].sqlind) = 0; + } else { + qWarning() << "QIBaseResult::exec: Null value replaced by zero for"_L1 + << d->inda->sqlvar[para].ownname; } switch(d->inda->sqlvar[para].sqltype & ~1) { case SQL_INT64: