Skip to content

Conversation

@danolivo
Copy link
Contributor

No description provided.

- Arrange regression tests to improve stability.
- Add a basic TAP test that holds up the lolor behaviour in case of
a dynamically loaded library.
The extension substitutes LO-related routines in pg_catalog with its own
versions. As a result, pg_upgrade gets stuck in a conflict between existing and
extension-created database objects.

Aside from replacing the 'prosrc' value in the pg_proc table, we can only
introduce 'pre-' and 'post-' stages to the upgrade. By calling
the 'lolor.disable()' routine, we restore the core functions to their original
state. After the upgrade, we replace core functions again with lolor ones
by calling lolor.enable().

The enable/disable machinery provides users with an additional benefit:
they can easily switch between built-in and lolor LO storages, as demonstrated
by TAP tests.

Also, add TAP tests. Being here, check the extension upgrade as well.
@danolivo danolivo self-assigned this Nov 20, 2025
@danolivo danolivo added the bug Something isn't working label Nov 20, 2025
@danolivo danolivo requested a review from mason-sharp November 20, 2025 08:54
On the extension DROP command, call the disable()  routine instead of multiple
SPI calls. Also, introduce the lolor.is_enabled UI function to ensure the user
can identify the current state.
@mason-sharp mason-sharp merged commit 9cdf393 into main Dec 2, 2025
3 checks passed
@mason-sharp mason-sharp deleted the spoc-291-1 branch December 2, 2025 15:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants