ne 5. 1. 2025 v 17:11 odesílatel jian he <[email protected]>
napsal:
> + /*
> + * The arguments of EXECUTE are evaluated by a direct expression
> + * executor call. This mode doesn't support session variables yet.
> + * It will be enabled later.
> + */
> + if (pstate->p_hasSessionVariables)
> + elog(ERROR, "session variable cannot be used as an argument");
>
> it should be:
> /*
> * The arguments of CALL statement are evaluated by a direct expression
> * executor call. This path is unsupported yet, so block it.
> */
> if (pstate->p_hasSessionVariables)
> ereport(ERROR,
> errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
> errmsg("session variable cannot be used as an argument"));
>
> done
>
> similarly, EvaluateParams we can change it to
> /*
> * The arguments of EXECUTE are evaluated by a direct expression
> * executor call. This mode doesn't support session variables yet.
> * It will be enabled later.
> */
> if (pstate->p_hasSessionVariables)
> ereport(ERROR,
> errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
> errmsg("session variable cannot be used as an argument"));
>
done
>
> in src/backend/executor/execExpr.c
> we don't need
> +#include "catalog/pg_variable.h"
> ?
>
moved to patch 16