in src/main/scala/org/apache/pekko/persistence/dynamodb/snapshot/DynamoDBSnapshotRequests.scala [131:149]
private def loadByBoth(
persistenceId: String,
criteria: SnapshotSelectionCriteria,
limit: Option[Int]): Future[QueryResult] = {
val request = new QueryRequest()
.withTableName(Table)
.withKeyConditionExpression(s" $Key = :partitionKeyVal AND $SequenceNr BETWEEN :seqMinVal AND :seqMaxVal")
.addExpressionAttributeValuesEntry(":partitionKeyVal", S(messagePartitionKey(persistenceId)))
.addExpressionAttributeValuesEntry(":seqMinVal", N(criteria.minSequenceNr))
.addExpressionAttributeValuesEntry(":seqMaxVal", N(criteria.maxSequenceNr))
.withScanIndexForward(false)
.withFilterExpression(s"$Timestamp BETWEEN :tsMinVal AND :tsMaxVal ")
.addExpressionAttributeValuesEntry(":tsMinVal", N(criteria.minTimestamp))
.addExpressionAttributeValuesEntry(":tsMaxVal", N(criteria.maxTimestamp))
.withConsistentRead(true)
limit.foreach(request.setLimit(_))
dynamo.query(request)
}