You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@orc.apache.org by "Dongjoon Hyun (Jira)" <ji...@apache.org> on 2021/07/23 21:30:00 UTC
[jira] [Updated] (ORC-831) Do Not Copy String When Flushing
Dictionary
[ https://issues.apache.org/jira/browse/ORC-831?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dongjoon Hyun updated ORC-831:
------------------------------
Affects Version/s: 1.8.0
> Do Not Copy String When Flushing Dictionary
> -------------------------------------------
>
> Key: ORC-831
> URL: https://issues.apache.org/jira/browse/ORC-831
> Project: ORC
> Issue Type: Improvement
> Components: Java
> Affects Versions: 1.8.0
> Reporter: David Mollitor
> Assignee: David Mollitor
> Priority: Minor
> Fix For: 1.8.0
>
>
> {code:java|Title=StringBaseTreeWriter.java}
> if (useDictionaryEncoding) {
> rowOutput.write(dumpOrder[rows.get(i)]);
> } else {
> dictionary.getText(text, rows.get(i));
> directStreamOutput.write(text.getBytes(), 0, text.getLength());
> lengthOutput.write(text.getLength());
> }
> {code}
> The code to {{flush}} first loads (copies) the data into a {{Text}} object and then writes it to the direct stream. Instead, pass the directStream to the dictionary and have it write directly to the stream instead of an intermediate {{Text}} object.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)