>From Wail Alkowaileet <[email protected]>:

Attention is currently required from: Peeyush Gupta, Ritik Raj.

Wail Alkowaileet has posted comments on this change by Ritik Raj. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20469?usp=email )

Change subject: [ASTERIXDB-3652][STO] Fixed column assembler issues
......................................................................


Patch Set 4:

(1 comment)

Patchset:

PS4:
Hi Ritik,

I've been thinking about the assembler for sometime now. Back in the days of 
the code-gen, I did something that helped a lot in terms of performance. I 
believe it could also help on simplifying the assembler logic. The main 
challenge of the assembler is usually when I can close the array?!

Currently, we know that (i.e., the end of an array) when we reach a delimiter 
(or delimiters in terms of nested arrays). That requires calling hasNext() + 
isDelimiter() + the level. Imagine if we know the count or the length of the 
array? That would probably make the logic of assembly much easier.

To see what I mean, take a peek at:
https://github.com/wailyk/column/blob/main/asterixdb/asterix-codegen/src/main/java/org/apache/asterix/codegen/asterix/column/reader/AbstractTypedColumnReader.java

Here is a half-backed logic (and requires more thinking). Once you starts 
assembling an array, you read a whole "array" and store its values in a buffer 
(int[], long[] ... etc) as the code above. This would tell you the length of 
the array. Now, you can simply assemble the array as needed using the count 
only. No more fiddling with isDelimiter() and friends. Simple count only!

This won't be as useful for array of primitive values, but it will be super 
helpful for array of complex values (i.e., array of objects/union).



--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20469?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: comment
Gerrit-Project: asterixdb
Gerrit-Branch: ionic
Gerrit-Change-Id: I782d17f81d00210a4ca8673cc5fbcf556fc4758c
Gerrit-Change-Number: 20469
Gerrit-PatchSet: 4
Gerrit-Owner: Ritik Raj <[email protected]>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Jenkins <[email protected]>
Gerrit-Reviewer: Peeyush Gupta <[email protected]>
Gerrit-Reviewer: Ritik Raj <[email protected]>
Gerrit-CC: Wail Alkowaileet <[email protected]>
Gerrit-Attention: Peeyush Gupta <[email protected]>
Gerrit-Attention: Ritik Raj <[email protected]>
Gerrit-Comment-Date: Fri, 17 Oct 2025 09:59:53 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No

Reply via email to