Todd Lipcon has submitted this change and it was merged.

Change subject: KUDU-1880 Prevent eager ignoring of NULLs
......................................................................


KUDU-1880 Prevent eager ignoring of NULLs

During a nullable block scan, if a NULL set of cells is reached before
the decoder evaluation is disabled (e.g. if the first rows in the
block are NULL), the rows will be prematurely marked as not in the
results set. If evaluating an IsNull predicate, this will yield
erroneous results.

This patch adds an API to the materialization context that indicates
whether it is evaluating an IsNull predicate. If it is, the null rows
must not be removed from the results set. Otherwise, null rows can be
cleared immediately.

Additional tablet unit tests are added to cover the IsNull case with
NULL values at the beginning of columns for various types. These
tests will fail without the fixes in the patch and pass with them.

Change-Id: Ib418a4fcc2794ce2f686e864f51834fb4fb8b048
Reviewed-on: http://gerrit.cloudera.org:8080/6029
Reviewed-by: David Ribeiro Alves <dral...@apache.org>
Tested-by: Kudu Jenkins
---
M src/kudu/cfile/cfile_reader.cc
M src/kudu/common/column_materialization_context.h
M src/kudu/common/partial_row.h
M src/kudu/tablet/CMakeLists.txt
A src/kudu/tablet/all_types-scan-correctness-test.cc
5 files changed, 314 insertions(+), 1 deletion(-)

Approvals:
  David Ribeiro Alves: Looks good to me, approved
  Kudu Jenkins: Verified



-- 
To view, visit http://gerrit.cloudera.org:8080/6029
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ib418a4fcc2794ce2f686e864f51834fb4fb8b048
Gerrit-PatchSet: 12
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-Owner: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Dan Burkert <danburk...@apache.org>
Gerrit-Reviewer: David Ribeiro Alves <dral...@apache.org>
Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org>
Gerrit-Reviewer: Kudu Jenkins
Gerrit-Reviewer: Tidy Bot
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to