Principles

The Axon Server query language processes a stream of events. Processing steps include filters and projections, defined in a pipeline. The query engine executes each step in the pipeline and forwards the result to the next step. The result of the last step is returned. The idea is based on the UNIX pipe commands.

The input of a query is a stream of events with the following fields:

  • token - a unique sequence number for an event

  • aggregateIdentifier - the unique identifier for the aggregate

  • aggregateSequenceNumber - sequence number of the event for the aggregate

  • aggregateType - the type of the aggregate

  • payloadType - the type of the payload of the event

  • payloadRevision - version number of the payload type

  • payloadData - content of the event, the format of this depends on the serializer used to store the data

  • timestamp - time when the event was created (milliseconds since 1970/01/01).