Storing variables in a Workflow Implementations

I see that I am able to store any object in my workflow implementation class. From testing it I see that this object somehow gets saved in the database and I can query it with a query method at any time. Is this assumption correct? Is there documentation about it?

Yes, this assumption is correct. Here is an explanation of the workflow semantic.

Thank you for the reply

If I store a list of objects that contain status information of childworkflows will this be pulled into memory everytime then back to the database everytime?

My end goal is to be able to query simple custom status information for thousands of childworkflows potentially nested in other childworkflows, with paging. We do not have a plan to setup elastic search at this time so I was not able to query the childworkflow stubs by parentWorkflowID. I thought about querying the activities but could not find a way to filter them by only activity completed or activityType. Now I am thinking that I will store the information myself in a list in the parent workflow. Do you have any ideas to help with this

The single workflow execution (instance) size is bounded. So having too many child workflows can be a problem if you try to aggregate so much information in a single workflow.

If all you are trying to achieve is listing workflows then ES or your own database that stores the index is a much better approach.