Cache target table template tuple and its schema in insert executor, to ...

...avoid serializing default values on every insert.
I am undecided whether the idiom of setting pointer members to null in destructors is:
   A) good hygiene and defensive programming
   B) a form of "burying the bodies" -- destroying evidence, making it harder to trap or trace cases of trying to use destructed objects
    C) just immaterial clutter that CAN make it just slightly harder in some cases to correctly switch over to using smart pointers.

I lean towards "C)" and tend to avoid it.