From: | Karsten Hilbert <Karsten(dot)Hilbert(at)gmx(dot)net> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Postgres Pain Points 2 ruby / node language drivers |
Date: | 2016-08-14 13:42:05 |
Message-ID: | 20160814134205.GB4280@hermes.hilbert.loc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello Chris,
I am getting closer but ...
> > > Sure. What I prefer to do is to allow for a (cacheable) lookup on the
> > > basis of some criteria, either:
> > > 1. Function name or
> > > 2. Function name and first argument type
> > >
> > > This assumes that whichever discovery criteria you are using leads to
> > > uniquely identifying a function.
> > >
> > > Then from the argument list, I know the names and types of the arguments,
> > > and the service locator can map them in. This means:
> > >
> > > 1. You can expose an API which calls arguments by name rather than just
> > > position, and
> > > 2. You can add arguments of different types without breaking things as
> > > long as it is agreed that unknown arguments are passed in as NULL.
>
> Ok. Two ways of doing this based on different discovery criteria.. The
> first would be:
>
> CREATE FUNCTION person_save(in_id int, in_first_name text, in_last_name
> text, in_date_of_birth date)
> RETURNS person LANGUAGE ... as $$ ... $$;
>
> Then you have a service locator
Which is what running where ?
> that says
How ?
Thanks,
Karsten
> "I have a person object and want to call person_save." It then looks up the function argument names and
> calls it something like this:
>
> SELECT * FROM person_save(?, ?, ?, ?)
>
> with parameters
> $object->id, $object->first_name, $object->last_name, $object->date_of_birth
--
GPG key ID E4071346 @ eu.pool.sks-keyservers.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346
From | Date | Subject | |
---|---|---|---|
Next Message | Chris Travers | 2016-08-14 14:02:19 | Re: Postgres Pain Points 2 ruby / node language drivers |
Previous Message | Chris Travers | 2016-08-14 10:58:12 | Re: Any reasons for 'DO' statement not returning result? |