Re: Restore support for USE_ASSERT_CHECKING in extensions only
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Andrew Kane <andrew@ankane.org>
Cc: pgsql-hackers@postgresql.org
Date: 2025-01-10T23:17:23Z
Lists: pgsql-hackers
Attachments
- fix_verify_compact_attribute.patch (application/octet-stream) patch
On Sat, 11 Jan 2025 at 11:27, Andrew Kane <andrew@ankane.org> wrote: > Prior to 6f3820f, extensions could be compiled with -DUSE_ASSERT_CHECKING whether or not the Postgres installation was configured with --enable-cassert (to enable at least some assertion checking). However, after 6f3820f, linking fails with `undefined symbol: verify_compact_attribute`. I'm not sure if this use case is officially supported, but it has been helpful for developing pgvector. > > The attached patch fixes it, but there may be a better way to do this. hmm, I didn't think of that scenario. I think since verify_compact_attribute() does nothing when USE_ASSERT_CHECKING isn't defined that we might as well define a ((void) 0) macro to avoid the undefined symbol error. That'll avoid the useless call in your debug builds. I looked around for inspiration and that's what pgstat_assert_is_up() does. Most of the other examples are static functions. David
Commits
-
Make verify_compact_attribute available in non-assert builds
- 34c6e652425f 18.0 landed