Re: 8.5 release timetable, again - Mailing list pgsql-hackers

From Tom Lane
Subject Re: 8.5 release timetable, again
Date
Msg-id 27310.1251410965@sss.pgh.pa.us
Whole thread Raw
In response to Re: 8.5 release timetable, again  ("Kevin Grittner" <Kevin.Grittner@wicourts.gov>)
Responses Re: 8.5 release timetable, again  (Robert Haas <robertmhaas@gmail.com>)
Re: 8.5 release timetable, again  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
"Kevin Grittner" <Kevin.Grittner@wicourts.gov> writes:
> Robert Haas <robertmhaas@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 throughyesterday; some minor wordsmithing.

2009-04-09 18:32  momjian
* doc/src/sgml/monitoring.sgml: Clarify documentation references topg_stat_get_blocks_fetched and
pg_stat_get_blocks_hit,persuggestion 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 andconfig.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 timezone data files to tzdata release 2009e: DST law changes inArgentina/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: Translationupdates for 8.4 beta
 

2009-04-09 15:07  tgl
* doc/src/sgml/gin.sgml: Update GIN limitations documentation tomatch 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 functioncardinality().
Itis not exactly clear how this ought to behavefor multi-dimensional arrays.  Per discussion, not having it at allseems
betterthan having it with what might prove to be the wrongbehavior.  We can always add it later when we have consensus
onthecorrect behavior.
 

2009-04-09 12:20  momjian
* doc/src/sgml/wal.sgml: Improve documentation about how checkpointspreads I/O activity.

2009-04-09 10:21  tgl
* src/backend/utils/misc/guc-file.l: Treat EOF like \n forline-counting purposes in ParseConfigFile, per bug #4752.
FujiiMasao

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:Fixthe plpgsql memory leak exhibited in bug #4677.  That leak wasintroduced by my patch of
2007-01-28to use per-subtransactionExprContexts/EStates: since we re-prepared any expression tree whenthe current
subtransactionID changed, we'd accumulate more andmore leaked expression state trees in the outermost subtransactionif
thesame function was executed at multiple levels ofsubtransaction nesting.  To fix, go back to the previous schemewhere
therewas only one EState per transaction for simple plpgsqlexpressions.  We really only need an ExprContext
persubtransaction,not a whole EState, so it's possible to keepprepared expression state trees in the one EState
throughoutthetransaction.  This should be more efficient as well as not leakingmemory for cases involving lots of
subtransactions.Theadded regression test is the case that inspired the 2007-01-28patch in the first place, just to make
surewe didn't go backwards. The current memory leak complaint is unfortunately hard to testfor in the regression test
framework,though manual testing showsit's fixed.Although this is a pre-existing bug, I'm not back-patching becauseI'd
liketo see this method get some field testing first.  Considerback-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: Removepsql's ancient hack that suppressed functions taking
orreturningcstring from the output of \df.  Now that the default behavior isto exclude all system functions, the
de-clutteringrationale forthis behavior seems pretty weak; and it was always quiteconfusing/unhelpful if you were
actuallylooking for I/O functions. (Not to mention if you were looking for encoding converters orother cases that might
takeor return cstring.)
 

2009-04-08 18:08  tgl
* src/: backend/utils/adt/numeric.c,test/regress/expected/numeric.out: Allow leading and trailingspaces around NaN in
numeric_in.SamMason, 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
attributevalues throughmap_sql_value_to_xml_value() instead of directly through the datatype output function.  This is
perSQL standard, and consistentwith XMLELEMENT().
 

2009-04-08 15:02  heikki
* src/bin/pg_dump/: pg_dump.c, pg_dumpall.c: Quote string literalscorrectly in the new CREATE SERVER statements and
binaryupgradeUPDATE statements.
 

2009-04-08 09:08  heikki
* src/backend/utils/init/postinit.c: Oops, mustn't calltextdomain() 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:
Tellgettext which codeset to use by callingbind_textdomain_codeset(). We already did that on Windows, but it'sneeded on
otherplatforms too when LC_CTYPE=C. With other locales,we enforce (or trust) that the codeset of the locale matches
theserverencoding so we don't need to bind it explicitly. It shoulddo no harm in that case either, but I don't have
fullfaith in thePG encoding -> OS codeset mapping table yet. Per recent discussionon 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 GUCdescriptions;  doesn't affect postgresql.conf.

2009-04-07 18:48  momjian
* configure, configure.in: Disable effective_io_concurrency onSolaris 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 GUCunits 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
UsersGroup)

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 filesfrom CVS;  now on the wiki.Per-language files kept for
transatorusage.
 

2009-04-07 15:35  mha
* src/tools/msvc/Mkvcbuild.pm: Support Perl 5.10 and TCL 8.5 inMSVC builds.We should probably have a better way to do
this(meaning somethingnot 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'sunderestimateof the number of pages it could find in the FSM.    Perreport from Dimitri
Fontaineand Andrew Gierth.(Affects only 8.2 and 8.3 since HEAD no longer has MaxFSMPages atall.)
 

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 onepage bug' in picksplit method of R-tree emulation. Add
defensefrombuggy 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
picksplitmethodof R-tree emulation. Add defense from buggy user-definedpicksplit 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-ASCIIletters in fuzzystrmatchcode.  The functions still don't behave very sanely for multibyteencodings, but at
leastthey won't be indexing off the ends ofstatic arrays.
 

2009-04-07 00:02  momjian
* doc/src/sgml/trigger.sgml: Add doc link to section about how tocompile 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:Addan optional parameter to pg_start_backup() that specifieswhether to do the checkpoint
inimmediate or lazy mode.  This is toaddress complaints that pg_start_backup() takes a long time evenwhen there's no
needto minimize its I/O consumption.
 

2009-04-06 17:00  momjian
* src/backend/utils/misc/: guc.c, postgresql.conf.sample: Add unitdocumentation for various postgresql.conf settings.

2009-04-06 15:34  petere
* src/backend/utils/mb/mbutils.c: Add entry in the encoding numberto OS name table for KOI8-U.

2009-04-06 15:03  momjian
* src/backend/utils/misc/postgresql.conf.sample: Properly alignequals signs in new postgresql.conf units comments.

2009-04-06 15:00  momjian
* src/backend/utils/misc/postgresql.conf.sample: Document inpostgresql.conf that the default units
forlog_min_duration_statementis milliseconds.
 

2009-04-06 14:40  momjian
* src/backend/utils/misc/postgresql.conf.sample: Displaypostgresql.conf unit options in an easier-to-understand,
2-columnformat.

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
aboutadditionalmodifiers for \d commands.
 

2009-04-06 11:43  tgl
* doc/src/sgml/fuzzystrmatch.sgml: Document the fact thatfuzzystrmatch doesn't work in multibyte encodings.

2009-04-06 11:01  tgl
* doc/src/sgml/keywords.sgml: Correct keywords table for status ofCOLLATE 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
ofR-treeemulation. Add defense from buggy user-defined picksplit toGiST.
 

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
ofR-treeemulation. Add defense from buggy user-defined picksplit toGiST.
 

2009-04-06 10:27  teodor
* src/backend/access/gist/: gistproc.c, gistsplit.c: Fix 'all atone page bug' in picksplit method of R-tree emulation.
Adddefensefrom 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 CREATEDATABASE options to set
collationand ctype into LC_COLLATE andLC_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:
Changecardinality() into a C-code function,instead of a SQL-language alias for array_length(v,1).    Theefficiency gain
hereis doubtless negligible --- what I'minterested in is making sure that if we have second thoughts aboutthe
definition,we will not have to force a post-beta initdb tochange the implementation.
 

2009-04-05 16:32  tgl
* src/backend/executor/execQual.c: Make ExecInitExpr build the listof SubPlans found in a plan tree in order of
discovery,rather thanreverse order.    This doesn't matter functionally (I suppose theprevious coding dates from the
timewhen lcons was markedly cheaperthan lappend).    However now that EXPLAIN is labeling subplans withIDs that are
basedon order of creation, this may help produce aslightly 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:
ChangeEXPLAIN output so that subplansand initplans (particularly CTEs) are individually labeled, ratherthan just
groupedunder an "InitPlan" or "SubPlan" heading.  Thisin turn makes it possible for decompilation of a subplan
referencetousefully identify which subplan it's referencing.  I also madeInitPlans identify which parameter symbol(s)
theycompute, so thatreferences to those parameters elsewhere in the plan tree can beconnected to the initplan that will
beexecuted.  Per a gripe fromRobert Haas about EXPLAIN output of a WITH query being inadequate,plus some longstanding
petpeeves of my own.
 

2009-04-05 07:32  teodor
* src/backend/access/gin/: ginget.c, ginscan.c: Fix infinite loopwhile checking of partial match in pending list.
Improvecomments.Now GIN-indexable operators should be strict.  Per Tom'squestions/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 ofuseless definitions of 'int
optreset'.   If we are using our ownports of getopt or getopt_long, those will define the variable forthemselves; and
ifnot, we don't need these, because we never touchthe variable anyway.
 

2009-04-05 00:09  tgl
* src/include/pg_config.h.win32: I had always wondered whypg_config.h.win32 claimed that Windows provides optreset.
Currentmastodonresults prove that in fact it does not; it was onlybecause getopt.c defined the variable anyway that
thingsfailed tofall 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'sdefinitions of the <@ and @> operators,so that they don't cause confusion with the built-in
anyarrayversionsof those operators.  Adjust the module's index opclassesto support the built-in operators in place of
theprivate ones.The private implementations are still available under theirhistorical names @ and ~, so no
functionalityis lost.    Some quicktesting suggests that they offer no real benefit over the coreoperators, however.Per
acomplaint 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
11breakage:add a configure probe for opterr (exactly like the onefor optreset) and have getopt.c define the variables
onlyifconfigure 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 therecently added node types
ReloptElemand OptionDefElem in favor ofadding optional namespace and action fields to DefElem.  Havingthree node types
thatdo essentially the same thing bloats the codeand leads to errors of confusion, such as in yesterday's bug
reportfromKhee 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 livesnapshots does not have to be
waitedfor when we are waiting forold snapshots to go away during a concurrent index build.  Inparticular, this rule
letsus avoid waiting for idle-in-transactionsessions.This logic could be improved further if we had some way to wake
upwhenthe session we are currently waiting for goesidle-in-transaction.  However that would be a significantly
morecomplex/invasivepatch, 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()
sothat the hashcodes are equal for valuesthat interval_eq() considers equal.  I'm not sure how thatfundamental
requirementescaped us through multiple revisions ofthis hash function, but there it is; it's been wrong
sinceinterval_hashwas first written for PG 7.1.  Per bug #4748 fromRoman Kononov.Backpatch to all supported
releases.Thispatch changes the contents of hash indexes for intervalcolumns.  That's no particular problem for PG 8.4,
sincewe'vebroken on-disk compatibility of hash indexes already; but it willrequire a migration warning note in the next
minorreleases of allexisting branches: "if you have any hash indexes on columns of typeinterval, REINDEX them after
updating".

2009-04-03 20:45  alvherre
* src/: backend/access/common/reloptions.c,include/access/reloptions.h: Disallow setting fillfactor for TOASTtables.To
implementthis without almost duplicating the reloption table,treat relopt_kind as a bitmask instead of an integer
value. Thisdecreases the range of allowed values, but it's not clear thatthere's need for that much values anyway.This
patchalso makes heap_reloptions explicitly a no-op forrelation kinds other than heap and TOAST tables.Patch by ITAGAKI
Takahirowith minor edits from me.  (In particularI removed the bit about adding relation kind to an error message,which
Iintend 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 consistentabout the treatment of TOAST tables and indexes; to
wit,never showeither.  (You can examine them with plain \d if you're really soinclined.)
 

2009-04-03 20:39  tgl
* doc/src/sgml/ref/psql-ref.sgml: Minor wordsmithing ondescriptions 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 badexamples where people might copy them.
Also,reformat slightly toimprove 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 documentingthe question of whether PrefetchBuffer should try to
protectanalready-existing buffer from being evicted.  This was left as anopen issue when the posix_fadvise patch was
committed.   I'm notsure there's any evidence to justify more work in this area, but weshould have some record about it
inthe 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 plpythonfunction does not specify
namesfor its arguments.  Also add aregression test, since someone apparently changed every singleplpython test case to
useonly named parameters; else we'd havenoticed 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.Thismethod will not catch all different ways since the localehandling in NTFS doesn't provide an easy way
todo that, but itwill hopefully solve the most common cases causing startup problemswhen the backend is found in the
systemPATH.Attempts to fix bug #4694.
 

2009-04-02 18:44  momjian
* doc/src/sgml/config.sgml: Document that Solaris can't useeffective_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
associatedroutinesso that fast-path code is used for simple Var targetlistentries all the time, even when there are
otherentries that arenot simple Vars.  Also, ensure that we prefetch attributes (withslot_getsomeattrs) for all Vars in
thetargetlist, even thoseburied within expressions.  In combination these changes seem tosignificantly reduce the
runtimefor cases where tlists are mostlybut 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 codebeautification/consolidation.

2009-04-02 15:57  momjian
* src/backend/utils/misc/guc.c: Give a better error message whentrying to change "effective_io_concurrency" on systems
withoutposix_fadvise().

2009-04-02 15:20  momjian
* doc/src/sgml/plpgsql.sgml, src/pl/plpgsql/src/pl_exec.c: HavePL/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: Addsupport for additional DTrace probes.Robert Lor
 

2009-04-02 14:06  teodor
* contrib/hstore/hstore_io.c (REL8_2_STABLE): Fix memory allocationfor output of hstore type.  Per
"maosen.zhang"<maosen.zhang@alibaba-inc.com>report.
 

2009-04-02 13:57  teodor
* contrib/hstore/: hstore_io.c (REL8_3_STABLE), hstore_io.c: Fixmemory allocation for output of hstore type.  Per
"maosen.zhang"<maosen.zhang@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: FixSetClientEncoding() to maintain a cache of previously
selectedencodingconversion functions.    This allows transaction rollback torevert to a previous client_encoding
settingwithout doing freshcatalog lookups.  I believe that this explains and fixes the recentreport of "failed to
commitclient_encoding" failures.This bug is present in 8.3.x, but it doesn't seem prudent toback-patch the fix, at
leastnot till it's had some time for fieldtesting in HEAD.In passing, remove SetDefaultClientEncoding(), which was
usednowhere.

2009-04-02 11:15  momjian
* doc/src/sgml/ref/psql-ref.sgml, src/bin/psql/describe.c: Changepsql \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'sreports of assign_hook failure to always include the
parametervaluewe failed to assign, even in "can't happen" cases.  Motivatedby wondering what's going on in a recent
troublereport 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()mistakenlysupposed that it could bypass casting effort wheneverthe input value was NULL.
Howeverthis prevents application ofnot-null domain constraints in the cases that use this function, asillustrated in
bug#4741.  Since this function isn't meant for usein performance-critical paths anyway, this certainly seems
likeanothercase of "premature optimization is the root of all evil".Back-patch as far as 8.2; older versions made no
effortto enforcedomain constraints here anyway.
 

2009-04-01 14:54  tgl
* src/bin/pg_dump/: pg_dump.c (REL8_3_STABLE), pg_dump.c: Improvepg_dump's query for retrieving BLOB comments to be
moreefficientwhen 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 thatLC_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 MarioSplivalo.

2009-03-31 23:23  tgl
* src/backend/libpq/: auth.c, pg_hba.conf.sample: Remove lastreferences 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:Fixcontrib/pgstattuple and contrib/pageinspect to prevent attempts toread temporary tables of
othersessions; that is unsafe because ofthe way our buffer management works.  Per report from StuartBishop.  This is
redundantwith the bufmgr.c checks in HEAD, butnot at all redundant in the back branches.
 

2009-03-31 18:23  momjian
* doc/src/sgml/release.sgml: Remove some "Other" sections in therelease 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 therelcache to record the
tempstatus of both local and nonlocal temprelations; this is no more expensive than before, now that we
havepg_class.relistemp. Insert tests into bufmgr.c to preventattempting to fetch pages from nonlocal temp relations.
Thisprovidesa low-level defense against bugs-of-omission allowing temppages to be loaded into shared buffers, as in
thecontrib/pgstattupleproblem reported by Stuart Bishop.    While atit, tweak a bunch of places to use new relcache
tests(instead ofexpensive probes into pg_namespace) to detect local or nonlocaltemp 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 getthe current username.  Give an error message
andexit instead, likewe 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:Adda "relistemp" boolean column to pg_class, which is true fortemporary relations
(includinga temp table's indexes and toasttable/index), and false for normal relations.  For ease ofchecking, this
commitjust adds the column and fills it correctly--- revising the relation access machinery to use it will
comeseparately.

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 anda transaction commits at the same
instantas a new backend isspawned. Since CountActiveBackends() doesn't hold ProcArrayLock, itneeds to be prepared for
thecase that a pointer at the end of theproc array is still NULL even though numProcs says it should bevalid, since it
doesn'thold ProcArrayLock. Backpatch to 8.1.  8.0and earlier had this right, but it was broken in the split ofPGPROC
andsinval shared memory arrays.Per report and proposal by Marko Kreen.
 

2009-03-30 22:34  momjian
* doc/src/sgml/release.sgml: Update release note introductorydescription.

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:AddPQinitOpenSSL() function to support applications that uselibcrypto but not OpenSSL
(orperhaps vice versa, if that'spossible).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 alower 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 wordingimprovements;  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 plangeneration to cope with volatile sort expressions.
(Notclear howuseful these really are, but failing is no good...) Per report fromDavid 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'tseemworthy 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 forstoring/retrieving
"minimaltuples" in TupleTableSlots.  We havefunctions for retrieving a minimal tuple from a slot after storinga regular
tuplein it, or vice versa; but these were implemented byconverting the internal storage from one format to the other.
Theproblemwith that is it invalidates any pass-by-reference Datumsthat were already fetched from the slot, since
they'llbe pointinginto the just-freed version of the tuple.  The known problem casesinvolve fetching both a whole-row
variableand a pass-by-referencevalue from a slot that is fed from a tuplestore or tuplesortobject.  The added
regressiontests illustrate some simple cases,but there may be other failure scenarios traceable to the same bug. Note
thatthe added tests probably only fail on unpatched code ifit's built with --enable-cassert; otherwise the bug leads
tofetchingfrom freed memory, which will not have been overwrittenwithout additional conditions.Fix by allowing a slot
tocontain both formats simultaneously;which turns out not to complicate the logic much at all, ifanything it seems less
contortedthan 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 forcommands/literal/application/etc in release notes; still more workto
do.

2009-03-28 18:05  momjian
* doc/src/sgml/release.sgml: Consistent 8.4 release note naming forItagaki 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 ismulti-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: Betterdocument that SET ROLE does not uset ALTER ROLE SET
settings;suggestedwording from Josh Berkus.
 

2009-03-27 21:36  momjian
* doc/src/sgml/libpq.sgml, src/interfaces/libpq/fe-secure.c: Betterdocument PQinitSSL(0) behavior in regards to
libcrypto.

2009-03-27 20:10  tgl
* doc/src/sgml/monitoring.sgml: Add documentation of the fact thatdtrace 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 INis only for NOT EXIST clauses.Andrew Gierth

2009-03-27 15:58  tgl
* configure, configure.in: On Solaris, we should only force use ofour own getopt(); it's okay to use the system's
getopt_long().   Theprevious coding was the result of a sloppy discussion that failedto draw this distinction.  The
resultwas that PG programs don'thandle options as users of that platform expect.  Per gripe fromChuck McDevitt.Although
thisis a pre-existing bug, I'm not backpatching since Ithink we could do with a bit of beta testing before concluding
thisisreally 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 wereject infinite dates and timestamps while converting
toXML. 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: Fixpossible failures when a
tuplestoreswitches from in-memory toon-disk mode while callers hold pointers to in-memory tuples.  Ireported this for
thecase of nodeWindowAgg's primary scan tuple,but inspection of the code shows that all of the calls innodeWindowAgg
andnodeCtescan are at risk.  For the moment, fix itwith a rather brute-force approach of copying whenever one of
theat-riskcallers requests a tuple.  Later we might think of somesort of reference-count approach to reduce tuple
copying.

2009-03-27 11:57  tgl
* src/backend/catalog/index.c: Teach reindex_index() to clearpg_index.indcheckxmin when possible.  Greg Stark, slightly
modifiedbyme.
 

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:Fixtab completion of ANALYZE VERBOSE <tab>. It was previouslyconfused with EXPLAIN ANALYZE VERBOSE.Greg
SabinoMullane, reformatted by myself. Backpatch to 8.1, wherethe bug was introduced.
 

2009-03-27 08:01  mha
* doc/src/sgml/release.sgml: Clearify new SSL certificateverification 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 GregStark:       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 byGuillaume Smet

2009-03-26 21:26  momjian
* doc/src/sgml/release.sgml: Mark Greg as the instigator of thestatistics target increase:       Increase the default
valueof default_statistics_target from10 to 100       (Greg Sabino Mullane, Tom)
 

2009-03-26 20:45  momjian
* doc/src/sgml/release.sgml: First round of release note changesfrom 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 intervalwording:       Made interval seconds rounding more
consistentacross output       formats (Ron Mayer)Ron Mayer
 

2009-03-26 20:06  momjian
* doc/src/sgml/release.sgml: Remove duplicate interval (fractionalseconds) items;  Ron Mayer

2009-03-26 20:01  momjian
* doc/src/sgml/release.sgml: Document that Datestyle no longercontrols 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 pluralsupportIn the
backend,I changed only a handful of exemplary orimportant-looking instances to make use of the plural support;there is
probablymore 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 placesthat still claimed LC_COLLATE and LC_CTYPE can't be
changedafterinitdb.
 

2009-03-26 15:24  tgl
* src/backend/commands/copy.c: Adjust phrasing of complaints aboutmulti-byte COPY delimiter strings.  Per pgsql-hackers
discussionof2009-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 weexpect a hash join to be performed in multiple batches, suppress"physical tlist"
optimizationon the outer relation (ie, force aprojection step to occur in its scan).    This avoids storing
uselesscolumnvalues when the outer relation's tuples are written totemporary batch files.Modified version of a patch by
MichaelHenderson and RamonLawrence.
 

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 release8.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 asof 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.


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: 8.5 release timetable, again
Next
From: David Fetter
Date:
Subject: Re: 8.5 release timetable, again