Re-think design of batchable grid dialects

Description

The current design around batching operations adds a large chunk of complexity to dialects supporting it. They need to deal with the queue, flushing and so on. The MongoDBDialect got much harder to comprehend (and adapt) since we added the batching support.

I'd like us to investigate alternatives, which move complexity away from dialects into the engine. Specifically, I imagine an optional dialect facet with methods that accept a List<Tuple> e.g. representing tuples to be inserted. That way, all the queue and flush handling could be done by the core.

An interesting point is how this would integrate with 's recent work about writing embedded associations in one go with their embedding entity as this also uses the batching mechanism.

Environment

None

Assignee

Unassigned

Reporter

Gunnar Morling

Labels

None

Feedback Requested

None

Feedback Requested By

None

backPortable

None

Suitable for new contributors

None

Pull Request

None

backportDecision

None

backportReEvaluate

None

Components

Fix versions

Priority

Major
Configure