https://wiki.postgresql.org/api.php?action=feedcontributions&user=Ramayer&feedformat=atomPostgreSQL wiki - User contributions [en]2024-03-28T18:44:54ZUser contributionsMediaWiki 1.35.13https://wiki.postgresql.org/index.php?title=Todo&diff=19740Todo2013-05-15T02:56:00Z<p>Ramayer: /* Text Search */</p>
<hr />
<div><div style="margin: 1ex 1em; float: right;"><br />
__TOC__<br />
</div><br />
<br />
This list contains '''known PostgreSQL bugs and feature requests''' and we hope it is complete. If you would like to work on an item, please read the [[Developer FAQ]] first. There is also a [[Development_information|development information page]].<br />
<br />
* {{TodoPending}} - marks ordinary, incomplete items<br />
* {{TodoEasy}} - marks items that are easier to implement<br />
* {{TodoDone}} - marks changes that are done, and will appear in the PostgreSQL 9.3 release.<br />
<br />
For help on editing this list, please see [[Talk:Todo]]. <b>Please do not add items here without discussion on the mailing list.</b><br />
<br />
<b>For Developers:</b> Unfortunately this list does not contain all the information necessary for someone to start coding a feature. Some of these items might have become unnecessary since they were added --- others might be desirable but the implementation might be unclear. When selecting items listed below, be prepared to first discuss the value of the feature. Do not assume that you can select one, code it and then expect it to be committed. Always discuss design on Hackers list before starting to code. The flow should be:<br />
<br />
Desirability -> Design -> Implement -> Test -> Review -> Commit<br />
<br />
<div style="padding: 1ex 4em;"><br />
== Administration ==<br />
<br />
{{TodoItem<br />
|Allow administrators to cancel multi-statement idle transactions<br />
|This allows locks to be released, but it is complex to report the cancellation back to the client.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg01340.php <nowiki>Cancelling idle in transaction state</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg00441.php <nowiki>Re: Cancelling idle in transaction state</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Check for unreferenced table files created by transactions that were in-progress when the server terminated abruptly<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php <nowiki>Removing unreferenced files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Set proper permissions on non-system schemas during db creation<br />
|Currently all schemas are owned by the super-user because they are copied from the template1 database. However, since all objects are inherited from the template database, it is not clear that setting schemas to the db owner is correct.}}<br />
<br />
{{TodoItem<br />
|Allow log_min_messages to be specified on a per-module basis<br />
|This would allow administrators to see more detailed information from specific sections of the backend, e.g. checkpoints, autovacuum, etc. Another idea is to allow separate configuration files for each module, or allow arbitrary SET commands to be passed to them. See also [[Logging Brainstorm]].}}<br />
<br />
{{TodoItem<br />
|Simplify creation of partitioned tables<br />
|This would allow creation of partitioned tables without requiring creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints for rapid partition selection. Options could include range and hash partition selection. See also [[Table partitioning]]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow custom variables to appear in pg_settings()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00850.php <nowiki>Re: count(*) performance improvement ideas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have custom variables be transaction-safe<br />
* {{MessageLink|4B577E9F.8000505@dunslane.net|Custom GUCs still a bit broken}}<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the SQL-standard mechanism whereby REVOKE ROLE revokes only the privilege granted by the invoking role, and not those granted by other roles<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00010.php <nowiki>Re: Grantor name gets lost when grantor role dropped</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent query cancel packets from being replayed by an attacker, especially when using SSL<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00345.php <nowiki>Replay attack of query cancel</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a way to query the log collector subprocess to determine the name of the currently active log file<br />
* [http://archives.postgresql.org/pgsql-general/2008-11/msg00418.php <nowiki>Current log files when rotating?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow simpler reporting of the unix domain socket directory and allow easier configuration of its default location<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg01555.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-10/msg01482.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow custom daemons to be automatically stopped/started along with the postmaster<br />
|This allows easier administration of daemons like user job schedulers or replication-related daemons.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01701.php <nowiki>Re: scheduler in core</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve logging of prepared transactions recovered during startup<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php <nowiki>&quot;recovering prepared transaction&quot; after server restart message</nowiki>]<br />
}}<br />
<br />
=== Configuration files ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow postgresql.conf file values to be changed via an SQL API, perhaps using SET GLOBAL<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00764.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01509.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-11/msg00002.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider normalizing fractions in postgresql.conf, perhaps using '%'<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00550.php <nowiki>Fractions in GUC variables</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow Kerberos to disable stripping of realms so we can check the username@realm against multiple realms<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00009.php <nowiki>krb_match_realm patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve LDAP authentication configuration options<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01745.php <nowiki>Proposed Patch - LDAPS support for servers on port 636 w/o TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add external tool to auto-tune some postgresql.conf parameters<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00000.php <nowiki>Re: Overhauling GUCS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00033.php <nowiki>Simple postgresql.conf wizard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add 'hostgss' pg_hba.conf option to allow GSS link-level encryption<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg01454.php <nowiki>Re: Plans for 8.4</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Process pg_hba.conf keywords as case-insensitive<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00432.php <nowiki>More robust pg_hba.conf parsing/error logging</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Create utility to compute accurate random_page_cost value<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00162.php<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00362.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow configuration files to be independently validated<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01831.php<br />
* http://archives.postgresql.org/message-id/12666.1310774573@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Allow postgresql.conf settings to be accepted by backends even if some settings are invalid for those backends<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00330.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00375.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow all backends to receive postgresql.conf setting changes at the same time<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00330.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00375.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow synchronous_standby_names to be disabled after communication failure with all synchronous standby servers exceeds some timeout<br />
|This also requires successful execution of a synchronous notification command.<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00409.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Tablespaces ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow a database in tablespace t1 with tables created in tablespace t2 to be used as a template for a new database created with default tablespace t2<br />
|Currently all objects in the default database tablespace must have default tablespace specifications. This is because new databases are created by copying directories. If you mix default tablespace tables and tablespace-specified tables in the same directory, creating a new database from such a mixed directory would create a new database with tables that had incorrect explicit tablespaces. To fix this would require modifying pg_class in the newly copied database, which we don't currently do.}}<br />
<br />
{{TodoItem<br />
|Allow reporting of which objects are in which tablespaces<br />
|This item is difficult because a tablespace can contain objects from multiple databases. There is a server-side function that returns the databases which use a specific tablespace, so this requires a tool that will call that function and connect to each database to find the objects in each database for that tablespace.}}<br />
<br />
{{TodoItem<br />
|Allow WAL replay of CREATE TABLESPACE to work when the directory structure on the recovery computer is different from the original}}<br />
<br />
{{TodoItem<br />
|Allow per-tablespace quotas}}<br />
<br />
{{TodoItem<br />
|Allow tablespaces on RAM-based partitions for unlogged tables<br />
* http://archives.postgresql.org/pgsql-advocacy/2011-05/msg00033.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow toast tables to be moved to a different tablespace<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-05/msg00980.php]<br />
* {{messageLink|CAFEQCbH756DyyAPQ1ykh3+b+kE1-EhWRww1WO_x5v38C-uLnUg@mail.gmail.com|patch : Allow toast tables to be moved to a different tablespace}} (issues remain)<br />
* [http://archives.postgresql.org/message-id/CAFEQCbEq07OopgE5xFYv2Q3eMq45hRSJkjCBO+kvpJq9NEVhow@mail.gmail.com Allow toast tables to be moved to a different tablespace]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Statistics Collector ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow statistics last vacuum/analyze execution times to be displayed without requiring track_counts to be enabled<br />
* [http://archives.postgresql.org/pgsql-docs/2007-04/msg00028.php <nowiki>row-level stats and last analyze time</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Clear table counters on TRUNCATE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg00169.php <nowiki>Small TRUNCATE glitch</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SSL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SSL authentication/encryption over unix domain sockets<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00924.php <nowiki>Re: Spoofing as the postmaster</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow SSL key file permission checks to be optionally disabled when sharing SSL keys with other applications<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00069.php <nowiki>BUG #3809: SSL &quot;unsafe&quot; private key permissions bug</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow SSL CRL files to be re-read during configuration file reload, rather than requiring a server restart<br />
|Unlike SSL CRT files, CRL (Certificate Revocation List) files are updated frequently<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00832.php <nowiki>Automatic CRL reload</nowiki>]<br />
Alternatively or additionally supporting OCSP (online certificate security protocol) would provide real-time revocation discovery without reloading<br />
}}<br />
<br />
{{TodoItem<br />
| Allow automatic selection of SSL client certificates from a certificate store<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00406.php <nowiki>Allow multiple certificates or keys in the postgresql.crt/.key files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Send the full certificate server chain to the client<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-12/msg00145.php BUG #5245: Full Server Certificate Chain Not Sent to client]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Point-In-Time Recovery (PITR) ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow archive_mode to be changed without server restart?<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01655.php <nowiki>Enabling archive_mode without restart</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider avoiding WAL switching via archive_timeout if there has been no database activity<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01469.php <nowiki>archive_timeout behavior for no activity</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg00395.php <nowiki>Re: archive_timeout behavior for no activity</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow base backup from standby to continue when the standby is promoted.<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-10/msg00239.php <nowiki>Re: Promoting a standby during base backup</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add recovery target option to stop as soon as consistency is reached.<br />
* [http://archives.postgresql.org/message-id/5188F87D.1080908@vmware.com <nowiki>Re: Recovery target 'immediate'</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Standby server mode ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
| Allow pg_xlogfile_name() to be used in recovery mode<br />
* [http://archives.postgresql.org/message-id/3f0b79eb1001190135vd9f62f1sa7868abc1ea61d12@mail.gmail.com <nowiki>Streaming replication and pg_xlogfile_name()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Prevent variables inherited from the server environment from begin used for making streaming replication connections.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01011.php <nowiki>Re: Parameter name standby_mode</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Change walsender so that it applies per-role settings<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00642.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure configuration parameters for standby mode<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg01820.php<br />
}}<br />
<br />
{{TodoItemf<br />
| Allow time-delayed application of logs on the standby<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00992.php<br />
}}<br />
<br />
{{TodoItem<br />
| Add -X parameter to pg_basebackup to specify a different directory for px_xlog, like initdb<br />
}}<br />
<br />
{{TodoItem<br />
| Add a new "eager" synchronous mode that starts out synchronous but reverts to asynchronous after a failure timeout period<br />
|This would require some type of command to be executed to alert administrators of this change.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-12/msg01224.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Data Types ==<br />
<br />
{{TodoItem<br />
|Fix data types where equality comparison is not intuitive, e.g. box<br />
* http://archives.postgresql.org/pgsql-hackers/2011-10/msg01643.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for public SYNONYMs<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php <nowiki>Proposal for SYNONYMS</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg02043.php<br />
* http://archives.postgresql.org/pgsql-general/2010-12/msg00139.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for SQL-standard GENERATED/IDENTITY columns<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php <nowiki>Re: Three weeks left until feature freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00038.php <nowiki>GENERATED ... AS IDENTITY, Was: Re: Feature Freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php <nowiki>Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php <nowiki>Re: [HACKERS] Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00604.php <nowiki>IDENTITY/GENERATED patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider placing all sequences in a single table, or create a system view<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-02/msg00258.php Removing special case OID generation]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a special data type for regular expressions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php <nowiki>Why is there a tsquery data type?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce BIT data type overhead using short varlena headers<br />
* [http://archives.postgresql.org/pgsql-general/2007-12/msg00273.php <nowiki>storage size of &quot;bit&quot; data type..</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow renaming and deleting enumerated values from an existing enumerated data type<br />
}}<br />
<br />
{{TodoItem<br />
|Support scoped IPv6 addresses in the inet type<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php <nowiki>strange problem with ip6</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Considering improving performance of computing CHAR() value lengths<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00900.php <nowiki>char() overhead on read-only workloads not so insignifcant as the docs claim it is...</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01787.php <nowiki>Re: [PATCH] backend: compare word-at-a-time in bcTruelen</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add overlaps geometric operators that ignore point overlaps<br />
* http://archives.postgresql.org/pgsql-hackers/2010-03/msg00861.php<br />
}}<br />
<br />
{{TodoItem<br />
|Remove or improve rounding in geometric comparison operators<br />
* http://archives.postgresql.org/message-id/9804.1346187849@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
| Add IMMUTABLE column attribute<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00623.php<br />
}}<br />
<br />
=== Domains ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow functions defined as casts to domains to be called during casting<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php <nowiki>bug? non working casts for domain</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php <nowiki>TODO: Fix CREATE CAST on DOMAINs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow values to be cast to domain types<br />
* [http://archives.postgresql.org/pgsql-hackers/2003-06/msg01206.php <nowiki>Domain casting still doesn't work right</nowiki>] <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00289.php <nowiki>domain casting?</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00812.php<br />
}}<br />
<br />
{{TodoItem<br />
|Make domains work better with polymorphic functions<br />
* [http://archives.postgresql.org/message-id/4887.1228700773@sss.pgh.pa.us Polymorphic types vs. domains]<br />
* [http://archives.postgresql.org/message-id/15535.1238774571@sss.pgh.pa.us some difficulties with fixing it]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Dates and Times ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow infinite intervals just like infinite timestamps<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00076.php<br />
}}<br />
<br />
{{TodoItem<br />
|Determine how to represent date/time field extraction on infinite timestamps<br />
* [http://archives.postgresql.org/message-id/CA+mi_8bda-Fnev9iXeUbnqhVaCWzbYhHkWoxPQfBca9eDPpRMw@mail.gmail.com extract(epoch from infinity) is not 0]<br />
* [http://archives.postgresql.org/message-id/CADAkt-icuESH16uLOCXbR-dKpcvwtUJE4JWXnkdAjAAwP6j12g@mail.gmail.com converting between infinity timestamp and float8]<br />
}}<br />
<br />
<br />
{{TodoItem<br />
|Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC<br />
|If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php <nowiki>timestamp with time zone a la sql99</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have timestamp subtraction not call justify_hours()?<br />
* [http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php <nowiki>timestamp subtraction (was Re: formatting intervals with to_char)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve TIMESTAMP WITH TIME ZONE subtraction to be DST-aware<br />
|Currently subtracting one date from another that crosses a daylight savings time adjustment can return '1 day 1 hour', but adding that back to the first date returns a time one hour in the future. This is caused by the adjustment of '25 hours' to '1 day 1 hour', and '1 day' is the same time the next day, even if daylight savings adjustments are involved.}}<br />
<br />
{{TodoItem<br />
|Fix interval display to support values exceeding 2^31 hours}}<br />
<br />
{{TodoItem<br />
|Add overflow checking to timestamp and interval arithmetic}}<br />
<br />
{{TodoItem<br />
|Add function to allow the creation of timestamps using parameters<br />
* http://archives.postgresql.org/pgsql-performance/2010-06/msg00232.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Arrays ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add support for arrays of domains<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php <nowiki>Re: updated WIP: arrays of composites</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single-byte header storage for array elements}}<br />
<br />
{{TodoItem<br />
|Add function to detect if an array is empty<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00475.php <nowiki>Re: array_length()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of empty arrays<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01033.php <nowiki>So what's an &quot;empty&quot; array anyway?</nowiki>]<br />
* http://archives.postgresql.org/pgsql-general/2012-07/msg00633.php<br />
* [http://www.postgresql.org/message-id/1182.1363387349@sss.pgh.pa.us <nowiki>Allow declaration of an empty array?</nowiki>]<br />
* [http://www.postgresql.org/message-id/CADxJZo0keVhSRzUnot2Y6g46tsP7f-eV28iEmBd3AtLjU-YTMA@mail.gmail.com Exorcise "zero-dimensional" arrays]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULLs in arrays<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-11/msg00009.php <nowiki>BUG #4509: array_cat's null behaviour is inconsistent</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01040.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Binary Data ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve vacuum of large objects, like contrib/vacuumlo?}}<br />
<br />
{{TodoItem<br />
|Auto-delete large objects when referencing row is deleted<br />
|contrib/lo offers this functionality.}}<br />
<br />
{{TodoItem<br />
|Allow read/write into TOAST values like large objects<br />
|Writing might require the TOAST column to be stored EXTERNAL.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00049.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== MONEY Data Type ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add locale-aware MONEY type, and support multiple currencies<br />
* [http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php <nowiki>A real currency type</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php <nowiki>Money type todos?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|MONEY dumps in a locale-specific format making it difficult to restore to a system with a different locale}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Text Search ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow dictionaries to change the token that is passed on to later dictionaries<br />
* [http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php <nowiki>a tsearch2 (8.2.4) dictionary that only filters out stopwords</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Exact phrase search, <br />
* [http://www.sai.msu.su/~megera/wiki/2009-08-12 <nowiki>Algebra for full-text queries</nowiki>]<br />
* [http://www.sai.msu.su/~megera/postgres/talks/2009.pdf <nowiki>Some recent advances in<br />
full-text search</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a function-based API for '@@' searches<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php <nowiki>Some recent advances in<br />
full-text search</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve text search error messages<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php <nowiki>Poorly designed tsearch NOTICEs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php <nowiki>Re: Poorly designed tsearch NOTICEs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing error to warning for strings larger than one megabyte<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php <nowiki>BUG #3975: tsearch2 index should not bomb out of 1Mb limit</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php <nowiki>Re: [BUGS] BUG #3975: tsearch2 index should not bomb out of 1Mb limit</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|tsearch and tsdicts regression tests fail in Turkish locale on glibc<br />
* [http://archives.postgresql.org/message-id/49749645.5070801@gmx.net tsearch with Turkish locale]<br />
}}<br />
<br />
{{TodoItem<br />
|tsquery negator operator treated as part of lexeme<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-06/msg00346.php BUG #4887: inclusion operator (@>) on tsqeries behaves not conforming to documentation]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of dash and plus signs in email address user names, and perhaps improve URL parsing<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00772.php<br />
* [http://archives.postgresql.org/message-id/E1Ri8il-0008Ct-9p@wrigleys.postgresql.org tsearch does not recognize all valid emails]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve default parser, to more easily allow adding new tokens<br />
* http://archives.postgresql.org/message-id/23485.1297727826@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Add additional support functions<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00319.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== XML ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow XML arrays to be cast to other data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00981.php <nowiki>proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00231.php <nowiki>Re: proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00471.php <nowiki>Re: proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add XML Schema validation and xmlvalidate functions (SQL:2008)}}<br />
<br />
{{TodoItem<br />
|Add xmlvalidatedtd variant to support validating against a DTD?}}<br />
<br />
{{TodoItem<br />
|Relax-NG validation; libxml2 supports this already}}<br />
<br />
{{TodoItem<br />
|Allow reliable XML operation non-UTF8 server encodings (xpath(), in particular, is known to not work)<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-01/msg00135.php <nowiki>BUG #4622: xpath only work in utf-8 server encoding</nowiki>] <br />
* http://archives.postgresql.org/message-id/4110.1238973350@sss.pgh.pa.us}}<br />
<br />
{{TodoItem<br />
|Add functions from SQL:2006: XMLDOCUMENT, XMLCAST, XMLTEXT}}<br />
<br />
{{TodoItem<br />
|Add XMLNAMESPACES support in XMLELEMENT and elsewhere}}<br />
<br />
{{TodoItem<br />
|Move XSLT from contrib/xml2 to a more reasonable location<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00539.php<br />
}}<br />
<br />
{{TodoItem<br />
|Report errors returned by the XSLT library<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00562.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve the XSLT parameter passing API<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00416.php<br />
}}<br />
<br />
{{TodoItem<br />
|XML Canonical: Convert XML documents to canonical form to compare them. libxml2 has support for this.}}<br />
<br />
{{TodoItem<br />
|Add pretty-printed XML output option<br />
|Parse a document and serialize it back in some indented form. libxml2 might support this.}}<br />
<br />
{{TodoItem<br />
|Add XMLQUERY (from the SQL/XML standard)}}<br />
<br />
{{TodoItem<br />
|Allow XML sthredding<br />
|In some cases shredding could be better option (if there is no need to keep XML docs entirely, e.g. if we have already developed tools that understand only relational data. This would be a separate module that implements annotated schema decomposition technique, similar to DB2 and SQL Server functionality.}}<br />
<br />
{{TodoItem<br />
|Fix Nested or repeated xpath() that apparently mess up namespaces [http://archives.postgresql.org/pgsql-bugs/2008-03/msg00097.php] [http://archives.postgresql.org/pgsql-bugs/2008-03/msg00144.php] [http://archives.postgresql.org/pgsql-general/2008-03/msg00295.php] [http://archives.postgresql.org/pgsql-bugs/2008-07/msg00054.php] [http://archives.postgresql.org/message-id/004f01c90e91$138e9d10$3aabd730$@anstett@iaas.uni-stuttgart.de]}}<br />
<br />
{{TodoItem<br />
|XPath: Adding the <x> at the root causes problems [http://archives.postgresql.org/pgsql-bugs/2008-05/msg00184.php] [http://archives.postgresql.org/pgsql-bugs/2008-07/msg00054.php] [http://archives.postgresql.org/pgsql-general/2008-07/msg00613.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table needs to be implemented/implementable to get rid of contrib/xml2 [http://archives.postgresql.org/pgsql-general/2008-05/msg00823.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table is pretty broken anyway [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02424.php]}}<br />
<br />
{{TodoItem<br />
|better handling of XPath data types [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00616.php] [http://archives.postgresql.org/message-id/004a01c90e90$4b986d90$e2c948b0$@anstett@iaas.uni-stuttgart.de]}}<br />
<br />
{{TodoItem<br />
|Improve handling of PIs and DTDs in xmlconcat() [http://archives.postgresql.org/message-id/200904211211.n3LCB09p008988@wwwmaster.postgresql.org]}}<br />
<br />
{{TodoItem<br />
|Restructure XML and /contrib/xml2 functionality<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02314.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00017.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Functions ==<br />
<br />
{{TodoItem<br />
|Allow INET subnet comparisons using non-constants to be indexed}}<br />
<br />
{{TodoItem<br />
|Add an INET overlaps operator, for use by exclusion constraints <br />
* http://archives.postgresql.org/pgsql-hackers/2010-03/msg00845.php<br />
}}<br />
<br />
{{TodoItem<br />
|Enforce typmod for function inputs, function results and parameters for spi_prepare'd statements called from PLs<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg01403.php <nowiki>Re: BUG #2917: spi_prepare doesn't accept typename aliases</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01160.php <nowiki>RFC for adding typmods to functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix IS OF so it matches the ISO specification, and add documentation<br />
* [http://archives.postgresql.org/pgsql-patches/2003-08/msg00060.php <nowiki>Re: [HACKERS] IS OF</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00060.php <nowiki>ToDo: add documentation for operator IS OF</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement Boyer-Moore searching in LIKE queries<br />
* {{messageLink|27645.1220635769@sss.pgh.pa.us|TODO item: Implement Boyer-Moore searching (First time hacker)}}<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent malicious functions from being executed with the permissions of unsuspecting users<br />
|Index functions are safe, so VACUUM and ANALYZE are safe too. Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php <nowiki>Some notes about the index-functions security vulnerability</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce memory usage of aggregates in set returning functions<br />
* [http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php <nowiki>Re: Performance of aggregates over set-returning functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/ltree operator<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-11/msg00044.php <nowiki>BUG #3720: wrong results at using ltree</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/btree_gist's implementation of inet indexing<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-10/msg00099.php <nowiki>BUG #5705: btree_gist: Index on inet changes query result</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|<nowiki>Fix inconsistent precedence of =, &gt;, and &lt; compared to &lt;&gt;, &gt;=, and &lt;=</nowiki><br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00145.php <nowiki>BUG #3822: Nonstandard precedence for comparison operators</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix regular expression bug when using complex back-references<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00000.php <nowiki>BUG #3645: regular expression back references seem broken</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have /contrib/dblink reuse unnamed connections<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00895.php <nowiki>dblink un-named connection doesn't get re-used</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve formatting of pg_get_viewdef() output<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg01648.php <nowiki>pg_get_viewdef formattiing</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg01885.php <nowiki>Re: pretty print viewdefs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-12/msg00906.php reprise: pretty print viewdefs]<br />
}}<br />
<br />
{{TodoItem<br />
|Add function to dump pg_depend information cleanly<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00226.php <nowiki>Elementary dependency look-up</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add function to allow easier transaction id comparisons<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00786.php<br />
}}<br />
<br />
=== Character Formatting ===<br />
<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Allow to_date() and to_timestamp() to accept localized month names}}<br />
<br />
{{TodoItem<br />
|Add missing parameter handling in to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php <nowiki>Re: to_char and i18n</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Throw an error from to_char() instead of printing a string of "#" when a number doesn't fit in the desired output format.<br />
* discussed in [http://archives.postgresql.org/message-id/37ed240d0907290836w42187222n18664dfcbcb445b1@mail.gmail.com "to_char, support for EEEE format"]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow to_char() on interval values to accumulate the highest unit requested<br />
|2= Some special format flag would be required to request such accumulation. Such functionality could also be added to EXTRACT. Prevent accumulation that crosses the month/day boundary because of the uneven number of days in a month.<br />
* to_char(INTERVAL '1 hour 5 minutes', 'MI') =&gt; 65<br />
* to_char(INTERVAL '43 hours 20 minutes', 'MI' ) =&gt; 2600<br />
* to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') =&gt; 0:1:19:20<br />
* to_char(INTERVAL '3 years 5 months','MM') =&gt; 41<br />
}}<br />
<br />
{{TodoItem<br />
|Fix to_number() handling for values not matching the format string<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01447.php <nowiki>Re: numeric_to_number() function skipping some digits</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Multi-Language Support ==<br />
<br />
{{TodoItem<br />
|Add NCHAR (as distinguished from ordinary varchar),}}<br />
<br />
{{TodoItem<br />
|Add a cares-about-collation column to pg_proc, so that unresolved-collation errors can be thrown at parse time<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-03/msg01520.php <nowiki>Open issues for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with text search configurations<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with to_char() and related functions<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support collation-sensitive equality and hashing functions<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-06/msg00472.php <nowiki> contrib/citext versus collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a LOCALE option to CREATE DATABASE, as a shorthand<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00119.php <nowiki> Re: 8.4 open items list</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support multiple simultaneous character sets, per SQL:2008}}<br />
<br />
{{TodoItem<br />
|Improve UTF8 combined character handling?}}<br />
<br />
{{TodoItem<br />
|Add octet_length_server() and octet_length_client()}}<br />
<br />
{{TodoItem<br />
|Make octet_length_client() the same as octet_length()?}}<br />
<br />
{{TodoItem<br />
|Fix problems with wrong runtime encoding conversion for NLS message files}}<br />
<br />
{{TodoItem<br />
|Add URL to more complete multi-byte regression tests<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php <nowiki>Multi-byte and client side character encoding tests for copy command..</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix contrib/fuzzystrmatch to work with multibyte encodings<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00047.php <nowiki> soundex function returns UTF-16 characters</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00138.php <nowiki> dmetaphone woes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Change memory allocation for multi-byte functions so memory is allocated inside conversion functions<br />
|Currently we preallocate memory based on worst-case usage.}}<br />
<br />
{{TodoItem<br />
|Add ability to use case-insensitive regular expressions on multi-byte characters<br />
|Currently it works for UTF-8, but not other multi-byte encodings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00433.php <nowiki>Regexps vs. locale</nowiki>]<br />
* {{MessageLink|20091201210024.B1393753FB7@cvs.postgresql.org|A partial solution for UTF-8}}<br />
}}<br />
<br />
{{TodoItem<br />
|Improve encoding of connection startup messages sent to the client<br />
|Currently some authentication error messages are sent in the server encoding<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00801.php <nowiki>encoding of PostgreSQL messages</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-general/2009-01/msg00005.php <nowiki>Re: encoding of PostgreSQL messages</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|More sensible support for Unicode combining characters, normal forms<br />
* http://archives.postgresql.org/message-id/200904141532.44618.peter_e@gmx.net<br />
}}<br />
<br />
== Views and Rules ==<br />
<br />
{{TodoItem<br />
|Add the functionality of the WITH CHECK OPTION clause to CREATE VIEW<br />
}}<br />
{{TodoItem<br />
|Allow VIEW/RULE recompilation when the underlying tables change<br />
|This is both difficult and controversial.<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01723.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change"]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01724.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change2"]<br />
* [http://archives.postgresql.org/message-id/CACk%3DU9NFSzWrEba8G5dZ%3DTZLy3_hx3QXGyCcKVWT%3D4iA1FjMuA@mail.gmail.com VIEW still referring to old name of field]<br />
}}<br />
{{TodoItem<br />
|Make it possible to use RETURNING together with conditional DO INSTEAD rules, such as for partitioning setups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php <nowiki>RETURNING and DO INSTEAD ... Intentional or not?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to modify views via ALTER TABLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00691.php <nowiki>Re: idea: storing view source in system catalogs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg01410.php <nowiki>modifying views</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00300.php <nowiki>Re: patch: Add columns via CREATE OR REPLACE VIEW</nowiki>]<br />
}}<br />
<br />
== SQL Commands ==<br />
<br />
{{TodoItem<br />
|Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT<br />
* [http://dissipatedheat.com/2011/11/10/how-not-to-write-a-patch-for-postgresql/ How not to write this patch.]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve type determination of unknown (NULL or quoted literal) result columns for UNION/INTERSECT/EXCEPT<br />
* [http://archives.postgresql.org/message-id/9799.1302719551@sss.pgh.pa.us <nowiki>UNION construct type cast gives poor error message</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00838.php <nowiki>WIP: grouping sets support</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00466.php <nowiki>Implementation of GROUPING SETS (T431: Extended grouping capabilities)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow prepared transactions with temporary tables created and dropped in the same transaction, and when an ON COMMIT DELETE ROWS temporary table is accessed<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php <nowiki>Re: &quot;could not open relation 1663/16384/16584: No such file or directory&quot; in a specific combination of transactions with temp tables</nowiki>]<br />
* [http://archives.postgresql.org/message-id/492543D5.9050904@enterprisedb.com A suggestion on how to implement this]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a GUC variable to warn about non-standard SQL usage in queries}}<br />
<br />
{{TodoItem<br />
|Add SQL-standard MERGE/REPLACE/UPSERT command<br />
|MERGE is typically used to merge two tables. REPLACE or UPSERT command does UPDATE, or on failure, INSERT. See [[SQL MERGE]] for notes on the implementation details.<br />
}}<br />
<br />
{{TodoItem<br />
|Add NOVICE output level for helpful messages<br />
|For example, have it warn about unjoined tables. This could also control automatic sequence/index creation messages.<br />
}}<br />
<br />
{{TodoItem<br />
|Allow NOTIFY in rules involving conditionals}}<br />
<br />
{{TodoItem<br />
|Allow EXPLAIN to identify tables that were skipped because of constraint_exclusion<br />
}}<br />
<br />
{{TodoItem<br />
|Simplify dropping roles that have objects in several databases}}<br />
<br />
{{TodoItem<br />
|Allow the count returned by SELECT, etc to be represented as an int64 to allow a higher range of values}}<br />
<br />
{{TodoItem<br />
|Add support for WITH RECURSIVE ... CYCLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00291.php <nowiki>WITH RECURSIVE ... CYCLE in vanilla SQL: issues with arrays of rows</nowiki>]}}<br />
<br />
{{TodoItem<br />
|Add DEFAULT .. AS OWNER so permission checks are done as the table owner<br />
|This would be useful for SERIAL nextval() calls and CHECK constraints.}}<br />
<br />
{{TodoItem<br />
|Allow DISTINCT to work in multiple-argument aggregate calls}}<br />
<br />
{{TodoItem<br />
|Add comments on system tables/columns using the information in catalogs.sgml<br />
|Ideally the information would be pulled from the SGML file automatically.}}<br />
<br />
{{TodoItem<br />
|Prevent the specification of conflicting transaction read/write options<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00684.php <nowiki>Re: SET TRANSACTION and SQL Standard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow DELETE and UPDATE to be used with LIMIT and ORDER BY<br />
* http://archives.postgresql.org/pgadmin-hackers/2010-04/msg00078.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01997.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00021.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow PREPARE of cursors}}<br />
<br />
{{TodoItem<br />
|Have DISCARD PLANS discard plans cached by functions<br />
|DISCARD all should do the same.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00431.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid multiple-evaluation of BETWEEN and IN arguments containing volatile expressions<br />
* http://archives.postgresql.org/message-id/4D95B605.2020709@enterprisedb.com<br />
}}<br />
<br />
{{TodoItem<br />
|Fix nested CASE-WHEN constructs<br />
* http://archives.postgresql.org/message-id/4DDCEEB8.50602@enterprisedb.com<br />
}}<br />
<br />
=== CREATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow CREATE TABLE AS to determine column lengths for complex expressions like SELECT col1 || col2}}<br />
<br />
{{TodoItem<br />
|Have WITH CONSTRAINTS also create constraint indexes<br />
* [http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php <nowiki>Re: CREATE TABLE LIKE INCLUDING INDEXES support</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move NOT NULL constraint information to pg_constraint<br />
|Currently NOT NULL constraints are stored in pg_attribute without any designation of their origins, e.g. primary keys. One manifest problem is that dropping a PRIMARY KEY constraint does not remove the NOT NULL constraint designation. Another issue is that we should probably force NOT NULL to be propagated from parent tables to children, just as CHECK constraints are. (But then does dropping PRIMARY KEY affect children?)<br />
* http://archives.postgresql.org/message-id/19768.1238680878@sss.pgh.pa.us<br />
* http://archives.postgresql.org/message-id/200909181005.n8IA5Ris061239@wwwmaster.postgresql.org<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg01223.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00358.php<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent concurrent CREATE TABLE from sometimes returning a cryptic error message<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php <nowiki>BUG #3692: Conflicting create table statements throw unexpected error</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add CREATE SCHEMA ... LIKE that copies a schema}}<br />
<br />
{{TodoItem<br />
|Fix CREATE OR REPLACE FUNCTION to not leave objects depending on the function in inconsistent state<br />
* [http://archives.postgresql.org/pgsql-general/2008-08/msg00985.php indexes on functions and create or replace function]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow temporary tables to exist as empty by default in all sessions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00006.php <nowiki>what is difference between LOCAL and GLOBAL TEMP TABLES in PostgreSQL</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg01329.php <nowiki>idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-05/msg00016.php <nowiki>Re: idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg01098.php <nowiki>global temporary tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-04/msg01148.php Temporary tables under hot standby]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the creation of "distinct" types<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01647.php <nowiki>Distinct types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider analyzing temporary tables when they are first used in a query<br />
|Autovacuum cannot analyze or vacuum temporary tables.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00416.php <nowiki>autovacuum and temp tables support</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow an unlogged table to be changed to logged<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00315.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00437.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00323.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00237.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== UPDATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|<nowiki>Allow UPDATE tab SET ROW (col, ...) = (SELECT...)</nowiki><br />
* [http://archives.postgresql.org/pgsql-hackers/2006-07/msg01308.php <nowiki>Re: [PATCHES] extension for sql update</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00865.php <nowiki>UPDATE using sub selects</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-04/msg00315.php <nowiki>UPDATE using sub selects</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-03/msg00237.php <nowiki>Re: UPDATE using sub selects</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Research self-referential UPDATEs that see inconsistent row versions in read-committed mode<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00507.php <nowiki>Concurrently updating an updatable view</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00016.php <nowiki>Re: Do we need a TODO? (was Re: Concurrently updating anupdatable view)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve performance of EvalPlanQual mechanism that rechecks already-updated rows<br />
|This is related to the previous item, which questions whether it even has the right semantics<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-09/msg00045.php <nowiki>BUG #4401: concurrent updates to a table blocks one update indefinitely</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-07/msg00302.php <nowiki>BUG #4945: Parallel update(s) gone wild</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ALTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have ALTER TABLE RENAME of a SERIAL column rename the sequence<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CADLWmXUV4LbLhMZL8rYMhCy72aZZLB5BSARPQVgoX0BrxA0FFg@mail.gmail.com renaming implicit sequences]<br />
}}<br />
<br />
{{TodoItem<br />
|Have ALTER SEQUENCE RENAME rename the sequence name stored in the sequence table<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-09/msg00092.php <nowiki>BUG #3619: Renaming sequence does not update its 'sequence_name' field</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00007.php <nowiki>Re: BUG #3619: Renaming sequence does not update its 'sequence_name' field</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER DOMAIN to modify the underlying data type}}<br />
<br />
{{TodoItem<br />
|Allow ALTER TABLESPACE to move the tablespace to different directories}}<br />
<br />
{{TodoItem<br />
|Allow moving system tables to other tablespaces, where possible<br />
|Currently non-global system tables must be in the default database tablespace. Global system tables can never be moved.}}<br />
<br />
{{TodoItem<br />
|Have ALTER INDEX update the name of a constraint using that index}}<br />
<br />
{{TodoItem<br />
|Allow column display reordering by recording a display, storage, and permanent id for every column?<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00782.php <nowiki>Re: column ordering, was Re: [PATCHES] Enums patch v2</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01029.php <nowiki>Column reordering in pg_dump</nowiki>]<br />
* http://archives.postgresql.org/message-id/1324412114-sup-9608@alvh.no-ip.org<br />
}}<br />
<br />
{{TodoItem<br />
|Allow deactivating (and reactivating) indexes via ALTER TABLE<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg01191.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER OPERATOR ... RENAME<br />
|needs to consider effects of changing operator precedence<br />
* [http://archives.postgresql.org/message-id/1322948781.26266.9.camel@vanquo.pezone.net Missing rename support]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== CLUSTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Automatically maintain clustering on a table<br />
|This might require some background daemon to maintain clustering during periods of low usage. It might also require tables to be only partially filled for easier reorganization. Another idea would be to create a merged heap/index data file so an index lookup would automatically access the heap data too. A third idea would be to store heap rows in hashed groups, perhaps using a user-supplied hash function.<br />
* [http://archives.postgresql.org/pgsql-performance/2004-08/msg00350.php <nowiki>Equivalent praxis to CLUSTERED INDEX?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00155.php <nowiki>Re: Grouped Index Tuples</nowiki>]<br />
* http://community.enterprisedb.com/git/<br />
* [http://archives.postgresql.org/pgsql-performance/2009-10/msg00346.php <nowiki>Re: maintain_cluster_order_v5.patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow CLUSTER to be used on a partial index<br />
* http://www.postgresql.org/message-id/CAMkU%3D1zYwoHHsqJ8wfK3GdG_t_a6t4RK-GFDSKymQ0EGP%3DtypA@mail.gmail.com<br />
}} <br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== COPY ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report error lines and continue<br />
|This requires the use of a savepoint before each COPY line is processed, with ROLLBACK on COPY failure. <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00572.php <nowiki>Re: VLDB Features</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY FROM to create index entries in bulk<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00811.php <nowiki>Batch update of indexes on data loading</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY in CSV mode to control whether a quoted zero-length string is treated as NULL<br />
|Currently this is always treated as a zero-length string, which generates an error when loading into an integer column <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00905.php <nowiki>Re: [PATCHES] allow CSV quote in NULL</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve COPY performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php <nowiki>Re: 8.3 / 8.2.6 restore comparison</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01882.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report errors sooner<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php <nowiki>Timely reporting of COPY errors</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY to handle other number formats<br />
|E.g. the German notation. Best would be something like WITH DECIMAL ','.<br />
}}<br />
<br />
{{TodoItem<br />
|Allow a stalled COPY to exit if the backend is terminated<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00067.php <nowiki>Re: possible bug not in open items</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== GRANT/REVOKE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SERIAL sequences to inherit permissions from the base table?}}<br />
<br />
{{TodoItem<br />
|Allow dropping of a role that has connection rights<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00736.php <nowiki>DROP ROLE dependency tracking ...</nowiki>]<br />
}}<br />
{{TodoEndSubsection}}<br />
<br />
=== DECLARE CURSOR ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent DROP TABLE from dropping a table referenced by its own open cursor?}}<br />
<br />
{{TodoItem<br />
|Provide some guarantees about the behavior of cursors that invoke volatile functions<br />
* [http://archives.postgresql.org/message-id/20997.1244563664@sss.pgh.pa.us Re: Cursor with hold emits the same row more than once across commits in 8.3.7]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== INSERT ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow INSERT/UPDATE of the system-generated oid value for a row}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SHOW/SET ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM ANALYZE, and CLUSTER}}<br />
<br />
{{TodoItem<br />
|Rationalize the discrepancy between settings that use values in bytes and SHOW that returns the object count<br />
* [http://archives.postgresql.org/pgsql-docs/2008-07/msg00007.php <nowiki>Re: [ADMIN] shared_buffers and shmmax</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ANALYZE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE issue NOTICE messages when the estimated and actual row counts differ by a specified percentage}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE report rows as floating-point numbers<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg01363.php <nowiki>explain analyze rows=%.0f</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00108.php <nowiki>Re: explain analyze rows=%.0f</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve how ANALYZE computes in-doubt tuples<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00771.php <nowiki>VACUUM/ANALYZE counting of in-doubt tuples</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Window Functions ===<br />
See {{messageLink|357.1230492361@sss.pgh.pa.us|TODO items for window functions}}.<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Support creation of user-defined window functions<br />
|We have the ability to create new window functions written in C. Is it<br />
worth the effort to create an API that would let them be written in PL/pgsql, etc?}}<br />
<br />
{{TodoItem<br />
|Implement full support for window framing clauses<br />
|In addition to done clauses described in the [http://developer.postgresql.org/pgdocs/postgres/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS latest doc], these clauses are not implemented yet.<br />
* RANGE BETWEEN ... PRECEDING/FOLLOWING<br />
* EXCLUDE<br />
}}<br />
<br />
{{TodoItem<br />
|Investigate tuplestore performance issues<br />
|The tuplestore_in_memory() thing is just a band-aid, we ought to try to solve it properly. tuplestore_advance seems like a weak spot as well.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00152.php <nowiki>tuplestore potential performance problem</nowiki>]<br />
}}<br />
<br />
{{TodoItem|Do we really need so much duplicated code between Agg and WindowAgg?}}<br />
<br />
{{TodoItem<br />
|Teach planner to evaluate multiple windows in the optimal order<br />
|Currently windows are always evaluated in the query-specified order.<br />
* http://archives.postgresql.org/message-id/3CDAD71E9D70417290FCF66F0178D1E1@amd64<br />
}}<br />
<br />
{{TodoItem<br />
|Implement DISTINCT clause in window aggregates<br />
|Some proprietary RDBMSs have implemented it already, so it helps with porting from those.}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Integrity Constraints ==<br />
=== Keys ===<br />
<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve deferrable unique constraints for cases with many conflicts<br />
|The current implementation fires a trigger for each potentially conflicting row. This might not scale well for an update that changes many key values at once.<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Referential Integrity ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add MATCH PARTIAL referential integrity}}<br />
<br />
{{TodoItem<br />
|Change foreign key constraint for array -&gt; element to mean element in array?<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-10/msg01814.php <nowiki>foreign keys for array/period contains relationships</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem when cascading referential triggers make changes on cascaded tables, seeing the tables in an intermediate state<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php <nowiki>Re: [PATCHES] Work-in-progress referential action trigger timing</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Are ri_KeysEqual checks in the RI enforcement triggers still necessary?<br />
* [http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php <nowiki>Re: Effects of cascading references in foreign keys</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Check Constraints ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Run check constraints only when affected columns are changed<br />
* http://archives.postgresql.org/message-id/1326055327.15293.13.camel@vanquo.pezone.net<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Server-Side Languages ==<br />
<br />
{{TodoItem<br />
|Add support for polymorphic arguments and return types to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add support for OUT and INOUT parameters to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add more fine-grained specification of functions taking arbitrary data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00367.php <nowiki>RfD: more powerful &quot;any&quot; types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement stored procedures<br />
|This might involve the control of transaction state and the return of multiple result sets<br />
* [http://archives.postgresql.org/pgsql-general/2008-10/msg00454.php <nowiki>PL/pgSQL stored procedure returning multiple result sets (SELECTs)?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01375.php <nowiki>Proposal: real procedures again (8.4)</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00542.php<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-04/msg01149.php <nowiki>Gathering specs and discussion on feature (post 9.1)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow holdable cursors in SPI}}<br />
<br />
{{TodoItemEasy<br />
|Add SPI_gettypmod() to return a field's typemod from a TupleDesc<br />
* http://archives.postgresql.org/pgsql-hackers/2005-11/msg00250.php<br />
}}<br />
<br />
=== SQL-Language Functions ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Rethink query plan caching and timing of parse analysis within SQL-language functions<br />
|They should work more like plpgsql functions do ...<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00078.php <nowiki>Re: BUG #6019: invalid cached plan on inherited table</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/pgSQL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]}}<br />
<br />
{{TodoItem<br />
|<nowiki>Allow listing of record column names, and access to record columns via variables, e.g. columns := r.(*), tval2 := r.(colname)</nowiki><br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00458.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2006-05/msg00302.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow row and record variables to be set to NULL constants, and allow NULL tests on such variables<br />
|Because a row is not scalar, do not allow assignment from NULL-valued scalars.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php <nowiki>NULL and plpgsql rows</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider keeping separate cached copies when search_path changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php <nowiki>pl/pgsql Plan Invalidation and search_path</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULL row values vs. NULL rows<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg01758.php <nowiki>Null row vs. row of nulls in plpgsql</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg01973.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve PERFORM handling of WITH queries or document limitation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00309.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Perl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow regex operations in plperl using UTF8 characters in non-UTF8 encoded databases}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Python ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Develop a trusted variant of PL/Python.}}<br />
<br />
{{TodoItem<br />
|Create a new restricted execution class that will allow passing function arguments in as locals. Passing them as globals means functions cannot be called recursively.<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-02/msg01468.php <nowiki>Re: pl/python do not delete function arguments</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a DB-API compliant interface on top of the SPI interface<br />
* http://petereisentraut.blogspot.com/2011/11/plpydbapi-db-api-for-plpython.html<br />
}}<br />
<br />
{{TodoItem<br />
|For functions returning a setof record with a composite type, cache the I/O functions for the composite type<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02007.php<br />
}}<br />
<br />
{{TodoItem<br />
|Fix loss of information during conversion of numeric type to Python float}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Tcl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add table function support}}<br />
<br />
{{TodoItem<br />
|Check encoding validity of values passed back to Postgres in function returns, trigger tuple changes, and SPI calls.}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Clients ==<br />
<br />
{{TodoItem<br />
|Add a function like pg_get_indexdef() that report more detailed index information<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php <nowiki>BUG #3829: Wrong index reporting from pgAdmin III (v1.8.0 rev 6766-6767)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Split out pg_resetxlog output into pre- and post-sections<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg02040.php<br />
}}<br />
<br />
=== pg_ctl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve pg_ctl's detection of running postmasters<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00000.php<br />
* http://archives.postgresql.org/pgsql-committers/2011-06/msg00001.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add additional shutdown modes, and change the default?<br />
* http://archives.postgresql.org/pgsql-hackers/2012-04/msg01283.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== psql ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have psql \ds show all sequences and their settings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00916.php <nowiki>Re: TODO item: Have psql show current values for a sequence</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00401.php <nowiki>Quick patch: Display sequence owner</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move psql backslash database information into the backend, use mnemonic commands?<br />
|This would allow non-psql clients to pull the same information out of the database as psql. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php <nowiki>Re: psql \d option list overloaded</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Make psql's \d commands more consistent in their handling of schemas<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php <nowiki>Re: psql and schemas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Make psql's \d commands distinguish default privileges from no privileges<br />
|ACL displays were visibly different for the two cases before we "improved" them by using array_to_string.<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00082.php <nowiki>BUG #6021: There is no difference between default and empty access privileges with \dp</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consistently display privilege information for all objects in psql}}<br />
<br />
{{TodoItemEasy<br />
|\s without arguments (display history) fails with libedit, doesn't use pager either<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-06/msg00114.php <nowiki> psql \s not working - OS X</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a \set variable to control whether \s displays line numbers<br />
|Another option is to add \# which lists line numbers, and allows command execution.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00255.php <nowiki>Re: psql possible TODO</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Include the symbolic SQLSTATE name in verbose error reports<br />
* [http://archives.postgresql.org/pgsql-general/2007-09/msg00438.php <nowiki>Re: Checking is TSearch2 query is valid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add prompt escape to display the client and server versions<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00310.php <nowiki>WIP patch for TODO Item: Add prompt escape to display the client and server versions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add option to wrap column values at whitespace boundaries, rather than chopping them at a fixed width.<br />
|Currently, &quot;wrapped&quot; format chops values into fixed widths. Perhaps the word wrapping could use the same algorithm documented in the W3C specification. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php <nowiki>Re: psql wrapped format default for backslash-d commands</nowiki>]<br />
* http://www.w3.org/TR/CSS21/tables.html#auto-table-layout}}<br />
<br />
{{TodoItem<br />
|Support the ReST table output format<br />
|Details about the ReST format: http://docutils.sourceforge.net/rst.html#reference-documentation<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg01007.php <nowiki>Proposal: new border setting in psql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00518.php <nowiki>Re: Proposal: new border setting in psql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00609.php <nowiki>Re: Proposal: new border setting in psql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add option to print advice for people familiar with other databases<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01845.php <nowiki>MySQL-ism help patch for psql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ability to edit views with \ev<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00023.php <nowiki>Adding \ev view editor?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix FETCH_COUNT to handle SELECT ... INTO and WITH queries<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01565.php<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00192.php<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent psql from sending remaining single-line multi-statement queries after reconnecting<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00159.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01283.php<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Add \i option to bring in the specified file as a quoted literal<br />
|This would be useful for creating functions and other areas. Details still need to be worked out.<br />
* http://archives.postgresql.org/pgsql-bugs/2011-02/msg00016.php<br />
* http://archives.postgresql.org/pgsql-bugs/2011-02/msg00020.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having psql -c read .psqlrc, for consistency<br />
|psql -f already reads .psqlrc<br />
}}<br />
<br />
{{TodoItem<br />
|Allow processing of multiple -f (file) options<br />
* http://www.postgresql.org/message-id/AANLkTikFpzrTRl6392GhatQdwlCWQTXFdSMxh5CP51iv@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Improve line drawing characters<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00386.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider improving the continuation prompt<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01772.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve speed of tab completion by using LIKE<br />
* http://www.postgresql.org/message-id/20121012060345.GA29214@toroid.org<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== pg_dump / pg_restore ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItemEasy<br />
|<nowiki>Add full object name to the tag field. eg. for operators we need '=(integer, integer)', instead of just '='.</nowiki>}}<br />
<br />
{{TodoItemEasy<br />
|Modify pg_dump to create skeleton views for reload (which are then updated via CREATE OR REPLACE VIEW) when views have circular dependencies. This should eliminate the need for the CREATE RULE "_RETURN" hack currently used to address this issue. Thread and additional information here:<br />
* [http://www.postgresql.org/message-id/25554.1360895028@sss.pgh.pa.us Description of change]<br />
|}}<br />
<br />
{{TodoItem<br />
|Add pg_dumpall custom format dumps?<br />
* [http://archives.postgresql.org/pgsql-general/2010-05/msg00509.php pg_dumpall custom format]<br />
|}}<br />
<br />
{{TodoItem<br />
|Avoid using platform-dependent locale names in pg_dumpall output<br />
|Using native locale names puts roadblocks in the way of porting a dump to another platform. One possible solution is to get<br />
CREATE DATABASE to accept some agreed-on set of locale names and fix them up to meet the platform's requirements.<br />
* http://archives.postgresql.org/message-id/21396.1241716688@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Allow selection of individual object(s) of all types, not just tables}}<br />
<br />
{{TodoItem<br />
|In a selective dump, allow dumping of an object and all its dependencies}}<br />
<br />
{{TodoItem<br />
|Add options like pg_restore -l and -L to pg_dump}}<br />
<br />
{{TodoItem<br />
|Stop dumping CASCADE on DROP TYPE commands in clean mode}}<br />
<br />
{{TodoItem<br />
|Allow pg_dump --clean to drop roles that own objects or have privileges<br />
|tgl says: if this is about pg_dumpall, it's done as of 8.4. If it's really about pg_dump, what does it mean? pg_dump has no business dropping roles.}}<br />
<br />
{{TodoItem<br />
|Allow pg_restore to load different parts of the COPY data for a single table simultaneously}}<br />
<br />
{{TodoItem<br />
|Remove support for dumping from pre-7.3 servers<br />
|In 7.3 and later, we can get accurate dependency information from the server. pg_dump still contains a lot of crufty code<br />
to try to deal with the lack of dependency info in older servers, but the usefulness of maintaining that code grows small.}}<br />
<br />
{{TodoItem<br />
|Refactor handling of database attributes between pg_dump and pg_dumpall<br />
|Currently only pg_dumpall emits database attributes, such as ALTER DATABASE SET commands and database-level GRANTs.<br />
Many people wish that pg_dump would do that. One proposal is to let pg_dump issue such commands if the -C switch was used,<br />
but it's unclear whether that will satisfy the demand.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01031.php <nowiki>ALTER DATABASE vs pg_dump</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-05/msg00010.php summary of the issues]<br />
}}<br />
<br />
{{TodoItem<br />
|Change pg_dump so that a comment on the dumped database is applied to the loaded database, even if the database has a different name.<br />
|This will require new backend syntax, perhaps COMMENT ON CURRENT DATABASE. This is related to the previous item.}}<br />
<br />
{{TodoItem<br />
|Allow parallel restore of tar dumps<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-02/msg01154.php <nowiki>Re: parallel restore</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Preserve sparse storage of large objects over dump/restore<br />
* [http://archives.postgresql.org/message-id/18789.1349750451@sss.pgh.pa.us <nowiki>TODO item: teach pg_dump about sparsely-stored large objects</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ecpg ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Docs<br />
|Document differences between ecpg and the SQL standard and information about the Informix-compatibility module.}}<br />
<br />
{{TodoItem<br />
|Solve cardinality &gt; 1 for input descriptors / variables?}}<br />
<br />
{{TodoItem<br />
|Add a semantic check level, e.g. check if a table really exists}}<br />
<br />
{{TodoItem<br />
|fix handling of DB attributes that are arrays}}<br />
<br />
{{TodoItem<br />
|Fix nested C comments}}<br />
<br />
{{TodoItemEasy<br />
|sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified}}<br />
<br />
{{TodoItem<br />
|Make SET CONNECTION thread-aware, non-standard?}}<br />
<br />
{{TodoItem<br />
|Allow multidimensional arrays}}<br />
<br />
{{TodoItem<br />
|Implement COPY FROM STDIN}} <br />
<br />
{{TodoItem<br />
|Provide a way to specify size of a bytea parameter<br />
* [http://archives.postgresql.org/message-id/200906192131.n5JLVoMo044178@wwwmaster.postgresql.org <nowiki>BUG #4866: ECPG and BYTEA</nowiki>]<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Fix small memory leaks in ecpg<br />
|Memory leaks in a short running application like ecpg are not really a problem, but make debugging more complicated}} <br />
<br />
{{TodoItem<br />
|Allow reuse of cursor name variables<br />
* [http://archives.postgresql.org/message-id/20100329113435.GA3430@feivel.credativ.lan <nowiki>Problems with variable cursorname in ecpg</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== libpq ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent PQfnumber() from lowercasing unquoted column names<br />
|PQfnumber() should never have been doing lowercasing, but historically it has so we need a way to prevent it}}<br />
<br />
{{TodoItem<br />
|Consider disallowing multiple queries in PQexec() as an additional barrier to SQL injection attacks<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg00184.php <nowiki>Re: InitPostgres and flatfiles question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add PQexecf() that allows complex parameter substitution<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01803.php <nowiki>Last minute mini-proposal (I know, know) for PQexecf()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add SQLSTATE and severity to errors generated within libpq itself<br />
* [http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php <nowiki>v8.1: Error severity on libpq PGconn*</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01425.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for interface/ipaddress binding to libpq<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01811.php <nowiki>SR/libpq - outbound interface/ipaddress binding</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== HTTP===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow access to the database via HTTP<br />
|See [[HTTP_API]]}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Triggers ==<br />
<br />
{{TodoItem<br />
|Improve storage of deferred trigger queue<br />
|Right now all deferred trigger information is stored in backend memory. This could exhaust memory for very large trigger queues. This item involves dumping large queues into files, or doing some kind of join to process all the triggers, some bulk operation, or a bitmap. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00876.php <nowiki>Re: BUG #4204: COPY to table with FK has memory leak</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-10/msg00464.php <nowiki>Scaling up deferred unique checks and the after trigger queue</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00023.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow triggers to be disabled in only the current session.<br />
|This is currently possible by starting a multi-statement transaction, modifying the system tables, performing the desired SQL, restoring the system tables, and committing the transaction. ALTER TABLE ... TRIGGER requires a table lock so it is not ideal for this usage.}}<br />
<br />
{{TodoItem<br />
|With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY<br />
|If the dump is known to be valid, allow foreign keys to be added without revalidating the data.}}<br />
<br />
{{TodoItem<br />
|Allow statement-level triggers to access modified rows}}<br />
<br />
{{TodoItem<br />
|When statement-level triggers are defined on a parent table, have them fire only on the parent table, and fire child table triggers only where appropriate<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01883.php <nowiki>Statement-level triggers and inheritance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Tighten trigger permission checks<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00564.php <nowiki>Security leak with trigger functions?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow BEFORE INSERT triggers on views<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php <nowiki>Re: Why can't I put a BEFORE EACH ROW trigger on a view?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add database and transaction-level triggers<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00451.php <nowiki>Proposal for db level triggers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00620.php <nowiki>triggers on prepare, commit, rollback... ?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce locking requirements for creating a trigger<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00635.php <nowiki>Re: Change lock requirements for adding a trigger</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid requirement for "AFTER" trigger functions to return a value<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02384.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow creation of inline triggers<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00708.php<br />
}}<br />
<br />
== Inheritance ==<br />
<br />
{{TodoItem<br />
|Allow inherited tables to inherit indexes, UNIQUE constraints, and primary/foreign keys<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-05/msg00285.php <nowiki>Partitioning/inherited tables vs FKs</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00039.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00305.php<br />
}}<br />
<br />
{{TodoItem<br />
|Honor UNIQUE INDEX on base column in INSERTs/UPDATEs on inherited table, e.g. INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail<br />
|The main difficulty with this item is the problem of creating an index that can span multiple tables.}}<br />
<br />
{{TodoItem<br />
|Determine whether ALTER TABLE / SET SCHEMA should work on inheritance hierarchies (and thus support ONLY). If yes, implement it.}}<br />
<br />
{{TodoItem<br />
|ALTER TABLE variants sometimes support recursion and sometimes not, but this is poorly/not documented, and the ONLY marker would then be silently ignored. Clarify the documentation, and reject ONLY if it is not supported.}}<br />
<br />
== Indexes ==<br />
<br />
{{TodoItem<br />
|Prevent index uniqueness checks when UPDATE does not modify the column<br />
|Uniqueness (index) checks are done when updating a column even if the column is not modified by the UPDATE.<br />
However, HOT already short-circuits this in common cases, so more work might not be helpful.<br />
* http://www.postgresql.org/message-id/CA+TgmoZOyaTanfEvNUdiHBCuu9Zh0JVP1e_UTVbx6Rvj9vFC9Q@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the creation of on-disk bitmap indexes which can be quickly combined with other bitmap indexes<br />
|Such indexes could be more compact if there are only a few distinct values. Such indexes can also be compressed. Keeping such indexes updated can be costly.<br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php <nowiki>Re: Bitmap index AM</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php <nowiki>Bitmap index thoughts</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00265.php <nowiki>Stream bitmaps</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01214.php <nowiki>Re: Bitmapscan changes - Requesting further feedback</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00013.php <nowiki>Updated bitmap index patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00741.php <nowiki>Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01023.php <nowiki>Bitmap Indexes: request for feedback</nowiki>]<br />
* http://archives.postgresql.org/message-id/800923.27831.qm@web29010.mail.ird.yahoo.com <br />
}}<br />
<br />
{{TodoItem<br />
|Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics<br />
* [http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php <nowiki>Re: Simple join optimized badly?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php <nowiki>Stats for multi-column indexes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00741.php <nowiki>Cross-column statistics revisited</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg01431.php <nowiki>Multi-Dimensional Histograms</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00913.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02179.php <br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00459.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02054.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01731.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00894.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-09/msg00679.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having a larger statistics target for indexed columns and expression indexes. <br />
}}<br />
<br />
{{TodoItem<br />
|Consider smaller indexes that record a range of values per heap page, rather than having one index entry for every heap row<br />
|This is useful if the heap is clustered by the indexed values. <br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php <nowiki>Grouped Index Tuples</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php <nowiki>Grouped Index Tuples</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php <nowiki>Grouped Index Tuples / Clustered Indexes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php <nowiki>Bitmapscan changes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00014.php <nowiki>Re: GIT patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00487.php <nowiki>Re: Index Tuple Compression Approach?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01589.php <nowiki>Re: Index AM change proposals, redux</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY<br />
|This is difficult because you must upgrade to an exclusive table lock to replace the existing index file. CREATE INDEX CONCURRENTLY does not have this complication. This would allow index compaction without downtime. <br />
* [http://archives.postgresql.org/pgsql-performance/2007-08/msg00289.php <nowiki>Re: When/if to Reindex</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00911.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg00128.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multiple indexes to be created concurrently, ideally via a single heap scan<br />
|pg_restore allows parallel index builds, but it is done via subprocesses, and there is no SQL interface for this.<br />
Cluster could definitely benefit from this.<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00093.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider sorting entries before inserting into btree index<br />
* [http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php <nowiki>Re: ATTN: Clodaldo was Performance problem. Could it be related to 8.3-beta4?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow creation of an index that can do comparisons to test if a value is between two column values<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00757.php <nowiki>Proposal: temporal extension &quot;period&quot; data type</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using "effective_io_concurrency" for index scans<br />
|Currently only bitmap scans use this, which might be fine because most multi-row index scans use bitmap scans.<br />
* [http://www.postgresql.org/message-id/CAGTBQpZzf70n0PYJ%3DVQLd+jb3wJGo%3D2TXmY+SkJD6G_vjC5QNg@mail.gmail.com Prefetch index pages for B-Tree index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem with btree page splits during checkpoints<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00052.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-09/msg00184.php<br />
}}<br />
<br />
{{TodoItem<br />
|[http://archives.postgresql.org/pgsql-hackers/2012-05/msg00669.php Support amgettuple() in GIN (useful for exclusion constraints)]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow "loose" or "skip" scans on btree indexes in which the first column has low cardinality<br />
* http://archives.postgresql.org/pgsql-performance/2012-08/msg00159.php<br />
}}<br />
<br />
{{TodoItem<br />
| Make the planner's "special index operator" mechanism extensible<br />
* http://www.postgresql.org/message-id/27270.1364700924@sss.pgh.pa.us<br />
}}<br />
<br />
<br />
=== GIST ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add more GIST index support for geometric data types}}<br />
<br />
{{TodoItem<br />
|Allow GIST indexes to create certain complex index types, like digital trees (see Aoki)}}<br />
<br />
{{TodoItem<br />
|Fix performance issues in contrib/seg and contrib/cube GiST support<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904161633160.4053@aragorn.flymine.org GiST index performance]<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904221704470.22330@aragorn.flymine.org draft patch]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-05/msg00069.php <nowiki>Re: GiST index performance</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-06/msg00068.php <nowiki>GiST index performance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|[http://archives.postgresql.org/message-id/4DC8D284-05CF-4E3D-9670-AC9A32C37A36@justatheory.com GiST index support for arrays]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Hash ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add UNIQUE capability to hash indexes}}<br />
<br />
{{TodoItem<br />
|Add hash WAL logging for crash recovery<br />
* http://archives.postgresql.org/pgsql-performance/2011-09/msg00196.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multi-column hash indexes}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Sorting ==<br />
<br />
{{TodoItem<br />
|Consider whether duplicate keys should be sorted by block/offset<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00558.php <nowiki>Remove hacks for old bad qsort() implementations?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider being smarter about memory and external files used during sorts<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg01101.php <nowiki>Sorting Improvements for 8.4</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00045.php <nowiki>Re: Sorting Improvements for 8.4</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider detoasting keys before sorting}}<br />
<br />
{{TodoItem<br />
|Allow sorts to use more available memory<br />
* http://archives.postgresql.org/pgsql-hackers/2007-11/msg01026.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg01123.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg01957.php<br />
}}<br />
<br />
== Fsync ==<br />
<br />
{{TodoItem<br />
|Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options and whether fsync does anything<br />
|Ideally this requires a separate test program like /contrib/pg_test_fsync that can be run at initdb time or optionally later.<br />
}}<br />
<br />
{{TodoItem<br />
|Consider sorting writes during checkpoint<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00541.php <nowiki>Sorted writes in checkpoint</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-07/msg00050.php <nowiki>Re: Sorting writes during checkpoint</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg02012.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00278.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-01/msg00493.php<br />
}}<br />
<br />
== Cache Usage ==<br />
<br />
{{TodoItem<br />
|Provide a way to calculate an &quot;estimated COUNT(*)&quot;<br />
|Perhaps by using the optimizer's cardinality estimates or random sampling.<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-11/msg00943.php <nowiki>Re: Improving count(*)</nowiki>]<br />
* http://wiki.postgresql.org/wiki/Slow_Counting<br />
}}<br />
<br />
{{TodoItem<br />
|Consider automatic caching of statements at various levels:<br />
* Parsed query tree<br />
* Query execute plan<br />
* Query results <br />
<br />
:<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php <nowiki>Cached Query Plans (was: global prepared statements)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider increasing internal areas (NUM_CLOG_BUFFERS) when shared buffers is increased<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php <nowiki>Re: slru.c race condition (was Re: TRAP: FailedAssertion(&quot;!((itemid)-&gt;lp_flags &amp; 0x01)&quot;,)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00030.php <nowiki>clog_buffers to 64 in 8.3?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2007-08/msg00024.php <nowiki>CLOG Patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider decreasing the amount of memory used by PrivateRefCount<br />
|<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg00797.php <nowiki>PrivateRefCount (for 8.3)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php <nowiki>Re: PrivateRefCount (for 8.3)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing higher priority queries to have referenced buffer cache pages stay in memory longer<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php <nowiki>Re: How to keep a table in memory?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve cache lookup speed for sessions accessing many relations<br />
* http://archives.postgresql.org/pgsql-hackers/2012-11/msg00356.php<br />
}}<br />
<br />
== Vacuum ==<br />
<br />
{{TodoItem<br />
|Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-02/msg01125.php <nowiki>Dead Space Map</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00011.php <nowiki>Re: Automatic free space map filling</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow concurrent inserts to use recently created pages rather than creating new ones<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg00853.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having single-page pruning update the visibility map<br />
* <nowiki>https://commitfest.postgresql.org/action/patch_view?id=75</nowiki><br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02344.php <nowiki>Re: visibility maps and heap_prune</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve tracking of total relation tuple counts now that vacuum doesn't always scan the whole heap<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00531.php Partial vacuum versus pg_class.reltuples]<br />
}}<br />
<br />
{{TodoItem<br />
|Bias FSM towards returning free space near the beginning of the heap file, in hopes that empty pages at the end can be truncated by VACUUM<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01124.php <nowiki>FSM search modes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a more compact data representation for dead tuple locations within VACUUM<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00143.php <nowiki>Re: Have vacuum emit a warning when it runs out of maintenance_work_mem</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide more information in order to improve user-side estimates of dead space bloat in relations<br />
* [http://archives.postgresql.org/pgsql-general/2009-05/msg01039.php <nowiki>Re: Bloated Table</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve locking behaviour of vacuum during trailing page truncation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00319.php<br />
* http://archives.postgresql.org/message-id/4D8DF88E.7080205@Yahoo.com<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce the number of table scans performed by vacuum<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01119.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00605.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00624.php<br />
}}<br />
<br />
{{TodoItem<br />
|Vacuum Gin indexes in physically order rather than logical order<br />
* http://archives.postgresql.org/pgsql-hackers/2012-04/msg00443.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid creation of the free space map for small tables<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg01751.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00552.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00615.php<br />
}}<br />
<br />
=== Auto-vacuum ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItemEasy<br />
|Issue log message to suggest VACUUM FULL if a table is nearly empty?}}<br />
<br />
{{TodoItem<br />
|Prevent long-lived temporary tables from causing frozen-xid advancement starvation<br />
|The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can do that. <br />
* [http://archives.postgresql.org/pgsql-general/2007-06/msg01645.php <nowiki>Re: AutoVacuum Behaviour Question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent autovacuum from running if an old transaction is still running from the last vacuum<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php <nowiki>Re: Autovacuum and OldestXmin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have autoanalyze of parent tables occur when child tables are modified<br />
* http://archives.postgresql.org/pgsql-performance/2010-06/msg00137.php<br />
* http://archives.postgresql.org/pgsql-performance/2010-10/msg00271.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running<br />
* http://archives.postgresql.org/pgsql-hackers/2012-01/msg00356.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow parallel cores to be used by vacuumdb<br />
* [http://archives.postgresql.org/message-id/4F10A728.7090403@agliodbs.com vacuumdb -j]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve autovacuum tuning<br />
* http://www.postgresql.org/message-id/5078AD6B.8060802@agliodbs.com<br />
* http://www.postgresql.org/message-id/20130124215715.GE4528@alvh.no-ip.org<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Locking ==<br />
<br />
{{TodoItem<br />
|Fix priority ordering of read and write light-weight locks<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php <nowiki>lwlocks and starvation</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php <nowiki>Re: lwlocks and starvation</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg01011.php <nowiki>FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00001.php <nowiki>Re: FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00435.php <nowiki>Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00773.php <nowiki>Re: savepoints and upgrading locks</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow UPDATEs on only non-referential integrity columns not to conflict with referential integrity locks<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00073.php <nowiki>Referential Integrity and SHARE locks</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add idle_in_transaction_timeout GUC so locks are not held for long periods of time}}<br />
<br />
{{TodoItem<br />
|Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-01/msg00138.php <nowiki>BUG #3883: Autovacuum deadlock with truncate?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php <nowiki>Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Detect deadlocks involving LockBufferForCleanup()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow finer control over who is cancelled in a deadlock<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01727.php<br />
}}<br />
<br />
== Startup Time Improvements ==<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for backend creation<br />
|This would prevent the overhead associated with process creation. Most operating systems have trivial process creation time compared to database startup overhead, but a few operating systems (Win32, Solaris) might benefit from threading. Also explore the idea of a single session using multiple threads to execute a statement faster.}}<br />
<br />
{{TodoItem<br />
|Allow backends to change their database without restart<br />
|This allows for faster server startup.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00843.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00336.php<br />
}}<br />
<br />
== Write-Ahead Log ==<br />
<br />
{{TodoItem<br />
|Eliminate need to write full pages to WAL before page modification<br />
|Currently, to protect against partial disk page writes, we write full page images to WAL before they are modified so we can correct any partial page writes during recovery. These pages can also be eliminated from point-in-time archive files. <br />
* [http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php <nowiki>Re: Index Scans become Seq Scans after VACUUM ANALYSE</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01191.php<br />
* [http://archives.postgresql.org/message-id/20120105061916.GB21048@fetter.org WIP double writes]<br />
* [http://archives.postgresql.org/message-id/4EFC449F02000025000441CD@gw.wicourts.gov double writes]<br />
* [http://archives.postgresql.org/message-id/20120110214344.GB21106@fetter.org Double-write with Fast Checksums]<br />
* [http://archives.postgresql.org/message-id/1962493974.656458.1327703514780.JavaMail.root@zimbra-prod-mbox-4.vmware.com double writes using "double-write buffer" approach]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01463.php<br />
}}<br />
<br />
{{TodoItem<br />
|When full page writes are off, write CRC to WAL and check file system blocks on recovery<br />
|If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC.}}<br />
<br />
{{TodoItem<br />
|Write full pages during file system write and not when the page is modified in the buffer cache<br />
|This allows most full page writes to happen in the background writer. It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL.<br />
* [http://archives.postgresql.org/message-id/CAGvK12UST-tPhyLrSLuSpwFxZbAO79yYrhV2xaLmS2MkUxNUVQ@mail.gmail.com Page Checksums + Double Writes]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce WAL traffic so only modified values are written rather than entire rows<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php <nowiki>Reduction in WAL for UPDATEs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow WAL information to recover corrupted pg_controldata<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php <nowiki>Re: [HACKERS] pg_resetxlog -r flag</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Find a way to reduce rotational delay when repeatedly writing last WAL page<br />
|Currently fsync of WAL requires the disk platter to perform a full rotation to fsync again. One idea is to write the WAL to different offsets that might reduce the rotational delay. <br />
* [http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php <nowiki>500 tpsQL + WAL log implementation</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Speed WAL recovery by allowing more than one page to be prefetched<br />
|This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. <br />
* [http://archives.postgresql.org/pgsql-general/2007-12/msg00683.php <nowiki>Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00497.php <nowiki>Re: [GENERAL] Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php <nowiki>Read-ahead and parallelism in redo recovery</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve WAL concurrency by increasing lock granularity<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00556.php <nowiki>Reworking WAL locking</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Be more aggressive about creating WAL files<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01325.php <nowiki>Re: PANIC caused by open_sync on Linux</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-07/msg01075.php <nowiki>PreallocXlogFiles</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-04/msg00556.php <nowiki>WAL/PITR additional items</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have resource managers report the duration of their status changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01468.php <nowiki>Recovery of Multi-stage WAL actions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Close deleted WAL files held open in *nix by long-lived read-only backends<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01754.php <nowiki>Deleted WAL files held open by backends in Linux</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg00060.php <nowiki>Re: Deleted WAL files held open by backends in Linux</nowiki>]<br />
}}<br />
<br />
== Optimizer / Executor ==<br />
<br />
{{TodoItem<br />
|Improve selectivity functions for geometric operators}}<br />
<br />
{{TodoItem<br />
|Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold<br />
* [http://archives.postgresql.org/message-id/4136ffa0905210551u22eeb31bn5655dbe7c9a3aed5@mail.gmail.com from_collapse_limit vs. geqo_threshold]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to display optimizer analysis using OPTIMIZER_DEBUG<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00597.php<br />
}}<br />
<br />
{{TodoItem<br />
|Log statements where the optimizer row estimates were dramatically different from the number of rows actually found?}}<br />
<br />
{{TodoItem<br />
|Consider compressed annealing to search for query plans<br />
|This might replace GEQO.<br />
* http://archives.postgresql.org/message-id/15658.1241278636%40sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Improve use of expression indexes for ORDER BY <br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg01553.php <nowiki>Resjunk sort columns, Heikki's index-only quals patch, and bug #5000</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Modify the planner to better estimate caching effects<br />
* http://archives.postgresql.org/pgsql-performance/2010-11/msg00117.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow shared buffer cache contents to affect index cost computations<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg01140.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the CTE (Common Table Expression) optimization fence to be optionally disabled<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00700.php<br />
* http://archives.postgresql.org/pgsql-performance/2012-11/msg00161.php<br />
}}<br />
<br />
=== Hashing ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Consider using a hash for joining to a large IN (VALUES ...) list<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00450.php <nowiki>Planning large IN lists</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single batch hash joins to preserve outer pathkeys<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg00806.php Re: Potential Join Performance Issue]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|"lazy" hash tables - look up only the tuples that are actually requested<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid building the same hash table more than once during the same query<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid hashing for distinct and then re-hashing for hash join<br />
* [http://archives.postgresql.org/message-id/4136ffa0902191346g62081081v8607f0b92c206f0a@mail.gmail.com Re: Fixing Grittner's planner issues]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Background Writer ==<br />
<br />
{{TodoItem<br />
|Consider having the background writer update the transaction status hint bits before writing out the page<br />
|Implementing this requires the background writer to have access to system catalogs and the transaction status log.}}<br />
<br />
{{TodoItem<br />
|Consider adding buffers the background writer finds reusable to the free list <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
}}<br />
<br />
{{TodoItem<br />
|Automatically tune bgwriter_delay based on activity rather then using a fixed interval<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider whether increasing BM_MAX_USAGE_COUNT improves performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg01007.php <nowiki>Bgwriter LRU cleaning: we've been going at this all wrong</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency<br />
* [http://archives.postgresql.org/pgsql-patches/2007-06/msg00340.php <nowiki>Re: Load Distributed Checkpoints, final patch</nowiki>]<br />
}}<br />
<br />
== Concurrent Use of Resources ==<br />
<br />
{{TodoItem<br />
|Do async I/O for faster random read-ahead of data<br />
|Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php <nowiki>Asynchronous I/O Support</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2007-09/msg00255.php <nowiki>Re: random_page_costs - are defaults of 4.0 realistic for SCSI RAID 1</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00027.php <nowiki>There's random access and then there's random access</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-01/msg00170.php <nowiki>Bitmap index scan preread using posix_fadvise (Was: There's random access and then there's random access)</nowiki>]<br />
The above patch is already applied as of 8.4, but it still remains to figure out how to handle plain indexscans effectively.<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-01/msg00806.php Problems with the patch submitted for posix_fadvise in index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for better I/O utilization<br />
|This would allow a single query to make use of multiple I/O channels simultaneously. One idea is to create a background reader that can pre-fetch sequential and index scan pages needed by other backends. This could be expanded to allow concurrent reads from multiple devices in a partitioned table.<br />
* http://archives.postgresql.org/pgsql-performance/2011-02/msg00123.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01139.php<br />
}}<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for better CPU utilization<br />
|This would allow several CPUs to be used for a single query, such as for sorting or query execution.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00945.php <nowiki>Multi CPU Queries - Feedback and/or suggestions wanted!</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|SMP scalability improvements<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00439.php <nowiki>Straightforward changes for increased SMP scalability</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00206.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
}}<br />
<br />
== TOAST ==<br />
<br />
{{TodoItem<br />
|Allow user configuration of TOAST thresholds<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00213.php <nowiki>Re: Proposed adjustments in MaxTupleSize and toastthresholds</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00082.php <nowiki>pg_lzcompress strategy parameters</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce unnecessary cases of deTOASTing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00895.php <nowiki>Re: [PATCHES] Eliminate more detoast copies for packed varlenas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce costs of repeat de-TOASTing of values<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01096.php <nowiki>WIP patch: reducing overhead for repeat de-TOASTing</nowiki>]<br />
}}<br />
<br />
== Monitoring ==<br />
{{TodoItem<br />
|Expand pg_stat_activity for easier integration with monitoring tools<br />
|* http://archives.postgresql.org/message-id/4DFA13A5.2060200@2ndQuadrant.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add column to pg_stat_activity that shows the progress of long-running commands like CREATE INDEX and VACUUM<br />
* [http://archives.postgresql.org/pgsql-patches/2008-04/msg00203.php <nowiki>EXPLAIN progress info</nowiki>]<br />
* The CLUSTER/VACUUM FULL implementation would also be useful to track this way<br />
}}<br />
<br />
{{TodoItem<br />
|Have pg_stat_activity display query strings in the correct client encoding<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00131.php <nowiki>pg_stats queries versus per-database encodings</nowiki>]<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Expose pg_controldata via an SQL interface<br />
|Helpful for monitoring replicated databases<br />
* http://archives.postgresql.org/message-id/4B901D73.8030003@agliodbs.com<br />
* [http://archives.postgresql.org/message-id/4B959D7A.6010907@joeconway.com initial patch]<br />
}}<br />
<br />
{{TodoItem<br />
| Add entry creation timestamp column to pg_stat_replication<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00694.php<br />
}}<br />
<br />
{{TodoItem<br />
| Allow reporting of stalls due to wal_buffer wrap-around<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00826.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values<br />
* http://www.postgresql.org/message-id/20121012060345.GA29214@toroid.org<br />
}}<br />
<br />
== Miscellaneous Performance ==<br />
<br />
{{TodoItem<br />
|Use mmap() rather than SYSV for shared buffers?<br />
|This would remove the requirement for SYSV SHM but would introduce portability issues. Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead. We could also consider mmap() for writing WAL.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00750.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00756.php<br />
}}<br />
<br />
{{TodoItem<br />
|Rather than consider mmap()-ing in 8k pages, consider mmap()'ing entire files into a backend?<br />
|Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. Another problem is that there is no way to _prevent_ I/O to disk from the dirty shared buffers so changes could hit disk before WAL is written.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01239.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider ways of storing rows more compactly on disk:<br />
* Reduce the row header size?<br />
* Consider reducing on-disk varlena length from four bytes to two because a heap row cannot be more than 64k in length}}<br />
<br />
{{TodoItem<br />
|Consider transaction start/end performance improvements<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00948.php <nowiki>Reducing Transaction Start/End Contention</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow configuration of backend priorities via the operating system<br />
|Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem.<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php <nowiki>Priorities for users or queries?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider increasing the minimum allowed number of shared buffers<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-02/msg00157.php <nowiki>Re: [PATCH] Don't bail with legitimate -N/-B options</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call<br />
* [http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php <nowiki>pgsql: Avoid incrementing the CommandCounter when</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation<br />
* [http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php <nowiki>Re: TB-sized databases</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider not storing a NULL bitmap on disk if all the NULLs are trailing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00624.php <nowiki>Proposal for Null Bitmap Optimization(for Trailing NULLs)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-12/msg00109.php <nowiki>Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Sort large UPDATE/DELETEs so it is done in heap order<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01119.php <nowiki>Possible future performance improvement: sort updates/deletes by ctid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider decreasing the I/O caused by updating tuple hint bits<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00847.php <nowiki>Hint Bits and Write I/O</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-07/msg00199.php <nowiki>Re: [HACKERS] Hint Bits and Write I/O</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00695.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00792.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg01063.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01408.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01453.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid the requirement of freezing pages that are infrequently modified <br />
|If all rows on a page are visible, it is possible to set a bit in the visibility map (once the visibility map is 100% reliable) and not need to freeze the page, avoiding a page rewrite<br />
* http://archives.postgresql.org/message-id/4BF701CF.2090205@agliodbs.com<br />
* http://archives.postgresql.org/pgsql-hackers/2010-06/msg00082.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid reading in b-tree pages when replaying vacuum records in hot standby mode<br />
* [http://archives.postgresql.org/message-id/1272571938.4161.14739.camel@ebony <nowiki>Hot Standby tuning for btree_xlog_vacuum()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure truncation logic to be more resistant to failure<br />
|This also involves not writing dirty buffers for a truncated or dropped relation<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01032.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider adding logic to increase large tables by more than 8k<br />
|This would reduce file system fragmentation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00337.php<br />
}}<br />
<br />
== Miscellaneous Other ==<br />
<br />
{{TodoItem<br />
|Deal with encoding issues for filenames in the server filesystem<br />
* {{MessageLink|20090413184335.39BE.52131E4D@oss.ntt.co.jp|a proposed patch here}}<br />
* {{MessageLink|8484.1244655656@sss.pgh.pa.us|some issues about it here}}<br />
* {{MessageLink|20100107103740.97A5.52131E4D@oss.ntt.co.jp|Windows-specific patch here}}<br />
}}<br />
<br />
{{TodoItem<br />
|Deal with encoding issues in the output of localeconv()<br />
* [http://archives.postgresql.org/message-id/40c6d9160904210658y590377cfw6dbbecb53d2b8be0@mail.gmail.com bug report]<br />
* [http://archives.postgresql.org/message-id/49EF8DA0.90008@tpf.co.jp draft patch]<br />
* [http://archives.postgresql.org/message-id/21710.1243620986@sss.pgh.pa.us review of patch]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports<br />
* [http://archives.postgresql.org/message-id/dcc563d10810211907n3c59a920ia9eb7cd2a6d5ea58@mail.gmail.com <nowiki>How to get schema name which violates fk constraint</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg00846.php <nowiki>patch - Report the schema along table name in a referential failure error message</nowiki>]<br />
* {{MessageLink|3191.1263306359@sss.pgh.pa.us|Re: NOT NULL violation and error-message}}<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg00213.php <nowiki>the case for machine-readable error fields</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add 64-bit support to /contrib/pgbench<br />
* http://archives.postgresql.org/pgsql-hackers/2010-07/msg00153.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00705.php<br />
}}<br />
<br />
== Source Code ==<br />
<br />
{{TodoItemEasy<br />
|Remove warnings created by -Wcast-align}}<br />
<br />
{{TodoItem<br />
|Move platform-specific ps status display info from ps_status.c to ports}}<br />
<br />
{{TodoItem<br />
|Consider a faster CRC32 algorithm<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01112.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow cross-compiling by generating the zic database on the target system}}<br />
<br />
{{TodoItem<br />
|Improve NLS maintenance of libpgport messages linked onto applications}}<br />
<br />
{{TodoItem<br />
|Use UTF8 encoding for NLS messages so all server encodings can read them properly}}<br />
<br />
{{TodoItem<br />
|Allow creation of universal binaries for Darwin<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00884.php <nowiki>Getting to universal binaries for Darwin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider GnuTLS if OpenSSL license becomes a problem<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00892.php<br />
* [http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php <nowiki>[PATCH] Add support for GnuTLS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01213.php <nowiki>TODO: GNU TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider making NAMEDATALEN more configurable in future releases}}<br />
<br />
{{TodoItem<br />
|Research use of signals and sleep wake ups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00003.php <nowiki>Restartable signals 'n all that</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow C++ code to more easily access backend code<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00302.php <nowiki>Mostly Harmless: Welcoming our C++ friends</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider simplifying how memory context resets handle child contexts<br />
* [http://archives.postgresql.org/pgsql-patches/2007-08/msg00067.php <nowiki>Re: Memory leak in nodeAgg</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Create three versions of libpgport to simplify client code<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00154.php <nowiki>8.4 TODO item: make src/port support libpq and ecpg directly</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve detection of shared memory segments being used by others by checking the SysV shared memory field 'nattch'<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00656.php <nowiki>postgresql in FreeBSD jails: proposal</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00673.php <nowiki>Re: postgresql in FreeBSD jails: proposal</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the non-threaded Avahi service discovery protocol<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00939.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00097.php <nowiki>Re: Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg01211.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-04/msg00001.php <nowiki>Re: [HACKERS] Avahi support for Postgresql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce data row alignment requirements on some 64-bit systems<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00369.php <nowiki>[WIP] Reduce alignment requirements on 64-bit systems.</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure TOAST internal storage format for greater flexibility<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00049.php <nowiki>Re: PG_PAGE_LAYOUT_VERSION 5 - time for change</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Add regression tests for pg_dump/restore<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01967.php <nowiki>"make install-check-pg_dump" target in src/regress]</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Research different memory allocation methods for lists<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01467.php <br />
}}<br />
<br />
{{TodoItem<br />
| Consider removing the attribute options cache<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00039.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure /contrib section<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00705.php<br />
}}<br />
<br />
{{TodoItem<br />
| Consider adding explicit huge page support<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00123.php<br />
}}<br />
<br />
=== /contrib/pg_upgrade ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Handle large object comments<br />
|This is difficult to do because the large object doesn't exist when --schema-only is loaded.<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using pg_depend for checking object usage in version.c<br />
}}<br />
<br />
{{TodoItem<br />
|If reindex is necessary, allow it to be done in parallel with pg_dump custom format<br />
}}<br />
<br />
{{TodoItem<br />
|Migrate pg_statistic by dumping it out as a flat file, so analyze is not necessary<br />
|pg_class.oid is not preserved so schema.tablename must be used.<br />
* [http://archives.postgresql.org/message-id/CAAZKuFaWdLkK8eozSAooZBets9y_mfo2HS6urPAKXEPbd-JLCA@mail.gmail.com pg_upgrade and statistics]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve testing, perhaps using the buildfarm<br />
|The buildfarm has access to multiple versions of PostgreSQL.<br />
}}<br />
<br />
{{TodoItem<br />
|Create machine-readable output of pg_controldata<br />
|This would avoid parsing its output. The problem is we need pg_controldata output from both the old and new clusters so we would need to support both formats.<br />
}}<br />
<br />
{{TodoItem<br />
|Find cleaner way to start/stop dedicated servers for upgrades<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00275.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a way to run pg_upgrade on standby servers<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00453.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00056.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Windows ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Remove configure.in check for link failure when cause is found}}<br />
<br />
{{TodoItem<br />
|Remove readdir() errno patch when runtime/mingwex/dirent.c rev 1.4 is released}}<br />
<br />
{{TodoItem<br />
|Allow psql to use readline once non-US code pages work with backslashes}}<br />
<br />
{{TodoItem<br />
|Fix problem with shared memory on the Win32 Terminal Server}}<br />
<br />
{{TodoItem<br />
|Improve signal handling<br />
* [http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php <nowiki>Simplify Win32 Signaling code</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Convert MSVC build system to remove most batch files<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00961.php <nowiki>MSVC build system</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support pgxs when using MSVC}}<br />
<br />
{{TodoItem<br />
|Fix MSVC NLS support, like for to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00485.php <nowiki>NLS on MSVC strikes back!</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00038.php <nowiki>Fix for 8.3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back!)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Find a correct rint() substitute on Windows<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php <nowiki>Minor bug in src/port/rint.c</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix global namespace issues when using multiple terminal server sessions<br />
* [http://archives.postgresql.org/message-id/48F3BFCC.8030107@dunslane.net problems with Windows global namespace]}}<br />
<br />
{{TodoItem<br />
|Change from the current autoconf/gmake build system to cmake<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg01869.php <nowiki>About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve consistency of path separator usage<br />
* http://archives.postgresql.org/message-id/49C0BDC5.4010002@hagander.net<br />
}}<br />
<br />
{{TodoItem<br />
|Fix cross-compiling on Windows<br />
* http://archives.postgresql.org/pgsql-bugs/2010-10/msg00110.php<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce file statistics overhead on directory reads<br />
* http://www.postgresql.org/message-id/1338325561.82125.YahooMailNeo@web39304.mail.mud.yahoo.com<br />
}}<br />
<br />
<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Wire Protocol Changes ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow dynamic character set handling}}<br />
<br />
{{TodoItem<br />
|Let the client indicate character encoding of database names, user names, and passwords<br />
* http://www.postgresql.org/message-id/16160.1360540050@sss.pgh.pa.us}}<br />
<br />
{{TodoItem<br />
|Add decoded type, length, precision}}<br />
<br />
{{TodoItem<br />
|Mark result columns as known-not-null when possible<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-11/msg01029.php <nowiki>Adding nullable indicator to Describe</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide more control over planner treatment of statements being prepared}}<br />
<br />
{{TodoItem<br />
|Use compression<br />
|If SSL is used, hopefully avoid the overhead of key negotiation and encryption<br />
* http://archives.postgresql.org/pgsql-hackers/2012-06/msg00793.php<br />
}}<br />
<br />
{{TodoItem<br />
|Update clients to use data types, typmod, schema.table.column names of result sets using new statement protocol}}<br />
<br />
{{TodoItem<br />
|Set protocol for wire format negotiation<br />
* [http://archives.postgresql.org/message-id/CACMqXCKkGrGXxQhjHCKCe0B8hn6sTt-1sdgHZOSGQMxrusOsQA@mail.gmail.com GUC_REPORT for protocol tunables]<br />
}}<br />
<br />
{{TodoItem<br />
|Make sure upgrading to a 4.1 protocol version will actually work smoothly<br />
* [http://archives.postgresql.org/message-id/28307.1318255008@sss.pgh.pa.us Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Documentation ==<br />
<br />
{{TodoItemEasy <br />
| Add contrib functions to the index<br />
* Add the functions and GUCs in the contrib modules to [http://www.postgresql.org/docs/current/static/sql-createindex.html the documentation index]: [http://archives.postgresql.org/message-id/50A2E173.6030404@2ndQuadrant.com per list discussion]<br />
}}<br />
<br />
{{TodoItem<br />
|Convert single quotes to apostrophes in the PDF documentation<br />
* [http://archives.postgresql.org/pgsql-docs/2007-12/msg00059.php <nowiki>SGML docs and pdf single-quotes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a manpage for postgresql.conf<br />
* {{messageLink|20080819194311.GH4428@alvh.no-ip.org|A smaller default postgresql.conf}}<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Change the manpage-generating toolchain to use the new XML-based docbook2x tools<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing documentation format from SGML to XML<br />
* [http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php <nowiki>Re: Authoring Tools WAS: Switching to XML</nowiki>]<br />
* http://archives.postgresql.org/pgsql-docs/2011-04/msg00020.php<br />
* http://wiki.postgresql.org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML<br />
}}<br />
<br />
{{TodoItem<br />
|Document support for N<nowiki>' '</nowiki> national character string literals, if it matches the SQL standard<br />
* http://archives.postgresql.org/message-id/1275895438.1849.1.camel@fsopti579.F-Secure.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add diagrams to the documentation<br />
* http://archives.postgresql.org/pgsql-docs/2010-07/msg00001.php<br />
}}<br />
<br />
== Exotic Features ==<br />
<br />
{{TodoItem<br />
|Add pre-parsing phase that converts non-ISO syntax to supported syntax<br />
|This could allow SQL written for other databases to run without modification.}}<br />
<br />
{{TodoItem<br />
|Allow plug-in modules to emulate features from other databases}}<br />
<br />
{{TodoItem<br />
|Add features of Oracle-style packages<br />
|A package would be a schema with session-local variables, public/private functions, and initialization functions. It is also possible to implement these capabilities in any schema and not use a separate &quot;packages&quot; syntax at all.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php <nowiki>proposal for PL packages for 8.3.</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing control of upper/lower case folding of unquoted identifiers<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php <nowiki>Bringing PostgreSQL torwards the standard regarding case folding</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php <nowiki>Re: [SQL] Case Preservation disregarding case sensitivity?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00849.php <nowiki>TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add autonomous transactions<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php <nowiki>autonomous transactions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Give query progress indication<br />
* [[Query progress indication]]<br />
}}<br />
<br />
{{TodoItem<br />
|Rethink our type system<br />
* [[Rethinking datatypes]]<br />
}}<br />
<br />
== Features We Do ''Not'' Want ==<br />
<br />
The following features have been discussed ad nauseum on the PostgreSQL mailing lists and the consensus has been that the project is not interested in them. As such, if you are going to bring them up as potential features, you will want to be familiar with all of the arguments against these features which have been previously made over the years. If you decide to work on such features anyway, you should be aware that you face a higher-than-normal barrier to get the Project to accept them.<br />
<br />
{{TodoItem<br />
|All backends running as threads in a single process (not wanted)<br />
|This eliminates the process protection we get from the current setup. Thread creation is usually the same overhead as process creation on modern systems, so it seems unwise to use a pure threaded model, and MySQL and DB2 have demonstrated that threads introduce as many issues as they solve. Threading specific operations such as I/O, seq scans, and connection management has been discussed and will probably be implemented to enable specific performance features. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years.}}<br />
<br />
{{TodoItem<br />
|"Oracle-style" optimizer hints (not wanted)<br />
|Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. We would rather have such problems reported and fixed. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. See [[OptimizerHintsDiscussion|Optimizer Hints Discussion]] for further information.}}<br />
<br />
{{TodoItem<br />
|Embedded server (not wanted)<br />
|While PostgreSQL clients runs fine in limited-resource environments, the server requires multiple processes and a stable pool of resources to run reliably and efficiently. Stripping down the PostgreSQL server to run in the same process address space as the client application would add too much complexity and failure cases. Besides, there are several very mature embedded SQL databases already available.}}<br />
<br />
{{TodoItem<br />
|Obfuscated function source code (not wanted)<br />
|Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. At the same time, it would greatly complicate backups and other administrative tasks. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc.<br />
* [http://archives.postgresql.org/pgsql-general/2008-09/msg00668.php <nowiki>Obfuscated stored procedures (was Re: Oracle and Postgresql)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Indeterminate behavior for the GROUP BY clause (not wanted)<br />
|At least one other database product allows specification of a subset of the result columns which GROUP BY would need to be able to provide predictable results; the server is free to return any value from the group. This is not viewed as a desirable feature. PostgreSQL 9.1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-03/msg00297.php <nowiki>Re: SQL compatibility reminder: MySQL vs PostgreSQL</nowiki>]<br />
}}<br />
<br />
</div><br />
<br />
[[Category:Todo]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=Todo&diff=19739Todo2013-05-15T02:55:31Z<p>Ramayer: /* Text Search */</p>
<hr />
<div><div style="margin: 1ex 1em; float: right;"><br />
__TOC__<br />
</div><br />
<br />
This list contains '''known PostgreSQL bugs and feature requests''' and we hope it is complete. If you would like to work on an item, please read the [[Developer FAQ]] first. There is also a [[Development_information|development information page]].<br />
<br />
* {{TodoPending}} - marks ordinary, incomplete items<br />
* {{TodoEasy}} - marks items that are easier to implement<br />
* {{TodoDone}} - marks changes that are done, and will appear in the PostgreSQL 9.3 release.<br />
<br />
For help on editing this list, please see [[Talk:Todo]]. <b>Please do not add items here without discussion on the mailing list.</b><br />
<br />
<b>For Developers:</b> Unfortunately this list does not contain all the information necessary for someone to start coding a feature. Some of these items might have become unnecessary since they were added --- others might be desirable but the implementation might be unclear. When selecting items listed below, be prepared to first discuss the value of the feature. Do not assume that you can select one, code it and then expect it to be committed. Always discuss design on Hackers list before starting to code. The flow should be:<br />
<br />
Desirability -> Design -> Implement -> Test -> Review -> Commit<br />
<br />
<div style="padding: 1ex 4em;"><br />
== Administration ==<br />
<br />
{{TodoItem<br />
|Allow administrators to cancel multi-statement idle transactions<br />
|This allows locks to be released, but it is complex to report the cancellation back to the client.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg01340.php <nowiki>Cancelling idle in transaction state</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg00441.php <nowiki>Re: Cancelling idle in transaction state</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Check for unreferenced table files created by transactions that were in-progress when the server terminated abruptly<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php <nowiki>Removing unreferenced files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Set proper permissions on non-system schemas during db creation<br />
|Currently all schemas are owned by the super-user because they are copied from the template1 database. However, since all objects are inherited from the template database, it is not clear that setting schemas to the db owner is correct.}}<br />
<br />
{{TodoItem<br />
|Allow log_min_messages to be specified on a per-module basis<br />
|This would allow administrators to see more detailed information from specific sections of the backend, e.g. checkpoints, autovacuum, etc. Another idea is to allow separate configuration files for each module, or allow arbitrary SET commands to be passed to them. See also [[Logging Brainstorm]].}}<br />
<br />
{{TodoItem<br />
|Simplify creation of partitioned tables<br />
|This would allow creation of partitioned tables without requiring creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints for rapid partition selection. Options could include range and hash partition selection. See also [[Table partitioning]]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow custom variables to appear in pg_settings()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00850.php <nowiki>Re: count(*) performance improvement ideas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have custom variables be transaction-safe<br />
* {{MessageLink|4B577E9F.8000505@dunslane.net|Custom GUCs still a bit broken}}<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the SQL-standard mechanism whereby REVOKE ROLE revokes only the privilege granted by the invoking role, and not those granted by other roles<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00010.php <nowiki>Re: Grantor name gets lost when grantor role dropped</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent query cancel packets from being replayed by an attacker, especially when using SSL<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00345.php <nowiki>Replay attack of query cancel</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a way to query the log collector subprocess to determine the name of the currently active log file<br />
* [http://archives.postgresql.org/pgsql-general/2008-11/msg00418.php <nowiki>Current log files when rotating?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow simpler reporting of the unix domain socket directory and allow easier configuration of its default location<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg01555.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-10/msg01482.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow custom daemons to be automatically stopped/started along with the postmaster<br />
|This allows easier administration of daemons like user job schedulers or replication-related daemons.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01701.php <nowiki>Re: scheduler in core</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve logging of prepared transactions recovered during startup<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php <nowiki>&quot;recovering prepared transaction&quot; after server restart message</nowiki>]<br />
}}<br />
<br />
=== Configuration files ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow postgresql.conf file values to be changed via an SQL API, perhaps using SET GLOBAL<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00764.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01509.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-11/msg00002.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider normalizing fractions in postgresql.conf, perhaps using '%'<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00550.php <nowiki>Fractions in GUC variables</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow Kerberos to disable stripping of realms so we can check the username@realm against multiple realms<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00009.php <nowiki>krb_match_realm patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve LDAP authentication configuration options<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01745.php <nowiki>Proposed Patch - LDAPS support for servers on port 636 w/o TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add external tool to auto-tune some postgresql.conf parameters<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00000.php <nowiki>Re: Overhauling GUCS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00033.php <nowiki>Simple postgresql.conf wizard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add 'hostgss' pg_hba.conf option to allow GSS link-level encryption<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg01454.php <nowiki>Re: Plans for 8.4</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Process pg_hba.conf keywords as case-insensitive<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00432.php <nowiki>More robust pg_hba.conf parsing/error logging</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Create utility to compute accurate random_page_cost value<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00162.php<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00362.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow configuration files to be independently validated<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01831.php<br />
* http://archives.postgresql.org/message-id/12666.1310774573@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Allow postgresql.conf settings to be accepted by backends even if some settings are invalid for those backends<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00330.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00375.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow all backends to receive postgresql.conf setting changes at the same time<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00330.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00375.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow synchronous_standby_names to be disabled after communication failure with all synchronous standby servers exceeds some timeout<br />
|This also requires successful execution of a synchronous notification command.<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00409.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Tablespaces ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow a database in tablespace t1 with tables created in tablespace t2 to be used as a template for a new database created with default tablespace t2<br />
|Currently all objects in the default database tablespace must have default tablespace specifications. This is because new databases are created by copying directories. If you mix default tablespace tables and tablespace-specified tables in the same directory, creating a new database from such a mixed directory would create a new database with tables that had incorrect explicit tablespaces. To fix this would require modifying pg_class in the newly copied database, which we don't currently do.}}<br />
<br />
{{TodoItem<br />
|Allow reporting of which objects are in which tablespaces<br />
|This item is difficult because a tablespace can contain objects from multiple databases. There is a server-side function that returns the databases which use a specific tablespace, so this requires a tool that will call that function and connect to each database to find the objects in each database for that tablespace.}}<br />
<br />
{{TodoItem<br />
|Allow WAL replay of CREATE TABLESPACE to work when the directory structure on the recovery computer is different from the original}}<br />
<br />
{{TodoItem<br />
|Allow per-tablespace quotas}}<br />
<br />
{{TodoItem<br />
|Allow tablespaces on RAM-based partitions for unlogged tables<br />
* http://archives.postgresql.org/pgsql-advocacy/2011-05/msg00033.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow toast tables to be moved to a different tablespace<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-05/msg00980.php]<br />
* {{messageLink|CAFEQCbH756DyyAPQ1ykh3+b+kE1-EhWRww1WO_x5v38C-uLnUg@mail.gmail.com|patch : Allow toast tables to be moved to a different tablespace}} (issues remain)<br />
* [http://archives.postgresql.org/message-id/CAFEQCbEq07OopgE5xFYv2Q3eMq45hRSJkjCBO+kvpJq9NEVhow@mail.gmail.com Allow toast tables to be moved to a different tablespace]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Statistics Collector ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow statistics last vacuum/analyze execution times to be displayed without requiring track_counts to be enabled<br />
* [http://archives.postgresql.org/pgsql-docs/2007-04/msg00028.php <nowiki>row-level stats and last analyze time</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Clear table counters on TRUNCATE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg00169.php <nowiki>Small TRUNCATE glitch</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SSL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SSL authentication/encryption over unix domain sockets<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00924.php <nowiki>Re: Spoofing as the postmaster</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow SSL key file permission checks to be optionally disabled when sharing SSL keys with other applications<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00069.php <nowiki>BUG #3809: SSL &quot;unsafe&quot; private key permissions bug</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow SSL CRL files to be re-read during configuration file reload, rather than requiring a server restart<br />
|Unlike SSL CRT files, CRL (Certificate Revocation List) files are updated frequently<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00832.php <nowiki>Automatic CRL reload</nowiki>]<br />
Alternatively or additionally supporting OCSP (online certificate security protocol) would provide real-time revocation discovery without reloading<br />
}}<br />
<br />
{{TodoItem<br />
| Allow automatic selection of SSL client certificates from a certificate store<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00406.php <nowiki>Allow multiple certificates or keys in the postgresql.crt/.key files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Send the full certificate server chain to the client<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-12/msg00145.php BUG #5245: Full Server Certificate Chain Not Sent to client]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Point-In-Time Recovery (PITR) ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow archive_mode to be changed without server restart?<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01655.php <nowiki>Enabling archive_mode without restart</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider avoiding WAL switching via archive_timeout if there has been no database activity<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01469.php <nowiki>archive_timeout behavior for no activity</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg00395.php <nowiki>Re: archive_timeout behavior for no activity</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow base backup from standby to continue when the standby is promoted.<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-10/msg00239.php <nowiki>Re: Promoting a standby during base backup</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add recovery target option to stop as soon as consistency is reached.<br />
* [http://archives.postgresql.org/message-id/5188F87D.1080908@vmware.com <nowiki>Re: Recovery target 'immediate'</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Standby server mode ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
| Allow pg_xlogfile_name() to be used in recovery mode<br />
* [http://archives.postgresql.org/message-id/3f0b79eb1001190135vd9f62f1sa7868abc1ea61d12@mail.gmail.com <nowiki>Streaming replication and pg_xlogfile_name()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Prevent variables inherited from the server environment from begin used for making streaming replication connections.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01011.php <nowiki>Re: Parameter name standby_mode</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Change walsender so that it applies per-role settings<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00642.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure configuration parameters for standby mode<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg01820.php<br />
}}<br />
<br />
{{TodoItemf<br />
| Allow time-delayed application of logs on the standby<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00992.php<br />
}}<br />
<br />
{{TodoItem<br />
| Add -X parameter to pg_basebackup to specify a different directory for px_xlog, like initdb<br />
}}<br />
<br />
{{TodoItem<br />
| Add a new "eager" synchronous mode that starts out synchronous but reverts to asynchronous after a failure timeout period<br />
|This would require some type of command to be executed to alert administrators of this change.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-12/msg01224.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Data Types ==<br />
<br />
{{TodoItem<br />
|Fix data types where equality comparison is not intuitive, e.g. box<br />
* http://archives.postgresql.org/pgsql-hackers/2011-10/msg01643.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for public SYNONYMs<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php <nowiki>Proposal for SYNONYMS</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg02043.php<br />
* http://archives.postgresql.org/pgsql-general/2010-12/msg00139.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for SQL-standard GENERATED/IDENTITY columns<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php <nowiki>Re: Three weeks left until feature freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00038.php <nowiki>GENERATED ... AS IDENTITY, Was: Re: Feature Freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php <nowiki>Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php <nowiki>Re: [HACKERS] Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00604.php <nowiki>IDENTITY/GENERATED patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider placing all sequences in a single table, or create a system view<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-02/msg00258.php Removing special case OID generation]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a special data type for regular expressions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php <nowiki>Why is there a tsquery data type?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce BIT data type overhead using short varlena headers<br />
* [http://archives.postgresql.org/pgsql-general/2007-12/msg00273.php <nowiki>storage size of &quot;bit&quot; data type..</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow renaming and deleting enumerated values from an existing enumerated data type<br />
}}<br />
<br />
{{TodoItem<br />
|Support scoped IPv6 addresses in the inet type<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php <nowiki>strange problem with ip6</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Considering improving performance of computing CHAR() value lengths<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00900.php <nowiki>char() overhead on read-only workloads not so insignifcant as the docs claim it is...</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01787.php <nowiki>Re: [PATCH] backend: compare word-at-a-time in bcTruelen</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add overlaps geometric operators that ignore point overlaps<br />
* http://archives.postgresql.org/pgsql-hackers/2010-03/msg00861.php<br />
}}<br />
<br />
{{TodoItem<br />
|Remove or improve rounding in geometric comparison operators<br />
* http://archives.postgresql.org/message-id/9804.1346187849@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
| Add IMMUTABLE column attribute<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00623.php<br />
}}<br />
<br />
=== Domains ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow functions defined as casts to domains to be called during casting<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php <nowiki>bug? non working casts for domain</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php <nowiki>TODO: Fix CREATE CAST on DOMAINs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow values to be cast to domain types<br />
* [http://archives.postgresql.org/pgsql-hackers/2003-06/msg01206.php <nowiki>Domain casting still doesn't work right</nowiki>] <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00289.php <nowiki>domain casting?</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00812.php<br />
}}<br />
<br />
{{TodoItem<br />
|Make domains work better with polymorphic functions<br />
* [http://archives.postgresql.org/message-id/4887.1228700773@sss.pgh.pa.us Polymorphic types vs. domains]<br />
* [http://archives.postgresql.org/message-id/15535.1238774571@sss.pgh.pa.us some difficulties with fixing it]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Dates and Times ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow infinite intervals just like infinite timestamps<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00076.php<br />
}}<br />
<br />
{{TodoItem<br />
|Determine how to represent date/time field extraction on infinite timestamps<br />
* [http://archives.postgresql.org/message-id/CA+mi_8bda-Fnev9iXeUbnqhVaCWzbYhHkWoxPQfBca9eDPpRMw@mail.gmail.com extract(epoch from infinity) is not 0]<br />
* [http://archives.postgresql.org/message-id/CADAkt-icuESH16uLOCXbR-dKpcvwtUJE4JWXnkdAjAAwP6j12g@mail.gmail.com converting between infinity timestamp and float8]<br />
}}<br />
<br />
<br />
{{TodoItem<br />
|Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC<br />
|If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php <nowiki>timestamp with time zone a la sql99</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have timestamp subtraction not call justify_hours()?<br />
* [http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php <nowiki>timestamp subtraction (was Re: formatting intervals with to_char)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve TIMESTAMP WITH TIME ZONE subtraction to be DST-aware<br />
|Currently subtracting one date from another that crosses a daylight savings time adjustment can return '1 day 1 hour', but adding that back to the first date returns a time one hour in the future. This is caused by the adjustment of '25 hours' to '1 day 1 hour', and '1 day' is the same time the next day, even if daylight savings adjustments are involved.}}<br />
<br />
{{TodoItem<br />
|Fix interval display to support values exceeding 2^31 hours}}<br />
<br />
{{TodoItem<br />
|Add overflow checking to timestamp and interval arithmetic}}<br />
<br />
{{TodoItem<br />
|Add function to allow the creation of timestamps using parameters<br />
* http://archives.postgresql.org/pgsql-performance/2010-06/msg00232.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Arrays ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add support for arrays of domains<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php <nowiki>Re: updated WIP: arrays of composites</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single-byte header storage for array elements}}<br />
<br />
{{TodoItem<br />
|Add function to detect if an array is empty<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00475.php <nowiki>Re: array_length()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of empty arrays<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01033.php <nowiki>So what's an &quot;empty&quot; array anyway?</nowiki>]<br />
* http://archives.postgresql.org/pgsql-general/2012-07/msg00633.php<br />
* [http://www.postgresql.org/message-id/1182.1363387349@sss.pgh.pa.us <nowiki>Allow declaration of an empty array?</nowiki>]<br />
* [http://www.postgresql.org/message-id/CADxJZo0keVhSRzUnot2Y6g46tsP7f-eV28iEmBd3AtLjU-YTMA@mail.gmail.com Exorcise "zero-dimensional" arrays]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULLs in arrays<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-11/msg00009.php <nowiki>BUG #4509: array_cat's null behaviour is inconsistent</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01040.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Binary Data ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve vacuum of large objects, like contrib/vacuumlo?}}<br />
<br />
{{TodoItem<br />
|Auto-delete large objects when referencing row is deleted<br />
|contrib/lo offers this functionality.}}<br />
<br />
{{TodoItem<br />
|Allow read/write into TOAST values like large objects<br />
|Writing might require the TOAST column to be stored EXTERNAL.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00049.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== MONEY Data Type ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add locale-aware MONEY type, and support multiple currencies<br />
* [http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php <nowiki>A real currency type</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php <nowiki>Money type todos?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|MONEY dumps in a locale-specific format making it difficult to restore to a system with a different locale}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Text Search ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow dictionaries to change the token that is passed on to later dictionaries<br />
* [http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php <nowiki>a tsearch2 (8.2.4) dictionary that only filters out stopwords</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Exact phrase search, <br />
* [http://www.sai.msu.su/~megera/wiki/2009-08-12 <nowiki>Algebra for full-text queries</nowiki>]<br />
* [http://www.sai.msu.su/~megera/postgres/talks/2009.pdf <nowiki>Algebra for full-text queries</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a function-based API for '@@' searches<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php <nowiki>Some recent advances in<br />
full-text search</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve text search error messages<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php <nowiki>Poorly designed tsearch NOTICEs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php <nowiki>Re: Poorly designed tsearch NOTICEs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing error to warning for strings larger than one megabyte<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php <nowiki>BUG #3975: tsearch2 index should not bomb out of 1Mb limit</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php <nowiki>Re: [BUGS] BUG #3975: tsearch2 index should not bomb out of 1Mb limit</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|tsearch and tsdicts regression tests fail in Turkish locale on glibc<br />
* [http://archives.postgresql.org/message-id/49749645.5070801@gmx.net tsearch with Turkish locale]<br />
}}<br />
<br />
{{TodoItem<br />
|tsquery negator operator treated as part of lexeme<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-06/msg00346.php BUG #4887: inclusion operator (@>) on tsqeries behaves not conforming to documentation]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of dash and plus signs in email address user names, and perhaps improve URL parsing<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00772.php<br />
* [http://archives.postgresql.org/message-id/E1Ri8il-0008Ct-9p@wrigleys.postgresql.org tsearch does not recognize all valid emails]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve default parser, to more easily allow adding new tokens<br />
* http://archives.postgresql.org/message-id/23485.1297727826@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Add additional support functions<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00319.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== XML ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow XML arrays to be cast to other data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00981.php <nowiki>proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00231.php <nowiki>Re: proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00471.php <nowiki>Re: proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add XML Schema validation and xmlvalidate functions (SQL:2008)}}<br />
<br />
{{TodoItem<br />
|Add xmlvalidatedtd variant to support validating against a DTD?}}<br />
<br />
{{TodoItem<br />
|Relax-NG validation; libxml2 supports this already}}<br />
<br />
{{TodoItem<br />
|Allow reliable XML operation non-UTF8 server encodings (xpath(), in particular, is known to not work)<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-01/msg00135.php <nowiki>BUG #4622: xpath only work in utf-8 server encoding</nowiki>] <br />
* http://archives.postgresql.org/message-id/4110.1238973350@sss.pgh.pa.us}}<br />
<br />
{{TodoItem<br />
|Add functions from SQL:2006: XMLDOCUMENT, XMLCAST, XMLTEXT}}<br />
<br />
{{TodoItem<br />
|Add XMLNAMESPACES support in XMLELEMENT and elsewhere}}<br />
<br />
{{TodoItem<br />
|Move XSLT from contrib/xml2 to a more reasonable location<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00539.php<br />
}}<br />
<br />
{{TodoItem<br />
|Report errors returned by the XSLT library<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00562.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve the XSLT parameter passing API<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00416.php<br />
}}<br />
<br />
{{TodoItem<br />
|XML Canonical: Convert XML documents to canonical form to compare them. libxml2 has support for this.}}<br />
<br />
{{TodoItem<br />
|Add pretty-printed XML output option<br />
|Parse a document and serialize it back in some indented form. libxml2 might support this.}}<br />
<br />
{{TodoItem<br />
|Add XMLQUERY (from the SQL/XML standard)}}<br />
<br />
{{TodoItem<br />
|Allow XML sthredding<br />
|In some cases shredding could be better option (if there is no need to keep XML docs entirely, e.g. if we have already developed tools that understand only relational data. This would be a separate module that implements annotated schema decomposition technique, similar to DB2 and SQL Server functionality.}}<br />
<br />
{{TodoItem<br />
|Fix Nested or repeated xpath() that apparently mess up namespaces [http://archives.postgresql.org/pgsql-bugs/2008-03/msg00097.php] [http://archives.postgresql.org/pgsql-bugs/2008-03/msg00144.php] [http://archives.postgresql.org/pgsql-general/2008-03/msg00295.php] [http://archives.postgresql.org/pgsql-bugs/2008-07/msg00054.php] [http://archives.postgresql.org/message-id/004f01c90e91$138e9d10$3aabd730$@anstett@iaas.uni-stuttgart.de]}}<br />
<br />
{{TodoItem<br />
|XPath: Adding the <x> at the root causes problems [http://archives.postgresql.org/pgsql-bugs/2008-05/msg00184.php] [http://archives.postgresql.org/pgsql-bugs/2008-07/msg00054.php] [http://archives.postgresql.org/pgsql-general/2008-07/msg00613.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table needs to be implemented/implementable to get rid of contrib/xml2 [http://archives.postgresql.org/pgsql-general/2008-05/msg00823.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table is pretty broken anyway [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02424.php]}}<br />
<br />
{{TodoItem<br />
|better handling of XPath data types [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00616.php] [http://archives.postgresql.org/message-id/004a01c90e90$4b986d90$e2c948b0$@anstett@iaas.uni-stuttgart.de]}}<br />
<br />
{{TodoItem<br />
|Improve handling of PIs and DTDs in xmlconcat() [http://archives.postgresql.org/message-id/200904211211.n3LCB09p008988@wwwmaster.postgresql.org]}}<br />
<br />
{{TodoItem<br />
|Restructure XML and /contrib/xml2 functionality<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02314.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00017.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Functions ==<br />
<br />
{{TodoItem<br />
|Allow INET subnet comparisons using non-constants to be indexed}}<br />
<br />
{{TodoItem<br />
|Add an INET overlaps operator, for use by exclusion constraints <br />
* http://archives.postgresql.org/pgsql-hackers/2010-03/msg00845.php<br />
}}<br />
<br />
{{TodoItem<br />
|Enforce typmod for function inputs, function results and parameters for spi_prepare'd statements called from PLs<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg01403.php <nowiki>Re: BUG #2917: spi_prepare doesn't accept typename aliases</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01160.php <nowiki>RFC for adding typmods to functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix IS OF so it matches the ISO specification, and add documentation<br />
* [http://archives.postgresql.org/pgsql-patches/2003-08/msg00060.php <nowiki>Re: [HACKERS] IS OF</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00060.php <nowiki>ToDo: add documentation for operator IS OF</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement Boyer-Moore searching in LIKE queries<br />
* {{messageLink|27645.1220635769@sss.pgh.pa.us|TODO item: Implement Boyer-Moore searching (First time hacker)}}<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent malicious functions from being executed with the permissions of unsuspecting users<br />
|Index functions are safe, so VACUUM and ANALYZE are safe too. Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php <nowiki>Some notes about the index-functions security vulnerability</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce memory usage of aggregates in set returning functions<br />
* [http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php <nowiki>Re: Performance of aggregates over set-returning functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/ltree operator<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-11/msg00044.php <nowiki>BUG #3720: wrong results at using ltree</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/btree_gist's implementation of inet indexing<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-10/msg00099.php <nowiki>BUG #5705: btree_gist: Index on inet changes query result</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|<nowiki>Fix inconsistent precedence of =, &gt;, and &lt; compared to &lt;&gt;, &gt;=, and &lt;=</nowiki><br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00145.php <nowiki>BUG #3822: Nonstandard precedence for comparison operators</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix regular expression bug when using complex back-references<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00000.php <nowiki>BUG #3645: regular expression back references seem broken</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have /contrib/dblink reuse unnamed connections<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00895.php <nowiki>dblink un-named connection doesn't get re-used</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve formatting of pg_get_viewdef() output<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg01648.php <nowiki>pg_get_viewdef formattiing</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg01885.php <nowiki>Re: pretty print viewdefs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-12/msg00906.php reprise: pretty print viewdefs]<br />
}}<br />
<br />
{{TodoItem<br />
|Add function to dump pg_depend information cleanly<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00226.php <nowiki>Elementary dependency look-up</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add function to allow easier transaction id comparisons<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00786.php<br />
}}<br />
<br />
=== Character Formatting ===<br />
<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Allow to_date() and to_timestamp() to accept localized month names}}<br />
<br />
{{TodoItem<br />
|Add missing parameter handling in to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php <nowiki>Re: to_char and i18n</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Throw an error from to_char() instead of printing a string of "#" when a number doesn't fit in the desired output format.<br />
* discussed in [http://archives.postgresql.org/message-id/37ed240d0907290836w42187222n18664dfcbcb445b1@mail.gmail.com "to_char, support for EEEE format"]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow to_char() on interval values to accumulate the highest unit requested<br />
|2= Some special format flag would be required to request such accumulation. Such functionality could also be added to EXTRACT. Prevent accumulation that crosses the month/day boundary because of the uneven number of days in a month.<br />
* to_char(INTERVAL '1 hour 5 minutes', 'MI') =&gt; 65<br />
* to_char(INTERVAL '43 hours 20 minutes', 'MI' ) =&gt; 2600<br />
* to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') =&gt; 0:1:19:20<br />
* to_char(INTERVAL '3 years 5 months','MM') =&gt; 41<br />
}}<br />
<br />
{{TodoItem<br />
|Fix to_number() handling for values not matching the format string<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01447.php <nowiki>Re: numeric_to_number() function skipping some digits</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Multi-Language Support ==<br />
<br />
{{TodoItem<br />
|Add NCHAR (as distinguished from ordinary varchar),}}<br />
<br />
{{TodoItem<br />
|Add a cares-about-collation column to pg_proc, so that unresolved-collation errors can be thrown at parse time<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-03/msg01520.php <nowiki>Open issues for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with text search configurations<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with to_char() and related functions<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support collation-sensitive equality and hashing functions<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-06/msg00472.php <nowiki> contrib/citext versus collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a LOCALE option to CREATE DATABASE, as a shorthand<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00119.php <nowiki> Re: 8.4 open items list</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support multiple simultaneous character sets, per SQL:2008}}<br />
<br />
{{TodoItem<br />
|Improve UTF8 combined character handling?}}<br />
<br />
{{TodoItem<br />
|Add octet_length_server() and octet_length_client()}}<br />
<br />
{{TodoItem<br />
|Make octet_length_client() the same as octet_length()?}}<br />
<br />
{{TodoItem<br />
|Fix problems with wrong runtime encoding conversion for NLS message files}}<br />
<br />
{{TodoItem<br />
|Add URL to more complete multi-byte regression tests<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php <nowiki>Multi-byte and client side character encoding tests for copy command..</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix contrib/fuzzystrmatch to work with multibyte encodings<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00047.php <nowiki> soundex function returns UTF-16 characters</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00138.php <nowiki> dmetaphone woes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Change memory allocation for multi-byte functions so memory is allocated inside conversion functions<br />
|Currently we preallocate memory based on worst-case usage.}}<br />
<br />
{{TodoItem<br />
|Add ability to use case-insensitive regular expressions on multi-byte characters<br />
|Currently it works for UTF-8, but not other multi-byte encodings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00433.php <nowiki>Regexps vs. locale</nowiki>]<br />
* {{MessageLink|20091201210024.B1393753FB7@cvs.postgresql.org|A partial solution for UTF-8}}<br />
}}<br />
<br />
{{TodoItem<br />
|Improve encoding of connection startup messages sent to the client<br />
|Currently some authentication error messages are sent in the server encoding<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00801.php <nowiki>encoding of PostgreSQL messages</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-general/2009-01/msg00005.php <nowiki>Re: encoding of PostgreSQL messages</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|More sensible support for Unicode combining characters, normal forms<br />
* http://archives.postgresql.org/message-id/200904141532.44618.peter_e@gmx.net<br />
}}<br />
<br />
== Views and Rules ==<br />
<br />
{{TodoItem<br />
|Add the functionality of the WITH CHECK OPTION clause to CREATE VIEW<br />
}}<br />
{{TodoItem<br />
|Allow VIEW/RULE recompilation when the underlying tables change<br />
|This is both difficult and controversial.<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01723.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change"]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01724.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change2"]<br />
* [http://archives.postgresql.org/message-id/CACk%3DU9NFSzWrEba8G5dZ%3DTZLy3_hx3QXGyCcKVWT%3D4iA1FjMuA@mail.gmail.com VIEW still referring to old name of field]<br />
}}<br />
{{TodoItem<br />
|Make it possible to use RETURNING together with conditional DO INSTEAD rules, such as for partitioning setups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php <nowiki>RETURNING and DO INSTEAD ... Intentional or not?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to modify views via ALTER TABLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00691.php <nowiki>Re: idea: storing view source in system catalogs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg01410.php <nowiki>modifying views</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00300.php <nowiki>Re: patch: Add columns via CREATE OR REPLACE VIEW</nowiki>]<br />
}}<br />
<br />
== SQL Commands ==<br />
<br />
{{TodoItem<br />
|Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT<br />
* [http://dissipatedheat.com/2011/11/10/how-not-to-write-a-patch-for-postgresql/ How not to write this patch.]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve type determination of unknown (NULL or quoted literal) result columns for UNION/INTERSECT/EXCEPT<br />
* [http://archives.postgresql.org/message-id/9799.1302719551@sss.pgh.pa.us <nowiki>UNION construct type cast gives poor error message</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00838.php <nowiki>WIP: grouping sets support</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00466.php <nowiki>Implementation of GROUPING SETS (T431: Extended grouping capabilities)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow prepared transactions with temporary tables created and dropped in the same transaction, and when an ON COMMIT DELETE ROWS temporary table is accessed<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php <nowiki>Re: &quot;could not open relation 1663/16384/16584: No such file or directory&quot; in a specific combination of transactions with temp tables</nowiki>]<br />
* [http://archives.postgresql.org/message-id/492543D5.9050904@enterprisedb.com A suggestion on how to implement this]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a GUC variable to warn about non-standard SQL usage in queries}}<br />
<br />
{{TodoItem<br />
|Add SQL-standard MERGE/REPLACE/UPSERT command<br />
|MERGE is typically used to merge two tables. REPLACE or UPSERT command does UPDATE, or on failure, INSERT. See [[SQL MERGE]] for notes on the implementation details.<br />
}}<br />
<br />
{{TodoItem<br />
|Add NOVICE output level for helpful messages<br />
|For example, have it warn about unjoined tables. This could also control automatic sequence/index creation messages.<br />
}}<br />
<br />
{{TodoItem<br />
|Allow NOTIFY in rules involving conditionals}}<br />
<br />
{{TodoItem<br />
|Allow EXPLAIN to identify tables that were skipped because of constraint_exclusion<br />
}}<br />
<br />
{{TodoItem<br />
|Simplify dropping roles that have objects in several databases}}<br />
<br />
{{TodoItem<br />
|Allow the count returned by SELECT, etc to be represented as an int64 to allow a higher range of values}}<br />
<br />
{{TodoItem<br />
|Add support for WITH RECURSIVE ... CYCLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00291.php <nowiki>WITH RECURSIVE ... CYCLE in vanilla SQL: issues with arrays of rows</nowiki>]}}<br />
<br />
{{TodoItem<br />
|Add DEFAULT .. AS OWNER so permission checks are done as the table owner<br />
|This would be useful for SERIAL nextval() calls and CHECK constraints.}}<br />
<br />
{{TodoItem<br />
|Allow DISTINCT to work in multiple-argument aggregate calls}}<br />
<br />
{{TodoItem<br />
|Add comments on system tables/columns using the information in catalogs.sgml<br />
|Ideally the information would be pulled from the SGML file automatically.}}<br />
<br />
{{TodoItem<br />
|Prevent the specification of conflicting transaction read/write options<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00684.php <nowiki>Re: SET TRANSACTION and SQL Standard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow DELETE and UPDATE to be used with LIMIT and ORDER BY<br />
* http://archives.postgresql.org/pgadmin-hackers/2010-04/msg00078.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01997.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00021.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow PREPARE of cursors}}<br />
<br />
{{TodoItem<br />
|Have DISCARD PLANS discard plans cached by functions<br />
|DISCARD all should do the same.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00431.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid multiple-evaluation of BETWEEN and IN arguments containing volatile expressions<br />
* http://archives.postgresql.org/message-id/4D95B605.2020709@enterprisedb.com<br />
}}<br />
<br />
{{TodoItem<br />
|Fix nested CASE-WHEN constructs<br />
* http://archives.postgresql.org/message-id/4DDCEEB8.50602@enterprisedb.com<br />
}}<br />
<br />
=== CREATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow CREATE TABLE AS to determine column lengths for complex expressions like SELECT col1 || col2}}<br />
<br />
{{TodoItem<br />
|Have WITH CONSTRAINTS also create constraint indexes<br />
* [http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php <nowiki>Re: CREATE TABLE LIKE INCLUDING INDEXES support</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move NOT NULL constraint information to pg_constraint<br />
|Currently NOT NULL constraints are stored in pg_attribute without any designation of their origins, e.g. primary keys. One manifest problem is that dropping a PRIMARY KEY constraint does not remove the NOT NULL constraint designation. Another issue is that we should probably force NOT NULL to be propagated from parent tables to children, just as CHECK constraints are. (But then does dropping PRIMARY KEY affect children?)<br />
* http://archives.postgresql.org/message-id/19768.1238680878@sss.pgh.pa.us<br />
* http://archives.postgresql.org/message-id/200909181005.n8IA5Ris061239@wwwmaster.postgresql.org<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg01223.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00358.php<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent concurrent CREATE TABLE from sometimes returning a cryptic error message<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php <nowiki>BUG #3692: Conflicting create table statements throw unexpected error</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add CREATE SCHEMA ... LIKE that copies a schema}}<br />
<br />
{{TodoItem<br />
|Fix CREATE OR REPLACE FUNCTION to not leave objects depending on the function in inconsistent state<br />
* [http://archives.postgresql.org/pgsql-general/2008-08/msg00985.php indexes on functions and create or replace function]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow temporary tables to exist as empty by default in all sessions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00006.php <nowiki>what is difference between LOCAL and GLOBAL TEMP TABLES in PostgreSQL</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg01329.php <nowiki>idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-05/msg00016.php <nowiki>Re: idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg01098.php <nowiki>global temporary tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-04/msg01148.php Temporary tables under hot standby]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the creation of "distinct" types<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01647.php <nowiki>Distinct types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider analyzing temporary tables when they are first used in a query<br />
|Autovacuum cannot analyze or vacuum temporary tables.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00416.php <nowiki>autovacuum and temp tables support</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow an unlogged table to be changed to logged<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00315.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00437.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00323.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00237.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== UPDATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|<nowiki>Allow UPDATE tab SET ROW (col, ...) = (SELECT...)</nowiki><br />
* [http://archives.postgresql.org/pgsql-hackers/2006-07/msg01308.php <nowiki>Re: [PATCHES] extension for sql update</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00865.php <nowiki>UPDATE using sub selects</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-04/msg00315.php <nowiki>UPDATE using sub selects</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-03/msg00237.php <nowiki>Re: UPDATE using sub selects</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Research self-referential UPDATEs that see inconsistent row versions in read-committed mode<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00507.php <nowiki>Concurrently updating an updatable view</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00016.php <nowiki>Re: Do we need a TODO? (was Re: Concurrently updating anupdatable view)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve performance of EvalPlanQual mechanism that rechecks already-updated rows<br />
|This is related to the previous item, which questions whether it even has the right semantics<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-09/msg00045.php <nowiki>BUG #4401: concurrent updates to a table blocks one update indefinitely</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-07/msg00302.php <nowiki>BUG #4945: Parallel update(s) gone wild</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ALTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have ALTER TABLE RENAME of a SERIAL column rename the sequence<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CADLWmXUV4LbLhMZL8rYMhCy72aZZLB5BSARPQVgoX0BrxA0FFg@mail.gmail.com renaming implicit sequences]<br />
}}<br />
<br />
{{TodoItem<br />
|Have ALTER SEQUENCE RENAME rename the sequence name stored in the sequence table<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-09/msg00092.php <nowiki>BUG #3619: Renaming sequence does not update its 'sequence_name' field</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00007.php <nowiki>Re: BUG #3619: Renaming sequence does not update its 'sequence_name' field</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER DOMAIN to modify the underlying data type}}<br />
<br />
{{TodoItem<br />
|Allow ALTER TABLESPACE to move the tablespace to different directories}}<br />
<br />
{{TodoItem<br />
|Allow moving system tables to other tablespaces, where possible<br />
|Currently non-global system tables must be in the default database tablespace. Global system tables can never be moved.}}<br />
<br />
{{TodoItem<br />
|Have ALTER INDEX update the name of a constraint using that index}}<br />
<br />
{{TodoItem<br />
|Allow column display reordering by recording a display, storage, and permanent id for every column?<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00782.php <nowiki>Re: column ordering, was Re: [PATCHES] Enums patch v2</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01029.php <nowiki>Column reordering in pg_dump</nowiki>]<br />
* http://archives.postgresql.org/message-id/1324412114-sup-9608@alvh.no-ip.org<br />
}}<br />
<br />
{{TodoItem<br />
|Allow deactivating (and reactivating) indexes via ALTER TABLE<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg01191.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER OPERATOR ... RENAME<br />
|needs to consider effects of changing operator precedence<br />
* [http://archives.postgresql.org/message-id/1322948781.26266.9.camel@vanquo.pezone.net Missing rename support]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== CLUSTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Automatically maintain clustering on a table<br />
|This might require some background daemon to maintain clustering during periods of low usage. It might also require tables to be only partially filled for easier reorganization. Another idea would be to create a merged heap/index data file so an index lookup would automatically access the heap data too. A third idea would be to store heap rows in hashed groups, perhaps using a user-supplied hash function.<br />
* [http://archives.postgresql.org/pgsql-performance/2004-08/msg00350.php <nowiki>Equivalent praxis to CLUSTERED INDEX?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00155.php <nowiki>Re: Grouped Index Tuples</nowiki>]<br />
* http://community.enterprisedb.com/git/<br />
* [http://archives.postgresql.org/pgsql-performance/2009-10/msg00346.php <nowiki>Re: maintain_cluster_order_v5.patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow CLUSTER to be used on a partial index<br />
* http://www.postgresql.org/message-id/CAMkU%3D1zYwoHHsqJ8wfK3GdG_t_a6t4RK-GFDSKymQ0EGP%3DtypA@mail.gmail.com<br />
}} <br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== COPY ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report error lines and continue<br />
|This requires the use of a savepoint before each COPY line is processed, with ROLLBACK on COPY failure. <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00572.php <nowiki>Re: VLDB Features</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY FROM to create index entries in bulk<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00811.php <nowiki>Batch update of indexes on data loading</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY in CSV mode to control whether a quoted zero-length string is treated as NULL<br />
|Currently this is always treated as a zero-length string, which generates an error when loading into an integer column <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00905.php <nowiki>Re: [PATCHES] allow CSV quote in NULL</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve COPY performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php <nowiki>Re: 8.3 / 8.2.6 restore comparison</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01882.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report errors sooner<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php <nowiki>Timely reporting of COPY errors</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY to handle other number formats<br />
|E.g. the German notation. Best would be something like WITH DECIMAL ','.<br />
}}<br />
<br />
{{TodoItem<br />
|Allow a stalled COPY to exit if the backend is terminated<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00067.php <nowiki>Re: possible bug not in open items</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== GRANT/REVOKE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SERIAL sequences to inherit permissions from the base table?}}<br />
<br />
{{TodoItem<br />
|Allow dropping of a role that has connection rights<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00736.php <nowiki>DROP ROLE dependency tracking ...</nowiki>]<br />
}}<br />
{{TodoEndSubsection}}<br />
<br />
=== DECLARE CURSOR ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent DROP TABLE from dropping a table referenced by its own open cursor?}}<br />
<br />
{{TodoItem<br />
|Provide some guarantees about the behavior of cursors that invoke volatile functions<br />
* [http://archives.postgresql.org/message-id/20997.1244563664@sss.pgh.pa.us Re: Cursor with hold emits the same row more than once across commits in 8.3.7]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== INSERT ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow INSERT/UPDATE of the system-generated oid value for a row}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SHOW/SET ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM ANALYZE, and CLUSTER}}<br />
<br />
{{TodoItem<br />
|Rationalize the discrepancy between settings that use values in bytes and SHOW that returns the object count<br />
* [http://archives.postgresql.org/pgsql-docs/2008-07/msg00007.php <nowiki>Re: [ADMIN] shared_buffers and shmmax</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ANALYZE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE issue NOTICE messages when the estimated and actual row counts differ by a specified percentage}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE report rows as floating-point numbers<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg01363.php <nowiki>explain analyze rows=%.0f</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00108.php <nowiki>Re: explain analyze rows=%.0f</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve how ANALYZE computes in-doubt tuples<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00771.php <nowiki>VACUUM/ANALYZE counting of in-doubt tuples</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Window Functions ===<br />
See {{messageLink|357.1230492361@sss.pgh.pa.us|TODO items for window functions}}.<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Support creation of user-defined window functions<br />
|We have the ability to create new window functions written in C. Is it<br />
worth the effort to create an API that would let them be written in PL/pgsql, etc?}}<br />
<br />
{{TodoItem<br />
|Implement full support for window framing clauses<br />
|In addition to done clauses described in the [http://developer.postgresql.org/pgdocs/postgres/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS latest doc], these clauses are not implemented yet.<br />
* RANGE BETWEEN ... PRECEDING/FOLLOWING<br />
* EXCLUDE<br />
}}<br />
<br />
{{TodoItem<br />
|Investigate tuplestore performance issues<br />
|The tuplestore_in_memory() thing is just a band-aid, we ought to try to solve it properly. tuplestore_advance seems like a weak spot as well.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00152.php <nowiki>tuplestore potential performance problem</nowiki>]<br />
}}<br />
<br />
{{TodoItem|Do we really need so much duplicated code between Agg and WindowAgg?}}<br />
<br />
{{TodoItem<br />
|Teach planner to evaluate multiple windows in the optimal order<br />
|Currently windows are always evaluated in the query-specified order.<br />
* http://archives.postgresql.org/message-id/3CDAD71E9D70417290FCF66F0178D1E1@amd64<br />
}}<br />
<br />
{{TodoItem<br />
|Implement DISTINCT clause in window aggregates<br />
|Some proprietary RDBMSs have implemented it already, so it helps with porting from those.}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Integrity Constraints ==<br />
=== Keys ===<br />
<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve deferrable unique constraints for cases with many conflicts<br />
|The current implementation fires a trigger for each potentially conflicting row. This might not scale well for an update that changes many key values at once.<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Referential Integrity ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add MATCH PARTIAL referential integrity}}<br />
<br />
{{TodoItem<br />
|Change foreign key constraint for array -&gt; element to mean element in array?<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-10/msg01814.php <nowiki>foreign keys for array/period contains relationships</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem when cascading referential triggers make changes on cascaded tables, seeing the tables in an intermediate state<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php <nowiki>Re: [PATCHES] Work-in-progress referential action trigger timing</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Are ri_KeysEqual checks in the RI enforcement triggers still necessary?<br />
* [http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php <nowiki>Re: Effects of cascading references in foreign keys</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Check Constraints ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Run check constraints only when affected columns are changed<br />
* http://archives.postgresql.org/message-id/1326055327.15293.13.camel@vanquo.pezone.net<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Server-Side Languages ==<br />
<br />
{{TodoItem<br />
|Add support for polymorphic arguments and return types to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add support for OUT and INOUT parameters to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add more fine-grained specification of functions taking arbitrary data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00367.php <nowiki>RfD: more powerful &quot;any&quot; types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement stored procedures<br />
|This might involve the control of transaction state and the return of multiple result sets<br />
* [http://archives.postgresql.org/pgsql-general/2008-10/msg00454.php <nowiki>PL/pgSQL stored procedure returning multiple result sets (SELECTs)?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01375.php <nowiki>Proposal: real procedures again (8.4)</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00542.php<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-04/msg01149.php <nowiki>Gathering specs and discussion on feature (post 9.1)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow holdable cursors in SPI}}<br />
<br />
{{TodoItemEasy<br />
|Add SPI_gettypmod() to return a field's typemod from a TupleDesc<br />
* http://archives.postgresql.org/pgsql-hackers/2005-11/msg00250.php<br />
}}<br />
<br />
=== SQL-Language Functions ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Rethink query plan caching and timing of parse analysis within SQL-language functions<br />
|They should work more like plpgsql functions do ...<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00078.php <nowiki>Re: BUG #6019: invalid cached plan on inherited table</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/pgSQL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]}}<br />
<br />
{{TodoItem<br />
|<nowiki>Allow listing of record column names, and access to record columns via variables, e.g. columns := r.(*), tval2 := r.(colname)</nowiki><br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00458.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2006-05/msg00302.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow row and record variables to be set to NULL constants, and allow NULL tests on such variables<br />
|Because a row is not scalar, do not allow assignment from NULL-valued scalars.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php <nowiki>NULL and plpgsql rows</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider keeping separate cached copies when search_path changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php <nowiki>pl/pgsql Plan Invalidation and search_path</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULL row values vs. NULL rows<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg01758.php <nowiki>Null row vs. row of nulls in plpgsql</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg01973.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve PERFORM handling of WITH queries or document limitation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00309.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Perl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow regex operations in plperl using UTF8 characters in non-UTF8 encoded databases}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Python ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Develop a trusted variant of PL/Python.}}<br />
<br />
{{TodoItem<br />
|Create a new restricted execution class that will allow passing function arguments in as locals. Passing them as globals means functions cannot be called recursively.<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-02/msg01468.php <nowiki>Re: pl/python do not delete function arguments</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a DB-API compliant interface on top of the SPI interface<br />
* http://petereisentraut.blogspot.com/2011/11/plpydbapi-db-api-for-plpython.html<br />
}}<br />
<br />
{{TodoItem<br />
|For functions returning a setof record with a composite type, cache the I/O functions for the composite type<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02007.php<br />
}}<br />
<br />
{{TodoItem<br />
|Fix loss of information during conversion of numeric type to Python float}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Tcl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add table function support}}<br />
<br />
{{TodoItem<br />
|Check encoding validity of values passed back to Postgres in function returns, trigger tuple changes, and SPI calls.}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Clients ==<br />
<br />
{{TodoItem<br />
|Add a function like pg_get_indexdef() that report more detailed index information<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php <nowiki>BUG #3829: Wrong index reporting from pgAdmin III (v1.8.0 rev 6766-6767)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Split out pg_resetxlog output into pre- and post-sections<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg02040.php<br />
}}<br />
<br />
=== pg_ctl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve pg_ctl's detection of running postmasters<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00000.php<br />
* http://archives.postgresql.org/pgsql-committers/2011-06/msg00001.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add additional shutdown modes, and change the default?<br />
* http://archives.postgresql.org/pgsql-hackers/2012-04/msg01283.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== psql ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have psql \ds show all sequences and their settings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00916.php <nowiki>Re: TODO item: Have psql show current values for a sequence</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00401.php <nowiki>Quick patch: Display sequence owner</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move psql backslash database information into the backend, use mnemonic commands?<br />
|This would allow non-psql clients to pull the same information out of the database as psql. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php <nowiki>Re: psql \d option list overloaded</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Make psql's \d commands more consistent in their handling of schemas<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php <nowiki>Re: psql and schemas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Make psql's \d commands distinguish default privileges from no privileges<br />
|ACL displays were visibly different for the two cases before we "improved" them by using array_to_string.<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00082.php <nowiki>BUG #6021: There is no difference between default and empty access privileges with \dp</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consistently display privilege information for all objects in psql}}<br />
<br />
{{TodoItemEasy<br />
|\s without arguments (display history) fails with libedit, doesn't use pager either<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-06/msg00114.php <nowiki> psql \s not working - OS X</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a \set variable to control whether \s displays line numbers<br />
|Another option is to add \# which lists line numbers, and allows command execution.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00255.php <nowiki>Re: psql possible TODO</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Include the symbolic SQLSTATE name in verbose error reports<br />
* [http://archives.postgresql.org/pgsql-general/2007-09/msg00438.php <nowiki>Re: Checking is TSearch2 query is valid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add prompt escape to display the client and server versions<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00310.php <nowiki>WIP patch for TODO Item: Add prompt escape to display the client and server versions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add option to wrap column values at whitespace boundaries, rather than chopping them at a fixed width.<br />
|Currently, &quot;wrapped&quot; format chops values into fixed widths. Perhaps the word wrapping could use the same algorithm documented in the W3C specification. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php <nowiki>Re: psql wrapped format default for backslash-d commands</nowiki>]<br />
* http://www.w3.org/TR/CSS21/tables.html#auto-table-layout}}<br />
<br />
{{TodoItem<br />
|Support the ReST table output format<br />
|Details about the ReST format: http://docutils.sourceforge.net/rst.html#reference-documentation<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg01007.php <nowiki>Proposal: new border setting in psql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00518.php <nowiki>Re: Proposal: new border setting in psql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00609.php <nowiki>Re: Proposal: new border setting in psql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add option to print advice for people familiar with other databases<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01845.php <nowiki>MySQL-ism help patch for psql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ability to edit views with \ev<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00023.php <nowiki>Adding \ev view editor?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix FETCH_COUNT to handle SELECT ... INTO and WITH queries<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01565.php<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00192.php<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent psql from sending remaining single-line multi-statement queries after reconnecting<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00159.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01283.php<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Add \i option to bring in the specified file as a quoted literal<br />
|This would be useful for creating functions and other areas. Details still need to be worked out.<br />
* http://archives.postgresql.org/pgsql-bugs/2011-02/msg00016.php<br />
* http://archives.postgresql.org/pgsql-bugs/2011-02/msg00020.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having psql -c read .psqlrc, for consistency<br />
|psql -f already reads .psqlrc<br />
}}<br />
<br />
{{TodoItem<br />
|Allow processing of multiple -f (file) options<br />
* http://www.postgresql.org/message-id/AANLkTikFpzrTRl6392GhatQdwlCWQTXFdSMxh5CP51iv@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Improve line drawing characters<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00386.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider improving the continuation prompt<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01772.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve speed of tab completion by using LIKE<br />
* http://www.postgresql.org/message-id/20121012060345.GA29214@toroid.org<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== pg_dump / pg_restore ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItemEasy<br />
|<nowiki>Add full object name to the tag field. eg. for operators we need '=(integer, integer)', instead of just '='.</nowiki>}}<br />
<br />
{{TodoItemEasy<br />
|Modify pg_dump to create skeleton views for reload (which are then updated via CREATE OR REPLACE VIEW) when views have circular dependencies. This should eliminate the need for the CREATE RULE "_RETURN" hack currently used to address this issue. Thread and additional information here:<br />
* [http://www.postgresql.org/message-id/25554.1360895028@sss.pgh.pa.us Description of change]<br />
|}}<br />
<br />
{{TodoItem<br />
|Add pg_dumpall custom format dumps?<br />
* [http://archives.postgresql.org/pgsql-general/2010-05/msg00509.php pg_dumpall custom format]<br />
|}}<br />
<br />
{{TodoItem<br />
|Avoid using platform-dependent locale names in pg_dumpall output<br />
|Using native locale names puts roadblocks in the way of porting a dump to another platform. One possible solution is to get<br />
CREATE DATABASE to accept some agreed-on set of locale names and fix them up to meet the platform's requirements.<br />
* http://archives.postgresql.org/message-id/21396.1241716688@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Allow selection of individual object(s) of all types, not just tables}}<br />
<br />
{{TodoItem<br />
|In a selective dump, allow dumping of an object and all its dependencies}}<br />
<br />
{{TodoItem<br />
|Add options like pg_restore -l and -L to pg_dump}}<br />
<br />
{{TodoItem<br />
|Stop dumping CASCADE on DROP TYPE commands in clean mode}}<br />
<br />
{{TodoItem<br />
|Allow pg_dump --clean to drop roles that own objects or have privileges<br />
|tgl says: if this is about pg_dumpall, it's done as of 8.4. If it's really about pg_dump, what does it mean? pg_dump has no business dropping roles.}}<br />
<br />
{{TodoItem<br />
|Allow pg_restore to load different parts of the COPY data for a single table simultaneously}}<br />
<br />
{{TodoItem<br />
|Remove support for dumping from pre-7.3 servers<br />
|In 7.3 and later, we can get accurate dependency information from the server. pg_dump still contains a lot of crufty code<br />
to try to deal with the lack of dependency info in older servers, but the usefulness of maintaining that code grows small.}}<br />
<br />
{{TodoItem<br />
|Refactor handling of database attributes between pg_dump and pg_dumpall<br />
|Currently only pg_dumpall emits database attributes, such as ALTER DATABASE SET commands and database-level GRANTs.<br />
Many people wish that pg_dump would do that. One proposal is to let pg_dump issue such commands if the -C switch was used,<br />
but it's unclear whether that will satisfy the demand.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01031.php <nowiki>ALTER DATABASE vs pg_dump</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-05/msg00010.php summary of the issues]<br />
}}<br />
<br />
{{TodoItem<br />
|Change pg_dump so that a comment on the dumped database is applied to the loaded database, even if the database has a different name.<br />
|This will require new backend syntax, perhaps COMMENT ON CURRENT DATABASE. This is related to the previous item.}}<br />
<br />
{{TodoItem<br />
|Allow parallel restore of tar dumps<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-02/msg01154.php <nowiki>Re: parallel restore</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Preserve sparse storage of large objects over dump/restore<br />
* [http://archives.postgresql.org/message-id/18789.1349750451@sss.pgh.pa.us <nowiki>TODO item: teach pg_dump about sparsely-stored large objects</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ecpg ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Docs<br />
|Document differences between ecpg and the SQL standard and information about the Informix-compatibility module.}}<br />
<br />
{{TodoItem<br />
|Solve cardinality &gt; 1 for input descriptors / variables?}}<br />
<br />
{{TodoItem<br />
|Add a semantic check level, e.g. check if a table really exists}}<br />
<br />
{{TodoItem<br />
|fix handling of DB attributes that are arrays}}<br />
<br />
{{TodoItem<br />
|Fix nested C comments}}<br />
<br />
{{TodoItemEasy<br />
|sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified}}<br />
<br />
{{TodoItem<br />
|Make SET CONNECTION thread-aware, non-standard?}}<br />
<br />
{{TodoItem<br />
|Allow multidimensional arrays}}<br />
<br />
{{TodoItem<br />
|Implement COPY FROM STDIN}} <br />
<br />
{{TodoItem<br />
|Provide a way to specify size of a bytea parameter<br />
* [http://archives.postgresql.org/message-id/200906192131.n5JLVoMo044178@wwwmaster.postgresql.org <nowiki>BUG #4866: ECPG and BYTEA</nowiki>]<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Fix small memory leaks in ecpg<br />
|Memory leaks in a short running application like ecpg are not really a problem, but make debugging more complicated}} <br />
<br />
{{TodoItem<br />
|Allow reuse of cursor name variables<br />
* [http://archives.postgresql.org/message-id/20100329113435.GA3430@feivel.credativ.lan <nowiki>Problems with variable cursorname in ecpg</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== libpq ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent PQfnumber() from lowercasing unquoted column names<br />
|PQfnumber() should never have been doing lowercasing, but historically it has so we need a way to prevent it}}<br />
<br />
{{TodoItem<br />
|Consider disallowing multiple queries in PQexec() as an additional barrier to SQL injection attacks<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg00184.php <nowiki>Re: InitPostgres and flatfiles question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add PQexecf() that allows complex parameter substitution<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01803.php <nowiki>Last minute mini-proposal (I know, know) for PQexecf()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add SQLSTATE and severity to errors generated within libpq itself<br />
* [http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php <nowiki>v8.1: Error severity on libpq PGconn*</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01425.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for interface/ipaddress binding to libpq<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01811.php <nowiki>SR/libpq - outbound interface/ipaddress binding</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== HTTP===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow access to the database via HTTP<br />
|See [[HTTP_API]]}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Triggers ==<br />
<br />
{{TodoItem<br />
|Improve storage of deferred trigger queue<br />
|Right now all deferred trigger information is stored in backend memory. This could exhaust memory for very large trigger queues. This item involves dumping large queues into files, or doing some kind of join to process all the triggers, some bulk operation, or a bitmap. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00876.php <nowiki>Re: BUG #4204: COPY to table with FK has memory leak</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-10/msg00464.php <nowiki>Scaling up deferred unique checks and the after trigger queue</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00023.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow triggers to be disabled in only the current session.<br />
|This is currently possible by starting a multi-statement transaction, modifying the system tables, performing the desired SQL, restoring the system tables, and committing the transaction. ALTER TABLE ... TRIGGER requires a table lock so it is not ideal for this usage.}}<br />
<br />
{{TodoItem<br />
|With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY<br />
|If the dump is known to be valid, allow foreign keys to be added without revalidating the data.}}<br />
<br />
{{TodoItem<br />
|Allow statement-level triggers to access modified rows}}<br />
<br />
{{TodoItem<br />
|When statement-level triggers are defined on a parent table, have them fire only on the parent table, and fire child table triggers only where appropriate<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01883.php <nowiki>Statement-level triggers and inheritance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Tighten trigger permission checks<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00564.php <nowiki>Security leak with trigger functions?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow BEFORE INSERT triggers on views<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php <nowiki>Re: Why can't I put a BEFORE EACH ROW trigger on a view?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add database and transaction-level triggers<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00451.php <nowiki>Proposal for db level triggers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00620.php <nowiki>triggers on prepare, commit, rollback... ?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce locking requirements for creating a trigger<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00635.php <nowiki>Re: Change lock requirements for adding a trigger</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid requirement for "AFTER" trigger functions to return a value<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02384.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow creation of inline triggers<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00708.php<br />
}}<br />
<br />
== Inheritance ==<br />
<br />
{{TodoItem<br />
|Allow inherited tables to inherit indexes, UNIQUE constraints, and primary/foreign keys<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-05/msg00285.php <nowiki>Partitioning/inherited tables vs FKs</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00039.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00305.php<br />
}}<br />
<br />
{{TodoItem<br />
|Honor UNIQUE INDEX on base column in INSERTs/UPDATEs on inherited table, e.g. INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail<br />
|The main difficulty with this item is the problem of creating an index that can span multiple tables.}}<br />
<br />
{{TodoItem<br />
|Determine whether ALTER TABLE / SET SCHEMA should work on inheritance hierarchies (and thus support ONLY). If yes, implement it.}}<br />
<br />
{{TodoItem<br />
|ALTER TABLE variants sometimes support recursion and sometimes not, but this is poorly/not documented, and the ONLY marker would then be silently ignored. Clarify the documentation, and reject ONLY if it is not supported.}}<br />
<br />
== Indexes ==<br />
<br />
{{TodoItem<br />
|Prevent index uniqueness checks when UPDATE does not modify the column<br />
|Uniqueness (index) checks are done when updating a column even if the column is not modified by the UPDATE.<br />
However, HOT already short-circuits this in common cases, so more work might not be helpful.<br />
* http://www.postgresql.org/message-id/CA+TgmoZOyaTanfEvNUdiHBCuu9Zh0JVP1e_UTVbx6Rvj9vFC9Q@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the creation of on-disk bitmap indexes which can be quickly combined with other bitmap indexes<br />
|Such indexes could be more compact if there are only a few distinct values. Such indexes can also be compressed. Keeping such indexes updated can be costly.<br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php <nowiki>Re: Bitmap index AM</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php <nowiki>Bitmap index thoughts</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00265.php <nowiki>Stream bitmaps</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01214.php <nowiki>Re: Bitmapscan changes - Requesting further feedback</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00013.php <nowiki>Updated bitmap index patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00741.php <nowiki>Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01023.php <nowiki>Bitmap Indexes: request for feedback</nowiki>]<br />
* http://archives.postgresql.org/message-id/800923.27831.qm@web29010.mail.ird.yahoo.com <br />
}}<br />
<br />
{{TodoItem<br />
|Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics<br />
* [http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php <nowiki>Re: Simple join optimized badly?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php <nowiki>Stats for multi-column indexes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00741.php <nowiki>Cross-column statistics revisited</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg01431.php <nowiki>Multi-Dimensional Histograms</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00913.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02179.php <br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00459.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02054.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01731.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00894.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-09/msg00679.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having a larger statistics target for indexed columns and expression indexes. <br />
}}<br />
<br />
{{TodoItem<br />
|Consider smaller indexes that record a range of values per heap page, rather than having one index entry for every heap row<br />
|This is useful if the heap is clustered by the indexed values. <br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php <nowiki>Grouped Index Tuples</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php <nowiki>Grouped Index Tuples</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php <nowiki>Grouped Index Tuples / Clustered Indexes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php <nowiki>Bitmapscan changes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00014.php <nowiki>Re: GIT patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00487.php <nowiki>Re: Index Tuple Compression Approach?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01589.php <nowiki>Re: Index AM change proposals, redux</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY<br />
|This is difficult because you must upgrade to an exclusive table lock to replace the existing index file. CREATE INDEX CONCURRENTLY does not have this complication. This would allow index compaction without downtime. <br />
* [http://archives.postgresql.org/pgsql-performance/2007-08/msg00289.php <nowiki>Re: When/if to Reindex</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00911.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg00128.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multiple indexes to be created concurrently, ideally via a single heap scan<br />
|pg_restore allows parallel index builds, but it is done via subprocesses, and there is no SQL interface for this.<br />
Cluster could definitely benefit from this.<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00093.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider sorting entries before inserting into btree index<br />
* [http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php <nowiki>Re: ATTN: Clodaldo was Performance problem. Could it be related to 8.3-beta4?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow creation of an index that can do comparisons to test if a value is between two column values<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00757.php <nowiki>Proposal: temporal extension &quot;period&quot; data type</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using "effective_io_concurrency" for index scans<br />
|Currently only bitmap scans use this, which might be fine because most multi-row index scans use bitmap scans.<br />
* [http://www.postgresql.org/message-id/CAGTBQpZzf70n0PYJ%3DVQLd+jb3wJGo%3D2TXmY+SkJD6G_vjC5QNg@mail.gmail.com Prefetch index pages for B-Tree index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem with btree page splits during checkpoints<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00052.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-09/msg00184.php<br />
}}<br />
<br />
{{TodoItem<br />
|[http://archives.postgresql.org/pgsql-hackers/2012-05/msg00669.php Support amgettuple() in GIN (useful for exclusion constraints)]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow "loose" or "skip" scans on btree indexes in which the first column has low cardinality<br />
* http://archives.postgresql.org/pgsql-performance/2012-08/msg00159.php<br />
}}<br />
<br />
{{TodoItem<br />
| Make the planner's "special index operator" mechanism extensible<br />
* http://www.postgresql.org/message-id/27270.1364700924@sss.pgh.pa.us<br />
}}<br />
<br />
<br />
=== GIST ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add more GIST index support for geometric data types}}<br />
<br />
{{TodoItem<br />
|Allow GIST indexes to create certain complex index types, like digital trees (see Aoki)}}<br />
<br />
{{TodoItem<br />
|Fix performance issues in contrib/seg and contrib/cube GiST support<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904161633160.4053@aragorn.flymine.org GiST index performance]<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904221704470.22330@aragorn.flymine.org draft patch]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-05/msg00069.php <nowiki>Re: GiST index performance</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-06/msg00068.php <nowiki>GiST index performance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|[http://archives.postgresql.org/message-id/4DC8D284-05CF-4E3D-9670-AC9A32C37A36@justatheory.com GiST index support for arrays]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Hash ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add UNIQUE capability to hash indexes}}<br />
<br />
{{TodoItem<br />
|Add hash WAL logging for crash recovery<br />
* http://archives.postgresql.org/pgsql-performance/2011-09/msg00196.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multi-column hash indexes}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Sorting ==<br />
<br />
{{TodoItem<br />
|Consider whether duplicate keys should be sorted by block/offset<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00558.php <nowiki>Remove hacks for old bad qsort() implementations?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider being smarter about memory and external files used during sorts<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg01101.php <nowiki>Sorting Improvements for 8.4</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00045.php <nowiki>Re: Sorting Improvements for 8.4</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider detoasting keys before sorting}}<br />
<br />
{{TodoItem<br />
|Allow sorts to use more available memory<br />
* http://archives.postgresql.org/pgsql-hackers/2007-11/msg01026.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg01123.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg01957.php<br />
}}<br />
<br />
== Fsync ==<br />
<br />
{{TodoItem<br />
|Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options and whether fsync does anything<br />
|Ideally this requires a separate test program like /contrib/pg_test_fsync that can be run at initdb time or optionally later.<br />
}}<br />
<br />
{{TodoItem<br />
|Consider sorting writes during checkpoint<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00541.php <nowiki>Sorted writes in checkpoint</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-07/msg00050.php <nowiki>Re: Sorting writes during checkpoint</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg02012.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00278.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-01/msg00493.php<br />
}}<br />
<br />
== Cache Usage ==<br />
<br />
{{TodoItem<br />
|Provide a way to calculate an &quot;estimated COUNT(*)&quot;<br />
|Perhaps by using the optimizer's cardinality estimates or random sampling.<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-11/msg00943.php <nowiki>Re: Improving count(*)</nowiki>]<br />
* http://wiki.postgresql.org/wiki/Slow_Counting<br />
}}<br />
<br />
{{TodoItem<br />
|Consider automatic caching of statements at various levels:<br />
* Parsed query tree<br />
* Query execute plan<br />
* Query results <br />
<br />
:<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php <nowiki>Cached Query Plans (was: global prepared statements)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider increasing internal areas (NUM_CLOG_BUFFERS) when shared buffers is increased<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php <nowiki>Re: slru.c race condition (was Re: TRAP: FailedAssertion(&quot;!((itemid)-&gt;lp_flags &amp; 0x01)&quot;,)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00030.php <nowiki>clog_buffers to 64 in 8.3?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2007-08/msg00024.php <nowiki>CLOG Patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider decreasing the amount of memory used by PrivateRefCount<br />
|<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg00797.php <nowiki>PrivateRefCount (for 8.3)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php <nowiki>Re: PrivateRefCount (for 8.3)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing higher priority queries to have referenced buffer cache pages stay in memory longer<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php <nowiki>Re: How to keep a table in memory?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve cache lookup speed for sessions accessing many relations<br />
* http://archives.postgresql.org/pgsql-hackers/2012-11/msg00356.php<br />
}}<br />
<br />
== Vacuum ==<br />
<br />
{{TodoItem<br />
|Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-02/msg01125.php <nowiki>Dead Space Map</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00011.php <nowiki>Re: Automatic free space map filling</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow concurrent inserts to use recently created pages rather than creating new ones<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg00853.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having single-page pruning update the visibility map<br />
* <nowiki>https://commitfest.postgresql.org/action/patch_view?id=75</nowiki><br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02344.php <nowiki>Re: visibility maps and heap_prune</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve tracking of total relation tuple counts now that vacuum doesn't always scan the whole heap<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00531.php Partial vacuum versus pg_class.reltuples]<br />
}}<br />
<br />
{{TodoItem<br />
|Bias FSM towards returning free space near the beginning of the heap file, in hopes that empty pages at the end can be truncated by VACUUM<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01124.php <nowiki>FSM search modes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a more compact data representation for dead tuple locations within VACUUM<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00143.php <nowiki>Re: Have vacuum emit a warning when it runs out of maintenance_work_mem</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide more information in order to improve user-side estimates of dead space bloat in relations<br />
* [http://archives.postgresql.org/pgsql-general/2009-05/msg01039.php <nowiki>Re: Bloated Table</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve locking behaviour of vacuum during trailing page truncation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00319.php<br />
* http://archives.postgresql.org/message-id/4D8DF88E.7080205@Yahoo.com<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce the number of table scans performed by vacuum<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01119.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00605.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00624.php<br />
}}<br />
<br />
{{TodoItem<br />
|Vacuum Gin indexes in physically order rather than logical order<br />
* http://archives.postgresql.org/pgsql-hackers/2012-04/msg00443.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid creation of the free space map for small tables<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg01751.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00552.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00615.php<br />
}}<br />
<br />
=== Auto-vacuum ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItemEasy<br />
|Issue log message to suggest VACUUM FULL if a table is nearly empty?}}<br />
<br />
{{TodoItem<br />
|Prevent long-lived temporary tables from causing frozen-xid advancement starvation<br />
|The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can do that. <br />
* [http://archives.postgresql.org/pgsql-general/2007-06/msg01645.php <nowiki>Re: AutoVacuum Behaviour Question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent autovacuum from running if an old transaction is still running from the last vacuum<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php <nowiki>Re: Autovacuum and OldestXmin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have autoanalyze of parent tables occur when child tables are modified<br />
* http://archives.postgresql.org/pgsql-performance/2010-06/msg00137.php<br />
* http://archives.postgresql.org/pgsql-performance/2010-10/msg00271.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running<br />
* http://archives.postgresql.org/pgsql-hackers/2012-01/msg00356.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow parallel cores to be used by vacuumdb<br />
* [http://archives.postgresql.org/message-id/4F10A728.7090403@agliodbs.com vacuumdb -j]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve autovacuum tuning<br />
* http://www.postgresql.org/message-id/5078AD6B.8060802@agliodbs.com<br />
* http://www.postgresql.org/message-id/20130124215715.GE4528@alvh.no-ip.org<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Locking ==<br />
<br />
{{TodoItem<br />
|Fix priority ordering of read and write light-weight locks<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php <nowiki>lwlocks and starvation</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php <nowiki>Re: lwlocks and starvation</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg01011.php <nowiki>FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00001.php <nowiki>Re: FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00435.php <nowiki>Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00773.php <nowiki>Re: savepoints and upgrading locks</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow UPDATEs on only non-referential integrity columns not to conflict with referential integrity locks<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00073.php <nowiki>Referential Integrity and SHARE locks</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add idle_in_transaction_timeout GUC so locks are not held for long periods of time}}<br />
<br />
{{TodoItem<br />
|Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-01/msg00138.php <nowiki>BUG #3883: Autovacuum deadlock with truncate?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php <nowiki>Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Detect deadlocks involving LockBufferForCleanup()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow finer control over who is cancelled in a deadlock<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01727.php<br />
}}<br />
<br />
== Startup Time Improvements ==<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for backend creation<br />
|This would prevent the overhead associated with process creation. Most operating systems have trivial process creation time compared to database startup overhead, but a few operating systems (Win32, Solaris) might benefit from threading. Also explore the idea of a single session using multiple threads to execute a statement faster.}}<br />
<br />
{{TodoItem<br />
|Allow backends to change their database without restart<br />
|This allows for faster server startup.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00843.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00336.php<br />
}}<br />
<br />
== Write-Ahead Log ==<br />
<br />
{{TodoItem<br />
|Eliminate need to write full pages to WAL before page modification<br />
|Currently, to protect against partial disk page writes, we write full page images to WAL before they are modified so we can correct any partial page writes during recovery. These pages can also be eliminated from point-in-time archive files. <br />
* [http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php <nowiki>Re: Index Scans become Seq Scans after VACUUM ANALYSE</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01191.php<br />
* [http://archives.postgresql.org/message-id/20120105061916.GB21048@fetter.org WIP double writes]<br />
* [http://archives.postgresql.org/message-id/4EFC449F02000025000441CD@gw.wicourts.gov double writes]<br />
* [http://archives.postgresql.org/message-id/20120110214344.GB21106@fetter.org Double-write with Fast Checksums]<br />
* [http://archives.postgresql.org/message-id/1962493974.656458.1327703514780.JavaMail.root@zimbra-prod-mbox-4.vmware.com double writes using "double-write buffer" approach]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01463.php<br />
}}<br />
<br />
{{TodoItem<br />
|When full page writes are off, write CRC to WAL and check file system blocks on recovery<br />
|If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC.}}<br />
<br />
{{TodoItem<br />
|Write full pages during file system write and not when the page is modified in the buffer cache<br />
|This allows most full page writes to happen in the background writer. It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL.<br />
* [http://archives.postgresql.org/message-id/CAGvK12UST-tPhyLrSLuSpwFxZbAO79yYrhV2xaLmS2MkUxNUVQ@mail.gmail.com Page Checksums + Double Writes]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce WAL traffic so only modified values are written rather than entire rows<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php <nowiki>Reduction in WAL for UPDATEs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow WAL information to recover corrupted pg_controldata<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php <nowiki>Re: [HACKERS] pg_resetxlog -r flag</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Find a way to reduce rotational delay when repeatedly writing last WAL page<br />
|Currently fsync of WAL requires the disk platter to perform a full rotation to fsync again. One idea is to write the WAL to different offsets that might reduce the rotational delay. <br />
* [http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php <nowiki>500 tpsQL + WAL log implementation</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Speed WAL recovery by allowing more than one page to be prefetched<br />
|This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. <br />
* [http://archives.postgresql.org/pgsql-general/2007-12/msg00683.php <nowiki>Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00497.php <nowiki>Re: [GENERAL] Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php <nowiki>Read-ahead and parallelism in redo recovery</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve WAL concurrency by increasing lock granularity<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00556.php <nowiki>Reworking WAL locking</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Be more aggressive about creating WAL files<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01325.php <nowiki>Re: PANIC caused by open_sync on Linux</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-07/msg01075.php <nowiki>PreallocXlogFiles</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-04/msg00556.php <nowiki>WAL/PITR additional items</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have resource managers report the duration of their status changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01468.php <nowiki>Recovery of Multi-stage WAL actions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Close deleted WAL files held open in *nix by long-lived read-only backends<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01754.php <nowiki>Deleted WAL files held open by backends in Linux</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg00060.php <nowiki>Re: Deleted WAL files held open by backends in Linux</nowiki>]<br />
}}<br />
<br />
== Optimizer / Executor ==<br />
<br />
{{TodoItem<br />
|Improve selectivity functions for geometric operators}}<br />
<br />
{{TodoItem<br />
|Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold<br />
* [http://archives.postgresql.org/message-id/4136ffa0905210551u22eeb31bn5655dbe7c9a3aed5@mail.gmail.com from_collapse_limit vs. geqo_threshold]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to display optimizer analysis using OPTIMIZER_DEBUG<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00597.php<br />
}}<br />
<br />
{{TodoItem<br />
|Log statements where the optimizer row estimates were dramatically different from the number of rows actually found?}}<br />
<br />
{{TodoItem<br />
|Consider compressed annealing to search for query plans<br />
|This might replace GEQO.<br />
* http://archives.postgresql.org/message-id/15658.1241278636%40sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Improve use of expression indexes for ORDER BY <br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg01553.php <nowiki>Resjunk sort columns, Heikki's index-only quals patch, and bug #5000</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Modify the planner to better estimate caching effects<br />
* http://archives.postgresql.org/pgsql-performance/2010-11/msg00117.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow shared buffer cache contents to affect index cost computations<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg01140.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the CTE (Common Table Expression) optimization fence to be optionally disabled<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00700.php<br />
* http://archives.postgresql.org/pgsql-performance/2012-11/msg00161.php<br />
}}<br />
<br />
=== Hashing ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Consider using a hash for joining to a large IN (VALUES ...) list<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00450.php <nowiki>Planning large IN lists</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single batch hash joins to preserve outer pathkeys<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg00806.php Re: Potential Join Performance Issue]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|"lazy" hash tables - look up only the tuples that are actually requested<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid building the same hash table more than once during the same query<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid hashing for distinct and then re-hashing for hash join<br />
* [http://archives.postgresql.org/message-id/4136ffa0902191346g62081081v8607f0b92c206f0a@mail.gmail.com Re: Fixing Grittner's planner issues]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Background Writer ==<br />
<br />
{{TodoItem<br />
|Consider having the background writer update the transaction status hint bits before writing out the page<br />
|Implementing this requires the background writer to have access to system catalogs and the transaction status log.}}<br />
<br />
{{TodoItem<br />
|Consider adding buffers the background writer finds reusable to the free list <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
}}<br />
<br />
{{TodoItem<br />
|Automatically tune bgwriter_delay based on activity rather then using a fixed interval<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider whether increasing BM_MAX_USAGE_COUNT improves performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg01007.php <nowiki>Bgwriter LRU cleaning: we've been going at this all wrong</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency<br />
* [http://archives.postgresql.org/pgsql-patches/2007-06/msg00340.php <nowiki>Re: Load Distributed Checkpoints, final patch</nowiki>]<br />
}}<br />
<br />
== Concurrent Use of Resources ==<br />
<br />
{{TodoItem<br />
|Do async I/O for faster random read-ahead of data<br />
|Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php <nowiki>Asynchronous I/O Support</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2007-09/msg00255.php <nowiki>Re: random_page_costs - are defaults of 4.0 realistic for SCSI RAID 1</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00027.php <nowiki>There's random access and then there's random access</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-01/msg00170.php <nowiki>Bitmap index scan preread using posix_fadvise (Was: There's random access and then there's random access)</nowiki>]<br />
The above patch is already applied as of 8.4, but it still remains to figure out how to handle plain indexscans effectively.<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-01/msg00806.php Problems with the patch submitted for posix_fadvise in index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for better I/O utilization<br />
|This would allow a single query to make use of multiple I/O channels simultaneously. One idea is to create a background reader that can pre-fetch sequential and index scan pages needed by other backends. This could be expanded to allow concurrent reads from multiple devices in a partitioned table.<br />
* http://archives.postgresql.org/pgsql-performance/2011-02/msg00123.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01139.php<br />
}}<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for better CPU utilization<br />
|This would allow several CPUs to be used for a single query, such as for sorting or query execution.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00945.php <nowiki>Multi CPU Queries - Feedback and/or suggestions wanted!</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|SMP scalability improvements<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00439.php <nowiki>Straightforward changes for increased SMP scalability</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00206.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
}}<br />
<br />
== TOAST ==<br />
<br />
{{TodoItem<br />
|Allow user configuration of TOAST thresholds<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00213.php <nowiki>Re: Proposed adjustments in MaxTupleSize and toastthresholds</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00082.php <nowiki>pg_lzcompress strategy parameters</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce unnecessary cases of deTOASTing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00895.php <nowiki>Re: [PATCHES] Eliminate more detoast copies for packed varlenas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce costs of repeat de-TOASTing of values<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01096.php <nowiki>WIP patch: reducing overhead for repeat de-TOASTing</nowiki>]<br />
}}<br />
<br />
== Monitoring ==<br />
{{TodoItem<br />
|Expand pg_stat_activity for easier integration with monitoring tools<br />
|* http://archives.postgresql.org/message-id/4DFA13A5.2060200@2ndQuadrant.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add column to pg_stat_activity that shows the progress of long-running commands like CREATE INDEX and VACUUM<br />
* [http://archives.postgresql.org/pgsql-patches/2008-04/msg00203.php <nowiki>EXPLAIN progress info</nowiki>]<br />
* The CLUSTER/VACUUM FULL implementation would also be useful to track this way<br />
}}<br />
<br />
{{TodoItem<br />
|Have pg_stat_activity display query strings in the correct client encoding<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00131.php <nowiki>pg_stats queries versus per-database encodings</nowiki>]<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Expose pg_controldata via an SQL interface<br />
|Helpful for monitoring replicated databases<br />
* http://archives.postgresql.org/message-id/4B901D73.8030003@agliodbs.com<br />
* [http://archives.postgresql.org/message-id/4B959D7A.6010907@joeconway.com initial patch]<br />
}}<br />
<br />
{{TodoItem<br />
| Add entry creation timestamp column to pg_stat_replication<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00694.php<br />
}}<br />
<br />
{{TodoItem<br />
| Allow reporting of stalls due to wal_buffer wrap-around<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00826.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values<br />
* http://www.postgresql.org/message-id/20121012060345.GA29214@toroid.org<br />
}}<br />
<br />
== Miscellaneous Performance ==<br />
<br />
{{TodoItem<br />
|Use mmap() rather than SYSV for shared buffers?<br />
|This would remove the requirement for SYSV SHM but would introduce portability issues. Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead. We could also consider mmap() for writing WAL.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00750.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00756.php<br />
}}<br />
<br />
{{TodoItem<br />
|Rather than consider mmap()-ing in 8k pages, consider mmap()'ing entire files into a backend?<br />
|Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. Another problem is that there is no way to _prevent_ I/O to disk from the dirty shared buffers so changes could hit disk before WAL is written.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01239.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider ways of storing rows more compactly on disk:<br />
* Reduce the row header size?<br />
* Consider reducing on-disk varlena length from four bytes to two because a heap row cannot be more than 64k in length}}<br />
<br />
{{TodoItem<br />
|Consider transaction start/end performance improvements<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00948.php <nowiki>Reducing Transaction Start/End Contention</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow configuration of backend priorities via the operating system<br />
|Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem.<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php <nowiki>Priorities for users or queries?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider increasing the minimum allowed number of shared buffers<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-02/msg00157.php <nowiki>Re: [PATCH] Don't bail with legitimate -N/-B options</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call<br />
* [http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php <nowiki>pgsql: Avoid incrementing the CommandCounter when</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation<br />
* [http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php <nowiki>Re: TB-sized databases</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider not storing a NULL bitmap on disk if all the NULLs are trailing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00624.php <nowiki>Proposal for Null Bitmap Optimization(for Trailing NULLs)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-12/msg00109.php <nowiki>Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Sort large UPDATE/DELETEs so it is done in heap order<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01119.php <nowiki>Possible future performance improvement: sort updates/deletes by ctid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider decreasing the I/O caused by updating tuple hint bits<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00847.php <nowiki>Hint Bits and Write I/O</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-07/msg00199.php <nowiki>Re: [HACKERS] Hint Bits and Write I/O</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00695.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00792.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg01063.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01408.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01453.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid the requirement of freezing pages that are infrequently modified <br />
|If all rows on a page are visible, it is possible to set a bit in the visibility map (once the visibility map is 100% reliable) and not need to freeze the page, avoiding a page rewrite<br />
* http://archives.postgresql.org/message-id/4BF701CF.2090205@agliodbs.com<br />
* http://archives.postgresql.org/pgsql-hackers/2010-06/msg00082.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid reading in b-tree pages when replaying vacuum records in hot standby mode<br />
* [http://archives.postgresql.org/message-id/1272571938.4161.14739.camel@ebony <nowiki>Hot Standby tuning for btree_xlog_vacuum()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure truncation logic to be more resistant to failure<br />
|This also involves not writing dirty buffers for a truncated or dropped relation<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01032.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider adding logic to increase large tables by more than 8k<br />
|This would reduce file system fragmentation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00337.php<br />
}}<br />
<br />
== Miscellaneous Other ==<br />
<br />
{{TodoItem<br />
|Deal with encoding issues for filenames in the server filesystem<br />
* {{MessageLink|20090413184335.39BE.52131E4D@oss.ntt.co.jp|a proposed patch here}}<br />
* {{MessageLink|8484.1244655656@sss.pgh.pa.us|some issues about it here}}<br />
* {{MessageLink|20100107103740.97A5.52131E4D@oss.ntt.co.jp|Windows-specific patch here}}<br />
}}<br />
<br />
{{TodoItem<br />
|Deal with encoding issues in the output of localeconv()<br />
* [http://archives.postgresql.org/message-id/40c6d9160904210658y590377cfw6dbbecb53d2b8be0@mail.gmail.com bug report]<br />
* [http://archives.postgresql.org/message-id/49EF8DA0.90008@tpf.co.jp draft patch]<br />
* [http://archives.postgresql.org/message-id/21710.1243620986@sss.pgh.pa.us review of patch]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports<br />
* [http://archives.postgresql.org/message-id/dcc563d10810211907n3c59a920ia9eb7cd2a6d5ea58@mail.gmail.com <nowiki>How to get schema name which violates fk constraint</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg00846.php <nowiki>patch - Report the schema along table name in a referential failure error message</nowiki>]<br />
* {{MessageLink|3191.1263306359@sss.pgh.pa.us|Re: NOT NULL violation and error-message}}<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg00213.php <nowiki>the case for machine-readable error fields</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add 64-bit support to /contrib/pgbench<br />
* http://archives.postgresql.org/pgsql-hackers/2010-07/msg00153.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00705.php<br />
}}<br />
<br />
== Source Code ==<br />
<br />
{{TodoItemEasy<br />
|Remove warnings created by -Wcast-align}}<br />
<br />
{{TodoItem<br />
|Move platform-specific ps status display info from ps_status.c to ports}}<br />
<br />
{{TodoItem<br />
|Consider a faster CRC32 algorithm<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01112.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow cross-compiling by generating the zic database on the target system}}<br />
<br />
{{TodoItem<br />
|Improve NLS maintenance of libpgport messages linked onto applications}}<br />
<br />
{{TodoItem<br />
|Use UTF8 encoding for NLS messages so all server encodings can read them properly}}<br />
<br />
{{TodoItem<br />
|Allow creation of universal binaries for Darwin<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00884.php <nowiki>Getting to universal binaries for Darwin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider GnuTLS if OpenSSL license becomes a problem<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00892.php<br />
* [http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php <nowiki>[PATCH] Add support for GnuTLS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01213.php <nowiki>TODO: GNU TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider making NAMEDATALEN more configurable in future releases}}<br />
<br />
{{TodoItem<br />
|Research use of signals and sleep wake ups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00003.php <nowiki>Restartable signals 'n all that</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow C++ code to more easily access backend code<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00302.php <nowiki>Mostly Harmless: Welcoming our C++ friends</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider simplifying how memory context resets handle child contexts<br />
* [http://archives.postgresql.org/pgsql-patches/2007-08/msg00067.php <nowiki>Re: Memory leak in nodeAgg</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Create three versions of libpgport to simplify client code<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00154.php <nowiki>8.4 TODO item: make src/port support libpq and ecpg directly</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve detection of shared memory segments being used by others by checking the SysV shared memory field 'nattch'<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00656.php <nowiki>postgresql in FreeBSD jails: proposal</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00673.php <nowiki>Re: postgresql in FreeBSD jails: proposal</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the non-threaded Avahi service discovery protocol<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00939.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00097.php <nowiki>Re: Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg01211.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-04/msg00001.php <nowiki>Re: [HACKERS] Avahi support for Postgresql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce data row alignment requirements on some 64-bit systems<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00369.php <nowiki>[WIP] Reduce alignment requirements on 64-bit systems.</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure TOAST internal storage format for greater flexibility<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00049.php <nowiki>Re: PG_PAGE_LAYOUT_VERSION 5 - time for change</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Add regression tests for pg_dump/restore<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01967.php <nowiki>"make install-check-pg_dump" target in src/regress]</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Research different memory allocation methods for lists<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01467.php <br />
}}<br />
<br />
{{TodoItem<br />
| Consider removing the attribute options cache<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00039.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure /contrib section<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00705.php<br />
}}<br />
<br />
{{TodoItem<br />
| Consider adding explicit huge page support<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00123.php<br />
}}<br />
<br />
=== /contrib/pg_upgrade ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Handle large object comments<br />
|This is difficult to do because the large object doesn't exist when --schema-only is loaded.<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using pg_depend for checking object usage in version.c<br />
}}<br />
<br />
{{TodoItem<br />
|If reindex is necessary, allow it to be done in parallel with pg_dump custom format<br />
}}<br />
<br />
{{TodoItem<br />
|Migrate pg_statistic by dumping it out as a flat file, so analyze is not necessary<br />
|pg_class.oid is not preserved so schema.tablename must be used.<br />
* [http://archives.postgresql.org/message-id/CAAZKuFaWdLkK8eozSAooZBets9y_mfo2HS6urPAKXEPbd-JLCA@mail.gmail.com pg_upgrade and statistics]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve testing, perhaps using the buildfarm<br />
|The buildfarm has access to multiple versions of PostgreSQL.<br />
}}<br />
<br />
{{TodoItem<br />
|Create machine-readable output of pg_controldata<br />
|This would avoid parsing its output. The problem is we need pg_controldata output from both the old and new clusters so we would need to support both formats.<br />
}}<br />
<br />
{{TodoItem<br />
|Find cleaner way to start/stop dedicated servers for upgrades<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00275.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a way to run pg_upgrade on standby servers<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00453.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00056.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Windows ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Remove configure.in check for link failure when cause is found}}<br />
<br />
{{TodoItem<br />
|Remove readdir() errno patch when runtime/mingwex/dirent.c rev 1.4 is released}}<br />
<br />
{{TodoItem<br />
|Allow psql to use readline once non-US code pages work with backslashes}}<br />
<br />
{{TodoItem<br />
|Fix problem with shared memory on the Win32 Terminal Server}}<br />
<br />
{{TodoItem<br />
|Improve signal handling<br />
* [http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php <nowiki>Simplify Win32 Signaling code</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Convert MSVC build system to remove most batch files<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00961.php <nowiki>MSVC build system</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support pgxs when using MSVC}}<br />
<br />
{{TodoItem<br />
|Fix MSVC NLS support, like for to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00485.php <nowiki>NLS on MSVC strikes back!</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00038.php <nowiki>Fix for 8.3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back!)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Find a correct rint() substitute on Windows<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php <nowiki>Minor bug in src/port/rint.c</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix global namespace issues when using multiple terminal server sessions<br />
* [http://archives.postgresql.org/message-id/48F3BFCC.8030107@dunslane.net problems with Windows global namespace]}}<br />
<br />
{{TodoItem<br />
|Change from the current autoconf/gmake build system to cmake<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg01869.php <nowiki>About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve consistency of path separator usage<br />
* http://archives.postgresql.org/message-id/49C0BDC5.4010002@hagander.net<br />
}}<br />
<br />
{{TodoItem<br />
|Fix cross-compiling on Windows<br />
* http://archives.postgresql.org/pgsql-bugs/2010-10/msg00110.php<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce file statistics overhead on directory reads<br />
* http://www.postgresql.org/message-id/1338325561.82125.YahooMailNeo@web39304.mail.mud.yahoo.com<br />
}}<br />
<br />
<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Wire Protocol Changes ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow dynamic character set handling}}<br />
<br />
{{TodoItem<br />
|Let the client indicate character encoding of database names, user names, and passwords<br />
* http://www.postgresql.org/message-id/16160.1360540050@sss.pgh.pa.us}}<br />
<br />
{{TodoItem<br />
|Add decoded type, length, precision}}<br />
<br />
{{TodoItem<br />
|Mark result columns as known-not-null when possible<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-11/msg01029.php <nowiki>Adding nullable indicator to Describe</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide more control over planner treatment of statements being prepared}}<br />
<br />
{{TodoItem<br />
|Use compression<br />
|If SSL is used, hopefully avoid the overhead of key negotiation and encryption<br />
* http://archives.postgresql.org/pgsql-hackers/2012-06/msg00793.php<br />
}}<br />
<br />
{{TodoItem<br />
|Update clients to use data types, typmod, schema.table.column names of result sets using new statement protocol}}<br />
<br />
{{TodoItem<br />
|Set protocol for wire format negotiation<br />
* [http://archives.postgresql.org/message-id/CACMqXCKkGrGXxQhjHCKCe0B8hn6sTt-1sdgHZOSGQMxrusOsQA@mail.gmail.com GUC_REPORT for protocol tunables]<br />
}}<br />
<br />
{{TodoItem<br />
|Make sure upgrading to a 4.1 protocol version will actually work smoothly<br />
* [http://archives.postgresql.org/message-id/28307.1318255008@sss.pgh.pa.us Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Documentation ==<br />
<br />
{{TodoItemEasy <br />
| Add contrib functions to the index<br />
* Add the functions and GUCs in the contrib modules to [http://www.postgresql.org/docs/current/static/sql-createindex.html the documentation index]: [http://archives.postgresql.org/message-id/50A2E173.6030404@2ndQuadrant.com per list discussion]<br />
}}<br />
<br />
{{TodoItem<br />
|Convert single quotes to apostrophes in the PDF documentation<br />
* [http://archives.postgresql.org/pgsql-docs/2007-12/msg00059.php <nowiki>SGML docs and pdf single-quotes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a manpage for postgresql.conf<br />
* {{messageLink|20080819194311.GH4428@alvh.no-ip.org|A smaller default postgresql.conf}}<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Change the manpage-generating toolchain to use the new XML-based docbook2x tools<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing documentation format from SGML to XML<br />
* [http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php <nowiki>Re: Authoring Tools WAS: Switching to XML</nowiki>]<br />
* http://archives.postgresql.org/pgsql-docs/2011-04/msg00020.php<br />
* http://wiki.postgresql.org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML<br />
}}<br />
<br />
{{TodoItem<br />
|Document support for N<nowiki>' '</nowiki> national character string literals, if it matches the SQL standard<br />
* http://archives.postgresql.org/message-id/1275895438.1849.1.camel@fsopti579.F-Secure.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add diagrams to the documentation<br />
* http://archives.postgresql.org/pgsql-docs/2010-07/msg00001.php<br />
}}<br />
<br />
== Exotic Features ==<br />
<br />
{{TodoItem<br />
|Add pre-parsing phase that converts non-ISO syntax to supported syntax<br />
|This could allow SQL written for other databases to run without modification.}}<br />
<br />
{{TodoItem<br />
|Allow plug-in modules to emulate features from other databases}}<br />
<br />
{{TodoItem<br />
|Add features of Oracle-style packages<br />
|A package would be a schema with session-local variables, public/private functions, and initialization functions. It is also possible to implement these capabilities in any schema and not use a separate &quot;packages&quot; syntax at all.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php <nowiki>proposal for PL packages for 8.3.</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing control of upper/lower case folding of unquoted identifiers<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php <nowiki>Bringing PostgreSQL torwards the standard regarding case folding</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php <nowiki>Re: [SQL] Case Preservation disregarding case sensitivity?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00849.php <nowiki>TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add autonomous transactions<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php <nowiki>autonomous transactions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Give query progress indication<br />
* [[Query progress indication]]<br />
}}<br />
<br />
{{TodoItem<br />
|Rethink our type system<br />
* [[Rethinking datatypes]]<br />
}}<br />
<br />
== Features We Do ''Not'' Want ==<br />
<br />
The following features have been discussed ad nauseum on the PostgreSQL mailing lists and the consensus has been that the project is not interested in them. As such, if you are going to bring them up as potential features, you will want to be familiar with all of the arguments against these features which have been previously made over the years. If you decide to work on such features anyway, you should be aware that you face a higher-than-normal barrier to get the Project to accept them.<br />
<br />
{{TodoItem<br />
|All backends running as threads in a single process (not wanted)<br />
|This eliminates the process protection we get from the current setup. Thread creation is usually the same overhead as process creation on modern systems, so it seems unwise to use a pure threaded model, and MySQL and DB2 have demonstrated that threads introduce as many issues as they solve. Threading specific operations such as I/O, seq scans, and connection management has been discussed and will probably be implemented to enable specific performance features. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years.}}<br />
<br />
{{TodoItem<br />
|"Oracle-style" optimizer hints (not wanted)<br />
|Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. We would rather have such problems reported and fixed. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. See [[OptimizerHintsDiscussion|Optimizer Hints Discussion]] for further information.}}<br />
<br />
{{TodoItem<br />
|Embedded server (not wanted)<br />
|While PostgreSQL clients runs fine in limited-resource environments, the server requires multiple processes and a stable pool of resources to run reliably and efficiently. Stripping down the PostgreSQL server to run in the same process address space as the client application would add too much complexity and failure cases. Besides, there are several very mature embedded SQL databases already available.}}<br />
<br />
{{TodoItem<br />
|Obfuscated function source code (not wanted)<br />
|Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. At the same time, it would greatly complicate backups and other administrative tasks. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc.<br />
* [http://archives.postgresql.org/pgsql-general/2008-09/msg00668.php <nowiki>Obfuscated stored procedures (was Re: Oracle and Postgresql)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Indeterminate behavior for the GROUP BY clause (not wanted)<br />
|At least one other database product allows specification of a subset of the result columns which GROUP BY would need to be able to provide predictable results; the server is free to return any value from the group. This is not viewed as a desirable feature. PostgreSQL 9.1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-03/msg00297.php <nowiki>Re: SQL compatibility reminder: MySQL vs PostgreSQL</nowiki>]<br />
}}<br />
<br />
</div><br />
<br />
[[Category:Todo]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=Todo&diff=19738Todo2013-05-15T02:55:04Z<p>Ramayer: /* Text Search */ added exact phrase search</p>
<hr />
<div><div style="margin: 1ex 1em; float: right;"><br />
__TOC__<br />
</div><br />
<br />
This list contains '''known PostgreSQL bugs and feature requests''' and we hope it is complete. If you would like to work on an item, please read the [[Developer FAQ]] first. There is also a [[Development_information|development information page]].<br />
<br />
* {{TodoPending}} - marks ordinary, incomplete items<br />
* {{TodoEasy}} - marks items that are easier to implement<br />
* {{TodoDone}} - marks changes that are done, and will appear in the PostgreSQL 9.3 release.<br />
<br />
For help on editing this list, please see [[Talk:Todo]]. <b>Please do not add items here without discussion on the mailing list.</b><br />
<br />
<b>For Developers:</b> Unfortunately this list does not contain all the information necessary for someone to start coding a feature. Some of these items might have become unnecessary since they were added --- others might be desirable but the implementation might be unclear. When selecting items listed below, be prepared to first discuss the value of the feature. Do not assume that you can select one, code it and then expect it to be committed. Always discuss design on Hackers list before starting to code. The flow should be:<br />
<br />
Desirability -> Design -> Implement -> Test -> Review -> Commit<br />
<br />
<div style="padding: 1ex 4em;"><br />
== Administration ==<br />
<br />
{{TodoItem<br />
|Allow administrators to cancel multi-statement idle transactions<br />
|This allows locks to be released, but it is complex to report the cancellation back to the client.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg01340.php <nowiki>Cancelling idle in transaction state</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg00441.php <nowiki>Re: Cancelling idle in transaction state</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Check for unreferenced table files created by transactions that were in-progress when the server terminated abruptly<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00096.php <nowiki>Removing unreferenced files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Set proper permissions on non-system schemas during db creation<br />
|Currently all schemas are owned by the super-user because they are copied from the template1 database. However, since all objects are inherited from the template database, it is not clear that setting schemas to the db owner is correct.}}<br />
<br />
{{TodoItem<br />
|Allow log_min_messages to be specified on a per-module basis<br />
|This would allow administrators to see more detailed information from specific sections of the backend, e.g. checkpoints, autovacuum, etc. Another idea is to allow separate configuration files for each module, or allow arbitrary SET commands to be passed to them. See also [[Logging Brainstorm]].}}<br />
<br />
{{TodoItem<br />
|Simplify creation of partitioned tables<br />
|This would allow creation of partitioned tables without requiring creation of triggers or rules for INSERT/UPDATE/DELETE, and constraints for rapid partition selection. Options could include range and hash partition selection. See also [[Table partitioning]]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow custom variables to appear in pg_settings()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00850.php <nowiki>Re: count(*) performance improvement ideas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have custom variables be transaction-safe<br />
* {{MessageLink|4B577E9F.8000505@dunslane.net|Custom GUCs still a bit broken}}<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the SQL-standard mechanism whereby REVOKE ROLE revokes only the privilege granted by the invoking role, and not those granted by other roles<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00010.php <nowiki>Re: Grantor name gets lost when grantor role dropped</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent query cancel packets from being replayed by an attacker, especially when using SSL<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00345.php <nowiki>Replay attack of query cancel</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a way to query the log collector subprocess to determine the name of the currently active log file<br />
* [http://archives.postgresql.org/pgsql-general/2008-11/msg00418.php <nowiki>Current log files when rotating?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow simpler reporting of the unix domain socket directory and allow easier configuration of its default location<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg01555.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-10/msg01482.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow custom daemons to be automatically stopped/started along with the postmaster<br />
|This allows easier administration of daemons like user job schedulers or replication-related daemons.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01701.php <nowiki>Re: scheduler in core</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve logging of prepared transactions recovered during startup<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg00092.php <nowiki>&quot;recovering prepared transaction&quot; after server restart message</nowiki>]<br />
}}<br />
<br />
=== Configuration files ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow postgresql.conf file values to be changed via an SQL API, perhaps using SET GLOBAL<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00764.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01509.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-11/msg00002.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider normalizing fractions in postgresql.conf, perhaps using '%'<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00550.php <nowiki>Fractions in GUC variables</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow Kerberos to disable stripping of realms so we can check the username@realm against multiple realms<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00009.php <nowiki>krb_match_realm patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve LDAP authentication configuration options<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01745.php <nowiki>Proposed Patch - LDAPS support for servers on port 636 w/o TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add external tool to auto-tune some postgresql.conf parameters<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00000.php <nowiki>Re: Overhauling GUCS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00033.php <nowiki>Simple postgresql.conf wizard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add 'hostgss' pg_hba.conf option to allow GSS link-level encryption<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg01454.php <nowiki>Re: Plans for 8.4</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Process pg_hba.conf keywords as case-insensitive<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00432.php <nowiki>More robust pg_hba.conf parsing/error logging</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Create utility to compute accurate random_page_cost value<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00162.php<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00362.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow configuration files to be independently validated<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01831.php<br />
* http://archives.postgresql.org/message-id/12666.1310774573@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Allow postgresql.conf settings to be accepted by backends even if some settings are invalid for those backends<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00330.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00375.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow all backends to receive postgresql.conf setting changes at the same time<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00330.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00375.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow synchronous_standby_names to be disabled after communication failure with all synchronous standby servers exceeds some timeout<br />
|This also requires successful execution of a synchronous notification command.<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00409.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Tablespaces ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow a database in tablespace t1 with tables created in tablespace t2 to be used as a template for a new database created with default tablespace t2<br />
|Currently all objects in the default database tablespace must have default tablespace specifications. This is because new databases are created by copying directories. If you mix default tablespace tables and tablespace-specified tables in the same directory, creating a new database from such a mixed directory would create a new database with tables that had incorrect explicit tablespaces. To fix this would require modifying pg_class in the newly copied database, which we don't currently do.}}<br />
<br />
{{TodoItem<br />
|Allow reporting of which objects are in which tablespaces<br />
|This item is difficult because a tablespace can contain objects from multiple databases. There is a server-side function that returns the databases which use a specific tablespace, so this requires a tool that will call that function and connect to each database to find the objects in each database for that tablespace.}}<br />
<br />
{{TodoItem<br />
|Allow WAL replay of CREATE TABLESPACE to work when the directory structure on the recovery computer is different from the original}}<br />
<br />
{{TodoItem<br />
|Allow per-tablespace quotas}}<br />
<br />
{{TodoItem<br />
|Allow tablespaces on RAM-based partitions for unlogged tables<br />
* http://archives.postgresql.org/pgsql-advocacy/2011-05/msg00033.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow toast tables to be moved to a different tablespace<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-05/msg00980.php]<br />
* {{messageLink|CAFEQCbH756DyyAPQ1ykh3+b+kE1-EhWRww1WO_x5v38C-uLnUg@mail.gmail.com|patch : Allow toast tables to be moved to a different tablespace}} (issues remain)<br />
* [http://archives.postgresql.org/message-id/CAFEQCbEq07OopgE5xFYv2Q3eMq45hRSJkjCBO+kvpJq9NEVhow@mail.gmail.com Allow toast tables to be moved to a different tablespace]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Statistics Collector ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow statistics last vacuum/analyze execution times to be displayed without requiring track_counts to be enabled<br />
* [http://archives.postgresql.org/pgsql-docs/2007-04/msg00028.php <nowiki>row-level stats and last analyze time</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Clear table counters on TRUNCATE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg00169.php <nowiki>Small TRUNCATE glitch</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SSL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SSL authentication/encryption over unix domain sockets<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00924.php <nowiki>Re: Spoofing as the postmaster</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow SSL key file permission checks to be optionally disabled when sharing SSL keys with other applications<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00069.php <nowiki>BUG #3809: SSL &quot;unsafe&quot; private key permissions bug</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow SSL CRL files to be re-read during configuration file reload, rather than requiring a server restart<br />
|Unlike SSL CRT files, CRL (Certificate Revocation List) files are updated frequently<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00832.php <nowiki>Automatic CRL reload</nowiki>]<br />
Alternatively or additionally supporting OCSP (online certificate security protocol) would provide real-time revocation discovery without reloading<br />
}}<br />
<br />
{{TodoItem<br />
| Allow automatic selection of SSL client certificates from a certificate store<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00406.php <nowiki>Allow multiple certificates or keys in the postgresql.crt/.key files</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Send the full certificate server chain to the client<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-12/msg00145.php BUG #5245: Full Server Certificate Chain Not Sent to client]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Point-In-Time Recovery (PITR) ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow archive_mode to be changed without server restart?<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01655.php <nowiki>Enabling archive_mode without restart</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider avoiding WAL switching via archive_timeout if there has been no database activity<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01469.php <nowiki>archive_timeout behavior for no activity</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg00395.php <nowiki>Re: archive_timeout behavior for no activity</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow base backup from standby to continue when the standby is promoted.<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-10/msg00239.php <nowiki>Re: Promoting a standby during base backup</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add recovery target option to stop as soon as consistency is reached.<br />
* [http://archives.postgresql.org/message-id/5188F87D.1080908@vmware.com <nowiki>Re: Recovery target 'immediate'</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Standby server mode ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
| Allow pg_xlogfile_name() to be used in recovery mode<br />
* [http://archives.postgresql.org/message-id/3f0b79eb1001190135vd9f62f1sa7868abc1ea61d12@mail.gmail.com <nowiki>Streaming replication and pg_xlogfile_name()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Prevent variables inherited from the server environment from begin used for making streaming replication connections.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01011.php <nowiki>Re: Parameter name standby_mode</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Change walsender so that it applies per-role settings<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00642.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure configuration parameters for standby mode<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg01820.php<br />
}}<br />
<br />
{{TodoItemf<br />
| Allow time-delayed application of logs on the standby<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00992.php<br />
}}<br />
<br />
{{TodoItem<br />
| Add -X parameter to pg_basebackup to specify a different directory for px_xlog, like initdb<br />
}}<br />
<br />
{{TodoItem<br />
| Add a new "eager" synchronous mode that starts out synchronous but reverts to asynchronous after a failure timeout period<br />
|This would require some type of command to be executed to alert administrators of this change.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-12/msg01224.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Data Types ==<br />
<br />
{{TodoItem<br />
|Fix data types where equality comparison is not intuitive, e.g. box<br />
* http://archives.postgresql.org/pgsql-hackers/2011-10/msg01643.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for public SYNONYMs<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00519.php <nowiki>Proposal for SYNONYMS</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg02043.php<br />
* http://archives.postgresql.org/pgsql-general/2010-12/msg00139.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for SQL-standard GENERATED/IDENTITY columns<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-07/msg00543.php <nowiki>Re: Three weeks left until feature freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00038.php <nowiki>GENERATED ... AS IDENTITY, Was: Re: Feature Freeze</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00344.php <nowiki>Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00076.php <nowiki>Re: [HACKERS] Behavior of GENERATED columns per SQL2003</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00604.php <nowiki>IDENTITY/GENERATED patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider placing all sequences in a single table, or create a system view<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-02/msg00258.php Removing special case OID generation]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a special data type for regular expressions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg01067.php <nowiki>Why is there a tsquery data type?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce BIT data type overhead using short varlena headers<br />
* [http://archives.postgresql.org/pgsql-general/2007-12/msg00273.php <nowiki>storage size of &quot;bit&quot; data type..</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow renaming and deleting enumerated values from an existing enumerated data type<br />
}}<br />
<br />
{{TodoItem<br />
|Support scoped IPv6 addresses in the inet type<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-05/msg00111.php <nowiki>strange problem with ip6</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Considering improving performance of computing CHAR() value lengths<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00900.php <nowiki>char() overhead on read-only workloads not so insignifcant as the docs claim it is...</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01787.php <nowiki>Re: [PATCH] backend: compare word-at-a-time in bcTruelen</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add overlaps geometric operators that ignore point overlaps<br />
* http://archives.postgresql.org/pgsql-hackers/2010-03/msg00861.php<br />
}}<br />
<br />
{{TodoItem<br />
|Remove or improve rounding in geometric comparison operators<br />
* http://archives.postgresql.org/message-id/9804.1346187849@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
| Add IMMUTABLE column attribute<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00623.php<br />
}}<br />
<br />
=== Domains ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow functions defined as casts to domains to be called during casting<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-05/msg00072.php <nowiki>bug? non working casts for domain</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-09/msg01681.php <nowiki>TODO: Fix CREATE CAST on DOMAINs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow values to be cast to domain types<br />
* [http://archives.postgresql.org/pgsql-hackers/2003-06/msg01206.php <nowiki>Domain casting still doesn't work right</nowiki>] <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00289.php <nowiki>domain casting?</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00812.php<br />
}}<br />
<br />
{{TodoItem<br />
|Make domains work better with polymorphic functions<br />
* [http://archives.postgresql.org/message-id/4887.1228700773@sss.pgh.pa.us Polymorphic types vs. domains]<br />
* [http://archives.postgresql.org/message-id/15535.1238774571@sss.pgh.pa.us some difficulties with fixing it]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Dates and Times ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow infinite intervals just like infinite timestamps<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00076.php<br />
}}<br />
<br />
{{TodoItem<br />
|Determine how to represent date/time field extraction on infinite timestamps<br />
* [http://archives.postgresql.org/message-id/CA+mi_8bda-Fnev9iXeUbnqhVaCWzbYhHkWoxPQfBca9eDPpRMw@mail.gmail.com extract(epoch from infinity) is not 0]<br />
* [http://archives.postgresql.org/message-id/CADAkt-icuESH16uLOCXbR-dKpcvwtUJE4JWXnkdAjAAwP6j12g@mail.gmail.com converting between infinity timestamp and float8]<br />
}}<br />
<br />
<br />
{{TodoItem<br />
|Allow TIMESTAMP WITH TIME ZONE to store the original timezone information, either zone name or offset from UTC<br />
|If the TIMESTAMP value is stored with a time zone name, interval computations should adjust based on the time zone rules. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-10/msg00705.php <nowiki>timestamp with time zone a la sql99</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have timestamp subtraction not call justify_hours()?<br />
* [http://archives.postgresql.org/pgsql-sql/2006-10/msg00059.php <nowiki>timestamp subtraction (was Re: formatting intervals with to_char)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve TIMESTAMP WITH TIME ZONE subtraction to be DST-aware<br />
|Currently subtracting one date from another that crosses a daylight savings time adjustment can return '1 day 1 hour', but adding that back to the first date returns a time one hour in the future. This is caused by the adjustment of '25 hours' to '1 day 1 hour', and '1 day' is the same time the next day, even if daylight savings adjustments are involved.}}<br />
<br />
{{TodoItem<br />
|Fix interval display to support values exceeding 2^31 hours}}<br />
<br />
{{TodoItem<br />
|Add overflow checking to timestamp and interval arithmetic}}<br />
<br />
{{TodoItem<br />
|Add function to allow the creation of timestamps using parameters<br />
* http://archives.postgresql.org/pgsql-performance/2010-06/msg00232.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Arrays ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add support for arrays of domains<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php <nowiki>Re: updated WIP: arrays of composites</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single-byte header storage for array elements}}<br />
<br />
{{TodoItem<br />
|Add function to detect if an array is empty<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00475.php <nowiki>Re: array_length()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of empty arrays<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01033.php <nowiki>So what's an &quot;empty&quot; array anyway?</nowiki>]<br />
* http://archives.postgresql.org/pgsql-general/2012-07/msg00633.php<br />
* [http://www.postgresql.org/message-id/1182.1363387349@sss.pgh.pa.us <nowiki>Allow declaration of an empty array?</nowiki>]<br />
* [http://www.postgresql.org/message-id/CADxJZo0keVhSRzUnot2Y6g46tsP7f-eV28iEmBd3AtLjU-YTMA@mail.gmail.com Exorcise "zero-dimensional" arrays]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULLs in arrays<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-11/msg00009.php <nowiki>BUG #4509: array_cat's null behaviour is inconsistent</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01040.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Binary Data ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve vacuum of large objects, like contrib/vacuumlo?}}<br />
<br />
{{TodoItem<br />
|Auto-delete large objects when referencing row is deleted<br />
|contrib/lo offers this functionality.}}<br />
<br />
{{TodoItem<br />
|Allow read/write into TOAST values like large objects<br />
|Writing might require the TOAST column to be stored EXTERNAL.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00049.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== MONEY Data Type ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add locale-aware MONEY type, and support multiple currencies<br />
* [http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php <nowiki>A real currency type</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php <nowiki>Money type todos?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|MONEY dumps in a locale-specific format making it difficult to restore to a system with a different locale}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Text Search ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow dictionaries to change the token that is passed on to later dictionaries<br />
* [http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php <nowiki>a tsearch2 (8.2.4) dictionary that only filters out stopwords</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Exact phrase search, <br />
* [http://www.sai.msu.su/~megera/wiki/2009-08-12 <nowiki>Algebra for full-text queries</nowiki>]<br />
* [hhttp://www.sai.msu.su/~megera/postgres/talks/2009.pdf <nowiki>Algebra for full-text queries</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a function-based API for '@@' searches<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php <nowiki>Some recent advances in<br />
full-text search</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve text search error messages<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php <nowiki>Poorly designed tsearch NOTICEs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php <nowiki>Re: Poorly designed tsearch NOTICEs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing error to warning for strings larger than one megabyte<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php <nowiki>BUG #3975: tsearch2 index should not bomb out of 1Mb limit</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php <nowiki>Re: [BUGS] BUG #3975: tsearch2 index should not bomb out of 1Mb limit</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|tsearch and tsdicts regression tests fail in Turkish locale on glibc<br />
* [http://archives.postgresql.org/message-id/49749645.5070801@gmx.net tsearch with Turkish locale]<br />
}}<br />
<br />
{{TodoItem<br />
|tsquery negator operator treated as part of lexeme<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-06/msg00346.php BUG #4887: inclusion operator (@>) on tsqeries behaves not conforming to documentation]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of dash and plus signs in email address user names, and perhaps improve URL parsing<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00772.php<br />
* [http://archives.postgresql.org/message-id/E1Ri8il-0008Ct-9p@wrigleys.postgresql.org tsearch does not recognize all valid emails]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve default parser, to more easily allow adding new tokens<br />
* http://archives.postgresql.org/message-id/23485.1297727826@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Add additional support functions<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00319.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== XML ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow XML arrays to be cast to other data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00981.php <nowiki>proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00231.php <nowiki>Re: proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00471.php <nowiki>Re: proposal casting from XML[] to int[], numeric[], text[]</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add XML Schema validation and xmlvalidate functions (SQL:2008)}}<br />
<br />
{{TodoItem<br />
|Add xmlvalidatedtd variant to support validating against a DTD?}}<br />
<br />
{{TodoItem<br />
|Relax-NG validation; libxml2 supports this already}}<br />
<br />
{{TodoItem<br />
|Allow reliable XML operation non-UTF8 server encodings (xpath(), in particular, is known to not work)<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-01/msg00135.php <nowiki>BUG #4622: xpath only work in utf-8 server encoding</nowiki>] <br />
* http://archives.postgresql.org/message-id/4110.1238973350@sss.pgh.pa.us}}<br />
<br />
{{TodoItem<br />
|Add functions from SQL:2006: XMLDOCUMENT, XMLCAST, XMLTEXT}}<br />
<br />
{{TodoItem<br />
|Add XMLNAMESPACES support in XMLELEMENT and elsewhere}}<br />
<br />
{{TodoItem<br />
|Move XSLT from contrib/xml2 to a more reasonable location<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00539.php<br />
}}<br />
<br />
{{TodoItem<br />
|Report errors returned by the XSLT library<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00562.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve the XSLT parameter passing API<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg00416.php<br />
}}<br />
<br />
{{TodoItem<br />
|XML Canonical: Convert XML documents to canonical form to compare them. libxml2 has support for this.}}<br />
<br />
{{TodoItem<br />
|Add pretty-printed XML output option<br />
|Parse a document and serialize it back in some indented form. libxml2 might support this.}}<br />
<br />
{{TodoItem<br />
|Add XMLQUERY (from the SQL/XML standard)}}<br />
<br />
{{TodoItem<br />
|Allow XML sthredding<br />
|In some cases shredding could be better option (if there is no need to keep XML docs entirely, e.g. if we have already developed tools that understand only relational data. This would be a separate module that implements annotated schema decomposition technique, similar to DB2 and SQL Server functionality.}}<br />
<br />
{{TodoItem<br />
|Fix Nested or repeated xpath() that apparently mess up namespaces [http://archives.postgresql.org/pgsql-bugs/2008-03/msg00097.php] [http://archives.postgresql.org/pgsql-bugs/2008-03/msg00144.php] [http://archives.postgresql.org/pgsql-general/2008-03/msg00295.php] [http://archives.postgresql.org/pgsql-bugs/2008-07/msg00054.php] [http://archives.postgresql.org/message-id/004f01c90e91$138e9d10$3aabd730$@anstett@iaas.uni-stuttgart.de]}}<br />
<br />
{{TodoItem<br />
|XPath: Adding the <x> at the root causes problems [http://archives.postgresql.org/pgsql-bugs/2008-05/msg00184.php] [http://archives.postgresql.org/pgsql-bugs/2008-07/msg00054.php] [http://archives.postgresql.org/pgsql-general/2008-07/msg00613.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table needs to be implemented/implementable to get rid of contrib/xml2 [http://archives.postgresql.org/pgsql-general/2008-05/msg00823.php]}}<br />
<br />
{{TodoItem<br />
|xpath_table is pretty broken anyway [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02424.php]}}<br />
<br />
{{TodoItem<br />
|better handling of XPath data types [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00616.php] [http://archives.postgresql.org/message-id/004a01c90e90$4b986d90$e2c948b0$@anstett@iaas.uni-stuttgart.de]}}<br />
<br />
{{TodoItem<br />
|Improve handling of PIs and DTDs in xmlconcat() [http://archives.postgresql.org/message-id/200904211211.n3LCB09p008988@wwwmaster.postgresql.org]}}<br />
<br />
{{TodoItem<br />
|Restructure XML and /contrib/xml2 functionality<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02314.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00017.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Functions ==<br />
<br />
{{TodoItem<br />
|Allow INET subnet comparisons using non-constants to be indexed}}<br />
<br />
{{TodoItem<br />
|Add an INET overlaps operator, for use by exclusion constraints <br />
* http://archives.postgresql.org/pgsql-hackers/2010-03/msg00845.php<br />
}}<br />
<br />
{{TodoItem<br />
|Enforce typmod for function inputs, function results and parameters for spi_prepare'd statements called from PLs<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg01403.php <nowiki>Re: BUG #2917: spi_prepare doesn't accept typename aliases</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01160.php <nowiki>RFC for adding typmods to functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix IS OF so it matches the ISO specification, and add documentation<br />
* [http://archives.postgresql.org/pgsql-patches/2003-08/msg00060.php <nowiki>Re: [HACKERS] IS OF</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00060.php <nowiki>ToDo: add documentation for operator IS OF</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement Boyer-Moore searching in LIKE queries<br />
* {{messageLink|27645.1220635769@sss.pgh.pa.us|TODO item: Implement Boyer-Moore searching (First time hacker)}}<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent malicious functions from being executed with the permissions of unsuspecting users<br />
|Index functions are safe, so VACUUM and ANALYZE are safe too. Triggers, CHECK and DEFAULT expressions, and rules are still vulnerable. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00268.php <nowiki>Some notes about the index-functions security vulnerability</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce memory usage of aggregates in set returning functions<br />
* [http://archives.postgresql.org/pgsql-performance/2008-01/msg00031.php <nowiki>Re: Performance of aggregates over set-returning functions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/ltree operator<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-11/msg00044.php <nowiki>BUG #3720: wrong results at using ltree</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix /contrib/btree_gist's implementation of inet indexing<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-10/msg00099.php <nowiki>BUG #5705: btree_gist: Index on inet changes query result</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|<nowiki>Fix inconsistent precedence of =, &gt;, and &lt; compared to &lt;&gt;, &gt;=, and &lt;=</nowiki><br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00145.php <nowiki>BUG #3822: Nonstandard precedence for comparison operators</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix regular expression bug when using complex back-references<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00000.php <nowiki>BUG #3645: regular expression back references seem broken</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have /contrib/dblink reuse unnamed connections<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00895.php <nowiki>dblink un-named connection doesn't get re-used</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve formatting of pg_get_viewdef() output<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg01648.php <nowiki>pg_get_viewdef formattiing</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg01885.php <nowiki>Re: pretty print viewdefs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-12/msg00906.php reprise: pretty print viewdefs]<br />
}}<br />
<br />
{{TodoItem<br />
|Add function to dump pg_depend information cleanly<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00226.php <nowiki>Elementary dependency look-up</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add function to allow easier transaction id comparisons<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg00786.php<br />
}}<br />
<br />
=== Character Formatting ===<br />
<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Allow to_date() and to_timestamp() to accept localized month names}}<br />
<br />
{{TodoItem<br />
|Add missing parameter handling in to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-12/msg00948.php <nowiki>Re: to_char and i18n</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Throw an error from to_char() instead of printing a string of "#" when a number doesn't fit in the desired output format.<br />
* discussed in [http://archives.postgresql.org/message-id/37ed240d0907290836w42187222n18664dfcbcb445b1@mail.gmail.com "to_char, support for EEEE format"]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow to_char() on interval values to accumulate the highest unit requested<br />
|2= Some special format flag would be required to request such accumulation. Such functionality could also be added to EXTRACT. Prevent accumulation that crosses the month/day boundary because of the uneven number of days in a month.<br />
* to_char(INTERVAL '1 hour 5 minutes', 'MI') =&gt; 65<br />
* to_char(INTERVAL '43 hours 20 minutes', 'MI' ) =&gt; 2600<br />
* to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') =&gt; 0:1:19:20<br />
* to_char(INTERVAL '3 years 5 months','MM') =&gt; 41<br />
}}<br />
<br />
{{TodoItem<br />
|Fix to_number() handling for values not matching the format string<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01447.php <nowiki>Re: numeric_to_number() function skipping some digits</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Multi-Language Support ==<br />
<br />
{{TodoItem<br />
|Add NCHAR (as distinguished from ordinary varchar),}}<br />
<br />
{{TodoItem<br />
|Add a cares-about-collation column to pg_proc, so that unresolved-collation errors can be thrown at parse time<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-03/msg01520.php <nowiki>Open issues for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with text search configurations<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Integrate collations with to_char() and related functions<br />
* [http://archives.postgresql.org/message-id/28887.1303579034@sss.pgh.pa.us <nowiki>Some TODO items for collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support collation-sensitive equality and hashing functions<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-06/msg00472.php <nowiki> contrib/citext versus collations</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a LOCALE option to CREATE DATABASE, as a shorthand<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00119.php <nowiki> Re: 8.4 open items list</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support multiple simultaneous character sets, per SQL:2008}}<br />
<br />
{{TodoItem<br />
|Improve UTF8 combined character handling?}}<br />
<br />
{{TodoItem<br />
|Add octet_length_server() and octet_length_client()}}<br />
<br />
{{TodoItem<br />
|Make octet_length_client() the same as octet_length()?}}<br />
<br />
{{TodoItem<br />
|Fix problems with wrong runtime encoding conversion for NLS message files}}<br />
<br />
{{TodoItem<br />
|Add URL to more complete multi-byte regression tests<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-07/msg00272.php <nowiki>Multi-byte and client side character encoding tests for copy command..</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix contrib/fuzzystrmatch to work with multibyte encodings<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00047.php <nowiki> soundex function returns UTF-16 characters</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00138.php <nowiki> dmetaphone woes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Change memory allocation for multi-byte functions so memory is allocated inside conversion functions<br />
|Currently we preallocate memory based on worst-case usage.}}<br />
<br />
{{TodoItem<br />
|Add ability to use case-insensitive regular expressions on multi-byte characters<br />
|Currently it works for UTF-8, but not other multi-byte encodings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00433.php <nowiki>Regexps vs. locale</nowiki>]<br />
* {{MessageLink|20091201210024.B1393753FB7@cvs.postgresql.org|A partial solution for UTF-8}}<br />
}}<br />
<br />
{{TodoItem<br />
|Improve encoding of connection startup messages sent to the client<br />
|Currently some authentication error messages are sent in the server encoding<br />
* [http://archives.postgresql.org/pgsql-general/2008-12/msg00801.php <nowiki>encoding of PostgreSQL messages</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-general/2009-01/msg00005.php <nowiki>Re: encoding of PostgreSQL messages</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|More sensible support for Unicode combining characters, normal forms<br />
* http://archives.postgresql.org/message-id/200904141532.44618.peter_e@gmx.net<br />
}}<br />
<br />
== Views and Rules ==<br />
<br />
{{TodoItem<br />
|Add the functionality of the WITH CHECK OPTION clause to CREATE VIEW<br />
}}<br />
{{TodoItem<br />
|Allow VIEW/RULE recompilation when the underlying tables change<br />
|This is both difficult and controversial.<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01723.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change"]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg01724.php Re: About "Allow VIEW/RULE recompilation when the underlying tables change2"]<br />
* [http://archives.postgresql.org/message-id/CACk%3DU9NFSzWrEba8G5dZ%3DTZLy3_hx3QXGyCcKVWT%3D4iA1FjMuA@mail.gmail.com VIEW still referring to old name of field]<br />
}}<br />
{{TodoItem<br />
|Make it possible to use RETURNING together with conditional DO INSTEAD rules, such as for partitioning setups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00577.php <nowiki>RETURNING and DO INSTEAD ... Intentional or not?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to modify views via ALTER TABLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00691.php <nowiki>Re: idea: storing view source in system catalogs</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg01410.php <nowiki>modifying views</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg00300.php <nowiki>Re: patch: Add columns via CREATE OR REPLACE VIEW</nowiki>]<br />
}}<br />
<br />
== SQL Commands ==<br />
<br />
{{TodoItem<br />
|Add CORRESPONDING BY to UNION/INTERSECT/EXCEPT<br />
* [http://dissipatedheat.com/2011/11/10/how-not-to-write-a-patch-for-postgresql/ How not to write this patch.]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve type determination of unknown (NULL or quoted literal) result columns for UNION/INTERSECT/EXCEPT<br />
* [http://archives.postgresql.org/message-id/9799.1302719551@sss.pgh.pa.us <nowiki>UNION construct type cast gives poor error message</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ROLLUP, CUBE, GROUPING SETS options to GROUP BY<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00838.php <nowiki>WIP: grouping sets support</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00466.php <nowiki>Implementation of GROUPING SETS (T431: Extended grouping capabilities)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow prepared transactions with temporary tables created and dropped in the same transaction, and when an ON COMMIT DELETE ROWS temporary table is accessed<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00047.php <nowiki>Re: &quot;could not open relation 1663/16384/16584: No such file or directory&quot; in a specific combination of transactions with temp tables</nowiki>]<br />
* [http://archives.postgresql.org/message-id/492543D5.9050904@enterprisedb.com A suggestion on how to implement this]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a GUC variable to warn about non-standard SQL usage in queries}}<br />
<br />
{{TodoItem<br />
|Add SQL-standard MERGE/REPLACE/UPSERT command<br />
|MERGE is typically used to merge two tables. REPLACE or UPSERT command does UPDATE, or on failure, INSERT. See [[SQL MERGE]] for notes on the implementation details.<br />
}}<br />
<br />
{{TodoItem<br />
|Add NOVICE output level for helpful messages<br />
|For example, have it warn about unjoined tables. This could also control automatic sequence/index creation messages.<br />
}}<br />
<br />
{{TodoItem<br />
|Allow NOTIFY in rules involving conditionals}}<br />
<br />
{{TodoItem<br />
|Allow EXPLAIN to identify tables that were skipped because of constraint_exclusion<br />
}}<br />
<br />
{{TodoItem<br />
|Simplify dropping roles that have objects in several databases}}<br />
<br />
{{TodoItem<br />
|Allow the count returned by SELECT, etc to be represented as an int64 to allow a higher range of values}}<br />
<br />
{{TodoItem<br />
|Add support for WITH RECURSIVE ... CYCLE<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00291.php <nowiki>WITH RECURSIVE ... CYCLE in vanilla SQL: issues with arrays of rows</nowiki>]}}<br />
<br />
{{TodoItem<br />
|Add DEFAULT .. AS OWNER so permission checks are done as the table owner<br />
|This would be useful for SERIAL nextval() calls and CHECK constraints.}}<br />
<br />
{{TodoItem<br />
|Allow DISTINCT to work in multiple-argument aggregate calls}}<br />
<br />
{{TodoItem<br />
|Add comments on system tables/columns using the information in catalogs.sgml<br />
|Ideally the information would be pulled from the SGML file automatically.}}<br />
<br />
{{TodoItem<br />
|Prevent the specification of conflicting transaction read/write options<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00684.php <nowiki>Re: SET TRANSACTION and SQL Standard</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow DELETE and UPDATE to be used with LIMIT and ORDER BY<br />
* http://archives.postgresql.org/pgadmin-hackers/2010-04/msg00078.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg01997.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00021.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow PREPARE of cursors}}<br />
<br />
{{TodoItem<br />
|Have DISCARD PLANS discard plans cached by functions<br />
|DISCARD all should do the same.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00431.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid multiple-evaluation of BETWEEN and IN arguments containing volatile expressions<br />
* http://archives.postgresql.org/message-id/4D95B605.2020709@enterprisedb.com<br />
}}<br />
<br />
{{TodoItem<br />
|Fix nested CASE-WHEN constructs<br />
* http://archives.postgresql.org/message-id/4DDCEEB8.50602@enterprisedb.com<br />
}}<br />
<br />
=== CREATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow CREATE TABLE AS to determine column lengths for complex expressions like SELECT col1 || col2}}<br />
<br />
{{TodoItem<br />
|Have WITH CONSTRAINTS also create constraint indexes<br />
* [http://archives.postgresql.org/pgsql-patches/2007-04/msg00149.php <nowiki>Re: CREATE TABLE LIKE INCLUDING INDEXES support</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move NOT NULL constraint information to pg_constraint<br />
|Currently NOT NULL constraints are stored in pg_attribute without any designation of their origins, e.g. primary keys. One manifest problem is that dropping a PRIMARY KEY constraint does not remove the NOT NULL constraint designation. Another issue is that we should probably force NOT NULL to be propagated from parent tables to children, just as CHECK constraints are. (But then does dropping PRIMARY KEY affect children?)<br />
* http://archives.postgresql.org/message-id/19768.1238680878@sss.pgh.pa.us<br />
* http://archives.postgresql.org/message-id/200909181005.n8IA5Ris061239@wwwmaster.postgresql.org<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg01223.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00358.php<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent concurrent CREATE TABLE from sometimes returning a cryptic error message<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00169.php <nowiki>BUG #3692: Conflicting create table statements throw unexpected error</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add CREATE SCHEMA ... LIKE that copies a schema}}<br />
<br />
{{TodoItem<br />
|Fix CREATE OR REPLACE FUNCTION to not leave objects depending on the function in inconsistent state<br />
* [http://archives.postgresql.org/pgsql-general/2008-08/msg00985.php indexes on functions and create or replace function]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow temporary tables to exist as empty by default in all sessions<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00006.php <nowiki>what is difference between LOCAL and GLOBAL TEMP TABLES in PostgreSQL</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg01329.php <nowiki>idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-05/msg00016.php <nowiki>Re: idea: global temp tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg01098.php <nowiki>global temporary tables</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2012-04/msg01148.php Temporary tables under hot standby]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the creation of "distinct" types<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01647.php <nowiki>Distinct types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider analyzing temporary tables when they are first used in a query<br />
|Autovacuum cannot analyze or vacuum temporary tables.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-04/msg00416.php <nowiki>autovacuum and temp tables support</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow an unlogged table to be changed to logged<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00315.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00437.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg00323.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00237.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== UPDATE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|<nowiki>Allow UPDATE tab SET ROW (col, ...) = (SELECT...)</nowiki><br />
* [http://archives.postgresql.org/pgsql-hackers/2006-07/msg01308.php <nowiki>Re: [PATCHES] extension for sql update</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00865.php <nowiki>UPDATE using sub selects</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-04/msg00315.php <nowiki>UPDATE using sub selects</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-03/msg00237.php <nowiki>Re: UPDATE using sub selects</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Research self-referential UPDATEs that see inconsistent row versions in read-committed mode<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00507.php <nowiki>Concurrently updating an updatable view</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00016.php <nowiki>Re: Do we need a TODO? (was Re: Concurrently updating anupdatable view)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve performance of EvalPlanQual mechanism that rechecks already-updated rows<br />
|This is related to the previous item, which questions whether it even has the right semantics<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-09/msg00045.php <nowiki>BUG #4401: concurrent updates to a table blocks one update indefinitely</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-07/msg00302.php <nowiki>BUG #4945: Parallel update(s) gone wild</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ALTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have ALTER TABLE RENAME of a SERIAL column rename the sequence<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CADLWmXUV4LbLhMZL8rYMhCy72aZZLB5BSARPQVgoX0BrxA0FFg@mail.gmail.com renaming implicit sequences]<br />
}}<br />
<br />
{{TodoItem<br />
|Have ALTER SEQUENCE RENAME rename the sequence name stored in the sequence table<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-09/msg00092.php <nowiki>BUG #3619: Renaming sequence does not update its 'sequence_name' field</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-10/msg00007.php <nowiki>Re: BUG #3619: Renaming sequence does not update its 'sequence_name' field</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00008.php <nowiki>Re: newbie: renaming sequences task</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER DOMAIN to modify the underlying data type}}<br />
<br />
{{TodoItem<br />
|Allow ALTER TABLESPACE to move the tablespace to different directories}}<br />
<br />
{{TodoItem<br />
|Allow moving system tables to other tablespaces, where possible<br />
|Currently non-global system tables must be in the default database tablespace. Global system tables can never be moved.}}<br />
<br />
{{TodoItem<br />
|Have ALTER INDEX update the name of a constraint using that index}}<br />
<br />
{{TodoItem<br />
|Allow column display reordering by recording a display, storage, and permanent id for every column?<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00782.php <nowiki>Re: column ordering, was Re: [PATCHES] Enums patch v2</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01029.php <nowiki>Column reordering in pg_dump</nowiki>]<br />
* http://archives.postgresql.org/message-id/1324412114-sup-9608@alvh.no-ip.org<br />
}}<br />
<br />
{{TodoItem<br />
|Allow deactivating (and reactivating) indexes via ALTER TABLE<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg01191.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add ALTER OPERATOR ... RENAME<br />
|needs to consider effects of changing operator precedence<br />
* [http://archives.postgresql.org/message-id/1322948781.26266.9.camel@vanquo.pezone.net Missing rename support]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== CLUSTER ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Automatically maintain clustering on a table<br />
|This might require some background daemon to maintain clustering during periods of low usage. It might also require tables to be only partially filled for easier reorganization. Another idea would be to create a merged heap/index data file so an index lookup would automatically access the heap data too. A third idea would be to store heap rows in hashed groups, perhaps using a user-supplied hash function.<br />
* [http://archives.postgresql.org/pgsql-performance/2004-08/msg00350.php <nowiki>Equivalent praxis to CLUSTERED INDEX?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00155.php <nowiki>Re: Grouped Index Tuples</nowiki>]<br />
* http://community.enterprisedb.com/git/<br />
* [http://archives.postgresql.org/pgsql-performance/2009-10/msg00346.php <nowiki>Re: maintain_cluster_order_v5.patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow CLUSTER to be used on a partial index<br />
* http://www.postgresql.org/message-id/CAMkU%3D1zYwoHHsqJ8wfK3GdG_t_a6t4RK-GFDSKymQ0EGP%3DtypA@mail.gmail.com<br />
}} <br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== COPY ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report error lines and continue<br />
|This requires the use of a savepoint before each COPY line is processed, with ROLLBACK on COPY failure. <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00572.php <nowiki>Re: VLDB Features</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY FROM to create index entries in bulk<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00811.php <nowiki>Batch update of indexes on data loading</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY in CSV mode to control whether a quoted zero-length string is treated as NULL<br />
|Currently this is always treated as a zero-length string, which generates an error when loading into an integer column <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00905.php <nowiki>Re: [PATCHES] allow CSV quote in NULL</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve COPY performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php <nowiki>Re: 8.3 / 8.2.6 restore comparison</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01882.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY to report errors sooner<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php <nowiki>Timely reporting of COPY errors</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow COPY to handle other number formats<br />
|E.g. the German notation. Best would be something like WITH DECIMAL ','.<br />
}}<br />
<br />
{{TodoItem<br />
|Allow a stalled COPY to exit if the backend is terminated<br />
* [http://archives.postgresql.org/pgsql-bugs/2009-04/msg00067.php <nowiki>Re: possible bug not in open items</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== GRANT/REVOKE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow SERIAL sequences to inherit permissions from the base table?}}<br />
<br />
{{TodoItem<br />
|Allow dropping of a role that has connection rights<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00736.php <nowiki>DROP ROLE dependency tracking ...</nowiki>]<br />
}}<br />
{{TodoEndSubsection}}<br />
<br />
=== DECLARE CURSOR ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent DROP TABLE from dropping a table referenced by its own open cursor?}}<br />
<br />
{{TodoItem<br />
|Provide some guarantees about the behavior of cursors that invoke volatile functions<br />
* [http://archives.postgresql.org/message-id/20997.1244563664@sss.pgh.pa.us Re: Cursor with hold emits the same row more than once across commits in 8.3.7]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== INSERT ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow INSERT/UPDATE of the system-generated oid value for a row}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== SHOW/SET ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add SET PERFORMANCE_TIPS option to suggest INDEX, VACUUM, VACUUM ANALYZE, and CLUSTER}}<br />
<br />
{{TodoItem<br />
|Rationalize the discrepancy between settings that use values in bytes and SHOW that returns the object count<br />
* [http://archives.postgresql.org/pgsql-docs/2008-07/msg00007.php <nowiki>Re: [ADMIN] shared_buffers and shmmax</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ANALYZE ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE issue NOTICE messages when the estimated and actual row counts differ by a specified percentage}}<br />
<br />
{{TodoItem<br />
|Have EXPLAIN ANALYZE report rows as floating-point numbers<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg01363.php <nowiki>explain analyze rows=%.0f</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00108.php <nowiki>Re: explain analyze rows=%.0f</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve how ANALYZE computes in-doubt tuples<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00771.php <nowiki>VACUUM/ANALYZE counting of in-doubt tuples</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Window Functions ===<br />
See {{messageLink|357.1230492361@sss.pgh.pa.us|TODO items for window functions}}.<br />
{{TodoSubsection}}<br />
{{TodoItem<br />
|Support creation of user-defined window functions<br />
|We have the ability to create new window functions written in C. Is it<br />
worth the effort to create an API that would let them be written in PL/pgsql, etc?}}<br />
<br />
{{TodoItem<br />
|Implement full support for window framing clauses<br />
|In addition to done clauses described in the [http://developer.postgresql.org/pgdocs/postgres/sql-expressions.html#SYNTAX-WINDOW-FUNCTIONS latest doc], these clauses are not implemented yet.<br />
* RANGE BETWEEN ... PRECEDING/FOLLOWING<br />
* EXCLUDE<br />
}}<br />
<br />
{{TodoItem<br />
|Investigate tuplestore performance issues<br />
|The tuplestore_in_memory() thing is just a band-aid, we ought to try to solve it properly. tuplestore_advance seems like a weak spot as well.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00152.php <nowiki>tuplestore potential performance problem</nowiki>]<br />
}}<br />
<br />
{{TodoItem|Do we really need so much duplicated code between Agg and WindowAgg?}}<br />
<br />
{{TodoItem<br />
|Teach planner to evaluate multiple windows in the optimal order<br />
|Currently windows are always evaluated in the query-specified order.<br />
* http://archives.postgresql.org/message-id/3CDAD71E9D70417290FCF66F0178D1E1@amd64<br />
}}<br />
<br />
{{TodoItem<br />
|Implement DISTINCT clause in window aggregates<br />
|Some proprietary RDBMSs have implemented it already, so it helps with porting from those.}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Integrity Constraints ==<br />
=== Keys ===<br />
<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve deferrable unique constraints for cases with many conflicts<br />
|The current implementation fires a trigger for each potentially conflicting row. This might not scale well for an update that changes many key values at once.<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Referential Integrity ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add MATCH PARTIAL referential integrity}}<br />
<br />
{{TodoItem<br />
|Change foreign key constraint for array -&gt; element to mean element in array?<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-10/msg01814.php <nowiki>foreign keys for array/period contains relationships</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem when cascading referential triggers make changes on cascaded tables, seeing the tables in an intermediate state<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-09/msg00174.php <nowiki>Re: [PATCHES] Work-in-progress referential action trigger timing</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Are ri_KeysEqual checks in the RI enforcement triggers still necessary?<br />
* [http://archives.postgresql.org/pgsql-performance/2005-10/msg00458.php <nowiki>Re: Effects of cascading references in foreign keys</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Check Constraints ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Run check constraints only when affected columns are changed<br />
* http://archives.postgresql.org/message-id/1326055327.15293.13.camel@vanquo.pezone.net<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Server-Side Languages ==<br />
<br />
{{TodoItem<br />
|Add support for polymorphic arguments and return types to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add support for OUT and INOUT parameters to languages other than PL/PgSQL}}<br />
<br />
{{TodoItem<br />
|Add more fine-grained specification of functions taking arbitrary data types<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00367.php <nowiki>RfD: more powerful &quot;any&quot; types</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement stored procedures<br />
|This might involve the control of transaction state and the return of multiple result sets<br />
* [http://archives.postgresql.org/pgsql-general/2008-10/msg00454.php <nowiki>PL/pgSQL stored procedure returning multiple result sets (SELECTs)?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01375.php <nowiki>Proposal: real procedures again (8.4)</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg00542.php<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-04/msg01149.php <nowiki>Gathering specs and discussion on feature (post 9.1)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow holdable cursors in SPI}}<br />
<br />
{{TodoItemEasy<br />
|Add SPI_gettypmod() to return a field's typemod from a TupleDesc<br />
* http://archives.postgresql.org/pgsql-hackers/2005-11/msg00250.php<br />
}}<br />
<br />
=== SQL-Language Functions ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Rethink query plan caching and timing of parse analysis within SQL-language functions<br />
|They should work more like plpgsql functions do ...<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00078.php <nowiki>Re: BUG #6019: invalid cached plan on inherited table</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/pgSQL ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow handling of %TYPE arrays, e.g. tab.col%TYPE[]}}<br />
<br />
{{TodoItem<br />
|<nowiki>Allow listing of record column names, and access to record columns via variables, e.g. columns := r.(*), tval2 := r.(colname)</nowiki><br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00458.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2006-05/msg00302.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00031.php <nowiki>Re: PL/PGSQL: Dynamic Record Introspection</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow row and record variables to be set to NULL constants, and allow NULL tests on such variables<br />
|Because a row is not scalar, do not allow assignment from NULL-valued scalars.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00070.php <nowiki>NULL and plpgsql rows</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider keeping separate cached copies when search_path changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01009.php <nowiki>pl/pgsql Plan Invalidation and search_path</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve handling of NULL row values vs. NULL rows<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg01758.php <nowiki>Null row vs. row of nulls in plpgsql</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg01973.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve PERFORM handling of WITH queries or document limitation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00309.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Perl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow regex operations in plperl using UTF8 characters in non-UTF8 encoded databases}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Python ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Develop a trusted variant of PL/Python.}}<br />
<br />
{{TodoItem<br />
|Create a new restricted execution class that will allow passing function arguments in as locals. Passing them as globals means functions cannot be called recursively.<br />
* [http://archives.postgresql.org/pgsql-hackers/2011-02/msg01468.php <nowiki>Re: pl/python do not delete function arguments</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a DB-API compliant interface on top of the SPI interface<br />
* http://petereisentraut.blogspot.com/2011/11/plpydbapi-db-api-for-plpython.html<br />
}}<br />
<br />
{{TodoItem<br />
|For functions returning a setof record with a composite type, cache the I/O functions for the composite type<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02007.php<br />
}}<br />
<br />
{{TodoItem<br />
|Fix loss of information during conversion of numeric type to Python float}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== PL/Tcl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add table function support}}<br />
<br />
{{TodoItem<br />
|Check encoding validity of values passed back to Postgres in function returns, trigger tuple changes, and SPI calls.}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Clients ==<br />
<br />
{{TodoItem<br />
|Add a function like pg_get_indexdef() that report more detailed index information<br />
* [http://archives.postgresql.org/pgsql-bugs/2007-12/msg00166.php <nowiki>BUG #3829: Wrong index reporting from pgAdmin III (v1.8.0 rev 6766-6767)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Split out pg_resetxlog output into pre- and post-sections<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg02040.php<br />
}}<br />
<br />
=== pg_ctl ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Improve pg_ctl's detection of running postmasters<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00000.php<br />
* http://archives.postgresql.org/pgsql-committers/2011-06/msg00001.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add additional shutdown modes, and change the default?<br />
* http://archives.postgresql.org/pgsql-hackers/2012-04/msg01283.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== psql ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Have psql \ds show all sequences and their settings<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00916.php <nowiki>Re: TODO item: Have psql show current values for a sequence</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00401.php <nowiki>Quick patch: Display sequence owner</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Move psql backslash database information into the backend, use mnemonic commands?<br />
|This would allow non-psql clients to pull the same information out of the database as psql. <br />
* [http://archives.postgresql.org/pgsql-hackers/2004-01/msg00191.php <nowiki>Re: psql \d option list overloaded</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Make psql's \d commands more consistent in their handling of schemas<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00014.php <nowiki>Re: psql and schemas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Make psql's \d commands distinguish default privileges from no privileges<br />
|ACL displays were visibly different for the two cases before we "improved" them by using array_to_string.<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-05/msg00082.php <nowiki>BUG #6021: There is no difference between default and empty access privileges with \dp</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consistently display privilege information for all objects in psql}}<br />
<br />
{{TodoItemEasy<br />
|\s without arguments (display history) fails with libedit, doesn't use pager either<br />
* [http://archives.postgresql.org/pgsql-bugs/2011-06/msg00114.php <nowiki> psql \s not working - OS X</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add a \set variable to control whether \s displays line numbers<br />
|Another option is to add \# which lists line numbers, and allows command execution.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00255.php <nowiki>Re: psql possible TODO</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Include the symbolic SQLSTATE name in verbose error reports<br />
* [http://archives.postgresql.org/pgsql-general/2007-09/msg00438.php <nowiki>Re: Checking is TSearch2 query is valid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add prompt escape to display the client and server versions<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-05/msg00310.php <nowiki>WIP patch for TODO Item: Add prompt escape to display the client and server versions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add option to wrap column values at whitespace boundaries, rather than chopping them at a fixed width.<br />
|Currently, &quot;wrapped&quot; format chops values into fixed widths. Perhaps the word wrapping could use the same algorithm documented in the W3C specification. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php <nowiki>Re: psql wrapped format default for backslash-d commands</nowiki>]<br />
* http://www.w3.org/TR/CSS21/tables.html#auto-table-layout}}<br />
<br />
{{TodoItem<br />
|Support the ReST table output format<br />
|Details about the ReST format: http://docutils.sourceforge.net/rst.html#reference-documentation<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-08/msg01007.php <nowiki>Proposal: new border setting in psql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00518.php <nowiki>Re: Proposal: new border setting in psql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00609.php <nowiki>Re: Proposal: new border setting in psql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add option to print advice for people familiar with other databases<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-01/msg01845.php <nowiki>MySQL-ism help patch for psql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add ability to edit views with \ev<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg00023.php <nowiki>Adding \ev view editor?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix FETCH_COUNT to handle SELECT ... INTO and WITH queries<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01565.php<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00192.php<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent psql from sending remaining single-line multi-statement queries after reconnecting<br />
* http://archives.postgresql.org/pgsql-bugs/2010-05/msg00159.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01283.php<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Add \i option to bring in the specified file as a quoted literal<br />
|This would be useful for creating functions and other areas. Details still need to be worked out.<br />
* http://archives.postgresql.org/pgsql-bugs/2011-02/msg00016.php<br />
* http://archives.postgresql.org/pgsql-bugs/2011-02/msg00020.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having psql -c read .psqlrc, for consistency<br />
|psql -f already reads .psqlrc<br />
}}<br />
<br />
{{TodoItem<br />
|Allow processing of multiple -f (file) options<br />
* http://www.postgresql.org/message-id/AANLkTikFpzrTRl6392GhatQdwlCWQTXFdSMxh5CP51iv@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Improve line drawing characters<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00386.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider improving the continuation prompt<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01772.php<br />
}}<br />
<br />
{{TodoItem<br />
|Improve speed of tab completion by using LIKE<br />
* http://www.postgresql.org/message-id/20121012060345.GA29214@toroid.org<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== pg_dump / pg_restore ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItemEasy<br />
|<nowiki>Add full object name to the tag field. eg. for operators we need '=(integer, integer)', instead of just '='.</nowiki>}}<br />
<br />
{{TodoItemEasy<br />
|Modify pg_dump to create skeleton views for reload (which are then updated via CREATE OR REPLACE VIEW) when views have circular dependencies. This should eliminate the need for the CREATE RULE "_RETURN" hack currently used to address this issue. Thread and additional information here:<br />
* [http://www.postgresql.org/message-id/25554.1360895028@sss.pgh.pa.us Description of change]<br />
|}}<br />
<br />
{{TodoItem<br />
|Add pg_dumpall custom format dumps?<br />
* [http://archives.postgresql.org/pgsql-general/2010-05/msg00509.php pg_dumpall custom format]<br />
|}}<br />
<br />
{{TodoItem<br />
|Avoid using platform-dependent locale names in pg_dumpall output<br />
|Using native locale names puts roadblocks in the way of porting a dump to another platform. One possible solution is to get<br />
CREATE DATABASE to accept some agreed-on set of locale names and fix them up to meet the platform's requirements.<br />
* http://archives.postgresql.org/message-id/21396.1241716688@sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Allow selection of individual object(s) of all types, not just tables}}<br />
<br />
{{TodoItem<br />
|In a selective dump, allow dumping of an object and all its dependencies}}<br />
<br />
{{TodoItem<br />
|Add options like pg_restore -l and -L to pg_dump}}<br />
<br />
{{TodoItem<br />
|Stop dumping CASCADE on DROP TYPE commands in clean mode}}<br />
<br />
{{TodoItem<br />
|Allow pg_dump --clean to drop roles that own objects or have privileges<br />
|tgl says: if this is about pg_dumpall, it's done as of 8.4. If it's really about pg_dump, what does it mean? pg_dump has no business dropping roles.}}<br />
<br />
{{TodoItem<br />
|Allow pg_restore to load different parts of the COPY data for a single table simultaneously}}<br />
<br />
{{TodoItem<br />
|Remove support for dumping from pre-7.3 servers<br />
|In 7.3 and later, we can get accurate dependency information from the server. pg_dump still contains a lot of crufty code<br />
to try to deal with the lack of dependency info in older servers, but the usefulness of maintaining that code grows small.}}<br />
<br />
{{TodoItem<br />
|Refactor handling of database attributes between pg_dump and pg_dumpall<br />
|Currently only pg_dumpall emits database attributes, such as ALTER DATABASE SET commands and database-level GRANTs.<br />
Many people wish that pg_dump would do that. One proposal is to let pg_dump issue such commands if the -C switch was used,<br />
but it's unclear whether that will satisfy the demand.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01031.php <nowiki>ALTER DATABASE vs pg_dump</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-bugs/2010-05/msg00010.php summary of the issues]<br />
}}<br />
<br />
{{TodoItem<br />
|Change pg_dump so that a comment on the dumped database is applied to the loaded database, even if the database has a different name.<br />
|This will require new backend syntax, perhaps COMMENT ON CURRENT DATABASE. This is related to the previous item.}}<br />
<br />
{{TodoItem<br />
|Allow parallel restore of tar dumps<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-02/msg01154.php <nowiki>Re: parallel restore</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Preserve sparse storage of large objects over dump/restore<br />
* [http://archives.postgresql.org/message-id/18789.1349750451@sss.pgh.pa.us <nowiki>TODO item: teach pg_dump about sparsely-stored large objects</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== ecpg ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Docs<br />
|Document differences between ecpg and the SQL standard and information about the Informix-compatibility module.}}<br />
<br />
{{TodoItem<br />
|Solve cardinality &gt; 1 for input descriptors / variables?}}<br />
<br />
{{TodoItem<br />
|Add a semantic check level, e.g. check if a table really exists}}<br />
<br />
{{TodoItem<br />
|fix handling of DB attributes that are arrays}}<br />
<br />
{{TodoItem<br />
|Fix nested C comments}}<br />
<br />
{{TodoItemEasy<br />
|sqlwarn[6] should be 'W' if the PRECISION or SCALE value specified}}<br />
<br />
{{TodoItem<br />
|Make SET CONNECTION thread-aware, non-standard?}}<br />
<br />
{{TodoItem<br />
|Allow multidimensional arrays}}<br />
<br />
{{TodoItem<br />
|Implement COPY FROM STDIN}} <br />
<br />
{{TodoItem<br />
|Provide a way to specify size of a bytea parameter<br />
* [http://archives.postgresql.org/message-id/200906192131.n5JLVoMo044178@wwwmaster.postgresql.org <nowiki>BUG #4866: ECPG and BYTEA</nowiki>]<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Fix small memory leaks in ecpg<br />
|Memory leaks in a short running application like ecpg are not really a problem, but make debugging more complicated}} <br />
<br />
{{TodoItem<br />
|Allow reuse of cursor name variables<br />
* [http://archives.postgresql.org/message-id/20100329113435.GA3430@feivel.credativ.lan <nowiki>Problems with variable cursorname in ecpg</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== libpq ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Prevent PQfnumber() from lowercasing unquoted column names<br />
|PQfnumber() should never have been doing lowercasing, but historically it has so we need a way to prevent it}}<br />
<br />
{{TodoItem<br />
|Consider disallowing multiple queries in PQexec() as an additional barrier to SQL injection attacks<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg00184.php <nowiki>Re: InitPostgres and flatfiles question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add PQexecf() that allows complex parameter substitution<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01803.php <nowiki>Last minute mini-proposal (I know, know) for PQexecf()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add SQLSTATE and severity to errors generated within libpq itself<br />
* [http://archives.postgresql.org/pgsql-interfaces/2007-11/msg00015.php <nowiki>v8.1: Error severity on libpq PGconn*</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01425.php<br />
}}<br />
<br />
{{TodoItem<br />
|Add support for interface/ipaddress binding to libpq<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01811.php <nowiki>SR/libpq - outbound interface/ipaddress binding</nowiki>]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== HTTP===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow access to the database via HTTP<br />
|See [[HTTP_API]]}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Triggers ==<br />
<br />
{{TodoItem<br />
|Improve storage of deferred trigger queue<br />
|Right now all deferred trigger information is stored in backend memory. This could exhaust memory for very large trigger queues. This item involves dumping large queues into files, or doing some kind of join to process all the triggers, some bulk operation, or a bitmap. <br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00876.php <nowiki>Re: BUG #4204: COPY to table with FK has memory leak</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-10/msg00464.php <nowiki>Scaling up deferred unique checks and the after trigger queue</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00023.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow triggers to be disabled in only the current session.<br />
|This is currently possible by starting a multi-statement transaction, modifying the system tables, performing the desired SQL, restoring the system tables, and committing the transaction. ALTER TABLE ... TRIGGER requires a table lock so it is not ideal for this usage.}}<br />
<br />
{{TodoItem<br />
|With disabled triggers, allow pg_dump to use ALTER TABLE ADD FOREIGN KEY<br />
|If the dump is known to be valid, allow foreign keys to be added without revalidating the data.}}<br />
<br />
{{TodoItem<br />
|Allow statement-level triggers to access modified rows}}<br />
<br />
{{TodoItem<br />
|When statement-level triggers are defined on a parent table, have them fire only on the parent table, and fire child table triggers only where appropriate<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg01883.php <nowiki>Statement-level triggers and inheritance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Tighten trigger permission checks<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00564.php <nowiki>Security leak with trigger functions?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow BEFORE INSERT triggers on views<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg01466.php <nowiki>Re: Why can't I put a BEFORE EACH ROW trigger on a view?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add database and transaction-level triggers<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00451.php <nowiki>Proposal for db level triggers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00620.php <nowiki>triggers on prepare, commit, rollback... ?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce locking requirements for creating a trigger<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg00635.php <nowiki>Re: Change lock requirements for adding a trigger</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid requirement for "AFTER" trigger functions to return a value<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02384.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow creation of inline triggers<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00708.php<br />
}}<br />
<br />
== Inheritance ==<br />
<br />
{{TodoItem<br />
|Allow inherited tables to inherit indexes, UNIQUE constraints, and primary/foreign keys<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-05/msg00285.php <nowiki>Partitioning/inherited tables vs FKs</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00039.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00305.php<br />
}}<br />
<br />
{{TodoItem<br />
|Honor UNIQUE INDEX on base column in INSERTs/UPDATEs on inherited table, e.g. INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail<br />
|The main difficulty with this item is the problem of creating an index that can span multiple tables.}}<br />
<br />
{{TodoItem<br />
|Determine whether ALTER TABLE / SET SCHEMA should work on inheritance hierarchies (and thus support ONLY). If yes, implement it.}}<br />
<br />
{{TodoItem<br />
|ALTER TABLE variants sometimes support recursion and sometimes not, but this is poorly/not documented, and the ONLY marker would then be silently ignored. Clarify the documentation, and reject ONLY if it is not supported.}}<br />
<br />
== Indexes ==<br />
<br />
{{TodoItem<br />
|Prevent index uniqueness checks when UPDATE does not modify the column<br />
|Uniqueness (index) checks are done when updating a column even if the column is not modified by the UPDATE.<br />
However, HOT already short-circuits this in common cases, so more work might not be helpful.<br />
* http://www.postgresql.org/message-id/CA+TgmoZOyaTanfEvNUdiHBCuu9Zh0JVP1e_UTVbx6Rvj9vFC9Q@mail.gmail.com<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the creation of on-disk bitmap indexes which can be quickly combined with other bitmap indexes<br />
|Such indexes could be more compact if there are only a few distinct values. Such indexes can also be compressed. Keeping such indexes updated can be costly.<br />
* [http://archives.postgresql.org/pgsql-patches/2005-07/msg00512.php <nowiki>Re: Bitmap index AM</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01107.php <nowiki>Bitmap index thoughts</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00265.php <nowiki>Stream bitmaps</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01214.php <nowiki>Re: Bitmapscan changes - Requesting further feedback</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00013.php <nowiki>Updated bitmap index patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00741.php <nowiki>Reviewing new index types (was Re: [PATCHES] Updated bitmap indexpatch)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01023.php <nowiki>Bitmap Indexes: request for feedback</nowiki>]<br />
* http://archives.postgresql.org/message-id/800923.27831.qm@web29010.mail.ird.yahoo.com <br />
}}<br />
<br />
{{TodoItem<br />
|Allow accurate statistics to be collected on indexes with more than one column or expression indexes, perhaps using per-index statistics<br />
* [http://archives.postgresql.org/pgsql-performance/2006-10/msg00222.php <nowiki>Re: Simple join optimized badly?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01131.php <nowiki>Stats for multi-column indexes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00741.php <nowiki>Cross-column statistics revisited</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg01431.php <nowiki>Multi-Dimensional Histograms</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00913.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg02179.php <br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg00459.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg02054.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01731.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00894.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-09/msg00679.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having a larger statistics target for indexed columns and expression indexes. <br />
}}<br />
<br />
{{TodoItem<br />
|Consider smaller indexes that record a range of values per heap page, rather than having one index entry for every heap row<br />
|This is useful if the heap is clustered by the indexed values. <br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00341.php <nowiki>Grouped Index Tuples</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg01264.php <nowiki>Grouped Index Tuples</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg00465.php <nowiki>Grouped Index Tuples / Clustered Indexes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-03/msg00163.php <nowiki>Bitmapscan changes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00014.php <nowiki>Re: GIT patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00487.php <nowiki>Re: Index Tuple Compression Approach?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg01589.php <nowiki>Re: Index AM change proposals, redux</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add REINDEX CONCURRENTLY, like CREATE INDEX CONCURRENTLY<br />
|This is difficult because you must upgrade to an exclusive table lock to replace the existing index file. CREATE INDEX CONCURRENTLY does not have this complication. This would allow index compaction without downtime. <br />
* [http://archives.postgresql.org/pgsql-performance/2007-08/msg00289.php <nowiki>Re: When/if to Reindex</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00911.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg00128.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multiple indexes to be created concurrently, ideally via a single heap scan<br />
|pg_restore allows parallel index builds, but it is done via subprocesses, and there is no SQL interface for this.<br />
Cluster could definitely benefit from this.<br />
* http://archives.postgresql.org/pgsql-performance/2011-04/msg00093.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider sorting entries before inserting into btree index<br />
* [http://archives.postgresql.org/pgsql-general/2008-01/msg01010.php <nowiki>Re: ATTN: Clodaldo was Performance problem. Could it be related to 8.3-beta4?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow creation of an index that can do comparisons to test if a value is between two column values<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00757.php <nowiki>Proposal: temporal extension &quot;period&quot; data type</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using "effective_io_concurrency" for index scans<br />
|Currently only bitmap scans use this, which might be fine because most multi-row index scans use bitmap scans.<br />
* [http://www.postgresql.org/message-id/CAGTBQpZzf70n0PYJ%3DVQLd+jb3wJGo%3D2TXmY+SkJD6G_vjC5QNg@mail.gmail.com Prefetch index pages for B-Tree index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem with btree page splits during checkpoints<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00052.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-09/msg00184.php<br />
}}<br />
<br />
{{TodoItem<br />
|[http://archives.postgresql.org/pgsql-hackers/2012-05/msg00669.php Support amgettuple() in GIN (useful for exclusion constraints)]<br />
}}<br />
<br />
{{TodoItem<br />
| Allow "loose" or "skip" scans on btree indexes in which the first column has low cardinality<br />
* http://archives.postgresql.org/pgsql-performance/2012-08/msg00159.php<br />
}}<br />
<br />
{{TodoItem<br />
| Make the planner's "special index operator" mechanism extensible<br />
* http://www.postgresql.org/message-id/27270.1364700924@sss.pgh.pa.us<br />
}}<br />
<br />
<br />
=== GIST ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add more GIST index support for geometric data types}}<br />
<br />
{{TodoItem<br />
|Allow GIST indexes to create certain complex index types, like digital trees (see Aoki)}}<br />
<br />
{{TodoItem<br />
|Fix performance issues in contrib/seg and contrib/cube GiST support<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904161633160.4053@aragorn.flymine.org GiST index performance]<br />
* [http://archives.postgresql.org/message-id/alpine.DEB.2.00.0904221704470.22330@aragorn.flymine.org draft patch]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-05/msg00069.php <nowiki>Re: GiST index performance</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2009-06/msg00068.php <nowiki>GiST index performance</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|[http://archives.postgresql.org/message-id/4DC8D284-05CF-4E3D-9670-AC9A32C37A36@justatheory.com GiST index support for arrays]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Hash ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Add UNIQUE capability to hash indexes}}<br />
<br />
{{TodoItem<br />
|Add hash WAL logging for crash recovery<br />
* http://archives.postgresql.org/pgsql-performance/2011-09/msg00196.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow multi-column hash indexes}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Sorting ==<br />
<br />
{{TodoItem<br />
|Consider whether duplicate keys should be sorted by block/offset<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00558.php <nowiki>Remove hacks for old bad qsort() implementations?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider being smarter about memory and external files used during sorts<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg01101.php <nowiki>Sorting Improvements for 8.4</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00045.php <nowiki>Re: Sorting Improvements for 8.4</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider detoasting keys before sorting}}<br />
<br />
{{TodoItem<br />
|Allow sorts to use more available memory<br />
* http://archives.postgresql.org/pgsql-hackers/2007-11/msg01026.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-09/msg01123.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg01957.php<br />
}}<br />
<br />
== Fsync ==<br />
<br />
{{TodoItem<br />
|Determine optimal fdatasync/fsync, O_SYNC/O_DSYNC options and whether fsync does anything<br />
|Ideally this requires a separate test program like /contrib/pg_test_fsync that can be run at initdb time or optionally later.<br />
}}<br />
<br />
{{TodoItem<br />
|Consider sorting writes during checkpoint<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg00541.php <nowiki>Sorted writes in checkpoint</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-07/msg00050.php <nowiki>Re: Sorting writes during checkpoint</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg02012.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00278.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-01/msg00493.php<br />
}}<br />
<br />
== Cache Usage ==<br />
<br />
{{TodoItem<br />
|Provide a way to calculate an &quot;estimated COUNT(*)&quot;<br />
|Perhaps by using the optimizer's cardinality estimates or random sampling.<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-11/msg00943.php <nowiki>Re: Improving count(*)</nowiki>]<br />
* http://wiki.postgresql.org/wiki/Slow_Counting<br />
}}<br />
<br />
{{TodoItem<br />
|Consider automatic caching of statements at various levels:<br />
* Parsed query tree<br />
* Query execute plan<br />
* Query results <br />
<br />
:<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php <nowiki>Cached Query Plans (was: global prepared statements)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider increasing internal areas (NUM_CLOG_BUFFERS) when shared buffers is increased<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php <nowiki>Re: slru.c race condition (was Re: TRAP: FailedAssertion(&quot;!((itemid)-&gt;lp_flags &amp; 0x01)&quot;,)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00030.php <nowiki>clog_buffers to 64 in 8.3?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2007-08/msg00024.php <nowiki>CLOG Patch</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider decreasing the amount of memory used by PrivateRefCount<br />
|<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg00797.php <nowiki>PrivateRefCount (for 8.3)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-01/msg00752.php <nowiki>Re: PrivateRefCount (for 8.3)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing higher priority queries to have referenced buffer cache pages stay in memory longer<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00562.php <nowiki>Re: How to keep a table in memory?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve cache lookup speed for sessions accessing many relations<br />
* http://archives.postgresql.org/pgsql-hackers/2012-11/msg00356.php<br />
}}<br />
<br />
== Vacuum ==<br />
<br />
{{TodoItem<br />
|Auto-fill the free space map by scanning the buffer cache or by checking pages written by the background writer<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-02/msg01125.php <nowiki>Dead Space Map</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-03/msg00011.php <nowiki>Re: Automatic free space map filling</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow concurrent inserts to use recently created pages rather than creating new ones<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg00853.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider having single-page pruning update the visibility map<br />
* <nowiki>https://commitfest.postgresql.org/action/patch_view?id=75</nowiki><br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg02344.php <nowiki>Re: visibility maps and heap_prune</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve tracking of total relation tuple counts now that vacuum doesn't always scan the whole heap<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-06/msg00531.php Partial vacuum versus pg_class.reltuples]<br />
}}<br />
<br />
{{TodoItem<br />
|Bias FSM towards returning free space near the beginning of the heap file, in hopes that empty pages at the end can be truncated by VACUUM<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-09/msg01124.php <nowiki>FSM search modes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a more compact data representation for dead tuple locations within VACUUM<br />
* [http://archives.postgresql.org/pgsql-patches/2007-05/msg00143.php <nowiki>Re: Have vacuum emit a warning when it runs out of maintenance_work_mem</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide more information in order to improve user-side estimates of dead space bloat in relations<br />
* [http://archives.postgresql.org/pgsql-general/2009-05/msg01039.php <nowiki>Re: Bloated Table</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve locking behaviour of vacuum during trailing page truncation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00319.php<br />
* http://archives.postgresql.org/message-id/4D8DF88E.7080205@Yahoo.com<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce the number of table scans performed by vacuum<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01119.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00605.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-07/msg00624.php<br />
}}<br />
<br />
{{TodoItem<br />
|Vacuum Gin indexes in physically order rather than logical order<br />
* http://archives.postgresql.org/pgsql-hackers/2012-04/msg00443.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid creation of the free space map for small tables<br />
* http://archives.postgresql.org/pgsql-hackers/2011-11/msg01751.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00552.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00615.php<br />
}}<br />
<br />
=== Auto-vacuum ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItemEasy<br />
|Issue log message to suggest VACUUM FULL if a table is nearly empty?}}<br />
<br />
{{TodoItem<br />
|Prevent long-lived temporary tables from causing frozen-xid advancement starvation<br />
|The problem is that autovacuum cannot vacuum them to set frozen xids; only the session that created them can do that. <br />
* [http://archives.postgresql.org/pgsql-general/2007-06/msg01645.php <nowiki>Re: AutoVacuum Behaviour Question</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Prevent autovacuum from running if an old transaction is still running from the last vacuum<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-11/msg00899.php <nowiki>Re: Autovacuum and OldestXmin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have autoanalyze of parent tables occur when child tables are modified<br />
* http://archives.postgresql.org/pgsql-performance/2010-06/msg00137.php<br />
* http://archives.postgresql.org/pgsql-performance/2010-10/msg00271.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow visibility map all-visible bits to be set even when an auto-ANALYZE is running<br />
* http://archives.postgresql.org/pgsql-hackers/2012-01/msg00356.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow parallel cores to be used by vacuumdb<br />
* [http://archives.postgresql.org/message-id/4F10A728.7090403@agliodbs.com vacuumdb -j]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve autovacuum tuning<br />
* http://www.postgresql.org/message-id/5078AD6B.8060802@agliodbs.com<br />
* http://www.postgresql.org/message-id/20130124215715.GE4528@alvh.no-ip.org<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Locking ==<br />
<br />
{{TodoItem<br />
|Fix priority ordering of read and write light-weight locks<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php <nowiki>lwlocks and starvation</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php <nowiki>Re: lwlocks and starvation</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix problem when multiple subtransactions of the same outer transaction hold different types of locks, and one subtransaction aborts<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-11/msg01011.php <nowiki>FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg00001.php <nowiki>Re: FOR SHARE vs FOR UPDATE locks</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00435.php <nowiki>Re: [PATCHES] [pgsql-patches] Phantom Command IDs, updated patch</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00773.php <nowiki>Re: savepoints and upgrading locks</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow UPDATEs on only non-referential integrity columns not to conflict with referential integrity locks<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00073.php <nowiki>Referential Integrity and SHARE locks</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add idle_in_transaction_timeout GUC so locks are not held for long periods of time}}<br />
<br />
{{TodoItem<br />
|Improve deadlock detection when a page cleaning lock conflicts with a shared buffer that is pinned<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-01/msg00138.php <nowiki>BUG #3883: Autovacuum deadlock with truncate?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-committers/2008-01/msg00365.php <nowiki>Re: pgsql: Add checks to TRUNCATE, CLUSTER, and REINDEX to prevent</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Detect deadlocks involving LockBufferForCleanup()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00873.php <nowiki>Thoughts about bug #3883</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow finer control over who is cancelled in a deadlock<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01727.php<br />
}}<br />
<br />
== Startup Time Improvements ==<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for backend creation<br />
|This would prevent the overhead associated with process creation. Most operating systems have trivial process creation time compared to database startup overhead, but a few operating systems (Win32, Solaris) might benefit from threading. Also explore the idea of a single session using multiple threads to execute a statement faster.}}<br />
<br />
{{TodoItem<br />
|Allow backends to change their database without restart<br />
|This allows for faster server startup.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00843.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-12/msg00336.php<br />
}}<br />
<br />
== Write-Ahead Log ==<br />
<br />
{{TodoItem<br />
|Eliminate need to write full pages to WAL before page modification<br />
|Currently, to protect against partial disk page writes, we write full page images to WAL before they are modified so we can correct any partial page writes during recovery. These pages can also be eliminated from point-in-time archive files. <br />
* [http://archives.postgresql.org/pgsql-hackers/2002-06/msg00655.php <nowiki>Re: Index Scans become Seq Scans after VACUUM ANALYSE</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2011-05/msg01191.php<br />
* [http://archives.postgresql.org/message-id/20120105061916.GB21048@fetter.org WIP double writes]<br />
* [http://archives.postgresql.org/message-id/4EFC449F02000025000441CD@gw.wicourts.gov double writes]<br />
* [http://archives.postgresql.org/message-id/20120110214344.GB21106@fetter.org Double-write with Fast Checksums]<br />
* [http://archives.postgresql.org/message-id/1962493974.656458.1327703514780.JavaMail.root@zimbra-prod-mbox-4.vmware.com double writes using "double-write buffer" approach]<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01463.php<br />
}}<br />
<br />
{{TodoItem<br />
|When full page writes are off, write CRC to WAL and check file system blocks on recovery<br />
|If CRC check fails during recovery, remember the page in case a later CRC for that page properly matches. The difficulty is that hint bits are not WAL logged, meaning a valid page might not match the earlier CRC.}}<br />
<br />
{{TodoItem<br />
|Write full pages during file system write and not when the page is modified in the buffer cache<br />
|This allows most full page writes to happen in the background writer. It might cause problems for applying WAL on recovery into a partially-written page, but later the full page will be replaced from WAL.<br />
* [http://archives.postgresql.org/message-id/CAGvK12UST-tPhyLrSLuSpwFxZbAO79yYrhV2xaLmS2MkUxNUVQ@mail.gmail.com Page Checksums + Double Writes]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce WAL traffic so only modified values are written rather than entire rows<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-03/msg01589.php <nowiki>Reduction in WAL for UPDATEs</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow WAL information to recover corrupted pg_controldata<br />
* [http://archives.postgresql.org/pgsql-patches/2006-06/msg00025.php <nowiki>Re: [HACKERS] pg_resetxlog -r flag</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Find a way to reduce rotational delay when repeatedly writing last WAL page<br />
|Currently fsync of WAL requires the disk platter to perform a full rotation to fsync again. One idea is to write the WAL to different offsets that might reduce the rotational delay. <br />
* [http://archives.postgresql.org/pgsql-hackers/2002-11/msg00483.php <nowiki>500 tpsQL + WAL log implementation</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Speed WAL recovery by allowing more than one page to be prefetched<br />
|This should be done utilizing the same infrastructure used for prefetching in general to avoid introducing complex error-prone code in WAL replay. <br />
* [http://archives.postgresql.org/pgsql-general/2007-12/msg00683.php <nowiki>Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00497.php <nowiki>Re: [GENERAL] Slow PITR restore</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01279.php <nowiki>Read-ahead and parallelism in redo recovery</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve WAL concurrency by increasing lock granularity<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00556.php <nowiki>Reworking WAL locking</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Be more aggressive about creating WAL files<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01325.php <nowiki>Re: PANIC caused by open_sync on Linux</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-07/msg01075.php <nowiki>PreallocXlogFiles</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2005-04/msg00556.php <nowiki>WAL/PITR additional items</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Have resource managers report the duration of their status changes<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg01468.php <nowiki>Recovery of Multi-stage WAL actions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Close deleted WAL files held open in *nix by long-lived read-only backends<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg01754.php <nowiki>Deleted WAL files held open by backends in Linux</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-12/msg00060.php <nowiki>Re: Deleted WAL files held open by backends in Linux</nowiki>]<br />
}}<br />
<br />
== Optimizer / Executor ==<br />
<br />
{{TodoItem<br />
|Improve selectivity functions for geometric operators}}<br />
<br />
{{TodoItem<br />
|Consider increasing the default values of from_collapse_limit, join_collapse_limit, and/or geqo_threshold<br />
* [http://archives.postgresql.org/message-id/4136ffa0905210551u22eeb31bn5655dbe7c9a3aed5@mail.gmail.com from_collapse_limit vs. geqo_threshold]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve ability to display optimizer analysis using OPTIMIZER_DEBUG<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00597.php<br />
}}<br />
<br />
{{TodoItem<br />
|Log statements where the optimizer row estimates were dramatically different from the number of rows actually found?}}<br />
<br />
{{TodoItem<br />
|Consider compressed annealing to search for query plans<br />
|This might replace GEQO.<br />
* http://archives.postgresql.org/message-id/15658.1241278636%40sss.pgh.pa.us<br />
}}<br />
<br />
{{TodoItem<br />
|Improve use of expression indexes for ORDER BY <br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg01553.php <nowiki>Resjunk sort columns, Heikki's index-only quals patch, and bug #5000</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Modify the planner to better estimate caching effects<br />
* http://archives.postgresql.org/pgsql-performance/2010-11/msg00117.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow shared buffer cache contents to affect index cost computations<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg01140.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow the CTE (Common Table Expression) optimization fence to be optionally disabled<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00700.php<br />
* http://archives.postgresql.org/pgsql-performance/2012-11/msg00161.php<br />
}}<br />
<br />
=== Hashing ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Consider using a hash for joining to a large IN (VALUES ...) list<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-05/msg00450.php <nowiki>Planning large IN lists</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow single batch hash joins to preserve outer pathkeys<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-09/msg00806.php Re: Potential Join Performance Issue]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|"lazy" hash tables - look up only the tuples that are actually requested<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid building the same hash table more than once during the same query<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid hashing for distinct and then re-hashing for hash join<br />
* [http://archives.postgresql.org/message-id/4136ffa0902191346g62081081v8607f0b92c206f0a@mail.gmail.com Re: Fixing Grittner's planner issues]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-04/msg00153.php a few crazy ideas about hash joins]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Background Writer ==<br />
<br />
{{TodoItem<br />
|Consider having the background writer update the transaction status hint bits before writing out the page<br />
|Implementing this requires the background writer to have access to system catalogs and the transaction status log.}}<br />
<br />
{{TodoItem<br />
|Consider adding buffers the background writer finds reusable to the free list <br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
}}<br />
<br />
{{TodoItem<br />
|Automatically tune bgwriter_delay based on activity rather then using a fixed interval<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-04/msg00781.php <nowiki>Background LRU Writer/free list</nowiki>]<br />
* [http://archives.postgresql.org/message-id/CA+U5nMKtvyDcV4zTr7bq7t6cA2nBfLxCJ8tQgVBnc5ddRPO+Bg@mail.gmail.com our buffer replacement strategy is kind of lame]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider whether increasing BM_MAX_USAGE_COUNT improves performance<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-06/msg01007.php <nowiki>Bgwriter LRU cleaning: we've been going at this all wrong</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Test to see if calling PreallocXlogFiles() from the background writer will help with WAL segment creation latency<br />
* [http://archives.postgresql.org/pgsql-patches/2007-06/msg00340.php <nowiki>Re: Load Distributed Checkpoints, final patch</nowiki>]<br />
}}<br />
<br />
== Concurrent Use of Resources ==<br />
<br />
{{TodoItem<br />
|Do async I/O for faster random read-ahead of data<br />
|Async I/O allows multiple I/O requests to be sent to the disk with results coming back asynchronously.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg00820.php <nowiki>Asynchronous I/O Support</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-performance/2007-09/msg00255.php <nowiki>Re: random_page_costs - are defaults of 4.0 realistic for SCSI RAID 1</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00027.php <nowiki>There's random access and then there's random access</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-01/msg00170.php <nowiki>Bitmap index scan preread using posix_fadvise (Was: There's random access and then there's random access)</nowiki>]<br />
The above patch is already applied as of 8.4, but it still remains to figure out how to handle plain indexscans effectively.<br />
* [http://archives.postgresql.org//pgsql-hackers/2009-01/msg00806.php Problems with the patch submitted for posix_fadvise in index scans]<br />
}}<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for better I/O utilization<br />
|This would allow a single query to make use of multiple I/O channels simultaneously. One idea is to create a background reader that can pre-fetch sequential and index scan pages needed by other backends. This could be expanded to allow concurrent reads from multiple devices in a partitioned table.<br />
* http://archives.postgresql.org/pgsql-performance/2011-02/msg00123.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-10/msg01139.php<br />
}}<br />
<br />
{{TodoItem<br />
|Experiment with multi-threaded backend for better CPU utilization<br />
|This would allow several CPUs to be used for a single query, such as for sorting or query execution.<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00945.php <nowiki>Multi CPU Queries - Feedback and/or suggestions wanted!</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|SMP scalability improvements<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00439.php <nowiki>Straightforward changes for increased SMP scalability</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00206.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
}}<br />
<br />
== TOAST ==<br />
<br />
{{TodoItem<br />
|Allow user configuration of TOAST thresholds<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-02/msg00213.php <nowiki>Re: Proposed adjustments in MaxTupleSize and toastthresholds</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00082.php <nowiki>pg_lzcompress strategy parameters</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce unnecessary cases of deTOASTing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-09/msg00895.php <nowiki>Re: [PATCHES] Eliminate more detoast copies for packed varlenas</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce costs of repeat de-TOASTing of values<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-06/msg01096.php <nowiki>WIP patch: reducing overhead for repeat de-TOASTing</nowiki>]<br />
}}<br />
<br />
== Monitoring ==<br />
{{TodoItem<br />
|Expand pg_stat_activity for easier integration with monitoring tools<br />
|* http://archives.postgresql.org/message-id/4DFA13A5.2060200@2ndQuadrant.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add column to pg_stat_activity that shows the progress of long-running commands like CREATE INDEX and VACUUM<br />
* [http://archives.postgresql.org/pgsql-patches/2008-04/msg00203.php <nowiki>EXPLAIN progress info</nowiki>]<br />
* The CLUSTER/VACUUM FULL implementation would also be useful to track this way<br />
}}<br />
<br />
{{TodoItem<br />
|Have pg_stat_activity display query strings in the correct client encoding<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-01/msg00131.php <nowiki>pg_stats queries versus per-database encodings</nowiki>]<br />
}}<br />
<br />
{{TodoItemEasy<br />
|Expose pg_controldata via an SQL interface<br />
|Helpful for monitoring replicated databases<br />
* http://archives.postgresql.org/message-id/4B901D73.8030003@agliodbs.com<br />
* [http://archives.postgresql.org/message-id/4B959D7A.6010907@joeconway.com initial patch]<br />
}}<br />
<br />
{{TodoItem<br />
| Add entry creation timestamp column to pg_stat_replication<br />
* http://archives.postgresql.org/pgsql-hackers/2011-08/msg00694.php<br />
}}<br />
<br />
{{TodoItem<br />
| Allow reporting of stalls due to wal_buffer wrap-around<br />
* http://archives.postgresql.org/pgsql-hackers/2012-02/msg00826.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure pg_stat_database columns tup_returned and tup_fetched to return meaningful values<br />
* http://www.postgresql.org/message-id/20121012060345.GA29214@toroid.org<br />
}}<br />
<br />
== Miscellaneous Performance ==<br />
<br />
{{TodoItem<br />
|Use mmap() rather than SYSV for shared buffers?<br />
|This would remove the requirement for SYSV SHM but would introduce portability issues. Anonymous mmap (or mmap to /dev/zero) is required to prevent I/O overhead. We could also consider mmap() for writing WAL.<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00750.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg00756.php<br />
}}<br />
<br />
{{TodoItem<br />
|Rather than consider mmap()-ing in 8k pages, consider mmap()'ing entire files into a backend?<br />
|Doing I/O to large tables would consume a lot of address space or require frequent mapping/unmapping. Extending the file also causes mapping problems that might require mapping only individual pages, leading to thousands of mappings. Another problem is that there is no way to _prevent_ I/O to disk from the dirty shared buffers so changes could hit disk before WAL is written.<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01239.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider ways of storing rows more compactly on disk:<br />
* Reduce the row header size?<br />
* Consider reducing on-disk varlena length from four bytes to two because a heap row cannot be more than 64k in length}}<br />
<br />
{{TodoItem<br />
|Consider transaction start/end performance improvements<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00948.php <nowiki>Reducing Transaction Start/End Contention</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00361.php <nowiki>Re: Reducing Transaction Start/End Contention</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow configuration of backend priorities via the operating system<br />
|Though backend priorities make priority inversion during lock waits possible, research shows that this is not a huge problem.<br />
* [http://archives.postgresql.org/pgsql-general/2007-02/msg00493.php <nowiki>Priorities for users or queries?</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider increasing the minimum allowed number of shared buffers<br />
* [http://archives.postgresql.org/pgsql-bugs/2008-02/msg00157.php <nowiki>Re: [PATCH] Don't bail with legitimate -N/-B options</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider if CommandCounterIncrement() can avoid its AcceptInvalidationMessages() call<br />
* [http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php <nowiki>pgsql: Avoid incrementing the CommandCounter when</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider Cartesian joins when both relations are needed to form an indexscan qualification for a third relation<br />
* [http://archives.postgresql.org/pgsql-performance/2007-12/msg00090.php <nowiki>Re: TB-sized databases</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider not storing a NULL bitmap on disk if all the NULLs are trailing<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-12/msg00624.php <nowiki>Proposal for Null Bitmap Optimization(for Trailing NULLs)</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2007-12/msg00109.php <nowiki>Re: [HACKERS] Proposal for Null Bitmap Optimization(for TrailingNULLs)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Sort large UPDATE/DELETEs so it is done in heap order<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg01119.php <nowiki>Possible future performance improvement: sort updates/deletes by ctid</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider decreasing the I/O caused by updating tuple hint bits<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00847.php <nowiki>Hint Bits and Write I/O</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-07/msg00199.php <nowiki>Re: [HACKERS] Hint Bits and Write I/O</nowiki>]<br />
* http://archives.postgresql.org/pgsql-hackers/2010-10/msg00695.php<br />
* http://archives.postgresql.org/pgsql-hackers/2010-11/msg00792.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-01/msg01063.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01408.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg01453.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid the requirement of freezing pages that are infrequently modified <br />
|If all rows on a page are visible, it is possible to set a bit in the visibility map (once the visibility map is 100% reliable) and not need to freeze the page, avoiding a page rewrite<br />
* http://archives.postgresql.org/message-id/4BF701CF.2090205@agliodbs.com<br />
* http://archives.postgresql.org/pgsql-hackers/2010-06/msg00082.php<br />
}}<br />
<br />
{{TodoItem<br />
|Avoid reading in b-tree pages when replaying vacuum records in hot standby mode<br />
* [http://archives.postgresql.org/message-id/1272571938.4161.14739.camel@ebony <nowiki>Hot Standby tuning for btree_xlog_vacuum()</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure truncation logic to be more resistant to failure<br />
|This also involves not writing dirty buffers for a truncated or dropped relation<br />
* http://archives.postgresql.org/pgsql-hackers/2010-08/msg01032.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider adding logic to increase large tables by more than 8k<br />
|This would reduce file system fragmentation<br />
* http://archives.postgresql.org/pgsql-bugs/2011-03/msg00337.php<br />
}}<br />
<br />
== Miscellaneous Other ==<br />
<br />
{{TodoItem<br />
|Deal with encoding issues for filenames in the server filesystem<br />
* {{MessageLink|20090413184335.39BE.52131E4D@oss.ntt.co.jp|a proposed patch here}}<br />
* {{MessageLink|8484.1244655656@sss.pgh.pa.us|some issues about it here}}<br />
* {{MessageLink|20100107103740.97A5.52131E4D@oss.ntt.co.jp|Windows-specific patch here}}<br />
}}<br />
<br />
{{TodoItem<br />
|Deal with encoding issues in the output of localeconv()<br />
* [http://archives.postgresql.org/message-id/40c6d9160904210658y590377cfw6dbbecb53d2b8be0@mail.gmail.com bug report]<br />
* [http://archives.postgresql.org/message-id/49EF8DA0.90008@tpf.co.jp draft patch]<br />
* [http://archives.postgresql.org/message-id/21710.1243620986@sss.pgh.pa.us review of patch]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide schema name and other fields available from SQL GET DIAGNOSTICS in error reports<br />
* [http://archives.postgresql.org/message-id/dcc563d10810211907n3c59a920ia9eb7cd2a6d5ea58@mail.gmail.com <nowiki>How to get schema name which violates fk constraint</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-11/msg00846.php <nowiki>patch - Report the schema along table name in a referential failure error message</nowiki>]<br />
* {{MessageLink|3191.1263306359@sss.pgh.pa.us|Re: NOT NULL violation and error-message}}<br />
* [http://archives.postgresql.org/pgsql-hackers/2009-08/msg00213.php <nowiki>the case for machine-readable error fields</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add 64-bit support to /contrib/pgbench<br />
* http://archives.postgresql.org/pgsql-hackers/2010-07/msg00153.php<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00705.php<br />
}}<br />
<br />
== Source Code ==<br />
<br />
{{TodoItemEasy<br />
|Remove warnings created by -Wcast-align}}<br />
<br />
{{TodoItem<br />
|Move platform-specific ps status display info from ps_status.c to ports}}<br />
<br />
{{TodoItem<br />
|Consider a faster CRC32 algorithm<br />
* http://archives.postgresql.org/pgsql-hackers/2010-05/msg01112.php<br />
}}<br />
<br />
{{TodoItem<br />
|Allow cross-compiling by generating the zic database on the target system}}<br />
<br />
{{TodoItem<br />
|Improve NLS maintenance of libpgport messages linked onto applications}}<br />
<br />
{{TodoItem<br />
|Use UTF8 encoding for NLS messages so all server encodings can read them properly}}<br />
<br />
{{TodoItem<br />
|Allow creation of universal binaries for Darwin<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00884.php <nowiki>Getting to universal binaries for Darwin</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider GnuTLS if OpenSSL license becomes a problem<br />
* http://archives.postgresql.org/pgsql-hackers/2011-02/msg00892.php<br />
* [http://archives.postgresql.org/pgsql-patches/2006-05/msg00040.php <nowiki>[PATCH] Add support for GnuTLS</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-12/msg01213.php <nowiki>TODO: GNU TLS</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider making NAMEDATALEN more configurable in future releases}}<br />
<br />
{{TodoItem<br />
|Research use of signals and sleep wake ups<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-07/msg00003.php <nowiki>Restartable signals 'n all that</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Allow C++ code to more easily access backend code<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg00302.php <nowiki>Mostly Harmless: Welcoming our C++ friends</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider simplifying how memory context resets handle child contexts<br />
* [http://archives.postgresql.org/pgsql-patches/2007-08/msg00067.php <nowiki>Re: Memory leak in nodeAgg</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Create three versions of libpgport to simplify client code<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-10/msg00154.php <nowiki>8.4 TODO item: make src/port support libpq and ecpg directly</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve detection of shared memory segments being used by others by checking the SysV shared memory field 'nattch'<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00656.php <nowiki>postgresql in FreeBSD jails: proposal</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00673.php <nowiki>Re: postgresql in FreeBSD jails: proposal</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Implement the non-threaded Avahi service discovery protocol<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00939.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00097.php <nowiki>Re: Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg01211.php <nowiki>Re: [PATCHES] Avahi support for Postgresql</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-04/msg00001.php <nowiki>Re: [HACKERS] Avahi support for Postgresql</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce data row alignment requirements on some 64-bit systems<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-10/msg00369.php <nowiki>[WIP] Reduce alignment requirements on 64-bit systems.</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Restructure TOAST internal storage format for greater flexibility<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-11/msg00049.php <nowiki>Re: PG_PAGE_LAYOUT_VERSION 5 - time for change</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Add regression tests for pg_dump/restore<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-02/msg01967.php <nowiki>"make install-check-pg_dump" target in src/regress]</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
| Research different memory allocation methods for lists<br />
* http://archives.postgresql.org/pgsql-hackers/2011-04/msg01467.php <br />
}}<br />
<br />
{{TodoItem<br />
| Consider removing the attribute options cache<br />
* http://archives.postgresql.org/pgsql-hackers/2011-03/msg00039.php<br />
}}<br />
<br />
{{TodoItem<br />
| Restructure /contrib section<br />
* http://archives.postgresql.org/pgsql-hackers/2011-06/msg00705.php<br />
}}<br />
<br />
{{TodoItem<br />
| Consider adding explicit huge page support<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00123.php<br />
}}<br />
<br />
=== /contrib/pg_upgrade ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Handle large object comments<br />
|This is difficult to do because the large object doesn't exist when --schema-only is loaded.<br />
}}<br />
<br />
{{TodoItem<br />
|Consider using pg_depend for checking object usage in version.c<br />
}}<br />
<br />
{{TodoItem<br />
|If reindex is necessary, allow it to be done in parallel with pg_dump custom format<br />
}}<br />
<br />
{{TodoItem<br />
|Migrate pg_statistic by dumping it out as a flat file, so analyze is not necessary<br />
|pg_class.oid is not preserved so schema.tablename must be used.<br />
* [http://archives.postgresql.org/message-id/CAAZKuFaWdLkK8eozSAooZBets9y_mfo2HS6urPAKXEPbd-JLCA@mail.gmail.com pg_upgrade and statistics]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve testing, perhaps using the buildfarm<br />
|The buildfarm has access to multiple versions of PostgreSQL.<br />
}}<br />
<br />
{{TodoItem<br />
|Create machine-readable output of pg_controldata<br />
|This would avoid parsing its output. The problem is we need pg_controldata output from both the old and new clusters so we would need to support both formats.<br />
}}<br />
<br />
{{TodoItem<br />
|Find cleaner way to start/stop dedicated servers for upgrades<br />
* http://archives.postgresql.org/pgsql-hackers/2012-08/msg00275.php<br />
}}<br />
<br />
{{TodoItem<br />
|Consider a way to run pg_upgrade on standby servers<br />
* http://archives.postgresql.org/pgsql-hackers/2012-07/msg00453.php<br />
* http://archives.postgresql.org/pgsql-hackers/2012-09/msg00056.php<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Windows ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Remove configure.in check for link failure when cause is found}}<br />
<br />
{{TodoItem<br />
|Remove readdir() errno patch when runtime/mingwex/dirent.c rev 1.4 is released}}<br />
<br />
{{TodoItem<br />
|Allow psql to use readline once non-US code pages work with backslashes}}<br />
<br />
{{TodoItem<br />
|Fix problem with shared memory on the Win32 Terminal Server}}<br />
<br />
{{TodoItem<br />
|Improve signal handling<br />
* [http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php <nowiki>Simplify Win32 Signaling code</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Convert MSVC build system to remove most batch files<br />
* [http://archives.postgresql.org/pgsql-hackers/2007-08/msg00961.php <nowiki>MSVC build system</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Support pgxs when using MSVC}}<br />
<br />
{{TodoItem<br />
|Fix MSVC NLS support, like for to_char()<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-02/msg00485.php <nowiki>NLS on MSVC strikes back!</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-patches/2008-02/msg00038.php <nowiki>Fix for 8.3 MSVC locale (Was [HACKERS] NLS on MSVC strikes back!)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Find a correct rint() substitute on Windows<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00808.php <nowiki>Minor bug in src/port/rint.c</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Fix global namespace issues when using multiple terminal server sessions<br />
* [http://archives.postgresql.org/message-id/48F3BFCC.8030107@dunslane.net problems with Windows global namespace]}}<br />
<br />
{{TodoItem<br />
|Change from the current autoconf/gmake build system to cmake<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-12/msg01869.php <nowiki>About CMake (was Re: [COMMITTERS] pgsql: Append major version number and for libraries soname major)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Improve consistency of path separator usage<br />
* http://archives.postgresql.org/message-id/49C0BDC5.4010002@hagander.net<br />
}}<br />
<br />
{{TodoItem<br />
|Fix cross-compiling on Windows<br />
* http://archives.postgresql.org/pgsql-bugs/2010-10/msg00110.php<br />
}}<br />
<br />
{{TodoItem<br />
|Reduce file statistics overhead on directory reads<br />
* http://www.postgresql.org/message-id/1338325561.82125.YahooMailNeo@web39304.mail.mud.yahoo.com<br />
}}<br />
<br />
<br />
<br />
{{TodoEndSubsection}}<br />
<br />
=== Wire Protocol Changes ===<br />
{{TodoSubsection}}<br />
<br />
{{TodoItem<br />
|Allow dynamic character set handling}}<br />
<br />
{{TodoItem<br />
|Let the client indicate character encoding of database names, user names, and passwords<br />
* http://www.postgresql.org/message-id/16160.1360540050@sss.pgh.pa.us}}<br />
<br />
{{TodoItem<br />
|Add decoded type, length, precision}}<br />
<br />
{{TodoItem<br />
|Mark result columns as known-not-null when possible<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-11/msg01029.php <nowiki>Adding nullable indicator to Describe</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide more control over planner treatment of statements being prepared}}<br />
<br />
{{TodoItem<br />
|Use compression<br />
|If SSL is used, hopefully avoid the overhead of key negotiation and encryption<br />
* http://archives.postgresql.org/pgsql-hackers/2012-06/msg00793.php<br />
}}<br />
<br />
{{TodoItem<br />
|Update clients to use data types, typmod, schema.table.column names of result sets using new statement protocol}}<br />
<br />
{{TodoItem<br />
|Set protocol for wire format negotiation<br />
* [http://archives.postgresql.org/message-id/CACMqXCKkGrGXxQhjHCKCe0B8hn6sTt-1sdgHZOSGQMxrusOsQA@mail.gmail.com GUC_REPORT for protocol tunables]<br />
}}<br />
<br />
{{TodoItem<br />
|Make sure upgrading to a 4.1 protocol version will actually work smoothly<br />
* [http://archives.postgresql.org/message-id/28307.1318255008@sss.pgh.pa.us Re: libpq, PQdescribePrepared -> PQftype, PQfmod, no PQnullable]<br />
}}<br />
<br />
{{TodoEndSubsection}}<br />
<br />
== Documentation ==<br />
<br />
{{TodoItemEasy <br />
| Add contrib functions to the index<br />
* Add the functions and GUCs in the contrib modules to [http://www.postgresql.org/docs/current/static/sql-createindex.html the documentation index]: [http://archives.postgresql.org/message-id/50A2E173.6030404@2ndQuadrant.com per list discussion]<br />
}}<br />
<br />
{{TodoItem<br />
|Convert single quotes to apostrophes in the PDF documentation<br />
* [http://archives.postgresql.org/pgsql-docs/2007-12/msg00059.php <nowiki>SGML docs and pdf single-quotes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Provide a manpage for postgresql.conf<br />
* {{messageLink|20080819194311.GH4428@alvh.no-ip.org|A smaller default postgresql.conf}}<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Change the manpage-generating toolchain to use the new XML-based docbook2x tools<br />
* {{messageLink|200808211910.37524.peter_e@gmx.net|A smaller default postgresql.conf}}<br />
}}<br />
<br />
{{TodoItem<br />
|Consider changing documentation format from SGML to XML<br />
* [http://archives.postgresql.org/pgsql-docs/2006-12/msg00152.php <nowiki>Re: Authoring Tools WAS: Switching to XML</nowiki>]<br />
* http://archives.postgresql.org/pgsql-docs/2011-04/msg00020.php<br />
* http://wiki.postgresql.org/wiki/Switching_PostgreSQL_documentation_from_SGML_to_XML<br />
}}<br />
<br />
{{TodoItem<br />
|Document support for N<nowiki>' '</nowiki> national character string literals, if it matches the SQL standard<br />
* http://archives.postgresql.org/message-id/1275895438.1849.1.camel@fsopti579.F-Secure.com<br />
}}<br />
<br />
{{TodoItem<br />
|Add diagrams to the documentation<br />
* http://archives.postgresql.org/pgsql-docs/2010-07/msg00001.php<br />
}}<br />
<br />
== Exotic Features ==<br />
<br />
{{TodoItem<br />
|Add pre-parsing phase that converts non-ISO syntax to supported syntax<br />
|This could allow SQL written for other databases to run without modification.}}<br />
<br />
{{TodoItem<br />
|Allow plug-in modules to emulate features from other databases}}<br />
<br />
{{TodoItem<br />
|Add features of Oracle-style packages<br />
|A package would be a schema with session-local variables, public/private functions, and initialization functions. It is also possible to implement these capabilities in any schema and not use a separate &quot;packages&quot; syntax at all.<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-08/msg00384.php <nowiki>proposal for PL packages for 8.3.</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Consider allowing control of upper/lower case folding of unquoted identifiers<br />
* [http://archives.postgresql.org/pgsql-hackers/2004-04/msg00818.php <nowiki>Bringing PostgreSQL torwards the standard regarding case folding</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2006-10/msg01527.php <nowiki>Re: [SQL] Case Preservation disregarding case sensitivity?</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-03/msg00849.php <nowiki>TODO Item: Consider allowing control of upper/lower case folding of unquoted, identifiers</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-07/msg00415.php <nowiki>Identifier case folding notes</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Add autonomous transactions<br />
* [http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php <nowiki>autonomous transactions</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Give query progress indication<br />
* [[Query progress indication]]<br />
}}<br />
<br />
{{TodoItem<br />
|Rethink our type system<br />
* [[Rethinking datatypes]]<br />
}}<br />
<br />
== Features We Do ''Not'' Want ==<br />
<br />
The following features have been discussed ad nauseum on the PostgreSQL mailing lists and the consensus has been that the project is not interested in them. As such, if you are going to bring them up as potential features, you will want to be familiar with all of the arguments against these features which have been previously made over the years. If you decide to work on such features anyway, you should be aware that you face a higher-than-normal barrier to get the Project to accept them.<br />
<br />
{{TodoItem<br />
|All backends running as threads in a single process (not wanted)<br />
|This eliminates the process protection we get from the current setup. Thread creation is usually the same overhead as process creation on modern systems, so it seems unwise to use a pure threaded model, and MySQL and DB2 have demonstrated that threads introduce as many issues as they solve. Threading specific operations such as I/O, seq scans, and connection management has been discussed and will probably be implemented to enable specific performance features. Moving to a threaded engine would also require halting all other work on PostgreSQL for one to two years.}}<br />
<br />
{{TodoItem<br />
|"Oracle-style" optimizer hints (not wanted)<br />
|Optimizer hints, as implemented in Oracle and other RDBMSes, are used to work around problems in the optimizer and introduce upgrade and maintenance issues. We would rather have such problems reported and fixed. We have discussed a more sophisticated system of per-class cost adjustment instead, but a specification remains to be developed. See [[OptimizerHintsDiscussion|Optimizer Hints Discussion]] for further information.}}<br />
<br />
{{TodoItem<br />
|Embedded server (not wanted)<br />
|While PostgreSQL clients runs fine in limited-resource environments, the server requires multiple processes and a stable pool of resources to run reliably and efficiently. Stripping down the PostgreSQL server to run in the same process address space as the client application would add too much complexity and failure cases. Besides, there are several very mature embedded SQL databases already available.}}<br />
<br />
{{TodoItem<br />
|Obfuscated function source code (not wanted)<br />
|Obfuscating function source code has minimal protective benefits because anyone with super-user access can find a way to view the code. At the same time, it would greatly complicate backups and other administrative tasks. To prevent non-super-users from viewing function source code, remove SELECT permission on pg_proc.<br />
* [http://archives.postgresql.org/pgsql-general/2008-09/msg00668.php <nowiki>Obfuscated stored procedures (was Re: Oracle and Postgresql)</nowiki>]<br />
}}<br />
<br />
{{TodoItem<br />
|Indeterminate behavior for the GROUP BY clause (not wanted)<br />
|At least one other database product allows specification of a subset of the result columns which GROUP BY would need to be able to provide predictable results; the server is free to return any value from the group. This is not viewed as a desirable feature. PostgreSQL 9.1 allows result columns that are not referenced by GROUP BY if a primary key for the same table is referenced in GROUP BY.<br />
* [http://archives.postgresql.org/pgsql-hackers/2010-03/msg00297.php <nowiki>Re: SQL compatibility reminder: MySQL vs PostgreSQL</nowiki>]<br />
}}<br />
<br />
</div><br />
<br />
[[Category:Todo]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=Clustering&diff=9464Clustering2010-01-06T09:54:14Z<p>Ramayer: /* Projects */</p>
<hr />
<div>== Projects ==<br />
<br />
(alphabetical order)<br />
<br />
* [[Bucardo]]<br />
* [[GridSQL]]<br />
* [[HadoopDB]]<br />
* [[Mammoth]]<br />
* [[Pgpool-II]]<br />
* [[PgCluster]]<br />
* [[PL/Proxy]]<br />
* [[Postgres-2]]<br />
* [[PostgresForest]]<br />
* [[Postgres-R]]<br />
* [[rubyrep]]<br />
* [[SkyTools]]<br />
* [[Slony]]<br />
* [[Streaming Replication]]<br />
* [[Tungsten]]<br />
<br />
Work in progress is being tracked at [[Clustering Development Projects]]<br />
<br />
== Existing Overview Docs ==<br />
* [[Replication, Clustering, and Connection Pooling]]<br />
<br />
== Template for information ==<br />
<br />
== Project Overview ==<br />
Please provide a brief overview of your project goals<br />
<br />
== Project Status ==<br />
Current status of development<br />
<br />
== Project Contacts ==<br />
Name of developer, or development mailing list<br />
Preferred method of contact<br />
Website link<br />
<br />
[[Category:Replication]]<br />
[[Category:Clustering]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=Replication,_Clustering,_and_Connection_Pooling&diff=9463Replication, Clustering, and Connection Pooling2010-01-06T09:53:31Z<p>Ramayer: /* Clustering */ added hadoopdb</p>
<hr />
<div>==Introduction==<br />
There are many approaches available to scale PostgreSQL beyond running on a single server. An outline of the terminology and basic technologies involved is at [http://www.postgresql.org/docs/current/interactive/high-availability.html High Availability and Load Balancing]. There is a [http://momjian.us/main/writings/pgsql/replication.pdf presentation] covering some of these solutions.<br />
<br />
There is no one-size fits all replication software. You have to understand your requirements and how various approaches fit into that. For example, here are two extremes in the replication problem space:<br />
<br />
* You have a few servers connected to a local network you want to always keep current for failover and load-balancing purposes. Here you would be considering solutions that are synchronous, eager, and therefore conflict-free.<br />
* Your users take a local copy of the database with them on laptops when they leave the office, make changes while they are away, and need to merge those with the main database when they return. Here you'd want an asynchronous, lazy replication approach, and will be forced to consider how to handle conflicts in cases where the same record has been modified both on the master server and on a local copy.<br />
<br />
These are both database replication problems, but the best way to solve them is very different. And as you can see from these examples, replication has a lot of specific terminology that you'll have to understand to figure out what class of solution makes sense for your requirements. A great source for this background is in the<br />
[http://www.postgres-r.org/documentation/terms Postgres-R Terms and Definitions for Database Replication]. The main theoretical topic it doesn't mention is how to resolve conflict resolution in lazy replication cases like the laptop situation, which involves voting and similar schemes.<br />
<br />
==Features in the Core of PostgreSQL==<br />
The PostgreSQL core team considered replication and clustering technology outside the scope of the main project's focus but this changed in Spring 2008, see the [http://archives.postgresql.org/pgsql-hackers/2008-05/msg00913.php Core Team's statement].<br />
<br />
*[[Warm Standby]]/Log Shipping is a HA solution which 'replicates' a database cluster to an archive or a warm (can be brought up quickly, but not available for querying) standby server. Overhead is very low and it's easy to set up. This is the simplest and best solution if all you care about is continuous backup and short failover times.<br />
<br />
*There's an ongoing project to integrate hot standby capabilites (read only queries on slave) into PostgreSQL...if/when complete, this would provide a replication mechanism similar to, but significantly better than mysql binary log replication, and would provide an excellent complement to slony. See [[Hot Standby]].<br />
<br />
==Comparison matrix==<br />
<br />
This page is being overhauled at [[Clustering]]<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;"<br />
|- style="background: #ececec"<br />
! Program<br />
! License<br />
! Maturity<br />
! Replication Method<br />
! Sync<br />
! Connection Pooling<br />
! Load Balancing<br />
! Query Partitioning<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | [http://www.pgcluster.org/ PGCluster]<br />
| bgcolor="#ffffaa" | BSD<br />
| bgcolor="#ffffaa" | See version details on site<br />
| bgcolor="#ffffaa" | Master-Master<br />
| bgcolor="#ffffaa" | Synchronous<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ddffdd" | Yes<br />
| bgcolor="#ffaaaa" | No<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | '''pgpool-I'''<br />
| bgcolor="#ffffaa" | BSD<br />
| bgcolor="#ffffaa" | Stable<br />
| bgcolor="#ffffaa" | Statement-Based Middleware<br />
| bgcolor="#ffffaa" | Synchronous<br />
| bgcolor="#ddffdd" | Yes<br />
| bgcolor="#ddffdd" | Yes<br />
| bgcolor="#ffaaaa" | No<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | [http://pgpool.projects.postgresql.org/ pgpool-II]<br />
| bgcolor="#ffffaa" | BSD<br />
| bgcolor="#ffffaa" | Recent release<br />
| bgcolor="#ffffaa" | Statement-Based Middleware<br />
| bgcolor="#ffffaa" | Synchronous<br />
| bgcolor="#ddffdd" | Yes<br />
| bgcolor="#ddffdd" | Yes<br />
| bgcolor="#ddffdd" | Yes<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | [http://slony.info/ slony-I]<br />
| bgcolor="#ffffaa" | BSD<br />
| bgcolor="#ffffaa" | Stable<br />
| bgcolor="#ffffaa" | Master-Slave<br />
| bgcolor="#ffffaa" | Asynchronous<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | [http://bucardo.org/ Bucardo]<br />
| bgcolor="#ffffaa" | BSD<br />
| bgcolor="#ffffaa" | Stable<br />
| bgcolor="#ffffaa" | Master-Master, Master-Slave<br />
| bgcolor="#ffffaa" | Asynchronous<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | [http://wiki.postgresql.org/wiki/Skytools Londiste]<br />
| bgcolor="#ffffaa" | BSD<br />
| bgcolor="#ffffaa" | Stable<br />
| bgcolor="#ffffaa" | Master-Slave<br />
| bgcolor="#ffffaa" | Asynchronous<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | [http://www.commandprompt.com/products/mammothreplicator/ Mammoth]<br />
| bgcolor="#ffffaa" | BSD<br />
| bgcolor="#ffffaa" | Stable<br />
| bgcolor="#ffffaa" | Master-Slave<br />
| bgcolor="#ffffaa" | Asynchronous<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
|-<br />
! style="text-align:block;" bgcolor="#ececec" | [http://www.rubyrep.org/ rubyrep]<br />
| bgcolor="#ffffaa" | MIT<br />
| bgcolor="#ffffaa" | Recent Release<br />
| bgcolor="#ffffaa" | Master-Master, Master-Slave<br />
| bgcolor="#ffffaa" | Asynchronous<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
| bgcolor="#ffaaaa" | No<br />
|}<br />
<br />
==Replication==<br />
<br />
Aside from Warm Standby, mentioned above...<br />
<br />
*Slony-I: Seems good, single master only, master is a single point of failure, no good failover system for electing a new master or having a failed master rejoin the cluster. Slave databases are mostly for safety or for parallelizing queries for performance. Suffers from O(N^2) communications (N = cluster size). with reasonable sysadmin you can implement failover system yourself. regarding communications, you can cascade the replication to reduce load on the master. If you were implementing a large replication cluster, this would probably be a good idea. Slony is powerful, trigger based, and highly configurable.<br />
<br />
* PGCluster: PGCluster (which, incidentally, is not the same as PGCluster-II, a shared-disk solution), which does synchronous multimaster replication. Two single-points failure spots, load balancer and the data replicator. The project has historically looked a bit dead, but they just released a new version and moved to a Trac-based web site at http://www.pgcluster.org/ and http://pgfoundry.org/projects/pgcluster is up to date (at least downloads page) One major downside to PGCluster is that it uses a modified version of PostgreSQL, and it usually lags a few releases behind.<br />
<br />
* http://pgpool.projects.postgresql.org/ pgpool 1/2 is a reasonable solution. it's statement level replication, which has some downsides, but is good for certain things. pgpool 2 has a neat distributed table mechanism which is interesting. You might want to be looking here if you have extremely high ratios of read to write but need to service a huge transaction volume. Supports load-balancing and replication by implementing a proxy that duplicates all updates to all slaves. It can partition data by doing this, and it can semi-intelligently route queries to the appropriate servers.<br />
<br />
* "Mammoth Replicator" - BSD - http://www.commandprompt.com/products/mammothreplicator/ - Former proprietary solution, now open source. Uses a central logging process to distribute data changes amongst nodes. Essentially a fork of Postgres, as the changes are written directly into the backend. <br />
<br />
* "Bucardo" - BSD License - http://bucardo.org/ - Trigger-based, asynchronous, multi-master or master-slave, written using plperl.<br />
<br />
* Cybertec, an Austrian company, offers a proprietary packaging of PGCluster. They simply call it PostgreSQL Multimaster-Replication, see http://www.cybertec.at.<br />
<br />
* [[Londiste_Tutorial|Londiste]], a part of [[Skytools]] (https://developer.skype.com/SkypeGarage/DbProjects/SkyTools) which is a collection of replication tools from the Skype people. Purports to be simpler to use than Slony.<br />
<br />
* [http://www.continuent.com/index.php?option=com_content&task=view&id=212&Itemid=169 Continuent uni/cluster], proprietary and the related Sequoia (jdbc, formerly known as c-jdbc)<br />
<br />
* [http://www.postgres-r.org Postgres-R] is still in development. It features eager and thus conflict-free, but async multi-master replication.<br />
<br />
* DRBD (http://www.drbd.org/), a device driver that replicates disk blocks to other nodes. This works for failover only, not for scaling reads. Easy migration of devices if combined with an NFS export.<br />
<br />
* "Daffodil Replicator" - GPL - http://sourceforge.net/projects/daffodilreplica/ <br />
<br />
* "RubyRep" - MIT License - http://www.rubyrep.org/ - Ruby based, asynchronous, multi-master replication system, which supports Postgres and MySQL.<br />
<br />
* "pg_comparator" - BSD License - http://pgfoundry.org/projects/pg-comparator/ - Perl-based, table-level async master-slave "diff" and "patch" method of replication. Low configuration overhead.<br />
<br />
===Inactive projects===<br />
* Slony-II<br />
* PGReplication<br />
<br />
==Clustering==<br />
<br />
* [http://www.greenplum.com/index.php?page=greenplum-database Greenplum Database] (formerly Bizgres MPP), proprietary. Not so much a replication solution as a way to parallelize queries, and targeted at the data warehousing crowd. Similar to ExtenDB, but tightly integrated with PostgreSQL.<br />
<br />
*[http://www.enterprisedb.com/products/gridsql.do GridSQL for EnterpriseDB Advanced Server] (formerly ExtenDB) <br />
<br />
*sequoia (jdbc, formerly known as c-jdbc)<br />
<br />
* [[PL/Proxy]] - database partitioning system implemented as PL language.<br />
<br />
*[http://db.cs.yale.edu/hadoopdb/hadoopdb.html HadoopDB] - A MapReduce layer put in front of a cluster of postgres back end servers. Shared-nothing clustering.<br />
<br />
==Connection Pooling and Acceleration==<br />
<br />
Connection pooling programs let you reduce database-related overhead when it's the sheer number of physical connections dragging performance down. This is particularly important on Windows, where system limitations prevent large number of connections; see "I cannot run with more than about 125 connections at once" in the [http://www.postgresql.org/docs/faqs.FAQ_windows.html Windows FAQ]. It's also vital for web applications where the number of connections can get very large.<br />
<br />
Some programs that implement connection pooling are:<br />
* [[PgBouncer]]<br />
* [http://pgpool.projects.postgresql.org/ pgpool]<br />
<br />
Some people also or alternately use [http://www.danga.com/memcached/ memcached] in various ways to reduce the work the database handles directly by caching popular data.<br />
<br />
==Credits==<br />
<br />
Sources for the initial information on this page include:<br />
*[http://archives.postgresql.org/pgsql-performance/2007-06/msg00264.php replication thread]<br />
*[http://archives.postgresql.org/pgsql-general/2007-08/msg00085.php pgpool2 vs sequoia]<br />
*[http://archives.postgresql.org/pgsql-hackers/2006-10/msg00810.php Postgresql Caching]<br />
<br />
A existing page covering this topic in German is at http://burger-ag.de/postgresql_replikation.whtml It translates pretty well through [http://babelfish.altavista.com/ Babelfish].<br />
<br />
Sources for more information located but not yet integrated into here:<br />
* [http://bristlecone.continuent.org/uploads/bristlecone/HomePage/PG_East-Scale-Out-Benchmarks_FINAL2.pdf Portable Scale-Out Benchmarks for PostgreSQL] by Robert Hodges<br />
* [http://www.fastware.com.au/docs/PostgreSQL_HighAvailability.pdf High Availability and PostgreSQL] by Gavin Sherry<br />
<br />
[[Category:Replication]][[Category:Administration]][[Category:Performance]][[Category:Clustering]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=Priorities&diff=9100Priorities2009-11-30T23:06:44Z<p>Ramayer: /* External links */</p>
<hr />
<div>== Prioritizing users, queries, or databases ==<br />
<br />
PostgreSQL has no facilities to limit what resources a particular user, query, or database consumes, or correspondingly to set priorities such that one user/query/database gets more resources than others. It's necessary to use operating system facilities to achieve what limited prioritization is possible.<br />
<br />
There are three main resources that PostgreSQL users, queries, and databases will contend for:<br />
<br />
* Memory<br />
* CPU<br />
* Disk I/O<br />
<br />
Of these, disk I/O is commonly a bottleneck for database applications, but that's not always the case. Some schema designs and queries are particularly CPU heavy. Others really benefit from having lots of memory to work with, typically for sorting.<br />
<br />
== Are priorities really the problem? ==<br />
<br />
Before struggling too much with prioritizing your queries/users/databases, it's worthwhile to optimize your queries and [[Tuning_Your_PostgreSQL_Server|tune your database]]. You may find that you can get perfectly acceptable performance without playing with priorities or taking extreme measures, using techniques such as:<br />
<br />
* [[Using_EXPLAIN|Improving your queries]]<br />
* Tune autovacuum to reduce bloat<br />
* [[Performance_Optimization|Generally polishing your cluster's performance]]<br />
* Avoiding use of [[VACUUM FULL]]. That can lead to bloated indexes that eat lots of memory and take forever to scan, wasting disk I/O bandwidth. See the wiki page on [[VACUUM FULL]] for more information.<br />
<br />
=== Is CPU really the bottleneck? ===<br />
<br />
People often complain of pegged (100%) CPU and assume that's the cause of database slowdowns. That's not necessarily the case - a system may show an apparent 100% CPU use, but in fact be mainly limited by I/O bandwidth. Consider the following test, which starts 20 `dd' processes, each reading a different 1Gb block from the hard disk at 1Gb offsets.<br />
<br />
<pre><br />
for i in `seq 1 20`; do <br />
( dd if=/dev/md0 bs=1M count=1000 skip=$(($i * 1000)) of=/dev/null &)<br />
done<br />
</pre><br />
<br />
results in `top' output of:<br />
<br />
<pre> <br />
top - 14:51:55 up 3 days, 2:09, 5 users, load average: 10.92, 4.94, 2.93<br />
Tasks: 259 total, 3 running, 256 sleeping, 0 stopped, 0 zombie<br />
Cpu(s): 1.6%us, 15.0%sy, 0.0%ni, 0.0%id, 78.6%wa, 0.8%hi, 4.0%si, 0.0%st<br />
Mem: 4055728k total, 3843408k used, 212320k free, 749448k buffers<br />
Swap: 2120544k total, 4144k used, 2116400k free, 2303356k cached<br />
<br />
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND <br />
33 root 15 -5 0 0 0 R 5 0.0 0:26.67 kswapd0 <br />
904 root 20 0 4152 1772 628 D 5 0.0 0:00.62 dd <br />
874 root 20 0 4152 1768 628 D 3 0.0 0:00.74 dd <br />
908 root 20 0 4152 1768 628 D 3 0.0 0:00.80 dd <br />
888 root 20 0 4152 1772 628 D 3 0.0 0:00.44 dd <br />
906 root 20 0 4152 1772 628 D 3 0.0 0:00.56 dd <br />
894 root 20 0 4152 1768 628 D 2 0.0 0:00.49 dd <br />
902 root 20 0 4152 1772 628 D 2 0.0 0:00.46 dd <br />
.... etc .... <br />
</pre><br />
<br />
... which could be confused for a busy CPU, but is really load caused by disk I/O. The key warning sign here is the presence of a high iowait cpu percentage ("%wa"), indicating that much of the apparent load is actually caused by delays in the I/O subsystem. Most of the `dd' processes are in 'D' state - ie uninterruptable sleep in a system call - and if you check "wchan" with "ps" you'll see that they're sleeping waiting for I/O. <br />
<br />
Rather than assuming that CPU contention is the issue, it's a good idea to use the available [[Performance Analysis Tools]] to get a better idea of where your system bottlenecks really are.<br />
<br />
== Prioritizing CPU ==<br />
<br />
For CPU you can use "nice" (on UNIX systems), but it's a bit clumsy to do since you need to "nice" the backend of interest, not the client program connected to that backend. You can get the backend process id using the SQL query "SELECT pg_backend_pid()" or by looking at the pg_stat_activities view, but there's no way within a normal session to then renice that backend. For the situation where there's a particular large query you want to reduce the runtime of, you could have a monitoring process do this job outside of the database client itself by looking for the query/client of interest in pg_stat_activity.<br />
<br />
=== Developing a nice backend function ===<br />
One potential approach is writing and installing a C-language function "nice_backend(prio)" that renices the calling backend to "prio". Limit "prio" to >= 0, and provide a second function "nice_backend_super(pid,prio)" that can renice any backend pid and set any priority, but is usable only by the superuser. I don't know of any canned implementations of these, but it shouldn't be hard to whip them up based on the C user defined function documentation and examples, using the nice(2) system call to do the dirty work. If you write something like this, <i>please</i> submit it to the [http://www.postgresql.org/community/lists/ pgsql-performance mailing list] and provide a link to that post here.<br />
<br />
Even with these functions, you will still need co-operation from the user application to renice its self appropriately before running a CPU-heavy query, and it won't do you much good if there's contention from large numbers of backends. Increasing the priority of important backends instead of lowering the priority of unimportant ones may be more effective.<br />
<br />
== Prioritizing I/O ==<br />
<br />
I/O is harder. Some operating systems offer I/O priorities for<br />
processes, like Linux's ionice, and you'd think you could use these in a<br />
similar way to how you use 'nice'. Unfortunately, that won't work particularly well,<br />
because a lot of the work PostgreSQL does - especially disk writes - are<br />
done via a separate background writer process working from memory shared<br />
by all backends. Similarly, the write-ahead logs are managed by their<br />
own process via shared memory. Because of those two, it's very hard to effectively give one<br />
user priority over another for writes. ionice should be moderately<br />
effective for reads, though.<br />
<br />
As with "nice", effective control on a per-connection level will require the addition of appropriate helper<br />
functions, and user co-operation is required to achieve per-user priorities.<br />
<br />
Better separation of I/O workloads will require [[Prioritizing_databases_by_separating_into_multiple_clusters|cluster separation]], which has its own costs and is only effective on the per-database level.<br />
<br />
== Prioritizing memory ==<br />
<br />
PostgreSQL does have some [[Tuning_Your_PostgreSQL_Server|tunable parameters]] for memory use that are per-client, particularly <code>[http://www.postgresql.org/docs/current/static/runtime-config-resource.html#GUC-WORK-MEM work_mem]</code> and <code>[http://www.postgresql.org/docs/current/static/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM maintenance_work_mem]</code>. These may be set within a given connection to allow that backend to use more than the usual amount of memory for things like sorts and index creation. You can set these to conservative, low values in <code>postgresql.conf</code> then use the <code>SET</code> command to assign higher values to them for a particular backend, eg <code>SET work_mem = '100MB';</code>.<br />
<br />
Starting with PostgreSQL 8.5, you can set different values for <code>work_mem</code> and <code>maintenance_work_mem</code> using per-user GUC variables. For example:<br />
<br />
<pre><br />
ALTER USER myuser SET work_mem = '50MB';<br />
</pre><br />
<br />
You cannot affect the shared memory allocation done with settings like shared_buffers this way, that value is fixed at database startup time can can't be changed with restarting it.<br />
<br />
There's no easy way in most operating systems to prioritize memory allocations, so that for example the OS would prefer to swap one backend's memory out instead of another's.<br />
<br />
== External links ==<br />
<br />
* [http://www.cs.cmu.edu/~harchol/Papers/actual-icde-submission.pdf CMU article studying CPU priorities on Postgres and DB2 on TPC-C and TPC-W workloads]<br />
<br />
== Credits ==<br />
Page initially by [[User:Ringerc|Ringerc]] 02:34, 26 November 2009 (UTC)<br />
<br />
[[Category:FAQ]] [[Category:Performance]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=Priorities&diff=9099Priorities2009-11-30T23:06:26Z<p>Ramayer: Added link to CMU study on this subject.</p>
<hr />
<div>== Prioritizing users, queries, or databases ==<br />
<br />
PostgreSQL has no facilities to limit what resources a particular user, query, or database consumes, or correspondingly to set priorities such that one user/query/database gets more resources than others. It's necessary to use operating system facilities to achieve what limited prioritization is possible.<br />
<br />
There are three main resources that PostgreSQL users, queries, and databases will contend for:<br />
<br />
* Memory<br />
* CPU<br />
* Disk I/O<br />
<br />
Of these, disk I/O is commonly a bottleneck for database applications, but that's not always the case. Some schema designs and queries are particularly CPU heavy. Others really benefit from having lots of memory to work with, typically for sorting.<br />
<br />
== Are priorities really the problem? ==<br />
<br />
Before struggling too much with prioritizing your queries/users/databases, it's worthwhile to optimize your queries and [[Tuning_Your_PostgreSQL_Server|tune your database]]. You may find that you can get perfectly acceptable performance without playing with priorities or taking extreme measures, using techniques such as:<br />
<br />
* [[Using_EXPLAIN|Improving your queries]]<br />
* Tune autovacuum to reduce bloat<br />
* [[Performance_Optimization|Generally polishing your cluster's performance]]<br />
* Avoiding use of [[VACUUM FULL]]. That can lead to bloated indexes that eat lots of memory and take forever to scan, wasting disk I/O bandwidth. See the wiki page on [[VACUUM FULL]] for more information.<br />
<br />
=== Is CPU really the bottleneck? ===<br />
<br />
People often complain of pegged (100%) CPU and assume that's the cause of database slowdowns. That's not necessarily the case - a system may show an apparent 100% CPU use, but in fact be mainly limited by I/O bandwidth. Consider the following test, which starts 20 `dd' processes, each reading a different 1Gb block from the hard disk at 1Gb offsets.<br />
<br />
<pre><br />
for i in `seq 1 20`; do <br />
( dd if=/dev/md0 bs=1M count=1000 skip=$(($i * 1000)) of=/dev/null &)<br />
done<br />
</pre><br />
<br />
results in `top' output of:<br />
<br />
<pre> <br />
top - 14:51:55 up 3 days, 2:09, 5 users, load average: 10.92, 4.94, 2.93<br />
Tasks: 259 total, 3 running, 256 sleeping, 0 stopped, 0 zombie<br />
Cpu(s): 1.6%us, 15.0%sy, 0.0%ni, 0.0%id, 78.6%wa, 0.8%hi, 4.0%si, 0.0%st<br />
Mem: 4055728k total, 3843408k used, 212320k free, 749448k buffers<br />
Swap: 2120544k total, 4144k used, 2116400k free, 2303356k cached<br />
<br />
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND <br />
33 root 15 -5 0 0 0 R 5 0.0 0:26.67 kswapd0 <br />
904 root 20 0 4152 1772 628 D 5 0.0 0:00.62 dd <br />
874 root 20 0 4152 1768 628 D 3 0.0 0:00.74 dd <br />
908 root 20 0 4152 1768 628 D 3 0.0 0:00.80 dd <br />
888 root 20 0 4152 1772 628 D 3 0.0 0:00.44 dd <br />
906 root 20 0 4152 1772 628 D 3 0.0 0:00.56 dd <br />
894 root 20 0 4152 1768 628 D 2 0.0 0:00.49 dd <br />
902 root 20 0 4152 1772 628 D 2 0.0 0:00.46 dd <br />
.... etc .... <br />
</pre><br />
<br />
... which could be confused for a busy CPU, but is really load caused by disk I/O. The key warning sign here is the presence of a high iowait cpu percentage ("%wa"), indicating that much of the apparent load is actually caused by delays in the I/O subsystem. Most of the `dd' processes are in 'D' state - ie uninterruptable sleep in a system call - and if you check "wchan" with "ps" you'll see that they're sleeping waiting for I/O. <br />
<br />
Rather than assuming that CPU contention is the issue, it's a good idea to use the available [[Performance Analysis Tools]] to get a better idea of where your system bottlenecks really are.<br />
<br />
== Prioritizing CPU ==<br />
<br />
For CPU you can use "nice" (on UNIX systems), but it's a bit clumsy to do since you need to "nice" the backend of interest, not the client program connected to that backend. You can get the backend process id using the SQL query "SELECT pg_backend_pid()" or by looking at the pg_stat_activities view, but there's no way within a normal session to then renice that backend. For the situation where there's a particular large query you want to reduce the runtime of, you could have a monitoring process do this job outside of the database client itself by looking for the query/client of interest in pg_stat_activity.<br />
<br />
=== Developing a nice backend function ===<br />
One potential approach is writing and installing a C-language function "nice_backend(prio)" that renices the calling backend to "prio". Limit "prio" to >= 0, and provide a second function "nice_backend_super(pid,prio)" that can renice any backend pid and set any priority, but is usable only by the superuser. I don't know of any canned implementations of these, but it shouldn't be hard to whip them up based on the C user defined function documentation and examples, using the nice(2) system call to do the dirty work. If you write something like this, <i>please</i> submit it to the [http://www.postgresql.org/community/lists/ pgsql-performance mailing list] and provide a link to that post here.<br />
<br />
Even with these functions, you will still need co-operation from the user application to renice its self appropriately before running a CPU-heavy query, and it won't do you much good if there's contention from large numbers of backends. Increasing the priority of important backends instead of lowering the priority of unimportant ones may be more effective.<br />
<br />
== Prioritizing I/O ==<br />
<br />
I/O is harder. Some operating systems offer I/O priorities for<br />
processes, like Linux's ionice, and you'd think you could use these in a<br />
similar way to how you use 'nice'. Unfortunately, that won't work particularly well,<br />
because a lot of the work PostgreSQL does - especially disk writes - are<br />
done via a separate background writer process working from memory shared<br />
by all backends. Similarly, the write-ahead logs are managed by their<br />
own process via shared memory. Because of those two, it's very hard to effectively give one<br />
user priority over another for writes. ionice should be moderately<br />
effective for reads, though.<br />
<br />
As with "nice", effective control on a per-connection level will require the addition of appropriate helper<br />
functions, and user co-operation is required to achieve per-user priorities.<br />
<br />
Better separation of I/O workloads will require [[Prioritizing_databases_by_separating_into_multiple_clusters|cluster separation]], which has its own costs and is only effective on the per-database level.<br />
<br />
== Prioritizing memory ==<br />
<br />
PostgreSQL does have some [[Tuning_Your_PostgreSQL_Server|tunable parameters]] for memory use that are per-client, particularly <code>[http://www.postgresql.org/docs/current/static/runtime-config-resource.html#GUC-WORK-MEM work_mem]</code> and <code>[http://www.postgresql.org/docs/current/static/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM maintenance_work_mem]</code>. These may be set within a given connection to allow that backend to use more than the usual amount of memory for things like sorts and index creation. You can set these to conservative, low values in <code>postgresql.conf</code> then use the <code>SET</code> command to assign higher values to them for a particular backend, eg <code>SET work_mem = '100MB';</code>.<br />
<br />
Starting with PostgreSQL 8.5, you can set different values for <code>work_mem</code> and <code>maintenance_work_mem</code> using per-user GUC variables. For example:<br />
<br />
<pre><br />
ALTER USER myuser SET work_mem = '50MB';<br />
</pre><br />
<br />
You cannot affect the shared memory allocation done with settings like shared_buffers this way, that value is fixed at database startup time can can't be changed with restarting it.<br />
<br />
There's no easy way in most operating systems to prioritize memory allocations, so that for example the OS would prefer to swap one backend's memory out instead of another's.<br />
<br />
== External links ==<br />
<br />
* [www.cs.cmu.edu/~harchol/Papers/actual-icde-submission.pdf CMU article studying CPU priorities on Postgres and DB2 on TPC-C and TPC-W workloads]<br />
<br />
== Credits ==<br />
Page initially by [[User:Ringerc|Ringerc]] 02:34, 26 November 2009 (UTC)<br />
<br />
[[Category:FAQ]] [[Category:Performance]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=PostgreSQL_derived_databases&diff=7695PostgreSQL derived databases2009-08-10T19:30:34Z<p>Ramayer: </p>
<hr />
<div>A list of PostgreSQL derived forks and rebranded distributions in alphabetical order.<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Name<br />
!{{Hl2}} |Vendor<br />
!{{Hl2}} |License<br />
!{{Hl2}} |Availability<br />
!{{Hl2}} |Notes<br />
|-<br />
|Bizgres<br />
|Greenplum<br />
|BSD<br />
|...<br />
|PostgreSQL + BI features<br />
|-<br />
|Bizgres MPP<br />
|Greenplum<br />
|proprietary<br />
|...<br />
|PostgreSQL + BI features<br />
|-<br />
|EnterpriseDB Advanced Server<br />
|EnterpriseDB<br />
|proprietary<br />
|...<br />
|PostgreSQL + Oracle compatibility<br />
|-<br />
|EnterpriseDB Postgres<br />
|EnterpriseDB<br />
|proprietary<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|ExtenDB<br />
|...<br />
|proprietary<br />
|...<br />
|PostgreSQL + BI Features<br />
|-<br />
|Fujitsu Supported PostgreSQL<br />
|Fujitsu<br />
|BSD ; and possibly proprietary extensions<br />
|...<br />
|Seem to have support both Community versions and ones with their own storage engine.<br />
|-<br />
|Great Bridge PostgreSQL<br />
|Great Bridge LLC<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|HadoopDB<br />
|Yale University<br />
|Apache License V2.0<br />
|...<br />
|PostgreSQL + shared-nothing cluster + Hadoop<br />
|-<br />
|Mammoth<br />
|Command Prompt<br />
|BSD<br />
|...<br />
|PostgreSQL + contrib modules<br />
|-<br />
|Netezza<br />
|...<br />
|proprietary<br />
|...<br />
|Appliance based on PostgreSQL SQL engine<br />
|-<br />
|NuSphere UltraSQL<br />
|...<br />
|proprietary<br />
|...<br />
|Native Win32 port of PostgreSQL<br />
|-<br />
|parACCEL<br />
|...<br />
|proprietary<br />
|...<br />
|PostgreSQL + BI features<br />
|-<br />
|Pervasive PostgreSQL<br />
|...<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|Postgres Plus<br />
|EnterpriseDB<br />
|OSS<br />
|...<br />
|PostgreSQL + contrib + apps + drivers <br />
|-<br />
|Postgres Plus Advanced Server<br />
|EnterpriseDB<br />
|proprietary<br />
|...<br />
|Postgres + Oracle compatibility + apps, formally EnterpriseDB AS<br />
|-<br />
|PowerGres<br />
|SRA<br />
|proprietary<br />
|...<br />
|Native Win32 port of PostgreSQL<br />
|-<br />
|PowerGres Plus<br />
|...<br />
|proprietary<br />
|...<br />
|PostgreSQL + custom storage engine<br />
|-<br />
|PostgreSQL for Solaris 10<br />
|...<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|Red Hat Database<br />
|Red Hat<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|TelegraphCQ<br />
|...<br />
|BSD<br />
|...<br />
|Data Stream oriented fork of PostgreSQL<br />
|-<br />
|TruCQ<br />
|Truviso<br />
|proprietary<br />
|...<br />
|Fork of TelegraphCQ<br />
|-<br />
|Yahoo! Everest<br />
|Yahoo!<br />
|private<br />
|...<br />
|multi-peta-byte database<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=PostgreSQL_derived_databases&diff=7694PostgreSQL derived databases2009-08-10T19:26:57Z<p>Ramayer: Added HadoopDB</p>
<hr />
<div>A list of PostgreSQL derived forks and rebranded distributions in alphabetical order.<br />
<br />
{| align="center" border="1" cellspacing="0" {{Prettytable}}<br />
|-<br />
!{{Hl2}} |Name<br />
!{{Hl2}} |Vendor<br />
!{{Hl2}} |License<br />
!{{Hl2}} |Availability<br />
!{{Hl2}} |Notes<br />
|-<br />
|Bizgres<br />
|Greenplum<br />
|BSD<br />
|...<br />
|PostgreSQL + BI features<br />
|-<br />
|Bizgres MPP<br />
|Greenplum<br />
|proprietary<br />
|...<br />
|PostgreSQL + BI features<br />
|-<br />
|EnterpriseDB Advanced Server<br />
|EnterpriseDB<br />
|proprietary<br />
|...<br />
|PostgreSQL + Oracle compatibility<br />
|-<br />
|EnterpriseDB Postgres<br />
|EnterpriseDB<br />
|proprietary<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|ExtenDB<br />
|...<br />
|proprietary<br />
|...<br />
|PostgreSQL + BI Features<br />
|-<br />
|Great Bridge PostgreSQL<br />
|Great Bridge LLC<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|HadoopDB<br />
|Yale University<br />
|Apache License V2.0<br />
|...<br />
|PostgreSQL + shared-nothing cluster + Hadoop<br />
|-<br />
|Mammoth<br />
|Command Prompt<br />
|BSD<br />
|...<br />
|PostgreSQL + contrib modules<br />
|-<br />
|Netezza<br />
|...<br />
|proprietary<br />
|...<br />
|Appliance based on PostgreSQL SQL engine<br />
|-<br />
|NuSphere UltraSQL<br />
|...<br />
|proprietary<br />
|...<br />
|Native Win32 port of PostgreSQL<br />
|-<br />
|parACCEL<br />
|...<br />
|proprietary<br />
|...<br />
|PostgreSQL + BI features<br />
|-<br />
|Pervasive PostgreSQL<br />
|...<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|Postgres Plus<br />
|EnterpriseDB<br />
|OSS<br />
|...<br />
|PostgreSQL + contrib + apps + drivers <br />
|-<br />
|Postgres Plus Advanced Server<br />
|EnterpriseDB<br />
|proprietary<br />
|...<br />
|Postgres + Oracle compatibility + apps, formally EnterpriseDB AS<br />
|-<br />
|PowerGres<br />
|SRA<br />
|proprietary<br />
|...<br />
|Native Win32 port of PostgreSQL<br />
|-<br />
|PowerGres Plus<br />
|...<br />
|proprietary<br />
|...<br />
|PostgreSQL + custom storage engine<br />
|-<br />
|PostgreSQL for Solaris 10<br />
|...<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|Red Hat Database<br />
|Red Hat<br />
|BSD<br />
|...<br />
|PostgreSQL re-distribution<br />
|-<br />
|TelegraphCQ<br />
|...<br />
|BSD<br />
|...<br />
|Data Stream oriented fork of PostgreSQL<br />
|-<br />
|TruCQ<br />
|Truviso<br />
|proprietary<br />
|...<br />
|Fork of TelegraphCQ<br />
|-<br />
|Yahoo! Everest<br />
|Yahoo!<br />
|private<br />
|...<br />
|multi-peta-byte database<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=WhatsNew84&diff=6787WhatsNew842009-06-07T18:27:11Z<p>Ramayer: /* SQL */</p>
<hr />
<div>This page is designed as a resource for people writing articles, presentations, brochures, or other advocacy related materials, to give them an overview of some of the new features coming in PostgreSQL 8.4. The format of the entries is:<br />
<br />
* Feature<br />
** What does it do and/or what does it change.<br />
<br />
Furthermore, the items have been split into 4 sections:<br />
* SQL, for new SQL-standard and query features<br />
* Administration features which help you keep your database up and running<br />
* Monitoring for tools which help you see what's happening inside your database<br />
* Performance, for performance-related features.<br />
* Procedures, for new function, PL/pgSQL, trigger and similar features<br />
* Tools, for improvements in psql and other built-in tools<br />
* Developer, for developer features not included in any of the above.<br />
* 3rd Party, for features that are not included with the core server, but which are new in the 8.4 cycle. <br />
<br />
For more information, see the [http://www.postgresql.org/docs/8.4/static/release-8-4.html 8.4 Release Notes]<br />
<br />
----<br />
<br />
== SQL ==<br />
<br />
* Windowing Functions<br />
**Otherwise known as "windowing aggregates", these functions allow you to do aggregate operations, such as count, sum, and rank, over a subset of your data. This means that multilevel reports which would have taken 3 or 4 queries (and possibly procedural code) can now be generated with a single query. It also broadens the number of Business Intelligence applications PostgreSQL can support.<br />
<br />
* Common Table Expressions & Recursive Queries<br />
**CTEs allow users to create "named subqueries" which can then be reference in other clauses of the query to which they are attached. In addition to removing the need to create temp tables for some operations, the most exciting use of CTEs is for recursive queries, in which you an transverse a tree or graph structure with a single query, efficiently. This is extremely useful for the many applications which have tree-structured data, such as forums, file managers, and org charts.<br />
<br />
*ALTER SEQUENCE RESTART and TRUNCATE TABLE RESTART IDENTITY<br />
**More easily and safely start autonumber sequences back at 1 when you alter other objects in the database, or when you empty a table.<br />
<br />
*Default Parameters for stored procedures.<br />
**Permits definition of default values for stored procedure parameters not supplied by the user. This makes stored procedure<br />
<br />
=== ¿Need better definition? ===<br />
*allow limit based on subquery<br />
<br />
* Sql Standard Interval handling<br />
** Support for SQL Standard interval year-month intervals (like '1-2') and day-time intervals (like "select interval '1' day").<br />
<br />
*add TABLE sql 2008 spec command<br />
<br />
== Administration ==<br />
*Database-level Collations<br />
**Character collations (the order in which things sort) are now a database instead of an installation property. This allows users to easily have multiple languages fully supported in the same PostgreSQL installation, as well as paving the way for per-column collations in a later version of PostgreSQL.<br />
*Visibility Map<br />
**An in-memory register which tracks data pages dirtied by multiple transactions. Most importantly, this allows VACUUM to only read the data pages which actually need vacuuming instead of the whole table, resulting in large decreases in required VACUUMing on large tables. Also paves the way for future index-only access to infrequently updated tables.<br />
*Auto-Tuning Free Space Map<br />
**Did you love that max_fsm_pages setting? Well, it's gone now. The Free Space Map now automatically sizes itself to the amount of free space you need to track (available memory permitting). <br />
*PgBench with timed execution<br />
*pg_conf_load_time() function<br />
*EXPLAIN VERBOSE column level output<br />
*report all queries involved in a deadlock error<br />
*pg_settings now shows available options for guc with defined set <br />
*pg_stat_statments contrib module<br />
*column level privilege support<br />
*improved SSL certificate handling<br />
*add columns to views<br />
** allow you to add columns to a view (at the end), without having to recompile the view / dependencies. still can't modify / remove columns though. <br />
*multi-column GIN indexes<br />
** the pgstat file tracks usage statistics in postgresql. currently it can lead to very high i/o on the fs, which can be hard to track down. 8.4 reduced usage of file, but also made the file relocatable, so you can put it on ramdrive or similar. <br />
*pg_hba.conf name=value syntax<br />
*pg_hba.conf usermaps<br />
<br />
== Security & Connections ==<br />
<br />
*Column Permissions<br />
**DBAs can now grant permissions (SELECT, UPDATE) on specific columns as well as on entire tables. This makes it easier to secure sensitive data in your database.<br />
*SSL Authentication<br />
**Users can now authenticate using SSL certificates.<br />
<br />
== Monitoring ==<br />
<br />
*pg_stat_statements (contrib module)<br />
**Allows real-time monitoring of summary query statistics, letting you see at a glance which of your normalized queries is executing the most often and using the most system time. pg_stat_statement will speed up the process of "bad query" troubleshooting by an order of magnitude.<br />
*auto_explain (contrib module)<br />
**Lets you automatically log select EXPLAIN plans to the PostgreSQL log for later analysis. Will help a great deal with troubleshooting slow stored procedures, as well as queries which perform differently between production and testing. Also allows logging of EXPLAIN plans for nested statements, that is, statements executed from within a function.<br />
*pg_stat_user_functions<br />
**This system view tracks how many times each of your functions is accessed, as well as aggregate execution times spent both inside the function and on nested function calls. Administrators of stored procedure applications will now be able to definitively identify their slowest procedures.<br />
<br />
== Performance ==<br />
<br />
*Hash Methods for DISTINCT/UNION/INTERSECT/EXCEPTION queries<br />
** Previously, operations like distinct would require Postgres to sort and then eliminate data to achieve the distinct results. Now PostgreSQL can use hash based methods (similar to group by) to achieve these results. This should make many of these queries faster without needing any changes. <br />
*Cursor_tuple_fraction GUC<br />
** Tell the planner what fraction of a cursors results you expect to return for a given cursor query. This allows the planner to use plans that are more optimal based on estimated percentage of rows you expect to return. <br />
*default_statistics_target = 100<br />
<br />
== Procedures ==<br />
<br />
*Variadic Parameters<br />
**Enables of stored procedures with variable numbers of arguments. This makes it easier and more natural to write stored procedures in interpreted languages (Perl, Python, Ruby, PHP, Tcl). It also helps with change management of stored procedure based applications, and migrating databases from SQL Server and Sybase.<br />
**Application developers, users porting databases<br />
change management, and porting database applications from SQL Server and Sybase, significantly easier.<br />
**Application developers, users porting databases<br />
*CASE control structure support in PL/pgSQL <br />
*RETURNS TABLE for PL/pgSQL functions<br />
*Support HINT, DETAIL, and SQLSTATE in RAISE command for PL/pgSQL<br />
*RETURN QUERY EXECUTE support in PL/pgSQL<br />
*EXECUTE USING for PL/pgSQL<br />
*allow srf functions to be called in select clause for PL/pgSQL<br />
<br />
== Tools ==<br />
<br />
*Parallel Restore<br />
**pg_restore can now be run in parallel process mode, and loading data and creating database objects in several parallel streams. Depending on your hardware and database design, this allows restore of database backup files two to eight times faster than single-process restore. 8.4's parallel restore can also be used to restore 8.3 or 8.2 databases.<br />
**Database administrators, upgrading users<br />
*pg_migrator<br />
**This ''beta'' tool allows in-place upgrade of databases from 8.3 to 8.4, without the downtime of dump and reload. Currently has some limitations around full text indexing.<br />
**Upgrading users, DBAs<br />
<br />
=== psql Improvements ===<br />
<br />
*Improved handling of long lines and tab characters in psql <br />
*Column storage type display in psql<br />
*Improved sequence display in psql<br />
*Better control of \timing in psql<br />
*display enum values in enum type display for psql<br />
*add table size display in psql<br />
*add display of referencing tables to \d output in psql<br />
*add tablespace and database size information to \l in psql<br />
*improved tab completion support for tables in multiple schemas <br />
*remove system objects from \dX commands in psql<br />
*added the \ef in psql for functions edition<br />
** \ef <functioname> will bring up a function definition in your editor, so you can edit functions on the server. <br />
*pgstat temp file<br />
<br />
== Other Developer Features ==<br />
*Common Table Expression (aka CTE, WITH queries)<br />
*Case Insensitive Text module<br />
*Partial Match support for Full Text Search<br />
<br />
** Generate subscripts allows for easier array traversal. You used to be able to do this with generate_series and array_upper and array_lower, but this new version should be easier to use and faster as well. <br />
*Support for statement level triggers for TRUNCATE command<br />
*make column alias keyword "as" optional (per sql spec)<br />
<br />
=== This ones shall be moved to "procedures"? ===<br />
*generate_subscripts() function<br />
*Time based generate_series() functions<br />
*quote_nullable()<br />
*suppress_redundent_updates() trigger <br />
*array_aggregate() function<br />
*unnest() function<br />
<br />
<br />
<br />
<br />
== 3rd Party Tools ==<br />
<br />
== Put off to 8.5 ==<br />
<br />
There is already an active "queue" of items that are being deferred for 8.4, in addition to the [[Todo:Contents|ToDo Lists]].<br />
<br />
[[Category: PostgreSQL 8.4]]</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3441CommitFest 2008-112008-11-09T16:44:02Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|49140871.4050906@ak.jp.nec.com|latest patches (r1197)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
{{comment|sriggs| Wiki contains dynamically updated list of outstanding items [[Hot_Standby]] }}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=Waiting for new version|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Hitoshi Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
{{comment|Hitoshi Harada|the latest patch is {{messageLink|e08cc0400811070746p43553f10s6bb09e98b7eafc3b@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut|status=WIP}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas|reviewers=Bernd Helmle}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
{{comment|tgl|new patch version {{messageLink|4914CD14.2060608@frogthinker.org|here}}}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Waiting on author|reviewers=Unicron, Robert Haas}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}}}}<br />
{{review|603c8f070811081050k79926d12x6547ae72abaa41af@mail.gmail.com|Robert Haas|wrong non-terminal, needs doc and psql updates}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting on author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
{{comment|tgl|I don't think the type-system behavior has been thought through properly}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|status=Waiting on Author|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
{{review|37ed240d0811062058n752c3880kb04feb85e355b524@mail.gmail.com|BJ|Query behaviour of 'P0001', final doc cleanup suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes 'P0001' and updated docs.}}<br />
{{comment|tgl|patch will need some work to sync with what I changed in the base IntervalStyle patch}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|I have {{messageLink|603c8f070811062006q4f20b2bq179d4d2ffec65690@mail.gmail.com|reimplemented this in C}}}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
{{review|49130E72.1000803@sigaev.ru|Teodor Sigaev|several bugs}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
{{comment|tgl|updated patch {{messageLink|1924d1180811051606w19aaf30du589e8ea10ea5534d@mail.gmail.com|here}}}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas|status=WIP|reviewers=Robert Haas}}<br />
{{comment|tgl|does this really need any more review at this point?}}<br />
{{comment|Robert Haas|asked author for {{messageLink|603c8f070811081745v410d2ff5o4bd107d7fbb440f3@mail.gmail.com|a status update}}}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris|reviewers=Kurt Harriman}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
{{comment|alvherre|{{messageLink|20081107191140.GE5507@alvh.no-ip.org|updated patch}} here}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander|reviewers=Alex Hunsaker}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
{{comment|alvherre|Bruce posted a {{messageLink|200811050502.mA552TJ20677@momjian.us|new version}}, but it still {{messageLink|20081107201029.GF5507@alvh.no-ip.org|needs some work}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
{{comment|alvherre|there's an {{messageLink|4912FA4E.1090000@benedekl.tvnetwork.hu|updated patch}}, and some extra {{messageLink|20081107202000.GG5507@alvh.no-ip.org|comments}}}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan|reviewers=Kenneth Marshall}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane|status=Committed 2008-11-06}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE SET TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle|status=Committed 2008-11-07}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
{{comment|Bernd Helmle|Updated version from Guillaume {{messageLink|4912C88A.2070808@lelarge.info|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version {{messageLink|49140181.3000903@lelarge.info|here}}}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall|status=Committed 2008-11-07}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Committed 2008-11-08|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Early updates {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}}, {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, and [http://0ape.com/postgres_interval_patches/ here]. Mostly related to GUC changes.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fix -12:01:-30 bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
{{review|28915.1226109473@sss.pgh.pa.us|Tom L|Tom pointed out issues with pg_dump and restore into databases with a different interval style}}<br />
{{comment|Ron Mayer|{{messageLink|4915AC0A.9070608@cheapcomplexdevices.com|Speculating}} if an analogy with standard_conforming_strings applies to how we can handle dump/restore.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 1<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 2 || 1<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 1<br />
|-<br />
|Robert Haas || Available || 1 || 4<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 1<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3440CommitFest 2008-112008-11-09T16:42:47Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|49140871.4050906@ak.jp.nec.com|latest patches (r1197)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
{{comment|sriggs| Wiki contains dynamically updated list of outstanding items [[Hot_Standby]] }}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=Waiting for new version|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Hitoshi Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
{{comment|Hitoshi Harada|the latest patch is {{messageLink|e08cc0400811070746p43553f10s6bb09e98b7eafc3b@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut|status=WIP}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas|reviewers=Bernd Helmle}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
{{comment|tgl|new patch version {{messageLink|4914CD14.2060608@frogthinker.org|here}}}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Waiting on author|reviewers=Unicron, Robert Haas}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}}}}<br />
{{review|603c8f070811081050k79926d12x6547ae72abaa41af@mail.gmail.com|Robert Haas|wrong non-terminal, needs doc and psql updates}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting on author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
{{comment|tgl|I don't think the type-system behavior has been thought through properly}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|status=Waiting on Author|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
{{review|37ed240d0811062058n752c3880kb04feb85e355b524@mail.gmail.com|BJ|Query behaviour of 'P0001', final doc cleanup suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes 'P0001' and updated docs.}}<br />
{{comment|tgl|patch will need some work to sync with what I changed in the base IntervalStyle patch}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|I have {{messageLink|603c8f070811062006q4f20b2bq179d4d2ffec65690@mail.gmail.com|reimplemented this in C}}}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
{{review|49130E72.1000803@sigaev.ru|Teodor Sigaev|several bugs}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
{{comment|tgl|updated patch {{messageLink|1924d1180811051606w19aaf30du589e8ea10ea5534d@mail.gmail.com|here}}}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas|status=WIP|reviewers=Robert Haas}}<br />
{{comment|tgl|does this really need any more review at this point?}}<br />
{{comment|Robert Haas|asked author for {{messageLink|603c8f070811081745v410d2ff5o4bd107d7fbb440f3@mail.gmail.com|a status update}}}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris|reviewers=Kurt Harriman}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
{{comment|alvherre|{{messageLink|20081107191140.GE5507@alvh.no-ip.org|updated patch}} here}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander|reviewers=Alex Hunsaker}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
{{comment|alvherre|Bruce posted a {{messageLink|200811050502.mA552TJ20677@momjian.us|new version}}, but it still {{messageLink|20081107201029.GF5507@alvh.no-ip.org|needs some work}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
{{comment|alvherre|there's an {{messageLink|4912FA4E.1090000@benedekl.tvnetwork.hu|updated patch}}, and some extra {{messageLink|20081107202000.GG5507@alvh.no-ip.org|comments}}}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan|reviewers=Kenneth Marshall}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane|status=Committed 2008-11-06}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE SET TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle|status=Committed 2008-11-07}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
{{comment|Bernd Helmle|Updated version from Guillaume {{messageLink|4912C88A.2070808@lelarge.info|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version {{messageLink|49140181.3000903@lelarge.info|here}}}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall|status=Committed 2008-11-07}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Committed 2008-11-08|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Early updates {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}}, {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, and [http://0ape.com/postgres_interval_patches/ here]. Mostly related to GUC changes.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fix -12:01:-30 bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
{{review|28915.1226109473@sss.pgh.pa.us|Tom L|Tom pointed out issues with pg_dump and restore into databases with a different interval style}}<br />
{{comment|Ron Mayer|{{messageLink|4915AC0A.9070608@cheapcomplexdevices.com|Speculating}} if an analogy with standard_conforming_strings applies to how we can handle dump/restore.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 1<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 2 || 1<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 1<br />
|-<br />
|Robert Haas || Available || 1 || 4<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 1<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3432CommitFest 2008-112008-11-08T19:32:41Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|49140871.4050906@ak.jp.nec.com|latest patches (r1197)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
{{comment|sriggs| Wiki contains dynamically updated list of outstanding items [[Hot_Standby]] }}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=Waiting for new version|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Hitoshi Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
{{comment|Hitoshi Harada|the latest patch is {{messageLink|e08cc0400811070746p43553f10s6bb09e98b7eafc3b@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas|reviewers=Bernd Helmle}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
{{comment|tgl|new patch version {{messageLink|4914CD14.2060608@frogthinker.org|here}}}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Waiting on author|reviewers=Unicron, Robert Haas}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}}}}<br />
{{review|603c8f070811081050k79926d12x6547ae72abaa41af@mail.gmail.com|Robert Haas|wrong non-terminal, needs doc and psql updates}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting on author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
{{comment|tgl|I don't think the type-system behavior has been thought through properly}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Ready for committer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Early updates {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}}, {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, and [http://0ape.com/postgres_interval_patches/ here]. Mostly related to GUC changes.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fix -12:01:-30 bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
{{review|28915.1226109473@sss.pgh.pa.us|Tom L|Tom pointed out issues with pg_dump and restore into databases with a different interval style}}<br />
{{comment|Ron Mayer|{{messageLink|4915AC0A.9070608@cheapcomplexdevices.com|Speculating}} if an analogy with standard_conforming_strings applies to how we can handle dump/restore.}}<br />
<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd|status=Waiting for response}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
{{review|37ed240d0811062058n752c3880kb04feb85e355b524@mail.gmail.com|BJ|Query behaviour of 'P0001', final doc cleanup suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes 'P0001' and updated docs.}}<br />
<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|I have {{messageLink|603c8f070811062006q4f20b2bq179d4d2ffec65690@mail.gmail.com|reimplemented this in C}}}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
{{review|49130E72.1000803@sigaev.ru|Teodor Sigaev|several bugs}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
{{comment|tgl|updated patch {{messageLink|1924d1180811051606w19aaf30du589e8ea10ea5534d@mail.gmail.com|here}}}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas|status=WIP|reviewers=Robert Haas}}<br />
{{comment|tgl|does this really need any more review at this point?}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
{{comment|alvherre|{{messageLink|20081107191140.GE5507@alvh.no-ip.org|updated patch}} here}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander|reviewers=Alex Hunsaker}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
{{comment|alvherre|Bruce posted a {{messageLink|200811050502.mA552TJ20677@momjian.us|new version}}, but it still {{messageLink|20081107201029.GF5507@alvh.no-ip.org|needs some work}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
{{comment|alvherre|there's an {{messageLink|4912FA4E.1090000@benedekl.tvnetwork.hu|updated patch}}, and some extra {{messageLink|20081107202000.GG5507@alvh.no-ip.org|comments}}}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan|reviewers=Kenneth Marshall}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane|status=Committed 2008-11-06}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE SET TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle|status=Committed 2008-11-07}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
{{comment|Bernd Helmle|Updated version from Guillaume {{messageLink|4912C88A.2070808@lelarge.info|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version {{messageLink|49140181.3000903@lelarge.info|here}}}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall|status=Committed 2008-11-07}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 1<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 2 || 1<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 1<br />
|-<br />
|Robert Haas || Available || 1 || 4<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 1<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3431CommitFest 2008-112008-11-08T19:31:33Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|49140871.4050906@ak.jp.nec.com|latest patches (r1197)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
{{comment|sriggs| Wiki contains dynamically updated list of outstanding items [[Hot_Standby]] }}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=Waiting for new version|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Hitoshi Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
{{comment|Hitoshi Harada|the latest patch is {{messageLink|e08cc0400811070746p43553f10s6bb09e98b7eafc3b@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas|reviewers=Bernd Helmle}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
{{comment|tgl|new patch version {{messageLink|4914CD14.2060608@frogthinker.org|here}}}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Waiting on author|reviewers=Unicron, Robert Haas}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}}}}<br />
{{review|603c8f070811081050k79926d12x6547ae72abaa41af@mail.gmail.com|Robert Haas|wrong non-terminal, needs doc and psql updates}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting on author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
{{comment|tgl|I don't think the type-system behavior has been thought through properly}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Ready for committer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Early updates {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}}, {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, and [http://0ape.com/postgres_interval_patches/ here]. Mostly related to GUC changes.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fix bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
{{review|28915.1226109473@sss.pgh.pa.us|Tom L|Tom pointed out issues with pg_dump and restore into databases with a different interval style}}<br />
{{comment|Ron Mayer|{{messageLink|4915AC0A.9070608@cheapcomplexdevices.com|Speculating}} if an analogy with standard_conforming_strings applies to how we can handle dump/restore.}}<br />
<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd|status=Waiting for response}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
{{review|37ed240d0811062058n752c3880kb04feb85e355b524@mail.gmail.com|BJ|Query behaviour of 'P0001', final doc cleanup suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes 'P0001' and updated docs.}}<br />
<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|I have {{messageLink|603c8f070811062006q4f20b2bq179d4d2ffec65690@mail.gmail.com|reimplemented this in C}}}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
{{review|49130E72.1000803@sigaev.ru|Teodor Sigaev|several bugs}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
{{comment|tgl|updated patch {{messageLink|1924d1180811051606w19aaf30du589e8ea10ea5534d@mail.gmail.com|here}}}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas|status=WIP|reviewers=Robert Haas}}<br />
{{comment|tgl|does this really need any more review at this point?}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
{{comment|alvherre|{{messageLink|20081107191140.GE5507@alvh.no-ip.org|updated patch}} here}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander|reviewers=Alex Hunsaker}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
{{comment|alvherre|Bruce posted a {{messageLink|200811050502.mA552TJ20677@momjian.us|new version}}, but it still {{messageLink|20081107201029.GF5507@alvh.no-ip.org|needs some work}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
{{comment|alvherre|there's an {{messageLink|4912FA4E.1090000@benedekl.tvnetwork.hu|updated patch}}, and some extra {{messageLink|20081107202000.GG5507@alvh.no-ip.org|comments}}}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan|reviewers=Kenneth Marshall}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane|status=Committed 2008-11-06}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE SET TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle|status=Committed 2008-11-07}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
{{comment|Bernd Helmle|Updated version from Guillaume {{messageLink|4912C88A.2070808@lelarge.info|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version {{messageLink|49140181.3000903@lelarge.info|here}}}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall|status=Committed 2008-11-07}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 1<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 2 || 1<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 1<br />
|-<br />
|Robert Haas || Available || 1 || 4<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 1<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3430CommitFest 2008-112008-11-08T19:30:52Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|49140871.4050906@ak.jp.nec.com|latest patches (r1197)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
{{comment|sriggs| Wiki contains dynamically updated list of outstanding items [[Hot_Standby]] }}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=Waiting for new version|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Hitoshi Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
{{comment|Hitoshi Harada|the latest patch is {{messageLink|e08cc0400811070746p43553f10s6bb09e98b7eafc3b@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas|reviewers=Bernd Helmle}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
{{comment|tgl|new patch version {{messageLink|4914CD14.2060608@frogthinker.org|here}}}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Waiting on author|reviewers=Unicron, Robert Haas}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}}}}<br />
{{review|603c8f070811081050k79926d12x6547ae72abaa41af@mail.gmail.com|Robert Haas|wrong non-terminal, needs doc and psql updates}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting on author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
{{comment|tgl|I don't think the type-system behavior has been thought through properly}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Ready for committer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Early updates {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}}, {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, and [http://0ape.com/postgres_interval_patches/ here]. Mostly related to GUC changes.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixe bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
{{review|28915.1226109473@sss.pgh.pa.us|Tom L|Tom pointed out issues with pg_dump and restore into databases with a different interval style}}<br />
{{comment|Ron Mayer|{{messageLink|4915AC0A.9070608@cheapcomplexdevices.com|Speculating}} if an analogy with standard_conforming_strings applies to how we can handle dump/restore.}}<br />
<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd|status=Waiting for response}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
{{review|37ed240d0811062058n752c3880kb04feb85e355b524@mail.gmail.com|BJ|Query behaviour of 'P0001', final doc cleanup suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes 'P0001' and updated docs.}}<br />
<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|I have {{messageLink|603c8f070811062006q4f20b2bq179d4d2ffec65690@mail.gmail.com|reimplemented this in C}}}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
{{review|49130E72.1000803@sigaev.ru|Teodor Sigaev|several bugs}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
{{comment|tgl|updated patch {{messageLink|1924d1180811051606w19aaf30du589e8ea10ea5534d@mail.gmail.com|here}}}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas|status=WIP|reviewers=Robert Haas}}<br />
{{comment|tgl|does this really need any more review at this point?}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
{{comment|alvherre|{{messageLink|20081107191140.GE5507@alvh.no-ip.org|updated patch}} here}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander|reviewers=Alex Hunsaker}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
{{comment|alvherre|Bruce posted a {{messageLink|200811050502.mA552TJ20677@momjian.us|new version}}, but it still {{messageLink|20081107201029.GF5507@alvh.no-ip.org|needs some work}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
{{comment|alvherre|there's an {{messageLink|4912FA4E.1090000@benedekl.tvnetwork.hu|updated patch}}, and some extra {{messageLink|20081107202000.GG5507@alvh.no-ip.org|comments}}}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan|reviewers=Kenneth Marshall}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane|status=Committed 2008-11-06}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE SET TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle|status=Committed 2008-11-07}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
{{comment|Bernd Helmle|Updated version from Guillaume {{messageLink|4912C88A.2070808@lelarge.info|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version {{messageLink|49140181.3000903@lelarge.info|here}}}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall|status=Committed 2008-11-07}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 1<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 2 || 1<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 1<br />
|-<br />
|Robert Haas || Available || 1 || 4<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 1<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3429CommitFest 2008-112008-11-08T19:23:20Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|49140871.4050906@ak.jp.nec.com|latest patches (r1197)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
{{comment|sriggs| Wiki contains dynamically updated list of outstanding items [[Hot_Standby]] }}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=Waiting for new version|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Hitoshi Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
{{comment|Hitoshi Harada|the latest patch is {{messageLink|e08cc0400811070746p43553f10s6bb09e98b7eafc3b@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas|reviewers=Bernd Helmle}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
{{comment|tgl|new patch version {{messageLink|4914CD14.2060608@frogthinker.org|here}}}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Waiting on author|reviewers=Unicron, Robert Haas}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}}}}<br />
{{review|603c8f070811081050k79926d12x6547ae72abaa41af@mail.gmail.com|Robert Haas|wrong non-terminal, needs doc and psql updates}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting on author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
{{comment|tgl|I don't think the type-system behavior has been thought through properly}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Ready for committer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixe bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
{{review|28915.1226109473@sss.pgh.pa.us|Tom L|Tom pointed out issues with pg_dump and restore into databases with a different interval style}}<br />
{{comment|Ron Mayer|{{messageLink|4915AC0A.9070608@cheapcomplexdevices.com|Speculating}} if an analogy with standard_conforming_strings applies to how we can handle dump/restore.}}<br />
<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd|status=Waiting for response}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
{{review|37ed240d0811062058n752c3880kb04feb85e355b524@mail.gmail.com|BJ|Query behaviour of 'P0001', final doc cleanup suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes 'P0001' and updated docs.}}<br />
<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|I have {{messageLink|603c8f070811062006q4f20b2bq179d4d2ffec65690@mail.gmail.com|reimplemented this in C}}}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
{{review|49130E72.1000803@sigaev.ru|Teodor Sigaev|several bugs}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
{{comment|tgl|updated patch {{messageLink|1924d1180811051606w19aaf30du589e8ea10ea5534d@mail.gmail.com|here}}}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas|status=WIP|reviewers=Robert Haas}}<br />
{{comment|tgl|does this really need any more review at this point?}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
{{comment|alvherre|{{messageLink|20081107191140.GE5507@alvh.no-ip.org|updated patch}} here}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander|reviewers=Alex Hunsaker}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
{{comment|alvherre|Bruce posted a {{messageLink|200811050502.mA552TJ20677@momjian.us|new version}}, but it still {{messageLink|20081107201029.GF5507@alvh.no-ip.org|needs some work}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
{{comment|alvherre|there's an {{messageLink|4912FA4E.1090000@benedekl.tvnetwork.hu|updated patch}}, and some extra {{messageLink|20081107202000.GG5507@alvh.no-ip.org|comments}}}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan|reviewers=Kenneth Marshall}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane|status=Committed 2008-11-06}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE SET TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle|status=Committed 2008-11-07}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
{{comment|Bernd Helmle|Updated version from Guillaume {{messageLink|4912C88A.2070808@lelarge.info|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version {{messageLink|49140181.3000903@lelarge.info|here}}}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall|status=Committed 2008-11-07}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 1<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 2 || 1<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 1<br />
|-<br />
|Robert Haas || Available || 1 || 4<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 1<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3428CommitFest 2008-112008-11-08T19:22:02Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|49140871.4050906@ak.jp.nec.com|latest patches (r1197)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
{{comment|sriggs| Wiki contains dynamically updated list of outstanding items [[Hot_Standby]] }}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=Waiting for new version|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas|status=Waiting for new version}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Hitoshi Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
{{comment|Hitoshi Harada|the latest patch is {{messageLink|e08cc0400811070746p43553f10s6bb09e98b7eafc3b@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas|reviewers=Bernd Helmle}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
{{comment|tgl|new patch version {{messageLink|4914CD14.2060608@frogthinker.org|here}}}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Waiting on author|reviewers=Unicron, Robert Haas}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}}}}<br />
{{review|603c8f070811081050k79926d12x6547ae72abaa41af@mail.gmail.com|Robert Haas|wrong non-terminal, needs doc and psql updates}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting on author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
{{comment|tgl|I don't think the type-system behavior has been thought through properly}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Ready for committer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixe bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
{{review|28915.1226109473@sss.pgh.pa.us|Tom L|Tom pointed out issues with pg_dump and restore into databases with a different interval style}}<br />
{{comment|Ron Mayer|{{messageLink|4915AC0A.9070608@cheapcomplexdevices.com>|Speculating}} if an analogy with standard_conforming_strings applies to how we can handle dump/restore.}}<br />
<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd|status=Waiting for response}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
{{review|37ed240d0811062058n752c3880kb04feb85e355b524@mail.gmail.com|BJ|Query behaviour of 'P0001', final doc cleanup suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes 'P0001' and updated docs.}}<br />
<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|I have {{messageLink|603c8f070811062006q4f20b2bq179d4d2ffec65690@mail.gmail.com|reimplemented this in C}}}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
{{review|49130E72.1000803@sigaev.ru|Teodor Sigaev|several bugs}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
{{comment|tgl|updated patch {{messageLink|1924d1180811051606w19aaf30du589e8ea10ea5534d@mail.gmail.com|here}}}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas|status=WIP|reviewers=Robert Haas}}<br />
{{comment|tgl|does this really need any more review at this point?}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
{{comment|alvherre|{{messageLink|20081107191140.GE5507@alvh.no-ip.org|updated patch}} here}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander|reviewers=Alex Hunsaker}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
{{comment|alvherre|Bruce posted a {{messageLink|200811050502.mA552TJ20677@momjian.us|new version}}, but it still {{messageLink|20081107201029.GF5507@alvh.no-ip.org|needs some work}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
{{comment|alvherre|there's an {{messageLink|4912FA4E.1090000@benedekl.tvnetwork.hu|updated patch}}, and some extra {{messageLink|20081107202000.GG5507@alvh.no-ip.org|comments}}}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan|reviewers=Kenneth Marshall}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane|status=Committed 2008-11-06}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE SET TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle|status=Committed 2008-11-07}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
{{comment|Bernd Helmle|Updated version from Guillaume {{messageLink|4912C88A.2070808@lelarge.info|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version {{messageLink|49140181.3000903@lelarge.info|here}}}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall|status=Committed 2008-11-07}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 1<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 2 || 1<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 1<br />
|-<br />
|Robert Haas || Available || 1 || 4<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 1<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3370CommitFest 2008-112008-11-06T19:15:40Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Ready for Code Review}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}} }}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting for Author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Ready for committer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixe bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd|status=Responding to code review}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3369CommitFest 2008-112008-11-06T19:14:31Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] is a draft of comprehensive document}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
{{comment|sriggs|do we want this split out again as a separate patch for easier review?}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
{{comment|sriggs| v5d now available, fixing all Mark's reported issues. Main parts are fully reviewable}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811050617o3237130awb4aec1d3a2daacab@mail.gmail.com|walsender process patch v1}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule|reviewers=Ibrar Ahmed}}<br />
{{comment|Pavel Stehule| doc and notes [[Grouping Sets]]}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
{{comment|Guillaume Lelarge|Updated version with SET syntax {{messageLink|4910E46E.4010000@lelarge.info|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|status=Ready for Code Review}}<br />
{{comment|Unicron|Patch {{messageLink|850603.14426.qm@web62408.mail.re1.yahoo.com|works per specification}} }}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut|status=Waiting for Author}}<br />
{{comment|Bernd Helmle|Patch needs further work regarding {{messageLink|17750.1225571886@sss.pgh.pa.us|indexing}}}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle|reviewers=Unicron}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Ready for committer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
{{review|37ed240d0811042102q78df5b86t2ff2092a75d371d7@mail.gmail.com|BJ|One last typo in docs but otherwise all good; review complete}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|reviewers=Brendan Jurd|status=Responding to code review}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
{{review|37ed240d0811050750v11726fd1of441646f87b583da@mail.gmail.com|BJ|Code style and documentation suggestions}}<br />
{{comment|Ron Mayer|Update here [http://0ape.com/postgres_interval_patches/ here] that fixes style & docs; as well as a bug where the ISO8601 spec wasn't quite followed (an optional field was treated as required by previous patches).}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt|reviewers=Joshua Tolley}}<br />
{{comment|Joshua Tolley|[http://archives.postgresql.org/pgsql-hackers/2008-11/msg00286.php] reports backend crash}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081106171139.8D21.52131E4D@oss.ntt.co.jp|contrib infrastructures|Martin Pihlak, Takahiro Itagaki|reviewers=Jeff Davis, Matthew Wetmore}}<br />
{{comment|Itagaki|contains {{messageLink|490A00A8.7050708@gmail.com|QueryDesc}}, {{messageLink|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|explain}} and {{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|hooks}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
{{comment|Itagaki|nested statements handling is {{messageLink|48FCA095.8020709@gmail.com|requested}}}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
{{comment|Itagaki|{{messageLink|1d709ecc0811011343lf65f58fjb2e96194f4c2ecc5@mail.gmail.com|comments}} from Vladimir}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed|Status=Waiting for Author}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
{{comment|itagaki|comments and updated version {{messageLink|20081104094301.7EE8.52131E4D@oss.ntt.co.jp|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker|status=Waiting on author}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
{{review|34d269d40811031902p1d73d177w9f2e721ae169e8be@mail.gmail.com|alexhun|few questions and tgl had some constructive {{messageLink|24867.1225819435@sss.pgh.pa.us|comments}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO|reviewers=Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 2 || 2<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3314CommitFest 2008-112008-11-04T20:58:18Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch that can be found elsewhere on this page.}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3313CommitFest 2008-112008-11-04T20:57:39Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch this depends on}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3312CommitFest 2008-112008-11-04T20:57:15Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}} <br />
{{comment|Ron Mayer|Latest version [http://0ape.com/postgres_interval_patches/ here] that matches the latest version of the IntervalStyle patch this depends on}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3311CommitFest 2008-112008-11-04T20:55:08Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the IntervalStyle GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3310CommitFest 2008-112008-11-04T20:54:37Z<p>Ramayer: </p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the [http://wiki.postgresql.org/index.php?title=CommitFest_2008-11&action=edit&section=6 IntervalStyle] GUC patch to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3309CommitFest 2008-112008-11-04T20:53:32Z<p>Ramayer: /* Datatypes */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the [http://wiki.postgresql.org/index.php?title=CommitFest_2008-11&action=edit&section=6 IntervalStyle GUC patch] to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3308CommitFest 2008-112008-11-04T20:51:37Z<p>Ramayer: /* Returned with Feedback */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|the mailing list|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3307CommitFest 2008-112008-11-04T20:49:42Z<p>Ramayer: /* Returned with Feedback */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|Various|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{comment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} to fixed bug and style suggestions from the review and to attempt to address feedback about mixed-sign intervals with doc updates.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3306CommitFest 2008-112008-11-04T20:48:05Z<p>Ramayer: /* Returned with Feedback */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{comment|Various|Feedback from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} about mixed-sign intervals}}<br />
{{commment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} that I believe fixed the mentioned bug and style suggestions from the review and attempted to address feedback about mixed-sign intervals by describing how this patch handles them in the docs.}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3305CommitFest 2008-112008-11-04T20:45:57Z<p>Ramayer: </p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{commment|Ron Mayer|Updated patch {{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} that I believe fixed the mentioned bug and style suggestions. Also attempted to address feedback about mixed-sign intervals from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} by describing how this patch handles them in the docs. }}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3304CommitFest 2008-112008-11-04T20:45:07Z<p>Ramayer: </p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
Managers for this CommitFest are Josh Berkus (josh-at-agliodbs-com) and Dave Page (dpage-at-pgadmin-org).<br />
<br />
{{CommitFestCurrent}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== SE-PostgreSQL and related ===<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|490AD10A.6020902@ak.jp.nec.com|latest patches (r1168)}}}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=Pending Review|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
{{comment|Stephen Frost|Updated patch, again, {{messageLink|20081102034517.GR4452@tamriel.snowman.net|here}}}}<br />
{{comment|Stephen Frost|Updated patch, fixes case where unprivileged user can get row count, {{messageLink|20081102131332.GU4452@tamriel.snowman.net|here}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Recovery, Replication, Hot Standby ===<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
{{comment|sriggs|some issues overlooked, fixed as part of Hot Standby patch only at present}}<br />
<br />
{{patch|1225557138.3971.673.camel@ebony.2ndQuadrant|Hot Standby - queries during archive recovery|status=Pending Review|Simon Riggs}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch||pg_start_backup checkpoint issue|Simon Riggs}}<br />
{{comment|sriggs|separated out from Infrastructure changes patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on dependencies|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|3f0b79eb0810310436w360f0afdy76ff1499b177ce0d@mail.gmail.com|Synchronous log-shipping replication|Masao Fujii|reviewers=Heikki Linnakangas, Simon Riggs}}<br />
{{comment|fujii|{{messageLink|3f0b79eb0811040404r799d3170v5bb9f201000f1771@mail.gmail.com|signal handling patch v2}} here}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Upgrade-in-place and related issues === <br />
<br />
{{patch|490B7C1B.8050408@sun.com|In-place online upgrade|status=WIP|Zdenek Kotala|reviewers=Robert Haas}}<br />
{{comment|Zdenek Kotala|This patch requires "htup and bufpage API clean up" and "HeapTuple version extension" patches. Git repository is [http://git.postgresql.org here] }}<br />
{{review|603c8f070811022022x582a9cbdp60798a6b87910edf@mail.gmail.com|Robert Haas|preliminary comments, still need a clean diff}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala|reviewers=Robert Haas|status=Waiting on author}}<br />
{{comment|tgl|seems it'd be better to make TOAST chunks work like {{messageLink|490AB654.6040409@enterprisedb.com|this}}}}<br />
<br />
{{patch|4909DFCE.1000702@sun.com|HeapTuple version extension + code cleanup|Zdenek Kotala|reviewers=Robert Haas}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== SQL language features ===<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada|reviewers=Heikki Linnakangas, David Rowley}}<br />
{{comment|Harada|updated patch is {{messageLink|e08cc0400810310721l22a6bb7kb6a300ce66443806@mail.gmail.com|here}}}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stehule|reviewers=Peter Eisentraut}}<br />
{{comment|Pavel Stehule| fix known bugs, currently only doc should be finished}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge|reviewers=Bernd Helmle}}<br />
{{comment|Bernd Helmle|Syntax discussion and updated version {{messageLink|C0F6602797884925406AB88F@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Prepared transactions and temp tables|Emmanuel Cecchet|reviewers=Heikki Linnakangas}}<br />
<br />
{{patch|4909726F.8000800@gmx.net|TABLE command|Peter Eisentraut|reviewers=Unicron}}<br />
<br />
{{patch|490AFC08.8040500@Sun.COM|Distinct types|Peter Eisentraut}}<br />
<br />
{{patch|2849137C693B65CC8E86411C@imhotep.credativ.de|Automatic view update rules|status=WIP|Bernd Helmle}}<br />
{{comment|Bernd Helmle|New version with RETURNING support {{messageLink|94CF655A8D0DC7D5B4B81D8B@imhotep.credativ.de|here}}}}<br />
<br />
{{patch|1225543926.8122.14.camel@huvostro|Enable pl/python to return records based on multiple OUT params|status=Waiting on author|Hannu Krosing}}<br />
{{comment|Robert Haas|Hannu is {{messageLink|1225781532.7597.19.camel@huvostro|working on a new version}}}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Datatypes ===<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
{{comment|Robert Haas|{{messageLink|490BA342.7010300@cheapcomplexdevices.com|latest version}}}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg/array_accum|Robert Haas|reviewers=Peter Eisentraut}}<br />
{{comment|Robert Haas|{{messageLink|1225045937.4434.21.camel@localhost.localdomain|another version}} and {{messageLink|1225682527.1375.150.camel@jdavis|another one}} from Jeff Davis}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Indexes ===<br />
<br />
{{patch|490B07BA.6030109@sigaev.ru|GIN fast insert|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|490B3752.3010800@sigaev.ru|B-Tree emulation for GIN|status=WIP|Teodor Sigaev, Oleg Bartunov}}<br />
<br />
{{patch|20081101000154.GO27872@fune|On-disk bitmap indexes|status=WIP|Gabriele Bartolini, Gianni Ciolli|reviewers=Greg Stark (more welcome!)}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Performance ===<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas|reviewers=Tom Lane}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
{{comment|Robert Haas|patch {{messageLink|603c8f070811011023n202aea33w4da13b7d14f74134@mail.gmail.com|v2}}, adjusting for Heikki's changes to the ReadBuffer interface}}<br />
<br />
{{patch|4909B326.507@enterprisedb.com|Optimizing COPY with memchr()|Heikki Linnakangas}}<br />
<br />
{{patch|87ljw5c0lx.fsf@oxford.xeocode.com|posix_fadvise|Gregory Stark}}<br />
<br />
{{patch|a778a7260810280033n43f70d36x8c437eacf9a5461e@mail.gmail.com|Proposal of PITR performance improvement|Koichi Suzuki|reviewers=Simon Riggs}}<br />
<br />
{{patch||Join Removal|Simon Riggs, Jonah Harris}}<br />
{{patch|36e682920811021349h7202bdecpd7a45c8a8038465e@mail.gmail.com|Hash Join-Filter Pruning using Bloom Filters|status=WIP|Jonah Harris}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Improving admin experience ===<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox|reviewers=Peter Eisentraut}}<br />
<br />
{{patch|a301bfd90810310750pf108c69x36499546f406650f@mail.gmail.com|Auto Partitioning Patch|Nikhil Sontakke|reviewers=Jaime Casanova}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
{{comment|sriggs|agreed rework to implement pg_domain constraint, but the main patch still needs review}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Connection management ===<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander|reviewers=Gianni Colli}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Contrib modules ===<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler|reviewers=<br />
Kenneth Marshall}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|reviewers=Jeff Davis}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki|reviewers=Matthew Wetmore}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_statements querydesc|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490A00A8.7050708@gmail.com|here}}}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy|reviewers=Simon Riggs}}<br />
{{comment|Simon Riggs|Deferring review for a few weeks until we get a better picture of streaming replication requirements for 8.4}}<br />
<br />
{{patch|Pine.GSO.4.64.0811012101220.17619@westnet.com|Simple postgresql.conf wizard|Greg Smith|reviewers=Josh Berkus}}<br />
<br />
|-<br />
| colspan="4" |<br />
=== Clients ===<br />
<br />
{{patch|200810271936.m9RJaGW09544@momjian.us|libpq callback unregistration|Bruce Momjian|reviewers=Magnus Hagander}}<br />
{{comment|Magnus|Needs more work, comments {{messageLink|490EEF2D.2050703@hagander.net|here}}}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek Laszlo|reviewers=Ibrar Ahmed}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
|-<br />
| colspan="4" |<br />
<br />
=== Miscellaneous ===<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
{{comment|tgl|updated version {{messageLink|2C940A1672E743439355545C5DB15786@HIRO57887DE653|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|49097338.2070700@gmail.com|SQL/MED compatible connection manager|Martin Pihlak|status=WIP}}<br />
{{comment|Martin Pihlak|Updated patch {{messageLink|490B28FA.4080101@gmail.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter|reviewers=Alex Hunsaker}}<br />
{{comment|David Fetter|Updated patch {{messageLink|20081031144852.GF15545@fetter.org|here}}}}<br />
<br />
{{patch|f205bb120810280833x340324d3m19a4f8aa65d822b@mail.gmail.com|FAQ_Solaris 1.28 to spanish|Emanuel CALVO FRANCO}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{patch|490A138E.80100@enterprisedb.com|User defined I/O conversion casts|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|status=Committed 2008-10-31|Heikki Linnakangas}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Committed 2008-11-01}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak|reviewers=Tom Lane|status=Committed 2008-11-02}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd|reviewers=Kurt Harriman|status=Committed 2008-11-03}}<br />
{{comment|Kurt Harriman|{{messageLink|http://archives.postgresql.org/pgsql-hackers/2008-11/msg00080.php|Updated patch}} is ready to commit if there is no objection}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala|reviewers=Tom Lane|status=Committed 2008-11-03}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-03}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas|reviewers=Peter Eisentraut|status=Committed 2008-11-04}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis|reviewers=Brendan Jurd|status=Pending rework}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala|reviewers=Robert Haas|status=Needs different approach}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
{{review|603c8f070811031822q7d3b33f7x8576b7028f498cc4@mail.gmail.com|Robert Haas|proposed API seems too costly and fragile}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer|status=Responded to first review|reviewers=Brendan Jurd}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting.}}<br />
{{comment|Ron Mayer|Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
{{review|37ed240d0811032122u56db1959h91f53bbb9733c90d@mail.gmail.com|BJ|Bug in output, stylistic suggestions}}<br />
{{commment|Ron Mayer|Updated patch<br />
{{messageLink|4910B1DB.4000000.cheapcomplexdevices@com|here}} that I believe fixed the mentioned bug and style suggestions. Also attempted to address feedback about mixed-sign intervals from {{messageLink|19477.1225814409@sss.pgh.pa.us|Tom L}} and {{messageLink|49101C94.EE98.0025.0@wicourts.gov|Kevin G}} by describing how this patch handles them in the docs.<br />
}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Round Robin Reviewers ==<br />
<br />
<br />
{| border="1" cellpadding="1" cellspacing="0" style="width: 60%; border-collapse: collapse; border: 1px solid #ccc; font-size: 90%;"<br />
|- style="background: #eee;"<br />
! width="30%" | Name<br />
!Status<br />
!Reviewing<br />
!Completed<br />
|-<br />
|Brendan Jurd || Available || 1 || 1<br />
|-<br />
|Jaime Casanova || Available || 1 || 0<br />
|-<br />
|Stephen Frost || Available 11/15 || 0 || 0<br />
|-<br />
|Jeff Davis || Available || 1 || 0<br />
|-<br />
|Greg Stark || Unknown || 1 || 0<br />
|-<br />
|Abhijit Menon-Sen || Unknown || 0 || 0<br />
|-<br />
|Alex Hunsaker || Available || 1 || 0<br />
|-<br />
|Markus Wanner || Cherry-picking || 1 || 0<br />
|-<br />
|Ibrar Ahmed || Available || 1 || 0<br />
|-<br />
|D'Arcy Cain || Unknown || 0 || 0<br />
|-<br />
|Kenneth Marshall || Available || 1 || 0<br />
|-<br />
|Robert Haas || Available || 3 || 1<br />
|-<br />
|Matthew Wetmore || Available || 1 || 0<br />
|-<br />
|Gianni Colli || Available || 1 || 0<br />
|-<br />
|"Unicron" || Available || 1 || 0<br />
|}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3129CommitFest 2008-112008-10-30T14:26:37Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
{{comment|Robert Haas|KaiGai's latest version is {{messageLink|48F46606.4080207@ak.jp.nec.com|r1120}}}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|49082203.1090302@ak.jp.nec.com|latest patches (r1155)}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|<br />
An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed <br />
some bugs in GUC setting. <br />
Another update {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, <br />
brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Brought up-to-date with head [http://0ape.com/postgres_interval_patches/ here]. Now allows setting IntervalStyle through an environment variable because pg_regress had set interval styles (as a side-effect of setting DateStyles) through the environment, some minor cleanup.}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first.}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek László}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_staments querydesc|Martin Pihlak}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox}}<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Transactions and temp tables|Emmanuel Cecchet}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg|Robert Haas}}<br />
{{comment|Robert Haas|{{messageLink|27bbfebe0810151633q1aac3ea8v864bea997f3cc5ec@mail.gmail.com|another version}} from Ian Caulfield and {{messageLink|1225045937.4434.21.camel@localhost.localdomain|yet another}} from Jeff Davis}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stěhule}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Ready for commit}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter}}<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|Heikki Linnakangas}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3128CommitFest 2008-112008-10-30T14:11:32Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
{{comment|Robert Haas|KaiGai's latest version is {{messageLink|48F46606.4080207@ak.jp.nec.com|r1120}}}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|49082203.1090302@ak.jp.nec.com|latest patches (r1155)}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting}}<br />
{{comment|Ron Mayer|Latest patch as of Oct 2 {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Another update [http://0ape.com/postgres_interval_patches/ here], brought up-to-date with head, now allows setting IntervalStyle through an environment variable because pg_regress had set intervalstyles through the environment, some minor cleanup}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first}}<br />
{{comment|Ron Mayer|The initial (2003) version of this patch along with a thread which explains the feature a bit more can be found [http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php here].}}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek László}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_staments querydesc|Martin Pihlak}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox}}<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Transactions and temp tables|Emmanuel Cecchet}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg|Robert Haas}}<br />
{{comment|Robert Haas|{{messageLink|27bbfebe0810151633q1aac3ea8v864bea997f3cc5ec@mail.gmail.com|another version}} from Ian Caulfield and {{messageLink|1225045937.4434.21.camel@localhost.localdomain|yet another}} from Jeff Davis}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stěhule}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Ready for commit}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter}}<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|Heikki Linnakangas}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=3127CommitFest 2008-112008-10-30T14:10:15Z<p>Ramayer: </p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
{{comment|Robert Haas|KaiGai's latest version is {{messageLink|48F46606.4080207@ak.jp.nec.com|r1120}}}}<br />
{{comment|Robert Haas|{{messageLink|48F71E36.9010203@ak.jp.nec.com|latest version}}, now with 6 patches}}<br />
{{comment|KaiGai|[[SEPostgreSQL]] can be a comprehensive documentation (now in progress)}}<br />
{{comment|KaiGai|{{messageLink|49082203.1090302@ak.jp.nec.com|latest patches (r1155)}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
{{comment|Heikki|Unix-makefile version: {{messageLink|BLU110-W57823CEB7DC113354471EFF3B0@phx.gbl|here}}}}<br />
<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting}}<br />
{{comment|Ron Mayer|Latest patch as of Oct 2 {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Another update [http://0ape.com/postgres_interval_patches/ here], brought up-to-date with head, now allows setting IntervalStyle through an environment variable because pg_regress had set intervalstyles through the environment, some minor cleanup}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature a bit more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php }}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests.}}<br />
<br />
{{patch|48CEDE68.7090501@cheapcomplexdevices.com|Interval rounding consistency|Ron Mayer}}<br />
{{comment|Ron Mayer|Patch 3 [http://0ape.com/postgres_interval_patches/ here] refactors the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles. This patch applies on top of the IntervalStyle patch and the ISO 8601 Interval patch.}}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
{{comment|Robert Haas|{{messageLink|1722552592.7.1224882093461.JavaMail.root@spotone|ddl_lock_reduce.v4.patch}}}}<br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|}}<br />
<br />
{{patch|603c8f070810092009s1312d30bxc854cdfb5d9fed7e@mail.gmail.com|Allow the UUID type to accept non-standard formats|Robert Haas}}<br />
<br />
{{patch|603c8f070810101937n776c1e7cvd6a12345b0bbda28@mail.gmail.com|array_ndims|Robert Haas}}<br />
<br />
{{patch|48F04B7C.3080303@benedekl.tvnetwork.hu|pg_dump roles support|Benedek László}}<br />
<br />
{{patch|20081011172450.3402.52131E4D@oss.ntt.co.jp|contrib/pg_stat_statements|Takahiro Itagaki}}<br />
{{comment|Itagaki|{{messageLink|20081027171917.ADD6.52131E4D@oss.ntt.co.jp|latest patch versions}}}}<br />
<br />
{{patch|49078031.9030002@gmail.com|contrib/pg_stat_staments querydesc|Martin Pihlak}}<br />
<br />
{{patch|c2ee6dbd0810100553gd328275ue2eb6e14bee70a8@mail.gmail.com|adding VERBOSE option to CLUSTER|Jim Cox}}<br />
<br />
{{patch|e08cc0400810270912u49a6ec83vc23984c01f368f76@mail.gmail.com|Window Functions|Hitoshi Harada}}<br />
<br />
{{patch|48F1FC7E.1060406@sun.com|Extending pg_class info + more flexible TOAST chunk size|Zdenek Kotala}}<br />
<br />
{{patch|48EFA13C.2060407@frogthinker.org|Transactions and temp tables|Emmanuel Cecchet}}<br />
<br />
{{patch|20952F54-6730-49D8-99A3-1834697790B5@decibel.org|array_length|Jim C. Nasby}}<br />
<br />
{{patch|603c8f070810151933p445978b3td481a5422a2aebf4@mail.gmail.com|array_agg|Robert Haas}}<br />
{{comment|Robert Haas|{{messageLink|27bbfebe0810151633q1aac3ea8v864bea997f3cc5ec@mail.gmail.com|another version}} from Ian Caulfield and {{messageLink|1225045937.4434.21.camel@localhost.localdomain|yet another}} from Jeff Davis}}<br />
<br />
{{patch|490878AC.1@dunslane.net|parallel restore|status=WIP|Andrew Dunstan}}<br />
<br />
{{patch|48F53EC0.3020004@timbira.com|autovacuum and reloption|status=WIP|Euler Taveira de Oliveira|reviewers=Alvaro Herrera}}<br />
<br />
{{patch|162867790810170316l4eeecb0bq321dd771f8f4e661@mail.gmail.com|grouping sets|status=WIP|Pavel Stehule}}<br />
<br />
{{patch|6EEA43D22289484890D119821101B1DF2C1683@exchange20.mercury.ad.ubc.ca|Improve Performance of Multi-Batch Hash Join for Skewed Data Sets|Ramon Lawrence/Bryce Cutt}}<br />
<br />
{{patch|48FC7E84.3080702@hagander.net|SSL cleanups/hostname verification|Magnus Hagander}}<br />
<br />
{{patch|49009D67.4040202@hagander.net|clientcert option for pg_hba|Magnus Hagander}}<br />
<br />
{{patch|e4ccc24e0810222010p12bae2f4xa3a11cb2bc51bd89@mail.gmail.com|pg_standby support for compressed segments|Charles Duffy}}<br />
<br />
{{patch|162867790810260428p56d16352qa1ec5c4c5330f25c@mail.gmail.com|default values for function's parameters|Pavel Stěhule}}<br />
<br />
{{patch|490394B7.6090503@lelarge.info|ALTER DATABASE WITH TABLESPACE Statement|Guillaume Lelarge}}<br />
<br />
{{patch|Pine.BSO.4.64.0810271955030.28764@leary.csoft.net|use new heap_(form/deform/modify)_tuple API|Kris Jurka|reviewers=Zdenek Kotala|status=Ready for commit}}<br />
{{comment|Zdenek Kotala| It seems OK. Needs apply also {{messageLink|Pine.BSO.4.64.0810281721500.6833@leary.csoft.net|pfree patch.}}}}<br />
<br />
{{patch|49076F39.1080502@hagander.net|regexp support in usermaps|Magnus Hagander}}<br />
<br />
{{patch|Pine.BSO.4.64.0810281622240.9851@leary.csoft.net|don't use MAKE_PTR/OFFSET for shmem pointers|Kris Jurka}}<br />
<br />
{{patch|603c8f070810282045g7fa6bdf9p53f03114d49643d7@mail.gmail.com|bulk inserts - keep most recent page pinned|Robert Haas}}<br />
{{comment|Robert Haas|based on work by Simon Riggs: [http://archives.postgresql.org/pgsql-hackers/2008-02/msg01080.php original idea],[http://archives.postgresql.org/pgsql-patches/2008-02/msg00140.php original patch], [http://archives.postgresql.org/pgsql-patches/2008-02/msg00154.php Tom Lane's comments]}}<br />
{{comment|Robert Haas|Tom's comments on my [http://archives.postgresql.org/pgsql-hackers/2008-10/msg01276.php design proposal] are {{messageLink|17996.1225049097@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|49086E4C.9030602@sun.com|htup and bufpage API clean up|Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|New version is {{messageLink|490875FA.4020709@sun.com|here}}}}<br />
<br />
{{patch|20081029164000.GL27466@fetter.org|pre-MED|David Fetter}}<br />
<br />
{{patch|4905AE17.7090305@enterprisedb.com|Visibility map, partial vacuums|status=WIP|Heikki Linnakangas}}<br />
<br />
{{patch|49085327.5010608@enterprisedb.com|Updating FSM on recovery|Heikki Linnakangas}}<br />
<br />
{{patch|1225010283.21241.33.camel@localhost.localdomain|new correlation metric|Jeff Davis}}<br />
<br />
{{patch|20081029183248.GE4331@alvh.no-ip.org|Block-level CRC checks|Alvaro Herrera|status=WIP}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{patch|20081016102603.897D.52131E4D@oss.ntt.co.jp|Noisy _dosmaperror|status=Committed 2008-10-16|Takahiro Itagaki|reviewers=Tom Lane}}<br />
<br />
{{patch|b4e5ce320810151918g2acf69ebh9f80f4f2e1c203a0@mail.gmail.com|Memory leak on hashed agg rescan|status=Committed 2008-10-16|Neil Conway|reviewers=Tom Lane}}<br />
{{review|10455.1224160007@sss.pgh.pa.us|Tom Lane|move some logic to separate function}}<br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Committed 2008-10-20|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|3327.1224535092@sss.pgh.pa.us|add placeholder variables to planner|status=Committed 2008-10-22|Tom Lane}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|status=Committed 2008-10-23|Magnus Hagander|reviewers=Bruce Momjian}}<br />
{{comment|Robert Haas|{{messageLink|48F0DE8B.8030004@hagander.net|updated patch}}}}<br />
<br />
{{patch|48FC3994.8040809@hagander.net|libpq ssl -> clear fallback looses error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905D22D.9040001@hagander.net|better hba parsing error messages|status=Committed 2008-10-27|Magnus Hagander}}<br />
<br />
{{patch|4905A1DE.5030102@hagander.net|remove crypt authentication|status=Committed 2008-10-28|Magnus Hagander}}<br />
<br />
{{patch|4905F515.3020208@gmx.net|Unicode escapes in literals|status=Committed 2008-10-29|Peter Eisentraut}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2868CommitFest 2008-112008-10-09T20:21:38Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
{{comment|Robert Haas|KaiGai's latest version is {{messageLink|48E9CB62.6020700@ak.jp.nec.com|r1081}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting}}<br />
{{comment|Ron Mayer|Latest patch as of Oct 2 {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Another update [http://0ape.com/postgres_interval_patches/ here], brought up-to-date with head, now allows setting IntervalStyle through an environment variable because pg_regress had set intervalstyles through the environment, some minor cleanup}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature a bit more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php }}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests. That link also has an update to the patch refactoring the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles.}}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|Magnus Hagander|reviewers=Selena Deckelmann}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Pending Review|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|}}<br />
{{review|34d269d40809262353i150a6b6gf5d6ba48aa9b26d0@mail.gmail.com|alexhunsaker|a few issues}}<br />
<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2867CommitFest 2008-112008-10-09T19:40:10Z<p>Ramayer: </p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
{{comment|Robert Haas|KaiGai's latest version is {{messageLink|48E9CB62.6020700@ak.jp.nec.com|r1081}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane, Heikki Linnakangas}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
{{comment|Robert Haas|{{messageLink|1223472898.4747.310.camel@ebony.2ndQuadrant|patch v9}} here, in response to {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's review}}}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting}}<br />
{{comment|Ron Mayer|Latest patch as of Oct 2 {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
{{comment|Ron Mayer|Another update [http://0ape.com/postgres_interval_patches/ here], brought up-to-date with head, now allows setting IntervalStyle through an environment variable because pg_regress had set intervalstyles through the environment, some minor cleanup}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature a bit more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php }}<br />
{{comment|Ron Mayer|An update [http://0ape.com/postgres_interval_patches/ here]. Cleaned up code and added regression tests. That link also has a patch refactoring the interval code to remove much of the copy&paste in DecodeInterval and EncodeInterval with the side effect of making interval rounding more consistent between styles.}}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{patch|48E271C5.7010907@hagander.net|pg_hba options parsing|Magnus Hagander|reviewers=Selena Deckelmann}}<br />
<br />
{{patch|48E22CF5.4050503@sun.com|PageGetTempPage cleanup |Zdenek Kotala}}<br />
{{comment|Zdenek Kotala|Original discussion {{messageLink|4938.1217862947@sss.pgh.pa.us|here}}}}<br />
<br />
{{patch|603c8f070808070503jd7be083kcce3e16345affb08@mail.gmail.com|add columns via CREATE OR REPLACE VIEW|Robert Haas}}<br />
{{comment|Robert Haas|some further justification of the proposed design {{messageLink|603c8f070808070956t1ab98dcdr933575eb096e4c28@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|questions about how to move forward {{messageLink|603c8f070810031839y7ce9a852o86effbab9fd6dd9b@mail.gmail.com|here}}}}<br />
{{comment|Robert Haas|a {{messageLink|482096EC.3000805@dunslane.net|similar feature request}} from Andrew Dunstan}}<br />
<br />
{{patch|1223379173.4747.145.camel@ebony.2ndQuadrant|Reducing some DDL Locks to ShareLock|status=Pending Review|Simon Riggs}} <br />
<br />
{{patch|1223383838.4747.154.camel@ebony.2ndQuadrant|Atomic subtransaction commit|status=Pending Review|Simon Riggs|reviewers=Alvaro Herrera}} <br />
<br />
{{patch|Pine.BSO.4.64.0810081931240.11647@leary.csoft.net|Fixes for psql describeOneTableDetails|Kris Jurka}}<br />
<br />
{{patch|1223472186.4747.301.camel@ebony.2ndQuadrant|pg_stop_backup wait bug fix|Simon Riggs}}<br />
{{comment|Robert Haas|sriggs extracted this from recovery infrastructure patch per {{messageLink|48EC9CC5.6060803@enterprisedb.com|Heikki's suggestion}}}}<br />
<br />
{{patch|20081009165157.9BE4.52131E4D@oss.ntt.co.jp|contrib/auto_explain|Takahiro Itagaki|}}<br />
{{review|34d269d40809262353i150a6b6gf5d6ba48aa9b26d0@mail.gmail.com|alexhunsaker|a few issues}}<br />
<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Committed 2008-10-04|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Committed 2008-10-06|Greg Smith|reviewers=Simon Riggs,Magnus Hagander}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2782CommitFest 2008-112008-10-02T12:02:07Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Pending Review|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Waiting on author|Greg Smith|reviewers=Simon Riggs}}<br />
{{comment|sriggs|Posted comments on hackers. Changes required before commit.}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting}}<br />
{{comment|Ron Mayer|Latest patch as of Oct 2 {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer|status=WIP}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature a bit more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php }}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2781CommitFest 2008-112008-10-02T11:12:32Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Pending Review|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Waiting on author|Greg Smith|reviewers=Simon Riggs}}<br />
{{comment|sriggs|Posted comments on hackers. Changes required before commit.}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|An update {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} fixed some bugs in GUC setting}}<br />
{{comment|Ron Mayer|Latest patch as of Oct 2 {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}}, brought up-to-date with HEAD}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature a bit more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php }}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2780CommitFest 2008-112008-10-02T11:11:36Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Pending Review|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Waiting on author|Greg Smith|reviewers=Simon Riggs}}<br />
{{comment|sriggs|Posted comments on hackers. Changes required before commit.}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} replaces the previous one}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}} brought up-to-date with HEAD}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|Note that this patch doesn't apply directly to HEAD, but depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}} to be applied first}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature a bit more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php }}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2779CommitFest 2008-112008-10-02T11:10:29Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Pending Review|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Waiting on author|Greg Smith|reviewers=Simon Riggs}}<br />
{{comment|sriggs|Posted comments on hackers. Changes required before commit.}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} replaces the previous one}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}} brought up-to-date with HEAD}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature a bit more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php }}<br />
{{comment|Ron Mayer|This patch depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}}}}<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2778CommitFest 2008-112008-10-02T11:09:38Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Pending Review|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Waiting on author|Greg Smith|reviewers=Simon Riggs}}<br />
{{comment|sriggs|Posted comments on hackers. Changes required before commit.}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} replaces the previous one}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}} brought up-to-date with HEAD}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|The 2003 version of this patch along with a thread which explains the feature more can be found here: http://archives.postgresql.org/pgsql-patches/2003-09/msg00103.php [sorry can't figure out how to make it link]}}<br />
{{comment|Ron Mayer|This patch depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}}}}<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2777CommitFest 2008-112008-10-02T11:06:14Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Pending Review|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Waiting on author|Greg Smith|reviewers=Simon Riggs}}<br />
{{comment|sriggs|Posted comments on hackers. Changes required before commit.}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output and IntervalStyle GUC|Ron Mayer}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} replaces the previous one}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}} brought up-to-date with HEAD}}<br />
<br />
{{patch|48E4A30C.3000503@cheapcomplexdevices.com|ISO 8601 interval literal input and output|Ron Mayer}}<br />
{{comment|Ron Mayer|This patch depends on the {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|IntervalStyle GUC patch}}}}<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2776CommitFest 2008-112008-10-02T10:34:47Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
<br />
{{patch|20080803.114711.73374027.t-ishii@sraoss.co.jp|Common Table Expressions|Yoshiyuki Asaba|status=Pending Review|reviewers=Jeff Davis}}<br />
{{comment|David Fetter|README is {{messageLink|20080818.163852.105172778.t-ishii@sraoss.co.jp|here.}}}}<br />
{{comment|David Fetter|Git repository is [http://git.postgresql.org/git/~davidfetter/cte/.git here.]}}<br />
{{comment|David Fetter|[[CTEReadme]]}}<br />
{{comment|David Fetter|[[CTESQLStandard| Fair Use from the draft SQL:2008 standard (WIP)]]}}<br />
{{review|13449.1221589943@sss.pgh.pa.us|tgl|needs a good bit of work yet}}<br />
<br />
{{patch|4863B3DA.8030209@kaigai.gr.jp|SE-PostgreSQL patches|Kaigai Kohei|reviewers=Peter Eisentraut, Abhijit Menon-Sen}}<br />
{{comment|Peter|checking with Solaris engineers about compatibility with Solaris TX; will continue review throughout August}}<br />
{{comment|KaiGai|{{messageLink|488F0C02.4020708@ak.jp.nec.com|latest patch versions}}}}<br />
{{comment|KaiGai|{{messageLink|48BA12F4.1090201@kaigai.gr.jp|latest patch versions}}}}<br />
<br />
{{patch|1220213074.4371.173.camel@ebony.2ndQuadrant|Infrastructure changes for recovery|status=Pending Review|Simon Riggs|reviewers=Tom Lane}} <br />
{{comment|sriggs| important patch for other work}}<br />
{{comment|tgl|some comments {{messageLink|1905.1220895241@sss.pgh.pa.us|here}}}}<br />
{{comment|tgl|updated patch {{messageLink|1221080797.3913.768.camel@ebony.2ndQuadrant|here}}, still being tested}}<br />
{{comment|tgl|Simon found {{messageLink|1221725145.3913.2315.camel@ebony.2ndQuadrant|some issues}}}}<br />
{{comment|tgl|{{messageLink|1222184541.4445.400.camel@ebony.2ndQuadrant|patch v7}} here}}<br />
{{comment|tgl|it's still got {{messageLink|28973.1222381719@sss.pgh.pa.us|issues}}}}<br />
{{comment|Robert Haas|{{messageLink|1222815151.4445.1397.camel@ebony.2ndQuadrant|patch v8}} here}}<br />
<br />
{{patch|1220174867.4371.107.camel@ebony.2ndQuadrant|rmgr hooks and contrib/rmgr_hook|status=Waiting on author|Simon Riggs}} <br />
{{comment|sriggs| deferrable, if required}}<br />
{{comment|tgl|I think the plan is for this to wait till "infrastructure" patch goes in}}<br />
<br />
{{patch|Pine.GSO.4.64.0809152349440.19910@westnet.com|Add default_val to pg_settings|status=Waiting on author|Greg Smith|reviewers=Simon Riggs}}<br />
{{comment|sriggs|Posted comments on hackers. Changes required before commit.}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
{{comment|Dave Page|This doesn't work with the edb-debugger plugin, which is the only such plugin around AFAIK. It needs to ignore comments on the PLUGINS line, and handle multiple targets (plugin_debugger, pldbgapi, targetinfo etc). Not sure if we want that complexity though.}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output|Ron Mayer}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} replaces the previous one}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48E49BDC.4090402@cheapcomplexdevices.com|here}} brought up-to-date with HEAD}}<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{patch|20080901063855.GJ16005@tamriel.snowman.net|Column-level Permissions|Stephen Frost|status=WIP|reviewers=Markus Wanner}}<br />
{{comment|Stephen Frost|Updated patch {{messageLink|20080902221823.GL16005@tamriel.snowman.net|here}}}}<br />
{{review|48DB48AC.5010400@bluegap.ch|Markus Wanner|Awaiting updated patch.}}<br />
<br />
{{patch|0BD2E4E9-AF5A-4B4F-B546-027424EE8FAD@kineticode.com|Tests citext casts|David Wheeler}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2694CommitFest 2008-112008-09-20T17:12:33Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output|Ron Mayer}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|48D52E48.406@cheapcomplexdevices.com|here}} replaces the previous one}}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2693CommitFest 2008-112008-09-20T17:12:12Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output|Ron Mayer}}<br />
{{comment|Ron Mayer|Latest patch {{messageLink|<48D52E48.406@cheapcomplexdevices.com|here}} replaces the previous one}}<br />
<br />
<br />
{{patch|03c301c91737$be5a2a30$0e01a8c0@IBMC9A0F63B40D|Solve a problem of LC_TIME of windows|Hiroshi Saito}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayerhttps://wiki.postgresql.org/index.php?title=CommitFest_2008-11&diff=2674CommitFest 2008-112008-09-17T23:54:03Z<p>Ramayer: /* Pending patches */</p>
<hr />
<div>__TOC__<br />
<br />
This is the page for the CommitFest starting '''2008 November'''.<br />
<br />
{{CommitFestOpen}}<br />
<br />
== Pending patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{patch|37ed240d0809030015u73b65b66v70fd76741317c6f5@mail.gmail.com|pg_typeof()|Brendan Jurd}}<br />
<br />
{{patch|48C181D4.8030807@gmail.com|reducing statistics write overhead|Martin Pihlak}}<br />
{{comment|Martin Pihlak|Latest patch {{messageLink|48C594D8.6050504@gmail.com|here}}}}<br />
<br />
{{patch|BLU110-W38CE0A22D467A8C3D9736CFF540@phx.gbl|Support PLUGINS lines in Makefiles, similar to MODULES|Asif Naeem}}<br />
<br />
{{patch|48D15471.6080305@cheapcomplexdevices.com|SQL Standard Interval output|Ron Mayer}}<br />
{{CommitFestEndSection}}<br />
<br />
== Committed patches ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}<br />
<br />
== Returned with Feedback ==<br />
{{CommitFestSectionNew}}<br />
<br />
{{CommitFestEndSection}}</div>Ramayer