cecemei commented on code in PR #18403:
URL: https://github.com/apache/druid/pull/18403#discussion_r2335279767
##########
processing/src/main/java/org/apache/druid/segment/projections/Projections.java:
##########
@@ -375,13 +379,21 @@ public static ProjectionMatchBuilder
matchQueryVirtualColumn(
// virtual column and underlying expression itself, but this will do for
now
final Granularity virtualGranularity =
Granularities.fromVirtualColumn(queryVirtualColumn);
if (virtualGranularity != null) {
- if
(virtualGranularity.isFinerThan(projection.getEffectiveGranularity())) {
- return null;
- }
// same granularity, replace virtual column directly by remapping it
to the physical column
if (projection.getEffectiveGranularity().equals(virtualGranularity)) {
return matchBuilder.remapColumn(queryVirtualColumn.getOutputName(),
ColumnHolder.TIME_COLUMN_NAME)
.addReferencedPhysicalColumn(ColumnHolder.TIME_COLUMN_NAME);
+ } else if (virtualGranularity.equals(Granularities.NONE)
+ ||
projection.getEffectiveGranularity().equals(Granularities.ALL)) {
+ return null;
Review Comment:
if query granularity is NONE, and projection gran is not (would already been
caught by the first if statement), we just can't map, e.x. format(__time,
'YYYY-MM-DD HH:mm:ss') query can't use hourly projection. This exits early.
but i also reformatted this part to be more readable, so return null should
be at bottom 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]