"Kevin Grittner" <kevin.gritt...@wicourts.gov> writes:
> Robert Haas <robertmh...@gmail.com> wrote: 
>> The final CommitFest began November 11, 2008.  It closed March 25,
>> 2009 (+ 144 days).  Beta1 was released April 15, 2009 (+ 21 days).
 
> I'm not entirely clear on what was happening during the 21 days
> between the end of the CommitFest and and the release of beta1.

Release note drafting is one part of it, but mostly it's "loose end
cleanup".  Historically there have always been a pile of loose ends
to be dealt with, and the CommitFest structure doesn't really do
anything to avoid that.  If you're interested, attached are all the
commits between commitfest closure (which I announced immediately
after committing the addition of contrib/btree_gin) and stamping
beta1 (which was actually several days before the date Robert gives,
because of the need for the packagers to do their thing).

It appears to me that release notes weren't actually the bottleneck this
time, though they have been in some prior cycles.  Bruce committed a
first draft immediately after the commitfest closed.  Rather, it was
arguing about things like \df behavior and cardinality() that took up
the time.

We could certainly have released a perhaps-less-polished beta earlier.
I think that the traditional criterion is that we don't release beta1
as long as there are any known issues that might force an initdb.
We were successful in avoiding a post-beta initdb this time, although
IIRC the majority of release cycles have had one --- so maybe you
could argue that that's not so important.  It would certainly be
less important if we had working pg_migrator functionality to ease
the pain of going from beta to final.

Now that we have the alpha-release mechanism defined, some of the
pressure for a quick beta could be taken off by releasing a final
alpha right after the final commitfest closes.

                        regards, tom lane


2009-04-09 20:20  scrappy

        * configure, configure.in, doc/bug.template,
        src/include/pg_config.h.win32: 
        commit and tag beta1

2009-04-09 19:22  tgl

        * doc/src/sgml/release.sgml: Update release notes through
        yesterday; some minor wordsmithing.

2009-04-09 18:32  momjian

        * doc/src/sgml/monitoring.sgml: Clarify documentation references to
        pg_stat_get_blocks_fetched and pg_stat_get_blocks_hit, per
        suggestion from Robert Haas.

2009-04-09 17:50  momjian

        * src/tools/RELEASE_CHANGES: No more need to update FAQs.

2009-04-09 17:35  petere

        * src/tools/RELEASE_CHANGES: Add URL for config.guess/sub updates

2009-04-09 17:33  petere

        * config/: config.guess, config.sub: Update config.guess and
        config.sub

2009-04-09 16:50  tgl

        * src/timezone/data/: africa, asia, leapseconds, northamerica,
        southamerica (REL8_1_STABLE), africa, asia, leapseconds,
        northamerica, southamerica (REL8_3_STABLE), africa, asia,
        leapseconds, northamerica, southamerica (REL8_0_STABLE), africa,
        asia, leapseconds, northamerica, southamerica (REL8_2_STABLE),
        africa, asia, leapseconds, northamerica, southamerica: Update time
        zone data files to tzdata release 2009e: DST law changes in
        Argentina/San_Luis, Cuba, Jordan (historical correction only),
        Morocco, Palestine, Syria, Tunisia.

2009-04-09 15:38  petere

        * src/: backend/nls.mk, backend/po/de.po, backend/po/es.po,
        backend/po/fr.po, backend/po/ja.po, backend/po/nl.po,
        backend/po/ru.po, backend/po/tr.po, bin/initdb/nls.mk,
        bin/initdb/po/de.po, bin/initdb/po/es.po, bin/initdb/po/fr.po,
        bin/initdb/po/ja.po, bin/initdb/po/ru.po, bin/pg_config/nls.mk,
        bin/pg_config/po/de.po, bin/pg_config/po/fr.po,
        bin/pg_config/po/ja.po, bin/pg_config/po/ru.po,
        bin/pg_config/po/tr.po, bin/pg_controldata/nls.mk,
        bin/pg_controldata/po/de.po, bin/pg_controldata/po/fr.po,
        bin/pg_controldata/po/ja.po, bin/pg_ctl/nls.mk,
        bin/pg_ctl/po/cs.po, bin/pg_ctl/po/de.po, bin/pg_ctl/po/fr.po,
        bin/pg_ctl/po/ja.po, bin/pg_ctl/po/ru.po, bin/pg_dump/nls.mk,
        bin/pg_dump/po/de.po, bin/pg_dump/po/fr.po, bin/pg_dump/po/ja.po,
        bin/pg_dump/po/tr.po, bin/pg_resetxlog/nls.mk,
        bin/pg_resetxlog/po/de.po, bin/pg_resetxlog/po/fr.po,
        bin/pg_resetxlog/po/ja.po, bin/pg_resetxlog/po/ru.po,
        bin/psql/nls.mk, bin/psql/po/de.po, bin/psql/po/es.po,
        bin/psql/po/fr.po, bin/psql/po/ja.po, bin/psql/po/tr.po,
        bin/scripts/nls.mk, bin/scripts/po/de.po, bin/scripts/po/fr.po,
        bin/scripts/po/ja.po, interfaces/ecpg/ecpglib/nls.mk,
        interfaces/ecpg/ecpglib/po/de.po, interfaces/ecpg/ecpglib/po/es.po,
        interfaces/ecpg/ecpglib/po/fr.po, interfaces/ecpg/preproc/nls.mk,
        interfaces/ecpg/preproc/po/de.po, interfaces/ecpg/preproc/po/es.po,
        interfaces/ecpg/preproc/po/fr.po, interfaces/libpq/nls.mk,
        interfaces/libpq/po/de.po, interfaces/libpq/po/fr.po,
        interfaces/libpq/po/ja.po, pl/plperl/nls.mk, pl/plperl/po/de.po,
        pl/plperl/po/es.po, pl/plperl/po/fr.po, pl/plpgsql/src/nls.mk,
        pl/plpgsql/src/po/de.po, pl/plpgsql/src/po/es.po,
        pl/plpgsql/src/po/fr.po, pl/plpgsql/src/po/ja.po,
        pl/plpgsql/src/po/ro.po, pl/plpython/nls.mk, pl/plpython/po/de.po,
        pl/plpython/po/es.po, pl/plpython/po/fr.po, pl/tcl/nls.mk,
        pl/tcl/po/de.po, pl/tcl/po/es.po, pl/tcl/po/fr.po: Translation
        updates for 8.4 beta

2009-04-09 15:07  tgl

        * doc/src/sgml/gin.sgml: Update GIN limitations documentation to
        match current reality.

2009-04-09 13:39  tgl

        * doc/src/sgml/func.sgml, doc/src/sgml/release.sgml,
        src/backend/utils/adt/arrayfuncs.c,
        src/include/catalog/catversion.h, src/include/catalog/pg_proc.h,
        src/include/utils/array.h, src/test/regress/expected/arrays.out,
        src/test/regress/sql/arrays.sql: Remove SQL-compatibility function
        cardinality().  It is not exactly clear how this ought to behave
        for multi-dimensional arrays.  Per discussion, not having it at all
        seems better than having it with what might prove to be the wrong
        behavior.  We can always add it later when we have consensus on the
        correct behavior.

2009-04-09 12:20  momjian

        * doc/src/sgml/wal.sgml: Improve documentation about how checkpoint
        spreads I/O activity.

2009-04-09 10:21  tgl

        * src/backend/utils/misc/guc-file.l: Treat EOF like \n for
        line-counting purposes in ParseConfigFile, per bug #4752.  Fujii
        Masao

2009-04-08 22:57  tgl

        * src/: pl/plpgsql/src/pl_exec.c, pl/plpgsql/src/plpgsql.h,
        test/regress/expected/plpgsql.out, test/regress/sql/plpgsql.sql:
        Fix the plpgsql memory leak exhibited in bug #4677.  That leak was
        introduced by my patch of 2007-01-28 to use per-subtransaction
        ExprContexts/EStates: since we re-prepared any expression tree when
        the current subtransaction ID changed, we'd accumulate more and
        more leaked expression state trees in the outermost subtransaction
        if the same function was executed at multiple levels of
        subtransaction nesting.  To fix, go back to the previous scheme
        where there was only one EState per transaction for simple plpgsql
        expressions.  We really only need an ExprContext per
        subtransaction, not a whole EState, so it's possible to keep
        prepared expression state trees in the one EState throughout the
        transaction.  This should be more efficient as well as not leaking
        memory for cases involving lots of subtransactions.
        
        The added regression test is the case that inspired the 2007-01-28
        patch in the first place, just to make sure we didn't go backwards.
         The current memory leak complaint is unfortunately hard to test
        for in the regression test framework, though manual testing shows
        it's fixed.
        
        Although this is a pre-existing bug, I'm not back-patching because
        I'd like to see this method get some field testing first.  Consider
        back-patching if it gets through 8.4beta unscathed.

2009-04-08 18:29  tgl

        * doc/src/sgml/ref/psql-ref.sgml, src/bin/psql/describe.c: Remove
        psql's ancient hack that suppressed functions taking or returning
        cstring from the output of \df.  Now that the default behavior is
        to exclude all system functions, the de-cluttering rationale for
        this behavior seems pretty weak; and it was always quite
        confusing/unhelpful if you were actually looking for I/O functions.
         (Not to mention if you were looking for encoding converters or
        other cases that might take or return cstring.)

2009-04-08 18:08  tgl

        * src/: backend/utils/adt/numeric.c,
        test/regress/expected/numeric.out: Allow leading and trailing
        spaces around NaN in numeric_in.
        
        Sam Mason, rewritten a bit by Tom.

2009-04-08 17:51  petere

        * src/: backend/executor/execQual.c, backend/utils/adt/xml.c,
        include/nodes/execnodes.h, test/regress/expected/xml.out,
        test/regress/expected/xml_1.out, test/regress/sql/xml.sql:
        XMLATTRIBUTES() should send the attribute values through
        map_sql_value_to_xml_value() instead of directly through the data
        type output function.  This is per SQL standard, and consistent
        with XMLELEMENT().

2009-04-08 15:02  heikki

        * src/bin/pg_dump/: pg_dump.c, pg_dumpall.c: Quote string literals
        correctly in the new CREATE SERVER statements and binary upgrade
        UPDATE statements.

2009-04-08 09:08  heikki

        * src/backend/utils/init/postinit.c: Oops, mustn't call
        textdomain() when compiling without --enable-nls

2009-04-08 05:50  heikki

        * src/: backend/utils/init/miscinit.c,
        backend/utils/init/postinit.c, backend/utils/mb/mbutils.c,
        include/mb/pg_wchar.h: Tell gettext which codeset to use by calling
        bind_textdomain_codeset(). We already did that on Windows, but it's
        needed on other platforms too when LC_CTYPE=C. With other locales,
        we enforce (or trust) that the codeset of the locale matches the
        server encoding so we don't need to bind it explicitly. It should
        do no harm in that case either, but I don't have full faith in the
        PG encoding -> OS codeset mapping table yet. Per recent discussion
        on pgsql-hackers.

2009-04-08 00:05  momjian

        * src/bin/psql/tab-complete.c: Improve tab completion for \ef.
        
        Andrew Gierth

2009-04-07 19:27  momjian

        * src/backend/utils/misc/guc.c: Revert addition of units to GUC
        descriptions;  doesn't affect postgresql.conf.

2009-04-07 18:48  momjian

        * configure, configure.in: Disable effective_io_concurrency on
        Solaris because posix_fadvise() is no-op on that platform.

2009-04-07 18:22  momjian

        * src/backend/utils/misc/: guc.c, postgresql.conf.sample: More GUC
        units doc updates.
        
        Euler Taveira de Oliveira

2009-04-07 17:30  momjian

        * doc/src/sgml/release.sgml: Add attribution for:
        
               Add Japanese message translations (Japan PostgreSQL Users
        Group)

2009-04-07 17:29  momjian

        * doc/src/sgml/release.sgml: Add release note item:
        
                       Add Japanese message translations

2009-04-07 17:20  momjian

        * doc/: FAQ, FAQ_DEV: Remove FAQ and FAQ_DEV ASCII and HTML files
        from CVS;  now on the wiki.
        
        Per-language files kept for transator usage.

2009-04-07 15:35  mha

        * src/tools/msvc/Mkvcbuild.pm: Support Perl 5.10 and TCL 8.5 in
        MSVC builds.
        
        We should probably have a better way to do this (meaning something
        not hardcoded) eventually, but this fixes the problem for 8.4.
        
        Dave Page

2009-04-07 14:10  tgl

        * contrib/pg_freespacemap/: pg_freespacemap.c (REL8_3_STABLE),
        pg_freespacemap.c (REL8_2_STABLE): Fix contrib/pg_freespacemap's
        underestimate of the number of pages it could find in the FSM.  Per
        report from Dimitri Fontaine and Andrew Gierth.
        
        (Affects only 8.2 and 8.3 since HEAD no longer has MaxFSMPages at
        all.)

2009-04-07 13:57  tgl

        * contrib/pg_freespacemap/pg_freespacemap.c: Remove useless
        (leftover?) extern declaration.

2009-04-07 13:49  teodor

        * src/backend/access/gist/gist.c (REL7_4_STABLE): Fix 'all at one
        page bug' in picksplit method of R-tree emulation. Add defense from
        buggy user-defined picksplit to GiST.

2009-04-07 13:46  teodor

        * src/backend/access/gist/: gistproc.c, gistutil.c (REL8_1_STABLE),
        gist.c (REL8_0_STABLE): Fix 'all at one page bug' in picksplit
        method of R-tree emulation. Add defense from buggy user-defined
        picksplit to GiST.

2009-04-07 11:53  tgl

        * contrib/fuzzystrmatch/: fuzzystrmatch.h (REL7_4_STABLE),
        fuzzystrmatch.h (REL8_1_STABLE), fuzzystrmatch.h (REL8_3_STABLE),
        fuzzystrmatch.h (REL8_0_STABLE), fuzzystrmatch.h (REL8_2_STABLE),
        fuzzystrmatch.c: Defend against non-ASCII letters in fuzzystrmatch
        code.  The functions still don't behave very sanely for multibyte
        encodings, but at least they won't be indexing off the ends of
        static arrays.

2009-04-07 00:02  momjian

        * doc/src/sgml/trigger.sgml: Add doc link to section about how to
        compile triggers.

2009-04-06 20:31  tgl

        * doc/src/sgml/backup.sgml, doc/src/sgml/func.sgml,
        src/backend/access/transam/xlog.c,
        src/backend/catalog/system_views.sql,
        src/include/catalog/catversion.h, src/include/catalog/pg_proc.h:
        Add an optional parameter to pg_start_backup() that specifies
        whether to do the checkpoint in immediate or lazy mode.  This is to
        address complaints that pg_start_backup() takes a long time even
        when there's no need to minimize its I/O consumption.

2009-04-06 17:00  momjian

        * src/backend/utils/misc/: guc.c, postgresql.conf.sample: Add unit
        documentation for various postgresql.conf settings.

2009-04-06 15:34  petere

        * src/backend/utils/mb/mbutils.c: Add entry in the encoding number
        to OS name table for KOI8-U.

2009-04-06 15:03  momjian

        * src/backend/utils/misc/postgresql.conf.sample: Properly align
        equals signs in new postgresql.conf units comments.

2009-04-06 15:00  momjian

        * src/backend/utils/misc/postgresql.conf.sample: Document in
        postgresql.conf that the default units for
        log_min_duration_statement is milliseconds.

2009-04-06 14:40  momjian

        * src/backend/utils/misc/postgresql.conf.sample: Display
        postgresql.conf unit options in an easier-to-understand, 2-column
        format.

2009-04-06 13:56  momjian

        * doc/src/sgml/maintenance.sgml: Doc change in new patch,
        stand-alone -> standalone

2009-04-06 13:55  momjian

        * doc/src/sgml/maintenance.sgml: Add documentation mention of
        'check_postgres.pl' in Routine Database Maintenance Tasks section.

2009-04-06 11:50  momjian

        * src/bin/psql/tab-complete.c: Adjust psql tab completion for new
        \d 'S' flag behavior;  adjust code to be more flexible about
        additional modifiers for \d commands.

2009-04-06 11:43  tgl

        * doc/src/sgml/fuzzystrmatch.sgml: Document the fact that
        fuzzystrmatch doesn't work in multibyte encodings.

2009-04-06 11:01  tgl

        * doc/src/sgml/keywords.sgml: Correct keywords table for status of
        COLLATE vs LC_COLLATE.

2009-04-06 10:47  teodor

        * src/backend/access/gist/: gistproc.c, gistsplit.c
        (REL8_2_STABLE): Fix 'all at one page bug' in picksplit method of
        R-tree emulation. Add defense from buggy user-defined picksplit to
        GiST.

2009-04-06 10:39  teodor

        * src/backend/access/gist/: gistproc.c, gistsplit.c
        (REL8_3_STABLE): Fix 'all at one page bug' in picksplit method of
        R-tree emulation. Add defense from buggy user-defined picksplit to
        GiST.

2009-04-06 10:27  teodor

        * src/backend/access/gist/: gistproc.c, gistsplit.c: Fix 'all at
        one page bug' in picksplit method of R-tree emulation. Add defense
        from buggy user-defined picksplit to GiST.

2009-04-06 04:42  heikki

        * doc/src/sgml/charset.sgml, doc/src/sgml/keywords.sgml,
        doc/src/sgml/ref/create_database.sgml,
        src/backend/commands/dbcommands.c, src/backend/parser/gram.y,
        src/bin/pg_dump/pg_dump.c, src/bin/pg_dump/pg_dumpall.c,
        src/bin/scripts/createdb.c, src/include/parser/kwlist.h,
        src/interfaces/ecpg/preproc/ecpg.trailer: Rename the new CREATE
        DATABASE options to set collation and ctype into LC_COLLATE and
        LC_CTYPE, per discussion on pgsql-hackers.

2009-04-05 18:28  tgl

        * src/: backend/utils/adt/arrayfuncs.c,
        include/catalog/catversion.h, include/catalog/pg_proc.h,
        include/utils/array.h: Change cardinality() into a C-code function,
        instead of a SQL-language alias for array_length(v,1).  The
        efficiency gain here is doubtless negligible --- what I'm
        interested in is making sure that if we have second thoughts about
        the definition, we will not have to force a post-beta initdb to
        change the implementation.

2009-04-05 16:32  tgl

        * src/backend/executor/execQual.c: Make ExecInitExpr build the list
        of SubPlans found in a plan tree in order of discovery, rather than
        reverse order.  This doesn't matter functionally (I suppose the
        previous coding dates from the time when lcons was markedly cheaper
        than lappend).  However now that EXPLAIN is labeling subplans with
        IDs that are based on order of creation, this may help produce a
        slightly less surprising printout.

2009-04-05 15:59  tgl

        * src/: backend/commands/explain.c, backend/nodes/copyfuncs.c,
        backend/nodes/equalfuncs.c, backend/nodes/outfuncs.c,
        backend/optimizer/plan/subselect.c, backend/utils/adt/ruleutils.c,
        include/nodes/primnodes.h: Change EXPLAIN output so that subplans
        and initplans (particularly CTEs) are individually labeled, rather
        than just grouped under an "InitPlan" or "SubPlan" heading.  This
        in turn makes it possible for decompilation of a subplan reference
        to usefully identify which subplan it's referencing.  I also made
        InitPlans identify which parameter symbol(s) they compute, so that
        references to those parameters elsewhere in the plan tree can be
        connected to the initplan that will be executed.  Per a gripe from
        Robert Haas about EXPLAIN output of a WITH query being inadequate,
        plus some longstanding pet peeves of my own.

2009-04-05 07:32  teodor

        * src/backend/access/gin/: ginget.c, ginscan.c: Fix infinite loop
        while checking of partial match in pending list.  Improve comments.
        Now GIN-indexable operators should be strict.  Per Tom's
        questions/suggestions.

2009-04-05 00:19  tgl

        * src/: backend/postmaster/postmaster.c, bin/initdb/initdb.c,
        bin/pg_ctl/pg_ctl.c, bin/pg_dump/pg_dump.c,
        bin/pg_dump/pg_dumpall.c, bin/pg_dump/pg_restore.c,
        bin/psql/startup.c, bin/scripts/common.c, bin/scripts/common.h,
        include/getopt_long.h, port/getopt_long.c: Remove a boatload of
        useless definitions of 'int optreset'.  If we are using our own
        ports of getopt or getopt_long, those will define the variable for
        themselves; and if not, we don't need these, because we never touch
        the variable anyway.

2009-04-05 00:09  tgl

        * src/include/pg_config.h.win32: I had always wondered why
        pg_config.h.win32 claimed that Windows provides optreset.  Current
        mastodon results prove that in fact it does not; it was only
        because getopt.c defined the variable anyway that things failed to
        fall over.

2009-04-04 20:40  tgl

        * contrib/intarray/_int.sql.in,
        contrib/intarray/uninstall__int.sql, doc/src/sgml/intarray.sgml:
        Remove contrib/intarray's definitions of the <@ and @> operators,
        so that they don't cause confusion with the built-in anyarray
        versions of those operators.  Adjust the module's index opclasses
        to support the built-in operators in place of the private ones.
        
        The private implementations are still available under their
        historical names @ and ~, so no functionality is lost.  Some quick
        testing suggests that they offer no real benefit over the core
        operators, however.
        
        Per a complaint from Rusty Conover.

2009-04-04 18:36  tgl

        * src/port/getopt.c: Hmm, baiji thinks we need explicit 'extern'
        here.

2009-04-04 17:55  tgl

        * configure, configure.in, src/include/pg_config.h.in,
        src/port/getopt.c: Make an attempt at fixing our current Solaris 11
        breakage: add a configure probe for opterr (exactly like the one
        for optreset) and have getopt.c define the variables only if
        configure doesn't find them in libc.

2009-04-04 17:12  tgl

        * src/: backend/access/common/reloptions.c,
        backend/commands/define.c, backend/commands/foreigncmds.c,
        backend/commands/sequence.c, backend/commands/typecmds.c,
        backend/commands/view.c, backend/nodes/copyfuncs.c,
        backend/nodes/equalfuncs.c, backend/nodes/makefuncs.c,
        backend/nodes/outfuncs.c, backend/parser/gram.y,
        backend/parser/parse_clause.c, include/commands/defrem.h,
        include/foreign/foreign.h, include/nodes/makefuncs.h,
        include/nodes/nodes.h, include/nodes/parsenodes.h: Remove the
        recently added node types ReloptElem and OptionDefElem in favor of
        adding optional namespace and action fields to DefElem.  Having
        three node types that do essentially the same thing bloats the code
        and leads to errors of confusion, such as in yesterday's bug report
        from Khee Chin.

2009-04-04 13:40  tgl

        * src/: backend/commands/indexcmds.c,
        backend/storage/ipc/procarray.c, include/storage/lock.h,
        include/storage/procarray.h: A session that does not have any live
        snapshots does not have to be waited for when we are waiting for
        old snapshots to go away during a concurrent index build.  In
        particular, this rule lets us avoid waiting for idle-in-transaction
        sessions.
        
        This logic could be improved further if we had some way to wake up
        when the session we are currently waiting for goes
        idle-in-transaction.  However that would be a significantly more
        complex/invasive patch, so it'll have to wait for some other day.
        
        Simon Riggs, with some improvements by Tom.

2009-04-04 00:53  tgl

        * src/: backend/utils/adt/timestamp.c,
        test/regress/expected/interval.out, test/regress/sql/interval.sql
        (REL7_4_STABLE), backend/utils/adt/timestamp.c,
        test/regress/expected/interval.out, test/regress/sql/interval.sql
        (REL8_1_STABLE), backend/utils/adt/timestamp.c,
        test/regress/expected/interval.out, test/regress/sql/interval.sql
        (REL8_3_STABLE), backend/utils/adt/timestamp.c,
        test/regress/expected/interval.out, test/regress/sql/interval.sql
        (REL8_0_STABLE), backend/utils/adt/timestamp.c,
        test/regress/expected/interval.out, test/regress/sql/interval.sql
        (REL8_2_STABLE), backend/utils/adt/timestamp.c,
        test/regress/expected/interval.out, test/regress/sql/interval.sql:
        Rewrite interval_hash() so that the hashcodes are equal for values
        that interval_eq() considers equal.  I'm not sure how that
        fundamental requirement escaped us through multiple revisions of
        this hash function, but there it is; it's been wrong since
        interval_hash was first written for PG 7.1.  Per bug #4748 from
        Roman Kononov.
        
        Backpatch to all supported releases.
        
        This patch changes the contents of hash indexes for interval
        columns.  That's no particular problem for PG 8.4, since we've
        broken on-disk compatibility of hash indexes already; but it will
        require a migration warning note in the next minor releases of all
        existing branches: "if you have any hash indexes on columns of type
        interval, REINDEX them after updating".

2009-04-03 20:45  alvherre

        * src/: backend/access/common/reloptions.c,
        include/access/reloptions.h: Disallow setting fillfactor for TOAST
        tables.
        
        To implement this without almost duplicating the reloption table,
        treat relopt_kind as a bitmask instead of an integer value.  This
        decreases the range of allowed values, but it's not clear that
        there's need for that much values anyway.
        
        This patch also makes heap_reloptions explicitly a no-op for
        relation kinds other than heap and TOAST tables.
        
        Patch by ITAGAKI Takahiro with minor edits from me.  (In particular
        I removed the bit about adding relation kind to an error message,
        which I intend to commit separately.)

2009-04-03 20:44  tgl

        * src/bin/psql/describe.c: Improve obsolete comment.

2009-04-03 20:41  tgl

        * src/bin/psql/describe.c: Make \dt \di and friends more consistent
        about the treatment of TOAST tables and indexes; to wit, never show
        either.  (You can examine them with plain \d if you're really so
        inclined.)

2009-04-03 20:39  tgl

        * doc/src/sgml/ref/psql-ref.sgml: Minor wordsmithing on
        descriptions of some \d commands.

2009-04-03 19:38  tgl

        * src/bin/psql/help.c: Add missing help output for \ef option. 
        Andrew Gierth

2009-04-03 19:27  tgl

        * src/port/: path.c (REL8_3_STABLE), path.c (REL8_2_STABLE),
        path.c: Use (unsigned char) cast in argument of pg_tolower(). 
        Maybe it works on Windows without that, but we shouldn't put bad
        examples where people might copy them.  Also, reformat slightly to
        improve the odds that pgindent won't go nuts on this.

2009-04-03 14:17  tgl

        * src/backend/storage/buffer/bufmgr.c: Add a comment documenting
        the question of whether PrefetchBuffer should try to protect an
        already-existing buffer from being evicted.  This was left as an
        open issue when the posix_fadvise patch was committed.  I'm not
        sure there's any evidence to justify more work in this area, but we
        should have some record about it in the source code.

2009-04-03 12:59  tgl

        * src/pl/plpython/: plpython.c, expected/plpython_function.out,
        expected/plpython_test.out, sql/plpython_function.sql,
        sql/plpython_test.sql: Defend against possible crash if a plpython
        function does not specify names for its arguments.  Also add a
        regression test, since someone apparently changed every single
        plpython test case to use only named parameters; else we'd have
        noticed this sooner.
        
        Euler Taveira de Oliveira, per a report from Alvaro

2009-04-03 07:52  mha

        * src/port/: path.c (REL8_3_STABLE), path.c (REL8_2_STABLE),
        path.c: Make directory name comparisons on Win32 case insensitive.
        
        This method will not catch all different ways since the locale
        handling in NTFS doesn't provide an easy way to do that, but it
        will hopefully solve the most common cases causing startup problems
        when the backend is found in the system PATH.
        
        Attempts to fix bug #4694.

2009-04-02 18:44  momjian

        * doc/src/sgml/config.sgml: Document that Solaris can't use
        effective_io_concurrency because of an ineffective posix_fadvise().

2009-04-02 18:39  tgl

        * src/: backend/executor/execQual.c, backend/executor/execUtils.c,
        include/nodes/execnodes.h: Refactor ExecProject and associated
        routines so that fast-path code is used for simple Var targetlist
        entries all the time, even when there are other entries that are
        not simple Vars.  Also, ensure that we prefetch attributes (with
        slot_getsomeattrs) for all Vars in the targetlist, even those
        buried within expressions.  In combination these changes seem to
        significantly reduce the runtime for cases where tlists are mostly
        but not exclusively Vars.  Per my proposal of yesterday.

2009-04-02 16:59  momjian

        * src/backend/: access/transam/slru.c, executor/execScan.c,
        executor/nodeAgg.c, executor/nodeGroup.c, executor/nodeHash.c,
        executor/nodeHashjoin.c, executor/nodeLimit.c,
        executor/nodeMaterial.c, executor/nodeMergejoin.c,
        executor/nodeNestloop.c, executor/nodeSetOp.c, executor/nodeSort.c,
        executor/nodeSubplan.c, executor/nodeUnique.c, utils/probes.d:
        Revert DTrace patch from Robert Lor

2009-04-02 16:16  tgl

        * src/pl/plpgsql/src/pl_exec.c: Minor code
        beautification/consolidation.

2009-04-02 15:57  momjian

        * src/backend/utils/misc/guc.c: Give a better error message when
        trying to change "effective_io_concurrency" on systems without
        posix_fadvise().

2009-04-02 15:20  momjian

        * doc/src/sgml/plpgsql.sgml, src/pl/plpgsql/src/pl_exec.c: Have
        PL/pgSQL FETCH set DIAGNOSTICS ROW_COUNT.
        
        Andrew Gierth

2009-04-02 15:14  momjian

        * src/backend/: access/transam/slru.c, executor/execScan.c,
        executor/nodeAgg.c, executor/nodeGroup.c, executor/nodeHash.c,
        executor/nodeHashjoin.c, executor/nodeLimit.c,
        executor/nodeMaterial.c, executor/nodeMergejoin.c,
        executor/nodeNestloop.c, executor/nodeSetOp.c, executor/nodeSort.c,
        executor/nodeSubplan.c, executor/nodeUnique.c, utils/probes.d: Add
        support for additional DTrace probes.
        
        Robert Lor

2009-04-02 14:06  teodor

        * contrib/hstore/hstore_io.c (REL8_2_STABLE): Fix memory allocation
        for output of hstore type.  Per "maosen.zhang"
        <maosen.zh...@alibaba-inc.com> report.

2009-04-02 13:57  teodor

        * contrib/hstore/: hstore_io.c (REL8_3_STABLE), hstore_io.c: Fix
        memory allocation for output of hstore type.  Per "maosen.zhang"
        <maosen.zh...@alibaba-inc.com> report.

2009-04-02 13:38  momjian

        * src/bin/psql/describe.c: Do not show information_schema in \d*
        commands, unless 'S' or pattern is specified.
        
        Martin Pihlak

2009-04-02 13:30  tgl

        * src/: backend/utils/mb/mbutils.c, include/mb/pg_wchar.h: Fix
        SetClientEncoding() to maintain a cache of previously selected
        encoding conversion functions.  This allows transaction rollback to
        revert to a previous client_encoding setting without doing fresh
        catalog lookups.  I believe that this explains and fixes the recent
        report of "failed to commit client_encoding" failures.
        
        This bug is present in 8.3.x, but it doesn't seem prudent to
        back-patch the fix, at least not till it's had some time for field
        testing in HEAD.
        
        In passing, remove SetDefaultClientEncoding(), which was used
        nowhere.

2009-04-02 11:15  momjian

        * doc/src/sgml/ref/psql-ref.sgml, src/bin/psql/describe.c: Change
        psql \d* display so 'S' _or_ a pattern include system objects.

2009-04-01 23:51  tgl

        * src/backend/utils/misc/: guc.c (REL8_3_STABLE), guc.c: Fix GUC's
        reports of assign_hook failure to always include the parameter
        value we failed to assign, even in "can't happen" cases.  Motivated
        by wondering what's going on in a recent trouble report where
        "failed to commit" did happen.

2009-04-01 21:16  tgl

        * src/pl/plpgsql/src/: pl_exec.c (REL8_3_STABLE), pl_exec.c
        (REL8_2_STABLE), pl_exec.c: plpgsql's exec_simple_cast_value()
        mistakenly supposed that it could bypass casting effort whenever
        the input value was NULL.  However this prevents application of
        not-null domain constraints in the cases that use this function, as
        illustrated in bug #4741.  Since this function isn't meant for use
        in performance-critical paths anyway, this certainly seems like
        another case of "premature optimization is the root of all evil".
        
        Back-patch as far as 8.2; older versions made no effort to enforce
        domain constraints here anyway.

2009-04-01 14:54  tgl

        * src/bin/pg_dump/: pg_dump.c (REL8_3_STABLE), pg_dump.c: Improve
        pg_dump's query for retrieving BLOB comments to be more efficient
        when there are many blobs and not so many comments.  Tamas Vincze

2009-04-01 05:17  heikki

        * src/backend/utils/adt/pg_locale.c: Update comment to reflect that
        LC_COLLATE and LC_CTYPE are now per-database settings.

2009-03-31 23:32  tgl

        * doc/src/sgml/func.sgml: Index some array functions, per Mario
        Splivalo.

2009-03-31 23:23  tgl

        * src/backend/libpq/: auth.c, pg_hba.conf.sample: Remove last
        references to the crypt auth method, per Andreas Scherbaum.

2009-03-31 18:54  tgl

        * contrib/: pgstattuple/pgstattuple.c (REL7_4_STABLE),
        pgstattuple/pgstattuple.c (REL8_1_STABLE),
        pageinspect/btreefuncs.c, pageinspect/rawpage.c,
        pgstattuple/pgstatindex.c, pgstattuple/pgstattuple.c
        (REL8_3_STABLE), pgstattuple/pgstattuple.c (REL8_0_STABLE),
        pgstattuple/pgstatindex.c, pgstattuple/pgstattuple.c
        (REL8_2_STABLE), pageinspect/btreefuncs.c, pageinspect/rawpage.c,
        pgstattuple/pgstatindex.c, pgstattuple/pgstattuple.c: Fix
        contrib/pgstattuple and contrib/pageinspect to prevent attempts to
        read temporary tables of other sessions; that is unsafe because of
        the way our buffer management works.  Per report from Stuart
        Bishop.  This is redundant with the bufmgr.c checks in HEAD, but
        not at all redundant in the back branches.

2009-03-31 18:23  momjian

        * doc/src/sgml/release.sgml: Remove some "Other" sections in the
        release notes by putting the items at the top of their sections.

2009-03-31 18:12  tgl

        * src/: backend/catalog/index.c, backend/catalog/namespace.c,
        backend/catalog/toasting.c, backend/commands/analyze.c,
        backend/commands/cluster.c, backend/commands/copy.c,
        backend/commands/indexcmds.c, backend/commands/tablecmds.c,
        backend/commands/vacuum.c, backend/optimizer/prep/prepunion.c,
        backend/postmaster/autovacuum.c, backend/storage/buffer/bufmgr.c,
        backend/utils/cache/relcache.c, include/utils/rel.h: Modify the
        relcache to record the temp status of both local and nonlocal temp
        relations; this is no more expensive than before, now that we have
        pg_class.relistemp.  Insert tests into bufmgr.c to prevent
        attempting to fetch pages from nonlocal temp relations.  This
        provides a low-level defense against bugs-of-omission allowing temp
        pages to be loaded into shared buffers, as in the
        contrib/pgstattuple problem reported by Stuart Bishop.  While at
        it, tweak a bunch of places to use new relcache tests (instead of
        expensive probes into pg_namespace) to detect local or nonlocal
        temp tables.

2009-03-31 14:58  mha

        * src/bin/initdb/: initdb.c (REL8_1_STABLE), initdb.c
        (REL8_3_STABLE), initdb.c (REL8_0_STABLE), initdb.c
        (REL8_2_STABLE), initdb.c: Don't crash initdb when we fail to get
        the current username.  Give an error message and exit instead, like
        we do elsewhere...
        
        Per report from Wez Furlong and Robert Treat.

2009-03-31 13:59  tgl

        * doc/src/sgml/catalogs.sgml, src/backend/catalog/heap.c,
        src/backend/utils/cache/relcache.c,
        src/include/catalog/catversion.h,
        src/include/catalog/pg_attribute.h, src/include/catalog/pg_class.h:
        Add a "relistemp" boolean column to pg_class, which is true for
        temporary relations (including a temp table's indexes and toast
        table/index), and false for normal relations.  For ease of
        checking, this commit just adds the column and fills it correctly
        --- revising the relation access machinery to use it will come
        separately.

2009-03-31 01:18  heikki

        * src/backend/storage/ipc/: procarray.c (REL8_1_STABLE),
        procarray.c (REL8_3_STABLE), procarray.c (REL8_2_STABLE),
        procarray.c: Fix a rare race condition when commit_siblings > 0 and
        a transaction commits at the same instant as a new backend is
        spawned. Since CountActiveBackends() doesn't hold ProcArrayLock, it
        needs to be prepared for the case that a pointer at the end of the
        proc array is still NULL even though numProcs says it should be
        valid, since it doesn't hold ProcArrayLock. Backpatch to 8.1.  8.0
        and earlier had this right, but it was broken in the split of
        PGPROC and sinval shared memory arrays.
        
        Per report and proposal by Marko Kreen.

2009-03-30 22:34  momjian

        * doc/src/sgml/release.sgml: Update release note introductory
        description.

2009-03-30 21:41  tgl

        * doc/src/sgml/libpq.sgml, src/interfaces/libpq/exports.txt,
        src/interfaces/libpq/fe-secure.c, src/interfaces/libpq/libpq-fe.h:
        Add PQinitOpenSSL() function to support applications that use
        libcrypto but not OpenSSL (or perhaps vice versa, if that's
        possible).
        
        Andrew Chernow, with minor editorialization by me.

2009-03-30 21:26  momjian

        * doc/src/sgml/release.sgml: More new subsections in release notes.

2009-03-30 18:01  momjian

        * doc/src/sgml/release.sgml: More release note changes, including a
        lower level of subsections.

2009-03-30 16:32  momjian

        * doc/src/sgml/release.sgml: More release note adjustments,
        reordering.

2009-03-30 15:59  momjian

        * doc/src/sgml/release.sgml: More release note wording
        improvements;  section order adjustments.

2009-03-30 14:34  momjian

        * doc/src/sgml/release.sgml: Reorder release note sections.

2009-03-30 13:30  tgl

        * src/backend/optimizer/plan/planner.c: Fix window function plan
        generation to cope with volatile sort expressions.  (Not clear how
        useful these really are, but failing is no good...) Per report from
        David Fetter and Robert Treat.

2009-03-30 12:15  alvherre

        * doc/src/sgml/: plpython.sgml (REL8_3_STABLE), plpython.sgml:
        Update URL to Python bug tracker.  Backpatch to 8.3; doesn't seem
        worthy of further backpatch.

2009-03-30 00:08  tgl

        * src/: backend/access/common/heaptuple.c,
        backend/executor/execTuples.c, include/executor/tuptable.h,
        test/regress/expected/rangefuncs.out,
        test/regress/sql/rangefuncs.sql (REL8_3_STABLE),
        backend/access/common/heaptuple.c, backend/executor/execTuples.c,
        include/executor/tuptable.h, test/regress/expected/rangefuncs.out,
        test/regress/sql/rangefuncs.sql (REL8_2_STABLE),
        backend/access/common/heaptuple.c, backend/executor/execTuples.c,
        include/executor/tuptable.h, test/regress/expected/rangefuncs.out,
        test/regress/expected/with.out, test/regress/sql/rangefuncs.sql,
        test/regress/sql/with.sql: Fix an oversight in the support for
        storing/retrieving "minimal tuples" in TupleTableSlots.  We have
        functions for retrieving a minimal tuple from a slot after storing
        a regular tuple in it, or vice versa; but these were implemented by
        converting the internal storage from one format to the other.  The
        problem with that is it invalidates any pass-by-reference Datums
        that were already fetched from the slot, since they'll be pointing
        into the just-freed version of the tuple.  The known problem cases
        involve fetching both a whole-row variable and a pass-by-reference
        value from a slot that is fed from a tuplestore or tuplesort
        object.  The added regression tests illustrate some simple cases,
        but there may be other failure scenarios traceable to the same bug.
         Note that the added tests probably only fail on unpatched code if
        it's built with --enable-cassert; otherwise the bug leads to
        fetching from freed memory, which will not have been overwritten
        without additional conditions.
        
        Fix by allowing a slot to contain both formats simultaneously;
        which turns out not to complicate the logic much at all, if
        anything it seems less contorted than before.
        
        Back-patch to 8.2, where minimal tuples were introduced.

2009-03-29 15:13  momjian

        * doc/src/sgml/release.sgml: More release note markup.

2009-03-28 23:58  momjian

        * doc/src/sgml/release.sgml: More release note markup.

2009-03-28 23:01  momjian

        * doc/src/sgml/release.sgml: Add SGML markup for
        commands/literal/application/etc in release notes; still more work
        to do.

2009-03-28 18:05  momjian

        * doc/src/sgml/release.sgml: Consistent 8.4 release note naming for
        Itagaki Takahiro

2009-03-28 14:48  momjian

        * src/interfaces/libpq/fe-secure.c: Clarify variable naming:
        pq_initssllib -> pq_init_ssl_lib

2009-03-28 10:15  momjian

        * doc/src/sgml/release.sgml: Update release notes to say citext is
        multi-byte aware, per suggestion from patch author:
        
               Add /contrib/citext as a case-insensitive, multibyte-capable
                text data type (David Wheeler)

2009-03-27 23:26  momjian

        * doc/src/sgml/ref/: alter_role.sgml, set_role.sgml: Better
        document that SET ROLE does not uset ALTER ROLE SET settings;
        suggested wording from Josh Berkus.

2009-03-27 21:36  momjian

        * doc/src/sgml/libpq.sgml, src/interfaces/libpq/fe-secure.c: Better
        document PQinitSSL(0) behavior in regards to libcrypto.

2009-03-27 20:10  tgl

        * doc/src/sgml/monitoring.sgml: Add documentation of the fact that
        dtrace probes evaluate their parameters even when not active. 
        Explain how to prevent that with an ENABLED() check.

2009-03-27 18:39  momjian

        * doc/src/sgml/release.sgml: Document in release notes that NOT IN
        is only for NOT EXIST clauses.
        
        Andrew Gierth

2009-03-27 15:58  tgl

        * configure, configure.in: On Solaris, we should only force use of
        our own getopt(); it's okay to use the system's getopt_long().  The
        previous coding was the result of a sloppy discussion that failed
        to draw this distinction.  The result was that PG programs don't
        handle options as users of that platform expect.  Per gripe from
        Chuck McDevitt.
        
        Although this is a pre-existing bug, I'm not backpatching since I
        think we could do with a bit of beta testing before concluding this
        is really OK.

2009-03-27 15:17  mha

        * doc/src/sgml/release.sgml: Fix markup, per Devrim

2009-03-27 14:56  tgl

        * src/backend/utils/adt/xml.c: Add an errdetail explaining why we
        reject infinite dates and timestamps while converting to XML. 
        Bernd Helmle

2009-03-27 14:30  tgl

        * src/: backend/executor/execQual.c, backend/executor/functions.c,
        backend/executor/nodeCtescan.c,
        backend/executor/nodeFunctionscan.c,
        backend/executor/nodeMaterial.c, backend/executor/nodeWindowAgg.c,
        backend/executor/nodeWorktablescan.c, backend/tcop/pquery.c,
        backend/utils/sort/tuplestore.c, include/utils/tuplestore.h: Fix
        possible failures when a tuplestore switches from in-memory to
        on-disk mode while callers hold pointers to in-memory tuples.  I
        reported this for the case of nodeWindowAgg's primary scan tuple,
        but inspection of the code shows that all of the calls in
        nodeWindowAgg and nodeCtescan are at risk.  For the moment, fix it
        with a rather brute-force approach of copying whenever one of the
        at-risk callers requests a tuple.  Later we might think of some
        sort of reference-count approach to reduce tuple copying.

2009-03-27 11:57  tgl

        * src/backend/catalog/index.c: Teach reindex_index() to clear
        pg_index.indcheckxmin when possible.  Greg Stark, slightly modified
        by me.

2009-03-27 10:58  heikki

        * src/bin/psql/: tab-complete.c (REL8_1_STABLE), tab-complete.c
        (REL8_3_STABLE), tab-complete.c (REL8_2_STABLE), tab-complete.c:
        Fix tab completion of ANALYZE VERBOSE <tab>. It was previously
        confused with EXPLAIN ANALYZE VERBOSE.
        
        Greg Sabino Mullane, reformatted by myself. Backpatch to 8.1, where
        the bug was introduced.

2009-03-27 08:01  mha

        * doc/src/sgml/release.sgml: Clearify new SSL certificate
        verification in libpq

2009-03-27 07:58  mha

        * doc/src/sgml/release.sgml: Fix release notes about pg_hba changes

2009-03-26 22:25  momjian

        * doc/src/sgml/release.sgml: Updated release wording, per Greg
        Stark:
        
               Previously EXPLAIN VERBOSE had output an internal
                representation of the

2009-03-26 21:44  momjian

        * doc/src/sgml/release.sgml: Second batch of release note fixes by
        Guillaume Smet

2009-03-26 21:26  momjian

        * doc/src/sgml/release.sgml: Mark Greg as the instigator of the
        statistics target increase:
        
               Increase the default value of default_statistics_target from
        10 to 100
               (Greg Sabino Mullane, Tom)

2009-03-26 20:45  momjian

        * doc/src/sgml/release.sgml: First round of release note changes
        from Guillaume Smet.

2009-03-26 20:11  momjian

        * doc/src/sgml/release.sgml: Fix release note attribution:
        
               Support the IS0 8601 time interval syntax (Tom, Kevin
                Grittner)
        
        per Ron Mayer

2009-03-26 20:08  momjian

        * doc/src/sgml/release.sgml: Improved release notes interval
        wording:
        
               Made interval seconds rounding more consistent across output
               formats (Ron Mayer)
        
        Ron Mayer

2009-03-26 20:06  momjian

        * doc/src/sgml/release.sgml: Remove duplicate interval (fractional
        seconds) items;  Ron Mayer

2009-03-26 20:01  momjian

        * doc/src/sgml/release.sgml: Document that Datestyle no longer
        controls interval output, per suggestion from Ron Mayer

2009-03-26 18:29  tgl

        * contrib/pg_standby/: pg_standby.c (REL8_3_STABLE), pg_standby.c:
        Make pg_standby's maxretries option do what one would expect. 
        Fujii Masao

2009-03-26 18:26  petere

        * src/: backend/catalog/dependency.c, backend/catalog/pg_proc.c,
        backend/catalog/pg_shdepend.c, backend/executor/execQual.c,
        backend/parser/parse_func.c, backend/postmaster/bgwriter.c,
        bin/pg_dump/pg_backup_archiver.c, bin/pg_dump/pg_backup_tar.c,
        bin/pg_dump/pg_dump.c, bin/psql/describe.c, bin/psql/print.c,
        include/c.h, interfaces/ecpg/preproc/variable.c,
        pl/plpgsql/src/pl_exec.c, pl/plpython/plpython.c: Gettext plural
        support
        
        In the backend, I changed only a handful of exemplary or
        important-looking instances to make use of the plural support;
        there is probably more work there.  For the rest of the source,
        this should cover all relevant cases.

2009-03-26 16:55  tgl

        * doc/src/sgml/: charset.sgml, config.sgml: Fix a couple of places
        that still claimed LC_COLLATE and LC_CTYPE can't be changed after
        initdb.

2009-03-26 15:24  tgl

        * src/backend/commands/copy.c: Adjust phrasing of complaints about
        multi-byte COPY delimiter strings.  Per pgsql-hackers discussion of
        2009-02-17.

2009-03-26 13:15  tgl

        * src/: backend/nodes/outfuncs.c,
        backend/optimizer/path/costsize.c,
        backend/optimizer/plan/createplan.c,
        backend/optimizer/util/pathnode.c, include/nodes/relation.h: If we
        expect a hash join to be performed in multiple batches, suppress
        "physical tlist" optimization on the outer relation (ie, force a
        projection step to occur in its scan).  This avoids storing useless
        column values when the outer relation's tuples are written to
        temporary batch files.
        
        Modified version of a patch by Michael Henderson and Ramon
        Lawrence.

2009-03-26 08:38  momjian

        * doc/src/sgml/release.sgml: Correction:  ansi-join ->anti-join.

2009-03-25 23:46  tgl

        * doc/src/sgml/release.sgml: Fix markup so that 'make HISTORY'
        works.  A couple very minor editorial improvements.

2009-03-25 22:48  momjian

        * doc/src/sgml/release.sgml: Reorder 8.4 release note sections.

2009-03-25 22:40  momjian

        * doc/src/sgml/release.sgml: Re-add release notes for release
        8.3.7.

2009-03-25 21:48  momjian

        * doc/src/sgml/release.sgml: Adjust AS OF release notes markup.

2009-03-25 21:31  momjian

        * doc/src/sgml/release.sgml: Mention release note items current as
        of 2009-03-16.

2009-03-25 21:19  momjian

        * doc/src/sgml/release.sgml: First version of 8.4 release notes; 
        markup/cleanup/reorganization still required.

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to