Re: CRUD plpgsql generator

From: Rob Sargent <robjsargent(at)gmail(dot)com>
To: Merlin Moncure <mmoncure(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: CRUD plpgsql generator
Date: 2011-06-22 16:38:39
Message-ID: 4E021A8F.9070003@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 06/22/2011 09:10 AM, Merlin Moncure wrote:
> On Wed, Jun 22, 2011 at 9:59 AM, Rob Sargent <robjsargent(at)gmail(dot)com> wrote:
>> On 06/22/2011 08:02 AM, Merlin Moncure wrote:
>>> On Wed, Jun 22, 2011 at 5:40 AM, Wim Bertels <wim(dot)bertels(at)khleuven(dot)be> wrote:
>>>> Hallo,
>>>>
>>>> does anyone have know of a free CRUD generator
>>>> for generating plpgsql functions for doing CRUD operations on all the
>>>> tables of a database or schema or just one table or..
>>>>
>>>> cf
>>>> http://postgresql.1045698.n5.nabble.com/CRUD-functions-similar-to-SQL-stored-procedurs-for-postgresql-tables-td3372030.html
>>>> http://myleshenderson.com/index.php/2007/11/16/postgresql-insert-function-generator
>>>
>>> It wouldn't be that difficult to make one IMO, but are you sure you
>>> really want to do this? ISTM it's a bit of an anti-pattern. If I had
>>> to do it, I would make a plpgsql function which would generate the
>>> functions by querying information_schema and generating create
>>> function statements via 'execute'.
>>>
>>> merlin
>>>
>> Or a cheasy script to parse the ddl files and generate the functions?
>
> I greatly prefer the information schema route, because parsing out the
> necessary bits robustly is more work than it appears on the surface --
> you'd want to be able to handle all manner of primary keys for
> example. IOW, even if you really wanted the function creation script
> to be in say, perl, I'd still source the data from a query unless
> there was no other route.
>
> merlin

Undoubtedly you're on the better track. I equate CRUD with simplistic
and that I'm sure will continue to get me into trouble. So what is a
CRUD generic read function: "select * from table where any field matches
given value"? :) Or does one punt and just do findByPrimaryKey?

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2011-06-22 16:51:43 Re: unique across two tables
Previous Message Grzegorz Jaśkiewicz 2011-06-22 16:33:10 Re: data compression in protocol?