On 11/13/2012 08:46:19 PM, Peter Eisentraut wrote: > > Well, I'm not sure. We currently have three index entries on the > topic: > > search path > search_path > search_path configuration parameter > > I think I'd put them all under search_path.
Ok. I think you are right that they need to all be under one index entry. It might make sense to have a "search term" entry that says "see search_term", but since the two entries would be right next to each other in the index this seems overkill. I'm going to send this in as a single patch that fixes all the search path related index entries: search_path-index.patch (replaces search_path-normalize.patch and search_path-securing_v2.patch) This new patch also changes the search path index in doc/src/sgml/func.sgml. Perhaps I just don't understand the logic in the indexing in that file but the search path index there seems to point to the entire file/nowhere useful. Since there are 2 places in the file that are concerned with search path I've removed the "global" index into the file and added new index entries. This also moved the "schema, current" index target. (Since that too involves search path.) I've also added a <seealso> entry to "schema, current" to the top-level "search_path" index entry. If you want this broken up into smaller patches let me know. Regards, Karl <k...@meme.com> Free Software: "You don't pay back, you pay forward." -- Robert A. Heinlein
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index 88cea3d..3bad24c 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -4769,7 +4769,8 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv; <varlistentry id="guc-search-path" xreflabel="search_path"> <term><varname>search_path</varname> (<type>string</type>)</term> <indexterm> - <primary><varname>search_path</> configuration parameter</primary> + <primary><varname>search_path</varname></primary> + <secondary>configuration parameter</secondary> </indexterm> <indexterm><primary>path</><secondary>for schemas</></> <listitem> diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index d6e5d64..99ebd10 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -1698,7 +1698,8 @@ CREATE TABLE public.products ( ... ); <title>The Schema Search Path</title> <indexterm> - <primary>search path</primary> + <primary><varname>search_path</varname></primary> + <seealso>schema, current</seealso> </indexterm> <indexterm> @@ -1735,7 +1736,8 @@ CREATE TABLE public.products ( ... ); </para> <indexterm> - <primary>search_path</primary> + <primary><varname>search_path</varname></primary> + <secondary>runtime variable</secondary> </indexterm> <para> diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index f8f63d8..dc6ca1e 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -12944,16 +12944,6 @@ postgres=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); </indexterm> <indexterm> - <primary>schema</primary> - <secondary>current</secondary> - </indexterm> - - <indexterm> - <primary>search path</primary> - <secondary>current</secondary> - </indexterm> - - <indexterm> <primary>session_user</primary> </indexterm> @@ -12980,6 +12970,11 @@ postgres=# SELECT * FROM unnest2(ARRAY[[1,2],[3,4]]); the current user is the <quote>effective user</quote>. </para> + <indexterm> + <primary>schema</primary> + <secondary>current</secondary> + </indexterm> + <para> <function>current_schema</function> returns the name of the schema that is first in the search path (or a null value if the search path is @@ -13493,6 +13488,13 @@ SELECT has_function_privilege('joeuser', 'myfunc(int, text)', 'execute'); are immediately available without doing <command>SET ROLE</>. </para> + <indexterm> + <primary><varname>search_path</varname></primary> + <secondary> + object visibility given an unqualified name + </secondary> + </indexterm> + <para> <xref linkend="functions-info-schema-table"> shows functions that determine whether a certain object is <firstterm>visible</> in the diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml index 4336e4b..cb5ee91 100644 --- a/doc/src/sgml/ref/create_function.sgml +++ b/doc/src/sgml/ref/create_function.sgml @@ -673,6 +673,11 @@ SELECT * FROM dup(42); <refsect1 id="sql-createfunction-security"> <title>Writing <literal>SECURITY DEFINER</literal> Functions Safely</title> + <indexterm> + <primary><varname>search_path</varname></> + <secondary>use in securing functions</> + </indexterm> + <para> Because a <literal>SECURITY DEFINER</literal> function is executed with the privileges of the user that created it, care is needed to
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers