* Split ActivityInfoMapsFilter into ActivityInfoMapsSelectFilter and ActivityInfoMapsDeleteFilter
* Split TimerInfoMapsFilter into TimerInfoMapsSelectFilter and TimerInfoMapsDeleteFilter
* Split ChildExecutionInfoMapsFilter into ChildExecutionInfoMapsSelectFilter and ChildExecutionInfoMapsDeleteFilter
* Split RequestCancelInfoMapsFilter into RequestCancelInfoMapsSelectFilter and RequestCancelInfoMapsDeleteFilter
* Split SignalInfoMapsFilter into SignalInfoMapsSelectFilter and SignalInfoMapsDeleteFilter
* Split SignalsRequestedSetsFilter into SignalsRequestedSetsSelectFilter and SignalsRequestedSetsDeleteFilter
* When performing workflow reset & terminating current workflow, one unnecessary create history tree API is called, this PR remove the redundant call to improve performance
* Split TransferTasksFilter into TransferTasksFilter and TransferTasksRangeFilter
* Split SelectFromTransferTasks into SelectFromTransferTasks and RangeSelectFromTransferTasks
* Split DeleteFromTransferTasks into DeleteFromTransferTasks and RangeDeleteFromTransferTasks
* Split TimerTasksFilter into TimerTasksFilter and TimerTasksRangeFilter
* Split SelectFromTimerTasks into SelectFromTimerTasks and RangeSelectFromTimerTasks
* Split DeleteFromTimerTasks into DeleteFromTimerTasks and RangeDeleteFromTimerTasks
After 2dc removal we trigger a slightly different codepath on mysql
persistence when resetting workflows.
AppendHistoryNodes when called with IsNewBranch add both
history_tree metadata and history_node. This caused the problem
because history_node is already added when fork was called so
adding it again failed with duplicate error. Updated
AppendHistoryNodes api to upsert instead.
Another issue was with create workflow execution never expected
to be called with `CreateWorkflowModeContinueAsNew` mode. With
NDC now workflow reset is implemented in similar fashion as
doing continue as new. So removed the check to disallow
`CreateWorkflowModeContinueAsNew` on create execution and added
appropriate validation.
This PR fixes the following issues:
SQL stores were using the Workflow Open Time instead of the Close Time for pagination, which is not aligned with Cassandra and is not the intention.
The SQL store pagination logic had a bug where the tie-breaker logic of using run_id for two rows with the same close_time was not implemented properly.
The SQL store pagination logic had a bug where it was using the MinStart time instead of the MaxStart time for pagination purposes (to be confirmed as to whether this is truly a bug or not, but it does appear that way)
Fixes Makefile so that schema installation for MySQL / Postgres functions properly.
Fixes Postgres username / password in postgres development environment.
Adds appropriate MySQL/Postgres indexes for querying by close_time