+
+ The equivalence between functional notation and attribute notation
+ makes it possible to use functions on composite types to emulate
+ computed fields>.
+
+
+
+ computed
+
+ For example, using the previous definition
+ for double_salary(emp)>, we can write
+
+
+SELECT emp.name, emp.double_salary FROM emp;
+
+
+ An application using this wouldn't need to be directly aware that
+ double_salary> isn't a real column of the table.
+ (You can also emulate computed fields with views.)
+
+
+
Another way to use a function returning a row result is to pass the
result to another function that accepts the correct row type as input: