~ubuntu-branches/ubuntu/trusty/postgresql-9.3/trusty-proposed

« back to all changes in this revision

Viewing changes to src/backend/utils/adt/regproc.c

  • Committer: Package Import Robot
  • Author(s): Martin Pitt
  • Date: 2014-07-24 16:13:59 UTC
  • mfrom: (1.1.8)
  • Revision ID: package-import@ubuntu.com-20140724161359-uk325qfv03euxuuh
Tags: 9.3.5-0ubuntu0.14.04.1
* New upstream bug fix release: (LP: #1348176)
  - pg_upgrade: Users who upgraded to version 9.3 using pg_upgrade may have
    an issue with transaction information which causes VACUUM to eventually
    fail. These users should run the script provided in the release notes to
    determine if their installation is affected, and then take the remedy
    steps outlined there.
  - Various data integrity and other bug fixes.
  - Secure Unix-domain sockets of temporary postmasters started during make
    check.
    Any local user able to access the socket file could connect as the
    server's bootstrap superuser, then proceed to execute arbitrary code as
    the operating-system user running the test, as we previously noted in
    CVE-2014-0067. This change defends against that risk by placing the
    server's socket in a temporary, mode 0700 subdirectory of /tmp.
  - See release notes for details:
    http://www.postgresql.org/about/news/1534/
* Remove pg_regress patches to support --host=/path, obsolete with above
  upstream changes and not applicable any more.
* Drop tcl8.6 patch, applied upstream.
* Add missing logrotate test dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
85
85
 
86
86
        /*
87
87
         * In bootstrap mode we assume the given name is not schema-qualified, and
88
 
         * just search pg_proc for a unique match.      This is needed for
 
88
         * just search pg_proc for a unique match.  This is needed for
89
89
         * initializing other system catalogs (pg_namespace may not exist yet, and
90
90
         * certainly there are no schemas other than pg_catalog).
91
91
         */
270
270
        /*
271
271
         * Else it's a name and arguments.  Parse the name and arguments, look up
272
272
         * potential matches in the current namespace search list, and scan to see
273
 
         * which one exactly matches the given argument types.  (There will not be
 
273
         * which one exactly matches the given argument types.  (There will not be
274
274
         * more than one match.)
275
275
         *
276
276
         * XXX at present, this code will not work in bootstrap mode, hence this
319
319
 * Routine to produce regprocedure names; see format_procedure above.
320
320
 *
321
321
 * force_qualify says whether to schema-qualify; if true, the name is always
322
 
 * qualified regardless of search_path visibility.      Otherwise the name is only
 
322
 * qualified regardless of search_path visibility.  Otherwise the name is only
323
323
 * qualified if the function is not in path.
324
324
 */
325
325
static char *
453
453
 
454
454
        /*
455
455
         * In bootstrap mode we assume the given name is not schema-qualified, and
456
 
         * just search pg_operator for a unique match.  This is needed for
 
456
         * just search pg_operator for a unique match.  This is needed for
457
457
         * initializing other system catalogs (pg_namespace may not exist yet, and
458
458
         * certainly there are no schemas other than pg_catalog).
459
459
         */
642
642
        /*
643
643
         * Else it's a name and arguments.  Parse the name and arguments, look up
644
644
         * potential matches in the current namespace search list, and scan to see
645
 
         * which one exactly matches the given argument types.  (There will not be
 
645
         * which one exactly matches the given argument types.  (There will not be
646
646
         * more than one match.)
647
647
         *
648
648
         * XXX at present, this code will not work in bootstrap mode, hence this
897
897
 
898
898
                /*
899
899
                 * In bootstrap mode, skip the fancy namespace stuff and just return
900
 
                 * the class name.      (This path is only needed for debugging output
 
900
                 * the class name.  (This path is only needed for debugging output
901
901
                 * anyway.)
902
902
                 */
903
903
                if (IsBootstrapProcessingMode())
1389
1389
 
1390
1390
/*
1391
1391
 * Given a C string, parse it into a qualified function or operator name
1392
 
 * followed by a parenthesized list of type names.      Reduce the
 
1392
 * followed by a parenthesized list of type names.  Reduce the
1393
1393
 * type names to an array of OIDs (returned into *nargs and *argtypes;
1394
1394
 * the argtypes array should be of size FUNC_MAX_ARGS).  The function or
1395
1395
 * operator name is returned to *names as a List of Strings.