Something which would be good to have for all those queries is a set of
isolation tests. No need for multiple specs, you could just use one
spec with one session defining all the object types you would like to
work on. How did you find this object list? Did you test all the
objects available manually?
Attached the isolation spec file. I originally was only going to fix the simple CREATE TYPE scenario but decided to look up other objects that can reside in namespaces and ended up finding a handful of others. I tested each one manually before and after adding the AccessShareLock acquire on the schema.
I think that line of thought leads to an enormous increase in locking
overhead, for which we'd get little if any gain in usability. So my
inclination is to make an engineering judgment that we won't fix this.
As I was creating this patch, I had similar feelings on the locking overhead and was curious how others would feel about it as well.
Regards,
Jimmy