Joel Burton wrote: > Is there a function already in the backend to return a class oid, given a > name, by looking up the table in the current_schemas path? Would it make > sense for us to expose this, or write one, so that this small wheel doesn't > have to be re-invented everytime someone wants to find a table by just the > name? > > Something like: > > findtable(text) returns oid > findtable("foo") -> oid of foo (given current search path) > findtable("s.foo") -> oid of s.foo > > I can write something in plpgsql (iterating over the array, checking each, > etc.), however, it would be nice if something was already there.
I think this already exists: test=# select 'joe.foo'::regclass::oid; oid -------- 125532 (1 row) test=# select 'public.foo'::regclass::oid; oid -------- 125475 (1 row) test=# select 'foo'::regclass::oid; oid -------- 125475 (1 row) test=# select current_schema(); current_schema ---------------- public (1 row) Joe ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org