From: | Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> |
---|---|
To: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
Cc: | Andres Freund <andres(at)2ndquadrant(dot)com>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Josh Berkus <josh(at)agliodbs(dot)com>, Kevin Grittner <kgrittn(at)ymail(dot)com>, Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: [PATCH] SQL assertions prototype |
Date: | 2013-12-18 21:09:05 |
Message-ID: | 52B20EF1.1020008@vmware.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 12/18/2013 11:04 PM, Andrew Dunstan wrote:
>
> On 12/18/2013 02:45 PM, Andres Freund wrote:
>> On 2013-12-18 16:39:58 -0300, Alvaro Herrera wrote:
>>> Andres Freund wrote:
>>>> It would only force serialization for transactions that modify tables
>>>> covered by the assert, that doesn't seem to bad. Anything covered by an
>>>> assert shoulnd't be modified frequently, otherwise you'll run into
>>>> major
>>>> performance problems.
>>> Well, as presented there is no way (for the system) to tell which tables
>>> are covered by an assertion, is there? That's my point.
>> Well, the patch's syntax seems to only allow to directly specify a SQL
>> query to check - we could iterate over the querytree to gather all
>> related tables and reject any function we do not understand.
>
> Umm, that's really a major limitation in utility.
The query can be "SELECT is_my_assertion_true()", and the function can
do anything.
- Heikki
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2013-12-18 21:13:03 | Re: array_length(anyarray) |
Previous Message | Stephen Frost | 2013-12-18 21:07:35 | Re: stats for network traffic WIP |