Thanks. Since I was just interested in this special case (while the general wasn't interesting, either) this helped me. Also psql -E is a nice new feature to me.
|-----Original Message----- |From: Michael Fuhr [mailto:[EMAIL PROTECTED] |Sent: Montag, 30. Mai 2005 16:09 |To: KÖPFERL Robert |Cc: pgsql-sql@postgresql.org |Subject: Re: [SQL] Generic Join on Arrays | | |On Mon, May 30, 2005 at 03:42:49PM +0200, KÖPFERL Robert wrote: |> |> As I found out, pg_proc relation provides me with data about |defined stored |> procedures. Togehter with other relations as pg_type I can |retrieve readable |> information, like: |> select proname, pd.description FROM pg_proc pp left outer join |> pg_description pd on pp.oid=pd.objoid |> |> BUT, how about arrays of type "oidvector" (int4-array) |containing foreign |> keys (to be joined) as pg_proc's column "proargtypes" | |Have you used ECHO_HIDDEN (or psql -E) to look at the queries that \df |generates? Would oidvectortypes() be useful? | |SELECT proname, oidvectortypes(proargtypes) |FROM pg_proc |WHERE proname = 'substr'; | proname | oidvectortypes |---------+------------------------- | substr | bytea, integer | substr | text, integer | substr | bytea, integer, integer | substr | text, integer, integer |(4 rows) | |Another possibility might be to cast the function's oid to |regprocedure: | |SELECT oid::regprocedure |FROM pg_proc |WHERE proname = 'substr'; | oid |------------------------------- | substr(bytea,integer) | substr(text,integer) | substr(bytea,integer,integer) | substr(text,integer,integer) |(4 rows) | |Is either of those what you're looking for? They don't address the |problem in the general case, but they might serve in this particular |case. | |-- |Michael Fuhr |http://www.fuhr.org/~mfuhr/ | ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match