Re: trigger - dynamic WHERE clause

From: Tarlika Elisabeth Schmitz <postgresql3(at)numerixtechnology(dot)de>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: trigger - dynamic WHERE clause
Date: 2011-05-30 23:20:26
Message-ID: 20110531002026.2450580e@dick.coachhouse
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, 30 May 2011 11:02:34 +0200
Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> wrote:

>> 2) I took from your blog entry
>> (http://okbob.blogspot.com/2008/06/execute-using-feature-in-postgresql-84.html)
>> that it is good practice to use EXECUTE USING.
>> Well, there's no danger of SQL injection as this particular DB runs
>> on an internal network. However, I am wondering whether EXECUTE
>> USING has a performance advantage?
>>
>
>You newer know where or who is attacker :)
>The performance is very similar now - the most slow part is generating
>of execution plan - not IO operations.

I have converted my generic trigger to use EXECUTE ... USING.

I need to convert all NEW values to a text array, retaining their
ordinal position.
avals(hstore(NEW)) doesn't seem to do that:

NEW: (5,name5,1000,,,2)
avals(hstore(NEW)): {5,name5,2,1000,NULL,NULL}

The best I can come up with is a JOIN with information_schema.columns.

--

Best Regards,
Tarlika Elisabeth Schmitz

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Craig Ringer 2011-05-30 23:20:44 Re: Universal certificate for verify-full ssl connection
Previous Message Craig Ringer 2011-05-30 23:17:37 Re: determine database and tables from deadlock