Summary:
The differences in regress output are caused due to the following differences between PG 11 and PG 15:
- The circle data type allows input of the form `'(x, y), r'` in PG 15. This is not supported in PG 11.
- The GUC `extra_float_digits` has a default value of 1 in PG 15, which outputs floats in the “shortest precise format”. Previously, in PG 11, this GUC had a default value of 0 which had lesser precision, but produced the same output in all formats.
- Numeric data types support ‘infinity’ as an input value in PG 14 and above. This is not supported in PG 11.
- In PG 15, updating the primary key to self (`SET h = h`) no longer produces an error (#21160).
- Investigating this further revealed that the planner does not skip over single-row compatibility check for this scenario. This check is present in master and removed by 2a308fc8b326f792dd1de5c9686b46c54158b32f.
- This revision adds the check back, keeping the behavior identical to master (ie. produces an error).
Test Plan:
Run the following test:
```
./yb_build.sh --java-test 'org.yb.pgsql.TestPgRegressUpdateOptimized#schedule'
```
Reviewers: aagrawal, jason, tfoucher, telgersma, fizaa
Reviewed By: aagrawal
Subscribers: smishra, yql
Tags: #jenkins-ready
Differential Revision: https://phorge.dev.yugabyte.com/D38301