Re: [HACKERS] Re: PL/PGSQL function with parameters
От | Tom Lane |
---|---|
Тема | Re: [HACKERS] Re: PL/PGSQL function with parameters |
Дата | |
Msg-id | 11921.981645039@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: PL/PGSQL function with parameters (Jan Wieck <janwieck@Yahoo.com>) |
Список | pgsql-sql |
> Josh Berkus wrote: >> If you think that's the best way. What we're really all wanting is a wy >> in PL/pgSQL to pass a parameter as an object name. Doing it *without* >> using EXECUTE would be even better than modifying EXECUTE to accomdate >> SELECT ... INTO variable. >> >> If we can write queries that address tables by OID, that would give us a >> quick workaround ... get the OID from pg_class, then pass it to the >> query as variables of type OID: >> >> SELECT column1_oid, column2_oid FROM table_oid >> WHERE column2_oid = variable1 >> ORDER BY column1_oid; This is completely pointless, AFAICS. If you don't know what table is to be selected from, then you can't do *any* semantic checking or planning in advance, so you might as well just do the entire processing at runtime. That's exactly what EXECUTE does. I don't see any functional advantage in an intermediate step between plpgsql's normal behavior (caching of query plans) and EXECUTE. If it bought some readability over constructing a query string for EXECUTE, then maybe, but dealing in table and column OIDs is not my idea of a pleasant or readable way to program ... regards, tom lane
В списке pgsql-sql по дате отправления: