Re: Potential ABI breakage in upcoming minor releases
Aleksander Alekseev <aleksander@timescale.com>
From: Aleksander Alekseev <aleksander@timescale.com>
To: pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Ants Aasma <ants.aasma@cybertec.at>, Noah Misch <noah@leadboat.com>, Pavan Deolasee <pavan.deolasee@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2024-11-14T15:53:01Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Undo unintentional ABI break in struct ResultRelInfo.
- ee33d58471de 16.6 landed
- 6bfacd368bb4 17.2 landed
- 17db248f318f 15.10 landed
- 099e711b77b8 14.15 landed
-
For inplace update durability, make heap_update() callers wait.
- 51ff46de29f6 16.5 cited
-
Fix btmarkpos/btrestrpos array key wraparound bug.
- 3fa81b62e09b 16.1 cited
-
Fix calculation of which GENERATED columns need to be updated.
- 8cd190e13a22 14.7 cited
Hi,
> To add to this list, Christoph Berg confirmed that timescaledb test suite crashes. [1]
Yes changing ResultRelInfo most definetely breaks TimescaleDB. The
extension uses makeNode(ResultRelInfo) and this can't end-up well:
```
static inline Node *
newNode(size_t size, NodeTag tag)
{
Node *result;
Assert(size >= sizeof(Node)); /* need the tag, at least */
result = (Node *) palloc0(size);
result->type = tag;
return result;
}
#define makeNode(_type_) ((_type_ *) newNode(sizeof(_type_),T_##_type_))
```
--
Best regards,
Aleksander Alekseev