I'm on my second pass of the book "How Query Engines Work" by Arrow's own
Andy Grove
(Really great read, huge recommendation:
https://leanpub.com/how-query-engines-work)

Something I'm not sure I'm fully understanding is what qualifies something
as a Physical Plan
A logical plan is straightforward, say I have an expression, "Select name
from users where ID is less than 5"

Then I can represent this as an abstract, logical operation like:

LogicalPlan(
  project = ["name"],
  filter = Filter(LessThan(Column("id"), Literal(5)))
)

Now say I want to give this plan to a database and have it run it.
I need to write an implementation for translating this to an executable
expression
(Probably SQL)

Is the class that implements the translation to SQL that gets executed the
Physical Plan
Or is there no Physical Plan, and that's the database's job to figure out?

Reply via email to