gluesql icon indicating copy to clipboard operation
gluesql copied to clipboard

Make all storage parameters optional in execution layer

Open panarch opened this issue 3 years ago • 1 comments

In the context of the SQL Database project, we have recently merged evaluate and evaluate_stateless as per #1132. The distinction between evaluate and evaluate_stateless in the execution layer now depends on whether the storage parameter is present or not.

However, aside from evaluate, all other code requires the storage parameter mandatorily. This design is currently limiting because it prevents stateless evaluation for queries that don't need storage. For instance, when creating a subquery using values such as VALUES (1), (2), the query doesn't utilize storage, and thus, should support stateless evaluation. With the current structure, it's impossible as the function always demands storage.

To address this issue, I propose we change all functions in the execution layer that require storage as a parameter. We should make the storage parameter optional (Option). This change will increase flexibility and accommodate for stateless evaluation where necessary.

panarch avatar Apr 28 '23 07:04 panarch

I am interested by this issue

pythonbrad avatar Apr 30 '23 10:04 pythonbrad