fix: notify queries when executing group statements with result #5006
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes:
INSERT INTO ...VALUES(...) RETURNING id;
not working with coroutines flow #4975Proposed solution
By modifying the
QueryGenerator
to make sure all child classes have access totablesUpdated()
, and centralising the query notification into theexecuteBlock
function, make sure the following is added to the generated code of grouped statements.I am not completely sure of this approach and I'd love some feedback before I dedicate more time into it.
To be solved yet
Annoying space before
.also {
. I'll learn a bit more of Kotlinpoet :)Questions
notifyQueriesBlock()
to accept the QueryId and make it match one of the statements.Remark
I am not sure about the
executeBlock
. I find its control flow a bit hard to follow and I'd love to simplify a bit and maybe link theQueryGenerator
's implementations more closely to implement it depending on what the query looks like, instead of having too many ifs and elses.