ydb_node_next_s() and ydb_node_previous_s() report PARMINVALID when output ydb_buffer_t structure has NULL buf_addr
Final Release Note
ydb_node_next_s()
and ydb_node_previous_s()
report a PARAMINVALID error when a ydb_buffer_t
structure passed via the *ret_subsarray
parameter has a NULL buf_addr
member. In this case, *ret_subs_used
is the index into the *ret_subsarray
array where the NULL buf_addr
was encountered. Previously this usage caused the process to terminate with a fatal KILLBYSIGSINFO1 error (SIG-11). [#396 (closed)]
Description
ret_subsarray is a pointer to an array of ydb_buffer_t structures that is passed as a return parameter to ydb_node_next_s() or ydb_node_previous_s(). If one of these ydb_buffer_t structures has a NULL buf_addr member, and that structure needs to be filled in as part of the return value, currently one gets a SIG-11 (fatal KILLBYSIGSINFO1 error with a core file). Instead one should get a PARAMINVALID error just like one gets with ydb_subscript_next_s() when ret_value->buf_addr is NULL.
Draft Release Note
ydb_node_next_s() and ydb_node_previous_s() return with a YDB_ERR_PARAMINVALID error in case one of the ydb_buffer_t structures passed in through the "ret_subsarray" parameter has a NULL buf_addr member. In this case, *ret_subs_used is the index into the *ret_subsarray array where the NULL buf_addr was encountered. In previous YottaDB versions, this usage would cause the process to terminate with a fatal KILLBYSIGSINFO1 error (aka SIG-11).