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