summaryrefslogtreecommitdiff
path: root/src/tutorial
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2003-05-28 16:04:02 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2003-05-28 16:04:02 +0000
commitfc8d970cbcdd6f025475822a4cf01dfda0873226 (patch)
treeca697026dbada6a022dec471191aab5a0ba7eb20 /src/tutorial
parente5f19598e07e9a0fc0a5c0f18bfac1fe92d21fc5 (diff)
downloadpostgresql-fc8d970cbcdd6f025475822a4cf01dfda0873226.tar.gz
Replace functional-index facility with expressional indexes. Any column
of an index can now be a computed expression instead of a simple variable. Restrictions on expressions are the same as for predicates (only immutable functions, no sub-selects). This fixes problems recently introduced with inlining SQL functions, because the inlining transformation is applied to both expression trees so the planner can still match them up. Along the way, improve efficiency of handling index predicates (both predicates and index expressions are now cached by the relcache) and fix 7.3 oversight that didn't record dependencies of predicate expressions.
Diffstat (limited to 'src/tutorial')
-rw-r--r--src/tutorial/syscat.source8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/tutorial/syscat.source b/src/tutorial/syscat.source
index 4ef6d513bf..ab5e26c94b 100644
--- a/src/tutorial/syscat.source
+++ b/src/tutorial/syscat.source
@@ -7,7 +7,7 @@
-- Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
-- Portions Copyright (c) 1994, Regents of the University of California
--
--- $Id: syscat.source,v 1.7 2002/06/20 20:29:54 momjian Exp $
+-- $Id: syscat.source,v 1.8 2003/05/28 16:04:02 tgl Exp $
--
---------------------------------------------------------------------------
@@ -31,8 +31,8 @@ SELECT relname
--
--- lists all simple indices (ie. those that are not defined over a function
--- of several attributes)
+-- lists all simple indices (ie. those that are defined over one simple
+-- column reference)
--
SELECT bc.relname AS class_name,
ic.relname AS index_name,
@@ -44,8 +44,8 @@ SELECT bc.relname AS class_name,
WHERE i.indrelid = bc.oid
and i.indexrelid = ic.oid
and i.indkey[0] = a.attnum
+ and i.indnatts = 1
and a.attrelid = bc.oid
- and i.indproc = '0'::oid -- no functional indices
ORDER BY class_name, index_name, attname;