v1.13.0-pre1
·
103 commits
to main
since this release
fix: Stop locking catalog for every resources. Historically, this provider takes a (golang) lock on a database for every resource of this database. So only one create/update/delete of resource by database can be done at the same time. (As it's a RWLock, read of resources can be parallelized) Since #5 refactoring, I mistakenly change the lock which now takes a write lock even for read operations (basically the plan part of Terraform). So provider was slower since v1.10 We could fix this and take a read lock for read operations as before but actually I don't see the point of this lock. For me, most operations could be done at the same time. Most of the request are now done in a transaction, the only risk is that a transaction will fail to commit if multiple resources modifies the same database line. That's the case for `postgresql_default_privileges`, one `pg_default_acl` row could represents multiple resources, so this PR takes a lock on the owner role to avoid that. This should make the provider way faster. Fix #48