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

Reply via email to