Jaime Casanova írta:
> On Mon, Mar 1, 2010 at 2:56 PM, Peter Eisentraut <peter_e(at)gmx(dot)net> wrote:
>> On tis, 2010-02-23 at 16:54 -0500, Jaime Casanova wrote:
>>> On Tue, Feb 23, 2010 at 2:02 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>>> There may be some value in inventing a "has no side effects" marker, but
>>>> that should not be confused with IMMUTABLE/STABLE.
>>> a READONLY function?
>> SQL standard:
>> <SQL-data access indication> ::=
>> NO SQL
>> | CONTAINS SQL
>> | READS SQL DATA
>> | MODIFIES SQL DATA
>> Notice also that this is separate from
>> <deterministic characteristic> ::=
>> | NOT DETERMINISTIC
> so IMMUTABLE = DETERMINISTIC NO SQL,
> STABLE = DETERMINISTIC READS SQL DATA
> VOLATILE = NOT DETERMINISTIC MODIFIES SQL DATA
>> which is the SQL standard's variant of volatility.
>> So someone has already had the idea that these two should exist
> seems something we should implement
At least the combinations to recognize the current
By definition, READS SQL DATA and MODIFIES SQL DATA
cannot be DETERMINISTIC. But I can imagine some C and
PL/Perl functions that are NOT DETERMINISTIC NO SQL.
And what does "CONTAINS SQL" mean? Is it distinct from
the other two READS/MODIFIES SQL DATA markers?
"SELECT CURRENT_TIMESTAMP" may be an example
but it doesn't seem to be significantly different from
$$SELECT $1 || $2;$$ LANGUAGE SQL or the same
written in PL/Perl or C.
Bible has answers for everything. Proof:
"But let your communication be, Yea, yea; Nay, nay: for whatsoever is more
than these cometh of evil." (Matthew 5:37) - basics of digital technology.
"May your kingdom come" - superficial description of plate tectonics
Cybertec Schönig & Schönig GmbH
In response to
pgsql-hackers by date
|Next:||From: Robert Haas||Date: 2010-03-01 21:43:41|
|Subject: Re: scheduler in core|
|Previous:||From: Tom Lane||Date: 2010-03-01 21:35:49|
|Subject: Re: double and numeric conversion |