After reading about the Alpakka’s Slick adapter, i was not able to figure out how to stream elements off of a SELECT in a Flow.
It is easy to do with a Source:
Slick.source(sql"SELECT ID, NAME FROM USERS".as[User])
which will emit one User element at a time.
Not so easy to me with a Flow that takes some element, issues a SELECT query internally and then emits the result of that SELECT one by one.
(For example, say the input element to the Flow is an Int, 100, and the SELECT is something like ‘SELECT * FROM USERS LIMIT 100’)
The closest Flow operation i see in Alpakka resembling what i need is
Slick.flowWithPassThrough, but that seems to be forcing me to
and not something like
User and not
Of course, i can add a downstream stage that flattens the sequence resulting from the SELECT stage upstream, but i was trying to avoid that.
Did i miss something obvious in the documentation or API, or do i have to write a special GraphStage (Flow)?