fritzb opened a new issue #7586:
URL: https://github.com/apache/pinot/issues/7586


   presto-connector is doing full table scan on `IS NULL` predicate.
   
   Here is the query example:
   `SELECT tool_version, tool_name, feature_type, operation_type_name 
   FROM map_labeling_logs
   WHERE tool_name is null`
   
   Here is the output of EXPLAIN query output:
   
   `- Output[tool_version, tool_name, feature_type, operation_type_name] => 
[tool_version:varchar, tool_name:integer, feature_type:integer, 
operation_type_name:varchar]
           Estimates: {rows: ? (?), cpu: ?, memory: 0.00, network: ?}
       - RemoteStreamingExchange[GATHER] => [operation_type_name:varchar, 
tool_version:varchar, tool_name:integer, feature_type:integer]
               Estimates: {rows: ? (?), cpu: ?, memory: 0.00, network: ?}
           - ScanFilter[table = TableHandle {connectorId='pinot', 
connectorHandle='PinotTableHandle{connectorId=pinot, schemaName=default, 
tableName=map_labeling_logs, isQueryShort=Optional[false], 
expectedColumnHandles=Optional[[PinotColumnHandle{columnName=operation_type_name,
 dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_version, 
dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_name, 
dataType=integer, type=REGULAR}, PinotColumnHandle{columnName=feature_type, 
dataType=integer, type=REGULAR}]], 
pinotQuery=Optional[GeneratedPinotQuery{query=SELECT operation_type_name, 
tool_version, tool_name, feature_type FROM 
map_labeling_logs__TABLE_NAME_SUFFIX_TEMPLATE____TIME_BOUNDARY_FILTER_TEMPLATE__
 LIMIT 2147483647, format=SQL, table=map_labeling_logs, 
expectedColumnIndices=[], groupByClauses=0, haveFilter=false, 
isQueryShort=false}]}', layout='Optional[PinotTableHandle{connectorId=pinot, 
schemaName=default, tableName=map_labeling_logs, isQueryShort=Opti
 onal[false], 
expectedColumnHandles=Optional[[PinotColumnHandle{columnName=operation_type_name,
 dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_version, 
dataType=varchar, type=REGULAR}, PinotColumnHandle{columnName=tool_name, 
dataType=integer, type=REGULAR}, PinotColumnHandle{columnName=feature_type, 
dataType=integer, type=REGULAR}]], 
pinotQuery=Optional[GeneratedPinotQuery{query=SELECT operation_type_name, 
tool_version, tool_name, feature_type FROM 
map_labeling_logs__TABLE_NAME_SUFFIX_TEMPLATE____TIME_BOUNDARY_FILTER_TEMPLATE__
 LIMIT 2147483647, format=SQL, table=map_labeling_logs, 
expectedColumnIndices=[], groupByClauses=0, haveFilter=false, 
isQueryShort=false}]}]'}, filterPredicate = IS_NULL(tool_name)] => 
[operation_type_name:varchar, tool_version:varchar, tool_name:integer, 
feature_type:integer]
                   Estimates: {rows: ? (?), cpu: ?, memory: 0.00, network: 
0.00}/{rows: ? (?), cpu: ?, memory: 0.00, network: 0.00}
                   tool_version := PinotColumnHandle{columnName=tool_version, 
dataType=varchar, type=REGULAR}
                   tool_name := PinotColumnHandle{columnName=tool_name, 
dataType=integer, type=REGULAR}
                   operation_type_name := 
PinotColumnHandle{columnName=operation_type_name, dataType=varchar, 
type=REGULAR}
                   feature_type := PinotColumnHandle{columnName=feature_type, 
dataType=integer, type=REGULAR}`


-- 
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: commits-unsubscr...@pinot.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org
For additional commands, e-mail: commits-h...@pinot.apache.org

Reply via email to