[
https://issues.apache.org/jira/browse/ASTERIXDB-3213?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ian Maxon updated ASTERIXDB-3213:
---------------------------------
Labels: triaged (was: )
> Use only a single PK reader for both the cursor and the assembler
> -----------------------------------------------------------------
>
> Key: ASTERIXDB-3213
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-3213
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: RT - Runtime
> Affects Versions: 0.9.9
> Reporter: Wail Y. Alkowaileet
> Assignee: Wail Y. Alkowaileet
> Priority: Major
> Labels: triaged
> Fix For: 0.9.9
>
>
> Previously, we used two separate primary key readers
> * One for the cursor
> *
> -- Its position maintained by the cursor
> * And one for assembler (if the primary key is requested – like in SELECT *)
> *
> -- Its position maintained by calling *IColumnValuesReader#skip(int)*
> In the previous approach, maintaining the positions of two primary key(s)
> readers were messy, as we needed to re-sync the assembler reader with the
> cursor PK reader. The reason is that anti-matters are handled at the cursor
> level. When anti-matters are processed, they are skipped – making the
> assembler PK reader out of sync.
> {_}Additionally, maintaining two readers that are decoding the same values
> (twice) is unnecessary{_}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)