> > Actually, on further inspection, I've created a dummy function > returning SETOF BIGINT to make sure that it is not just SETOF VOID > that is not working in my current setup. The SETOF BIGINT routine > object does not appear to get generated either. So I am assuming that > there is something with my environment - can you turn up the log > verbosity for the code generator somehow?
I see, our integration tests currently only cover SETOF [ table type ]. I'll have to investigate to see whether SETOF BIGINT is really supported already. How is that different from returning a BIGINT[] type? (PostgreSQL never stops surprising me...) > On Mon, May 4, 2015 at 2:45 PM, Lukas Eder <[email protected]> wrote: > > Hmm, what is the idea of a SETOF VOID type? Can you show an example? > SETOF VOID is just a Postgres-ism to avoid having a function returning > a result row for a void return type. If the function returns VOID, the > invocation will return a row to contain the void result. Aha, so SETOF VOID will return an empty set, whereas VOID will return a single record? I see, that's clever, actually. > > Perhaps, this specific case doesn't set the PG_PROC.PRORETSET flag...? > What is the PG_PROC.PRORETSET flag used for? It's the only way I've found to identify (explicit) table-valued functions in the dictionary views. The information_schema doesn't seem to reveal that. I suspect the name is short for something like PROcedure RETurning a SET. I'm aware that in PostgreSQL, everything is really a table-valued function. But some are more table-valued than others, at least as far as their pgplsql signature is concerned. 2015-05-04 16:24 GMT+02:00 Ben Hood <[email protected]>: > On Mon, May 4, 2015 at 3:12 PM, Ben Hood <[email protected]> wrote: > > What is the PG_PROC.PRORETSET flag used for? > > In my schema, the following metadata exists: > > SELECT p.proname, oidvectortypes(p.proargtypes), p.proretset, p.prorettype > FROM pg_proc p INNER JOIN pg_namespace ns ON (p.pronamespace = ns.oid) > WHERE ns.nspname = 'public'; > > proname oidvectortypes proretset prorettype > ------------- ------------------------- --------- > ---------- > set_caller_id bigint, character varying true 20 > > Not sure how much this helps in this case. I'm curious about the whole function, in fact. I'd like to understand the use-case of a SETOF BIGINT return type. -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
