How do Queries work?

Hi Guys,

I am doing some tooling that is capable of running queries against the EventStore and there are a couple of questions:

How do transient projection (aka queries) work?

I see that when I execute a query using the EventStore website it is pulling the results every second or so. However, once the query is completed it doesn’t seem that it updates its state with the new events coming. But it is still pulling.

So what is the reason for this pulling? Does it suppose to update the query results or does it suppose to stop pulling once the query is completed?

Also, is the transient projection just a normal projection with a weird name behind the scene? For example, for how long it can be accessible (if there is any limit)? Or any other differences?



Query runs all history then stops. It’s showing incremental results (especially in case of foreach there will be a stream of results)

Transient are completely in memory… If your node goes down there are no written streams (or the projection itself)



the query window updates itself just because i uses common code with projections UIs. The results/query definition etc are avaialble for several minutes since last request to this query (transient projection). So, polling its status keeps it available (and next run reuses its id, but there is no much difference with just new query).