Hello.
I took a look on the latest -v4 patch. I would like to note that this
patch breaks a backward compatibility. For instance sr_plan extension[1]
stop to compile with errors like:
```
serialize.c:38:2: error: unknown type name ‘ArrayRef’ JsonbValue *ArrayRef_ser(const ArrayRef *node, JsonbParseState
*state,
bool sub_object); ^
serialize.c:913:2: error: unknown type name ‘ArrayRef’ JsonbValue *ArrayRef_ser(const ArrayRef *node, JsonbParseState
*state,
bool sub_object) ^
In file included from sr_plan.h:4:0, from serialize.c:1:
...
```
Other extensions could be affected as well. I'm not saying that it's a
fatal drawback, but it's definitely something you should be aware of.
I personally strongly believe that we shouldn't break extensions between
major releases or at least make it trivial to properly rewrite them.
Unfortunately it's not a case currently.
[1] https://github.com/postgrespro/sr_plan
--
Best regards,
Aleksander Alekseev