in core/src/main/scala/org/apache/pekko/persistence/r2dbc/snapshot/SnapshotDao.scala [218:246]
def delete(persistenceId: String, criteria: SnapshotSelectionCriteria): Future[Unit] = {
val entityType = PersistenceId.extractEntityType(persistenceId)
val slice = persistenceExt.sliceForPersistenceId(persistenceId)
r2dbcExecutor.updateOne(s"delete snapshot [$persistenceId], criteria [$criteria]") { connection =>
val statement = connection
.createStatement(deleteSql(criteria))
.bind(0, persistenceId)
var bindIdx = 0
if (criteria.maxSequenceNr != Long.MaxValue) {
bindIdx += 1
statement.bind(bindIdx, criteria.maxSequenceNr)
}
if (criteria.minSequenceNr > 0L) {
bindIdx += 1
statement.bind(bindIdx, criteria.minSequenceNr)
}
if (criteria.maxTimestamp != Long.MaxValue) {
bindIdx += 1
statement.bind(bindIdx, criteria.maxTimestamp)
}
if (criteria.minTimestamp > 0L) {
bindIdx += 1
statement.bind(bindIdx, criteria.minTimestamp)
}
statement
}
}.map(_ => ())(ExecutionContexts.parasitic)