Replies: 7 comments 9 replies
-
... this issue may also be discussed in a border context. For example, how to support hidden column in our optimizer? |
Beta Was this translation helpful? Give feedback.
-
I think current solution of handling The proposal looks elegant to me. |
Beta Was this translation helpful? Give feedback.
-
+1 |
Beta Was this translation helpful? Give feedback.
-
The proposal looks great, meanwhile, it seems we already have the general |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
Why do we handle this special case in executor instead of optimizer? |
Beta Was this translation helpful? Give feedback.
-
After we regard If so, maybe we don't even need to consider RowHandler as usual column in optimizer, because there are just no RowHandler columns... We just add an empty check in |
Beta Was this translation helpful? Give feedback.
-
Related issues and PRs:
count(*)
in binder #388It seems that
count(*)
and row handlers are causing too many problems for us... The underlying cause it that:count(*)
? This is a hard question. For example,select count(*) from table
requires us to scan arbitrary column, whileselect count(*) from table where x = 1
requires us to scanx
, andselect count(*) from a join b on xxx
requires us to scan on the joined table...count(*)
with row handler? We have hand-wired a lot of rules in binder and planner.Also, the RowHandler currently serves two purposes in our system:
delete from table
requires a rowhandler to insert delete vectors (aka. delete tombstones).count(*)
can be optimized to issue no I/Os on user column byrowcount(rowhandler)
.Therefore, I propose to move all such logics into the optimizer column pruning framework.
RowHandler
column, we should regard it the same as the user column in optimizer.count(*)
,we should regard it as counting on all columnsWe should regard it asrowcount(a, b, c, ..., rowhandler)
in binder, and later optimize it into eitherrowcount(rowhandler)
orrowcount(other column)
.count(1)
.count(*)
).RowHandler
column.Any ideas? cc @st1page @Fedomn @xxchan
Beta Was this translation helpful? Give feedback.
All reactions