public inbox for [email protected]  
help / color / mirror / Atom feed
From: Adrian Klaver <[email protected]>
To: Durumdara <[email protected]>
To: Ron Johnson <[email protected]>
Cc: pgsql-general <[email protected]>
Subject: Re: PLPGSQL - store fetched records in array of record
Date: Wed, 2 Jul 2025 09:25:14 -0700
Message-ID: <[email protected]> (raw)
In-Reply-To: <CAEcMXhmHuVg7kbcqekULOxckOYZRaTHkO4Es8vJeUQAT2wyJPg@mail.gmail.com>
References: <CAEcMXhmEJjrqruc0RUSNeUiUzzCf7K_TxuUAzFZoNBi_UzQdzA@mail.gmail.com>
	<CANzqJaAGjTUSMm8fMp-8JOx70WpsjYoF5r-WpF__ZnSftGShJg@mail.gmail.com>
	<CAEcMXhmHuVg7kbcqekULOxckOYZRaTHkO4Es8vJeUQAT2wyJPg@mail.gmail.com>

On 7/2/25 07:26, Durumdara wrote:
> Sorry.
> I forgot to mention that I have two arrays (records).
> 
> One for the modifiable elements, and one for the checkable elements.
> 
> If there is a conflict between the actual mod. item and one of the 
> checkable items, the checkable item will move to the end of the 
> modification list.
> And the actual mod. item starting time could be changed in this process.
> 
> First I imagined a temporary table, but I felt this has too much 
> overhead against an "in memory" array.
> UPDATE, INSERT, DELETE and reopen after each modification.

Assuming it is installed and you have the necessary permissions there is 
plpython3u. As it is Python it is looser on types. As example:

CREATE OR REPLACE FUNCTION public.python_test()
  RETURNS void
  LANGUAGE plpython3u
AS $function$
rec_list = []

for row in plpy.cursor("select category_fk, cell_per from cell_per where 
cell_per > 1"):
     rec_list.append({"cat": row["category_fk"], "cp": row["cell_per"]})
plpy.notice(rec_list)

$function$
;

select * from python_test();
NOTICE:  [{'cat': 'HERB 3.5', 'cp': 18}, {'cat': 'H PREM 3.5', 'cp': 
18}, {'cat': 'HERB 2.5', 'cp': 32}, {'cat': 'H PREM 2.5', 'cp': 32}, 
{'cat': 'GER SC 3.5', 'cp': 18}, {'cat': 'SUCCULENTS', 'cp': 18}]
  python_test
-------------

(1 row)



> 
> 
> Ron Johnson <[email protected] <mailto:[email protected]>> 
> ezt írta (időpont: 2025. júl. 2., Sze, 15:29):
> 
>     On Wed, Jul 2, 2025 at 8:21 AM Durumdara <[email protected]
>     <mailto:[email protected]>> wrote:
> 
>         Hello!
> 
>         I have to store some fetched records into two lists (arrays) to
>         work with them.
> 
> 
>     There's almost certainly a way to do what you need done without
>     using arrays.  Might require a bit of rethinking, though.
>     -- 
>     Death to <Redacted>, and butter sauce.
>     Don't boil me, I'm still alive.
>     <Redacted> lobster!
> 

-- 
Adrian Klaver
[email protected]







view thread (2+ messages)

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: PLPGSQL - store fetched records in array of record
  In-Reply-To: <[email protected]>

* 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