RussellSpitzer commented on code in PR #4683:
URL: https://github.com/apache/iceberg/pull/4683#discussion_r883113277
##########
core/src/main/java/org/apache/iceberg/deletes/Deletes.java:
##########
@@ -63,14 +65,14 @@ public static <T> CloseableIterable<T>
filter(CloseableIterable<T> rows, Functio
return equalityFilter.filter(rows);
}
- public static <T> CloseableIterable<T> filter(CloseableIterable<T> rows,
Function<T, Long> rowToPosition,
- PositionDeleteIndex deleteSet)
{
- if (deleteSet.isEmpty()) {
- return rows;
- }
-
- PositionSetDeleteFilter<T> filter = new
PositionSetDeleteFilter<>(rowToPosition, deleteSet);
- return filter.filter(rows);
+ public static <T> CloseableIterable<T> markDeleted(CloseableIterable<T>
rows, Predicate<T> isDeleted,
+ Consumer<T> deleteMarker)
{
+ return CloseableIterable.transform(rows, row -> {
+ if (isDeleted.test(row)) {
Review Comment:
Is the worry here that branch prediction is gonna be bad here? I would
assume that speculative branch execution would probably make ay optimizations
we do here very sensitive to the amount of deletes. Anyway I'm on team leave it
simple for now.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]