Add DataSource pooling to OGR datastore

Description

The OGR DataSource object cannot be shared among threads, but depending on the type of data can keep stat that's expensive to create (e.g., database connection, data cache, in memory spatial index).
So it's best to pool these objects, after discussion with Even, he also suggested to drop the pool at every write on the dataset.

Environment

None

Assignee

Andrea Aime

Reporter

Andrea Aime

Triage

None

Components

Fix versions

Priority

Medium
Configure