Calculated view fields (8.1 != 8.2) - Mailing list pgsql-hackers

From Gaetano Mendola
Subject Calculated view fields (8.1 != 8.2)
Date
Msg-id 45ED8D43.5050006@bigfoot.com
Whole thread Raw
Responses Re: Calculated view fields (8.1 != 8.2)  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,
I'm observing this behavior in 8.2:


kalman=# create table test ( a integer, b integer );
CREATE TABLE
kalman=#
kalman=# CREATE OR REPLACE FUNCTION sp_test ( INTEGER )
kalman-# RETURNS INTEGER AS'
kalman'# DECLARE
kalman'#    a_id_contract    ALIAS FOR $1;
kalman'# BEGIN
kalman'#    RAISE NOTICE ''here'';
kalman'#
kalman'#    return 3;
kalman'# END;
kalman'# ' LANGUAGE 'plpgsql';
CREATE FUNCTION
kalman=#
kalman=#
kalman=# CREATE OR REPLACE VIEW v_test AS
kalman-#   SELECT
kalman-#      a AS a,
kalman-#      sp_test(b) AS b
kalman-#   FROM
kalman-#      test c
kalman-# ;
CREATE VIEW
kalman=#
kalman=# insert into test values (2,3);
INSERT 0 1
kalman=#
kalman=# select * from v_test;
NOTICE:  herea | b
- ---+---2 | 3
(1 row)

kalman=# select a from v_test;
NOTICE:  herea
- ---2
(1 row)


In version 8.1 the function sp_test is not evaluated in case of "select a from v_test".

If I mark the function as STABLE or IMMUTABLE then even with version 8.2 the function
is not evaluated. Is this the intended behavior? I didn't see something about it in
the release note.


Regards
Gaetano Mendola





-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFF7Y1D7UpzwH2SGd4RAv//AJ0dcDPyYIndVMs7pEhzXjVNwKqdLQCeJQnL
oaZVL2JgS/J9lPf+B80+FuY=
=qaCE
-----END PGP SIGNATURE-----


pgsql-hackers by date:

Previous
From: Jim Nasby
Date:
Subject: Re: Log levels for checkpoint/bgwriter monitoring
Next
From: Ryan Cumming
Date:
Subject: Re: Trivial HugeTLB Benchmark