-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
optimize values list execution plan by moving the evaluation part to execution phase #1169
Comments
Thanks @ygf11 ! |
It seems statistics computation in ValuesExec also needs the evaluation result. |
I think don't think adding an RwLock sounds like a good idea. Perhaps we could compute the statistics when the |
agreed, no need for a lock. we can just put evaluation in the creation part of |
@alamb IMOP, earlier computing statistics conflicts with the purpose of this task, because this will iterate all row and column, which also slow the creation of ValueExec. Maybe stay the same is ok?
|
@ygf11 that is an excellent point -- perhaps then we should just close this task as "won't do" ? |
…ache#1169) * Add Spark-compatible SchemaAdapterFactory implementation * remove prototype code * fix * refactor * implement more cast logic * implement more cast logic * add basic test * improve test * cleanup * fmt * add support for casting unsigned int to signed int * clippy * address feedback * fix test
I wonder what you think about moving the creation of the actual
RecordBatch
fromValuesExec::try_new
toexecute
-- the rationale would be to makePhysicalPlan
creation faster and push the actual work intoexecute
where if can potentially be run concurrently with other partsGiven the size of data in a
VALUES
statement, this is not likely to be any real difference so I am fine with leaving the creation in the same place too -- I just wanted to mention it.Originally posted by @alamb in #1165 (comment)
The text was updated successfully, but these errors were encountered: