public inbox for [email protected]  
help / color / mirror / Atom feed
From: Merlin Moncure <[email protected]>
To: PALAYRET Jacques <[email protected]>
Cc: [email protected]
Subject: Re: PostgreSQL include directive in plpgsql language PL/pgSQL
Date: Fri, 5 Sep 2025 10:21:08 -0600
Message-ID: <CAHyXU0zNE3CuPs2433GZtVh9SbrkyTUwGmAiy+yJuhz484gPUw@mail.gmail.com> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

On Fri, Sep 5, 2025 at 7:14 AM PALAYRET Jacques <[email protected]>
wrote:

> Hello,
>
> In a PL/pgSQL function, there is no command for sharing a common part of
> the body of several functions, is there?
>
> In my case, I would like a function that returns a numeric value; this
> value is associated with several other parameters, some numeric and others
> textual.
> It would not be practical for maintenance to have several functions (one
> function for each given parameter) with much of the code being identical.
>
> Presently, I have a text function with all the parameters in return and a
> function for each parameter based on the first one (with all the
> parameters), using substr(), position(), etc.
> For me, I think it would be easier (and perhaps faster) to use some kind
> of #include in the body of all the functions.
>

 Can you provide some examples of what you are trying to accomplish?

There may be some workarounds using immutable functions other tricks, but
I'm not 100% sure I have my head around your issue.

merlin


reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected]
  Subject: Re: PostgreSQL include directive in plpgsql language PL/pgSQL
  In-Reply-To: <CAHyXU0zNE3CuPs2433GZtVh9SbrkyTUwGmAiy+yJuhz484gPUw@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox