Hi.
On 2017/12/13 9:22, Ali Akbar wrote:
> For me, it's better to prevent that from happening. So, attempts to
> DROP NOT NULL on the child must be rejected. The attached patch does
> that.
>
> Unfortunately, pg_class has no "has_parent" attribute, so in this
> patch, it hits pg_inherits everytime DROP NOT NULL is attempted.
>
> Notes:
> - It looks like we could remove the parent partition checking above?
> Because the new check already covers what it does
I noticed that too.
So, if we're going to prevent DROP NOT NULL on *all* child table (not just
partitions), we don't need the code that now sits there to prevent that
only for partitions.
Minor comments on the patch:
+ /* If rel has parents, shoudn't drop NOT NULL if parent has the same */
How about: ".. if some parent has the same"
+ heap_close(parent, AccessShareLock);
Maybe, we shouldn't be dropping the lock so soon.
Thanks,
Amit