alamb commented on code in PR #25025:
URL: https://github.com/apache/datafusion/pull/25025#discussion_r4065842864
##########
datafusion/sqllogictest/test_files/clickbench.slt:
##########
@@ -732,23 +732,25 @@ EXPLAIN SELECT "CounterID", AVG(octet_length("URL")) AS
l, COUNT(*) AS c FROM hi
----
logical_plan
01)Sort: l DESC NULLS FIRST, fetch=25
-02)--Projection: hits.CounterID, avg(octet_length(hits.URL)) AS l,
count(Int64(1)) AS count(*) AS c
+02)--Projection: hits.CounterID, avg(__datafusion_extracted_1) AS l,
count(Int64(1)) AS c
03)----Filter: count(Int64(1)) > Int64(100000)
-04)------Aggregate: groupBy=[[hits.CounterID]],
aggr=[[avg(CAST(octet_length(hits.URL) AS Float64)), count(Int64(1))]]
+04)------Aggregate: groupBy=[[hits.CounterID]],
aggr=[[avg(CAST(__datafusion_extracted_1 AS Float64)), count(Int64(1))]]
05)--------SubqueryAlias: hits
-06)----------Filter: hits_raw.URL != Utf8View("")
-07)------------TableScan: hits_raw projection=[CounterID, URL],
partial_filters=[hits_raw.URL != Utf8View("")]
+06)----------Projection: __datafusion_extracted_1, hits_raw.CounterID
+07)------------Filter: hits_raw.URL != Utf8View("")
+08)--------------Projection: octet_length(hits_raw.URL) AS
__datafusion_extracted_1, hits_raw.CounterID, hits_raw.URL
Review Comment:
It seems like this change evaluates octect_length once per each row rather
than only for each row that passes the filter `hits_raw.URL != Utf8View("")`
Are we sure that is always a good thing? It seems like it may depend on the
relative cost of evaluating octet_length closer to the scan (which in Vortex is
likely faster) 🤔
I'll launch a clickbench run
--
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]