The getAsArray variation that uses a default value for NULL elements crashed when the
array value itself was NULL. Choosen to return without error adding zero elements to the list. If you really need strict NULL handling do this using the other functions possibly checking for null before hand to choose other code path.
This commit is contained in:
parent
8d3bddfa1e
commit
0ba632afd1
1 changed files with 3 additions and 1 deletions
|
|
@ -48,7 +48,7 @@ namespace Pgsql {
|
|||
{
|
||||
if (m_val == nullptr) {
|
||||
if (nullhandling == NullHandling::Throw)
|
||||
throw std::runtime_error("Unexpected NULL value in array");
|
||||
throw std::runtime_error("Unexpected NULL value for array");
|
||||
}
|
||||
else {
|
||||
using value_type = E;
|
||||
|
|
@ -77,6 +77,8 @@ namespace Pgsql {
|
|||
template <typename E, typename I>
|
||||
void getAsArray(I insert_iter, const E &value_for_nulls) const
|
||||
{
|
||||
if (m_val == nullptr) return;
|
||||
|
||||
using value_type = E;
|
||||
ArrayParser parser(m_val);
|
||||
for (;;) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue