I've pushed the core patch now. The jsonb parts now have to be
rebased onto this design, which I'm assuming Dmitry will tackle
(I do not intend to). It's not quite clear to me whether we have
a meeting of the minds on what the jsonb functionality should be,
anyway. Alexander seemed to be thinking about offering an option
to let the subscript be a jsonpath, but how would we distinguish
that from a plain-text field name?
BTW, while reviewing the thread to write the commit message,
I was reminded of my concerns around the "is it a container"
business. As things stand, if type A has a typelem link to
type B, then the system supposes that A contains B physically;
this has implications for what's allowed in DDL, for example
(cf find_composite_type_dependencies() and other places).
We now have a feature whereby subscripting can yield a type
that is not contained in the source type in that sense.
I'd be happier if the "container" terminology were reserved for
that sort of physical containment, which means that I think a lot
of the commentary around SubscriptingRef is misleading. But I do
not have a better word to suggest offhand. Thoughts?
regards, tom lane