Skip to content

Commit

Permalink
Log extension state changes
Browse files Browse the repository at this point in the history
To debug issues with extension state not being correct we log extension
state changes on `DEBUG1` level.

See timescale#1682
  • Loading branch information
mkindahl committed Jan 10, 2024
1 parent d940831 commit 793378f
Showing 1 changed file with 15 additions and 7 deletions.
22 changes: 15 additions & 7 deletions src/extension.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,13 @@ static enum ExtensionState extstate = EXTENSION_STATE_UNKNOWN;
*/
static Oid ts_extension_oid = InvalidOid;

static const char *extstate_str[] = {
[EXTENSION_STATE_UNKNOWN] = "unknown",
[EXTENSION_STATE_TRANSITIONING] = "transitioning",
[EXTENSION_STATE_CREATED] = "created",
[EXTENSION_STATE_NOT_INSTALLED] = "not installed",
};

static bool
extension_loader_present()
{
Expand Down Expand Up @@ -150,6 +157,10 @@ extension_set_state(enum ExtensionState newstate)
ts_catalog_reset();
break;
}
elog(DEBUG1,
"extension state changed: %s to %s",
extstate_str[extstate],
extstate_str[newstate]);
extstate = newstate;
return true;
}
Expand Down Expand Up @@ -261,6 +272,10 @@ ts_experimental_schema_name(void)
void
ts_extension_invalidate(void)
{
elog(DEBUG1,
"extension state invalidated: %s to %s",
extstate_str[extstate],
extstate_str[EXTENSION_STATE_UNKNOWN]);
extstate = EXTENSION_STATE_UNKNOWN;
extension_proxy_oid = InvalidOid;
}
Expand Down Expand Up @@ -335,13 +350,6 @@ ts_extension_is_proxy_table_relid(Oid relid)
}

#ifdef TS_DEBUG
static const char *extstate_str[] = {
[EXTENSION_STATE_UNKNOWN] = "unknown",
[EXTENSION_STATE_TRANSITIONING] = "transitioning",
[EXTENSION_STATE_CREATED] = "created",
[EXTENSION_STATE_NOT_INSTALLED] = "not installed",
};

TS_FUNCTION_INFO_V1(ts_extension_get_state);

Datum
Expand Down

0 comments on commit 793378f

Please sign in to comment.