Currently, check constraints are verified whenever a table row is
updated at all. It seems to me that we could possibly make this quite a
bit more efficient if we only ran the check constraint expression when
the update changes a column that is referenced by the constraint
expression. Through dependency tracking, we have that information, and
we already have the catalog infrastructure to store this information
from primary and foreign keys. We'd just need to do some tweaking in
the executor. Any thoughts on that? Possible pitfalls?