mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-04 00:02:52 -05:00 
			
		
		
		
	Fix some issues that prevent this file to be processed by scripts.
While at it, mark a couple of items completed in 8.4:
!   o -Prevent long-lived temporary tables from causing frozen-xid
      advancement starvation
! * -Improve performance of shared invalidation queue for multiple CPUs
Also remove a couple of obsolete assignments.
			
			
This commit is contained in:
		
							parent
							
								
									48a9d92159
								
							
						
					
					
						commit
						a3faf37f49
					
				
							
								
								
									
										94
									
								
								doc/TODO
									
									
									
									
									
								
							
							
						
						
									
										94
									
								
								doc/TODO
									
									
									
									
									
								
							@ -331,40 +331,40 @@ Data Types
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	  http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php
 | 
						  http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o Add ISO INTERVAL handling
 | 
					* Add ISO INTERVAL handling
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		  http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php
 | 
					  http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php
 | 
				
			||||||
		  http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php
 | 
					  http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		o Support ISO INTERVAL syntax if units cannot be determined from
 | 
						o Support ISO INTERVAL syntax if units cannot be determined from
 | 
				
			||||||
		  the string, and are supplied after the string
 | 
						  the string, and are supplied after the string
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		  The SQL standard states that the units after the string
 | 
						  The SQL standard states that the units after the string
 | 
				
			||||||
		  specify the units of the string, e.g. INTERVAL '2' MINUTE
 | 
						  specify the units of the string, e.g. INTERVAL '2' MINUTE
 | 
				
			||||||
		  should return '00:02:00'. The current behavior has the units
 | 
						  should return '00:02:00'. The current behavior has the units
 | 
				
			||||||
		  restrict the interval value to the specified unit or unit
 | 
						  restrict the interval value to the specified unit or unit
 | 
				
			||||||
		  range, INTERVAL '70' SECOND returns '00:00:10'.
 | 
						  range, INTERVAL '70' SECOND returns '00:00:10'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		  For syntax that isn't uniquely ISO or PG syntax, like '1' or
 | 
						  For syntax that isn't uniquely ISO or PG syntax, like '1' or
 | 
				
			||||||
		  '1:30', treat as ISO if there is a range specification clause,
 | 
						  '1:30', treat as ISO if there is a range specification clause,
 | 
				
			||||||
		  and as PG if there no clause is present, e.g. interpret '1:30'
 | 
						  and as PG if there no clause is present, e.g. interpret '1:30'
 | 
				
			||||||
		  MINUTE TO SECOND as '1 minute 30 seconds', and interpret
 | 
						  MINUTE TO SECOND as '1 minute 30 seconds', and interpret
 | 
				
			||||||
		  '1:30' as '1 hour, 30 minutes'.
 | 
						  '1:30' as '1 hour, 30 minutes'.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		  This makes common cases like SELECT INTERVAL '1' MONTH
 | 
						  This makes common cases like SELECT INTERVAL '1' MONTH
 | 
				
			||||||
		  SQL-standard results. The SQL standard supports a limited
 | 
						  SQL-standard results. The SQL standard supports a limited
 | 
				
			||||||
		  number of unit combinations and doesn't support unit names in
 | 
						  number of unit combinations and doesn't support unit names in
 | 
				
			||||||
		  the string. The PostgreSQL syntax is more flexible in the
 | 
						  the string. The PostgreSQL syntax is more flexible in the
 | 
				
			||||||
		  range of units supported, e.g. PostgreSQL supports '1 year 1
 | 
						  range of units supported, e.g. PostgreSQL supports '1 year 1
 | 
				
			||||||
		  hour', while the SQL standard does not.
 | 
						  hour', while the SQL standard does not.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		o Add support for year-month syntax, INTERVAL '50-6' YEAR
 | 
						o Add support for year-month syntax, INTERVAL '50-6' YEAR
 | 
				
			||||||
		  TO MONTH
 | 
						  TO MONTH
 | 
				
			||||||
		o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
 | 
						o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
 | 
				
			||||||
		  year' AS INTERVAL MONTH), and this should return '12 months'
 | 
						  year' AS INTERVAL MONTH), and this should return '12 months'
 | 
				
			||||||
		o Round or truncate values to the requested precision, e.g.
 | 
						o Round or truncate values to the requested precision, e.g.
 | 
				
			||||||
		  INTERVAL '11 months' AS YEAR should return one or zero
 | 
						  INTERVAL '11 months' AS YEAR should return one or zero
 | 
				
			||||||
		o Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
 | 
						o Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Arrays
 | 
					* Arrays
 | 
				
			||||||
@ -384,7 +384,7 @@ Data Types
 | 
				
			|||||||
	o Add security checking for large objects
 | 
						o Add security checking for large objects
 | 
				
			||||||
	o Auto-delete large objects when referencing row is deleted
 | 
						o Auto-delete large objects when referencing row is deleted
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          contrib/lo offers this functionality.
 | 
						  contrib/lo offers this functionality.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o Allow read/write into TOAST values like large objects
 | 
						o Allow read/write into TOAST values like large objects
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -396,14 +396,14 @@ Data Types
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* MONEY data type
 | 
					* MONEY data type
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* Add locale-aware MONEY type, and support multiple currencies
 | 
						o Add locale-aware MONEY type, and support multiple currencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
 | 
						  http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php
 | 
				
			||||||
	  http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php
 | 
						  http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	* MONEY dumps in a locale-specific format making it difficult to
 | 
						o MONEY dumps in a locale-specific format making it difficult to
 | 
				
			||||||
	  restore to a system with a different locale
 | 
						  restore to a system with a different locale
 | 
				
			||||||
	* Allow MONEY to be easily cast to/from other numeric data types
 | 
						o Allow MONEY to be easily cast to/from other numeric data types
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Text Search
 | 
					* Text Search
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -840,7 +840,7 @@ SQL Commands
 | 
				
			|||||||
	  like CHECK that are inherited by child tables unless CASCADE
 | 
						  like CHECK that are inherited by child tables unless CASCADE
 | 
				
			||||||
	  is used
 | 
						  is used
 | 
				
			||||||
	o -Prevent child tables from altering or dropping constraints
 | 
						o -Prevent child tables from altering or dropping constraints
 | 
				
			||||||
          like CHECK that were inherited from the parent table
 | 
						  like CHECK that were inherited from the parent table
 | 
				
			||||||
	o Have ALTER INDEX update the name of a constraint using that index
 | 
						o Have ALTER INDEX update the name of a constraint using that index
 | 
				
			||||||
	o Add ALTER TABLE RENAME CONSTRAINT, update index name also
 | 
						o Add ALTER TABLE RENAME CONSTRAINT, update index name also
 | 
				
			||||||
	o Allow column display reordering by recording a display,
 | 
						o Allow column display reordering by recording a display,
 | 
				
			||||||
@ -860,7 +860,7 @@ SQL Commands
 | 
				
			|||||||
	  This might require some background daemon to maintain clustering
 | 
						  This might require some background daemon to maintain clustering
 | 
				
			||||||
	  during periods of low usage. It might also require tables to be only
 | 
						  during periods of low usage. It might also require tables to be only
 | 
				
			||||||
	  partially filled for easier reorganization.  Another idea would
 | 
						  partially filled for easier reorganization.  Another idea would
 | 
				
			||||||
          be to create a merged heap/index data file so an index lookup 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
 | 
						  automatically access the heap data too.  A third idea would be to
 | 
				
			||||||
	  store heap rows in hashed groups, perhaps using a user-supplied
 | 
						  store heap rows in hashed groups, perhaps using a user-supplied
 | 
				
			||||||
	  hash function.
 | 
						  hash function.
 | 
				
			||||||
@ -915,7 +915,7 @@ SQL Commands
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	o Allow COPY to report errors sooner
 | 
						o Allow COPY to report errors sooner
 | 
				
			||||||
 | 
					
 | 
				
			||||||
         http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php
 | 
						  http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1154,7 +1154,7 @@ Clients
 | 
				
			|||||||
	o -Improve display of enums to show valid enum values
 | 
						o -Improve display of enums to show valid enum values
 | 
				
			||||||
	o Add prompt escape to display the client and server versions
 | 
						o Add prompt escape to display the client and server versions
 | 
				
			||||||
	o Add option to wrap column values at whitespace boundaries,
 | 
						o Add option to wrap column values at whitespace boundaries,
 | 
				
			||||||
          rather than chopping them at a fixed width.
 | 
						  rather than chopping them at a fixed width.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  Currently, "wrapped" format chops values into fixed
 | 
						  Currently, "wrapped" format chops values into fixed
 | 
				
			||||||
	  widths.  Perhaps the word wrapping could use the same
 | 
						  widths.  Perhaps the word wrapping could use the same
 | 
				
			||||||
@ -1195,7 +1195,7 @@ Clients
 | 
				
			|||||||
	  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00205.php
 | 
						  http://archives.postgresql.org/pgsql-hackers/2008-02/msg00205.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o Allow pg_restore to utilize multiple CPUs and I/O channels by
 | 
						o Allow pg_restore to utilize multiple CPUs and I/O channels by
 | 
				
			||||||
          restoring multiple objects simultaneously
 | 
						  restoring multiple objects simultaneously
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  This might require a pg_restore flag to indicate how many
 | 
						  This might require a pg_restore flag to indicate how many
 | 
				
			||||||
	  simultaneous operations should be performed.  Only pg_dump's
 | 
						  simultaneous operations should be performed.  Only pg_dump's
 | 
				
			||||||
@ -1208,7 +1208,7 @@ Clients
 | 
				
			|||||||
	  concurrently, via a single heap scan
 | 
						  concurrently, via a single heap scan
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  This requires a pg_dump -Fc file because that format contains
 | 
						  This requires a pg_dump -Fc file because that format contains
 | 
				
			||||||
          the required dependency information.
 | 
						  the required dependency information.
 | 
				
			||||||
	  http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
 | 
						  http://archives.postgresql.org/pgsql-general/2007-05/msg01274.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o Allow pg_restore to load different parts of the COPY data
 | 
						o Allow pg_restore to load different parts of the COPY data
 | 
				
			||||||
@ -1435,7 +1435,7 @@ Indexes
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
* Hash
 | 
					* Hash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php
 | 
						o http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o Pack hash index buckets onto disk pages more efficiently
 | 
						o Pack hash index buckets onto disk pages more efficiently
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1536,11 +1536,9 @@ Cache Usage
 | 
				
			|||||||
  http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php
 | 
					  http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Consider automatic caching of statements at various levels:
 | 
					* Consider automatic caching of statements at various levels:
 | 
				
			||||||
 | 
					  parsed query tree, query execution plan, query results
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o Parsed query tree
 | 
					  http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php
 | 
				
			||||||
	o Query execute plan
 | 
					 | 
				
			||||||
	o Query results
 | 
					 | 
				
			||||||
	http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Consider increasing internal areas when shared buffers is increased
 | 
					* Consider increasing internal areas when shared buffers is increased
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1617,7 +1615,7 @@ Vacuum
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	  http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php
 | 
						  http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	o Prevent long-lived temporary tables from causing frozen-xid
 | 
						o -Prevent long-lived temporary tables from causing frozen-xid
 | 
				
			||||||
	  advancement starvation
 | 
						  advancement starvation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	  The problem is that autovacuum cannot vacuum them to set frozen xids;
 | 
						  The problem is that autovacuum cannot vacuum them to set frozen xids;
 | 
				
			||||||
@ -1639,7 +1637,7 @@ Vacuum
 | 
				
			|||||||
Locking
 | 
					Locking
 | 
				
			||||||
=======
 | 
					=======
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Fix priority ordering of read and write light-weight locks (Neil)
 | 
					* Fix priority ordering of read and write light-weight locks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php
 | 
					  http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php
 | 
				
			||||||
  http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php
 | 
					  http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php
 | 
				
			||||||
@ -1925,7 +1923,7 @@ Miscellaneous Performance
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php
 | 
					  http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Improve performance of shared invalidation queue for multiple CPUs
 | 
					* -Improve performance of shared invalidation queue for multiple CPUs
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php
 | 
					  http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1975,7 +1973,7 @@ Source Code
 | 
				
			|||||||
* %Remove warnings created by -Wcast-align
 | 
					* %Remove warnings created by -Wcast-align
 | 
				
			||||||
* Move platform-specific ps status display info from ps_status.c to ports
 | 
					* Move platform-specific ps status display info from ps_status.c to ports
 | 
				
			||||||
* Add optional CRC checksum to heap and index pages
 | 
					* Add optional CRC checksum to heap and index pages
 | 
				
			||||||
* Improve documentation to build only interfaces (Marc)
 | 
					* Improve documentation to build only interfaces
 | 
				
			||||||
* Remove or relicense modules that are not under the BSD license, if possible
 | 
					* Remove or relicense modules that are not under the BSD license, if possible
 | 
				
			||||||
* Acquire lock on a relation before building a relcache entry for it
 | 
					* Acquire lock on a relation before building a relcache entry for it
 | 
				
			||||||
* Allow cross-compiling by generating the zic database on the target system
 | 
					* Allow cross-compiling by generating the zic database on the target system
 | 
				
			||||||
@ -2132,7 +2130,7 @@ Exotic Features
 | 
				
			|||||||
  modification.
 | 
					  modification.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Allow plug-in modules to emulate features from other databases
 | 
					* Allow plug-in modules to emulate features from other databases
 | 
				
			||||||
* Add features of Oracle-style packages  (Pavel)
 | 
					* Add features of Oracle-style packages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  A package would be a schema with session-local variables,
 | 
					  A package would be a schema with session-local variables,
 | 
				
			||||||
  public/private functions, and initialization functions.  It
 | 
					  public/private functions, and initialization functions.  It
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,9 @@
 | 
				
			|||||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 | 
					<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 | 
				
			||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 | 
					"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 | 
				
			||||||
<html>
 | 
					<html xmlns="http://www.w3.org/1999/xhtml">
 | 
				
			||||||
<head>
 | 
					<head>
 | 
				
			||||||
<title>PostgreSQL TODO List</title>
 | 
					<title>PostgreSQL TODO List</title>
 | 
				
			||||||
<meta name="generator" content="HTML::TextToHTML v2.25"/>
 | 
					<meta name="generator" content="HTML::TextToHTML v2.51"/>
 | 
				
			||||||
</head>
 | 
					</head>
 | 
				
			||||||
<body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
 | 
					<body bgcolor="#FFFFFF" text="#000000" link="#FF0000" vlink="#A00000" alink="#0000FF">
 | 
				
			||||||
<h1><a name="section_1">PostgreSQL TODO List</a></h1>
 | 
					<h1><a name="section_1">PostgreSQL TODO List</a></h1>
 | 
				
			||||||
@ -286,94 +286,92 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
          LC_MESSAGES
 | 
					          LC_MESSAGES
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php">http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php">http://archives.postgresql.org/pgsql-hackers/2006-11/msg00390.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
    </li><li>Add ISO INTERVAL handling
 | 
					 | 
				
			||||||
  </li></ul>
 | 
					  </li></ul>
 | 
				
			||||||
</li></ul>
 | 
					  </li><li>Add ISO INTERVAL handling
 | 
				
			||||||
<p>                  <a href="http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php">http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php</a><br/>
 | 
					<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php">http://archives.postgresql.org/pgsql-hackers/2006-01/msg00250.php</a>
 | 
				
			||||||
                  <a href="http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php">http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php</a>
 | 
					  <a href="http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php">http://archives.postgresql.org/pgsql-bugs/2006-04/msg00248.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
<ul>
 | 
					 | 
				
			||||||
  <li>Support ISO INTERVAL syntax if units cannot be determined from
 | 
					 | 
				
			||||||
                  the string, and are supplied after the string
 | 
					 | 
				
			||||||
<p>                  The SQL standard states that the units after the string
 | 
					 | 
				
			||||||
                  specify the units of the string, e.g. INTERVAL '2' MINUTE
 | 
					 | 
				
			||||||
                  should return '00:02:00'. The current behavior has the units
 | 
					 | 
				
			||||||
                  restrict the interval value to the specified unit or unit
 | 
					 | 
				
			||||||
                  range, INTERVAL '70' SECOND returns '00:00:10'.
 | 
					 | 
				
			||||||
</p>
 | 
					 | 
				
			||||||
<p>                  For syntax that isn't uniquely ISO or PG syntax, like '1' or
 | 
					 | 
				
			||||||
                  '1:30', treat as ISO if there is a range specification clause,
 | 
					 | 
				
			||||||
                  and as PG if there no clause is present, e.g. interpret '1:30'
 | 
					 | 
				
			||||||
                  MINUTE TO SECOND as '1 minute 30 seconds', and interpret
 | 
					 | 
				
			||||||
                  '1:30' as '1 hour, 30 minutes'.
 | 
					 | 
				
			||||||
</p>
 | 
					 | 
				
			||||||
<p>                  This makes common cases like SELECT INTERVAL '1' MONTH
 | 
					 | 
				
			||||||
                  SQL-standard results. The SQL standard supports a limited
 | 
					 | 
				
			||||||
                  number of unit combinations and doesn't support unit names in
 | 
					 | 
				
			||||||
                  the string. The PostgreSQL syntax is more flexible in the
 | 
					 | 
				
			||||||
                  range of units supported, e.g. PostgreSQL supports '1 year 1
 | 
					 | 
				
			||||||
                  hour', while the SQL standard does not.
 | 
					 | 
				
			||||||
</p>
 | 
					 | 
				
			||||||
  </li><li>Add support for year-month syntax, INTERVAL '50-6' YEAR
 | 
					 | 
				
			||||||
                  TO MONTH
 | 
					 | 
				
			||||||
  </li><li>Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
 | 
					 | 
				
			||||||
                  year' AS INTERVAL MONTH), and this should return '12 months'
 | 
					 | 
				
			||||||
  </li><li>Round or truncate values to the requested precision, e.g.
 | 
					 | 
				
			||||||
                  INTERVAL '11 months' AS YEAR should return one or zero
 | 
					 | 
				
			||||||
  </li><li>Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
 | 
					 | 
				
			||||||
  <ul>
 | 
					  <ul>
 | 
				
			||||||
    <li>Arrays
 | 
					    <li>Support ISO INTERVAL syntax if units cannot be determined from
 | 
				
			||||||
    <ul>
 | 
					          the string, and are supplied after the string
 | 
				
			||||||
      <li>Delay resolution of array expression's data type so assignment
 | 
					<p>          The SQL standard states that the units after the string
 | 
				
			||||||
 | 
					          specify the units of the string, e.g. INTERVAL '2' MINUTE
 | 
				
			||||||
 | 
					          should return '00:02:00'. The current behavior has the units
 | 
				
			||||||
 | 
					          restrict the interval value to the specified unit or unit
 | 
				
			||||||
 | 
					          range, INTERVAL '70' SECOND returns '00:00:10'.
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					<p>          For syntax that isn't uniquely ISO or PG syntax, like '1' or
 | 
				
			||||||
 | 
					          '1:30', treat as ISO if there is a range specification clause,
 | 
				
			||||||
 | 
					          and as PG if there no clause is present, e.g. interpret '1:30'
 | 
				
			||||||
 | 
					          MINUTE TO SECOND as '1 minute 30 seconds', and interpret
 | 
				
			||||||
 | 
					          '1:30' as '1 hour, 30 minutes'.
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					<p>          This makes common cases like SELECT INTERVAL '1' MONTH
 | 
				
			||||||
 | 
					          SQL-standard results. The SQL standard supports a limited
 | 
				
			||||||
 | 
					          number of unit combinations and doesn't support unit names in
 | 
				
			||||||
 | 
					          the string. The PostgreSQL syntax is more flexible in the
 | 
				
			||||||
 | 
					          range of units supported, e.g. PostgreSQL supports '1 year 1
 | 
				
			||||||
 | 
					          hour', while the SQL standard does not.
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
 | 
					    </li><li>Add support for year-month syntax, INTERVAL '50-6' YEAR
 | 
				
			||||||
 | 
					          TO MONTH
 | 
				
			||||||
 | 
					    </li><li>Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1
 | 
				
			||||||
 | 
					          year' AS INTERVAL MONTH), and this should return '12 months'
 | 
				
			||||||
 | 
					    </li><li>Round or truncate values to the requested precision, e.g.
 | 
				
			||||||
 | 
					          INTERVAL '11 months' AS YEAR should return one or zero
 | 
				
			||||||
 | 
					    </li><li>Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
 | 
				
			||||||
 | 
					  </li></ul>
 | 
				
			||||||
 | 
					  </li><li>Arrays
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>Delay resolution of array expression's data type so assignment
 | 
				
			||||||
          coercion can be performed on empty array expressions
 | 
					          coercion can be performed on empty array expressions
 | 
				
			||||||
      </li><li>Add support for arrays of domains
 | 
					    </li><li>Add support for arrays of domains
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php">http://archives.postgresql.org/pgsql-patches/2007-05/msg00114.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
      </li><li>Allow single-byte header storage for array elements
 | 
					    </li><li>Allow single-byte header storage for array elements
 | 
				
			||||||
    </li></ul>
 | 
					  </li></ul>
 | 
				
			||||||
    </li><li>Binary Data
 | 
					  </li><li>Binary Data
 | 
				
			||||||
    <ul>
 | 
					  <ul>
 | 
				
			||||||
      <li>Improve vacuum of large objects, like contrib/vacuumlo?
 | 
					    <li>Improve vacuum of large objects, like contrib/vacuumlo?
 | 
				
			||||||
      </li><li>Add security checking for large objects
 | 
					    </li><li>Add security checking for large objects
 | 
				
			||||||
      </li><li>Auto-delete large objects when referencing row is deleted
 | 
					    </li><li>Auto-delete large objects when referencing row is deleted
 | 
				
			||||||
<p>          contrib/lo offers this functionality.
 | 
					<p>          contrib/lo offers this functionality.
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
      </li><li>Allow read/write into TOAST values like large objects
 | 
					    </li><li>Allow read/write into TOAST values like large objects
 | 
				
			||||||
<p>          This requires the TOAST column to be stored EXTERNAL.
 | 
					<p>          This requires the TOAST column to be stored EXTERNAL.
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
      </li><li>Add API for 64-bit large object access
 | 
					    </li><li>Add API for 64-bit large object access
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2005-09/msg00781.php">http://archives.postgresql.org/pgsql-hackers/2005-09/msg00781.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2005-09/msg00781.php">http://archives.postgresql.org/pgsql-hackers/2005-09/msg00781.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
    </li></ul>
 | 
					  </li></ul>
 | 
				
			||||||
    </li><li>MONEY data type
 | 
					  </li><li>MONEY data type
 | 
				
			||||||
    <ul>
 | 
					  <ul>
 | 
				
			||||||
      <li>Add locale-aware MONEY type, and support multiple currencies
 | 
					    <li>Add locale-aware MONEY type, and support multiple currencies
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php">http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php">http://archives.postgresql.org/pgsql-general/2005-08/msg01432.php</a>
 | 
				
			||||||
          <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php</a>
 | 
					          <a href="http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php">http://archives.postgresql.org/pgsql-hackers/2007-03/msg01181.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
      </li><li>MONEY dumps in a locale-specific format making it difficult to
 | 
					    </li><li>MONEY dumps in a locale-specific format making it difficult to
 | 
				
			||||||
          restore to a system with a different locale
 | 
					          restore to a system with a different locale
 | 
				
			||||||
      </li><li>Allow MONEY to be easily cast to/from other numeric data types
 | 
					    </li><li>Allow MONEY to be easily cast to/from other numeric data types
 | 
				
			||||||
    </li></ul>
 | 
					  </li></ul>
 | 
				
			||||||
    </li><li>Text Search
 | 
					  </li><li>Text Search
 | 
				
			||||||
    <ul>
 | 
					  <ul>
 | 
				
			||||||
      <li>Allow dictionaries to change the token that is passed on to
 | 
					    <li>Allow dictionaries to change the token that is passed on to
 | 
				
			||||||
          later dictionaries
 | 
					          later dictionaries
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php">http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php">http://archives.postgresql.org/pgsql-patches/2007-11/msg00081.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
      </li><li>Consider a function-based API for '@@' searches
 | 
					    </li><li>Consider a function-based API for '@@' searches
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php">http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php">http://archives.postgresql.org/pgsql-hackers/2007-11/msg00511.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
      </li><li>Improve text search error messages
 | 
					    </li><li>Improve text search error messages
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php">http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php">http://archives.postgresql.org/pgsql-hackers/2007-10/msg00966.php</a>
 | 
				
			||||||
          <a href="http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php">http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php</a>
 | 
					          <a href="http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php">http://archives.postgresql.org/pgsql-hackers/2007-11/msg01146.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
      </li><li>Consider changing error to warning for strings larger than one
 | 
					    </li><li>Consider changing error to warning for strings larger than one
 | 
				
			||||||
          megabyte
 | 
					          megabyte
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php">http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php">http://archives.postgresql.org/pgsql-bugs/2008-02/msg00190.php</a>
 | 
				
			||||||
          <a href="http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php">http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php</a>
 | 
					          <a href="http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php">http://archives.postgresql.org/pgsql-patches/2008-03/msg00062.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
    </li></ul>
 | 
					 | 
				
			||||||
  </li></ul>
 | 
					  </li></ul>
 | 
				
			||||||
</li></ul>
 | 
					</li></ul>
 | 
				
			||||||
<h1><a name="section_4">Functions</a></h1>
 | 
					<h1><a name="section_4">Functions</a></h1>
 | 
				
			||||||
@ -788,12 +786,10 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php">http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php">http://archives.postgresql.org/pgsql-hackers/2008-02/msg00954.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
    </li><li>Allow COPY to report errors sooner
 | 
					    </li><li>Allow COPY to report errors sooner
 | 
				
			||||||
  </li></ul>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php">http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php</a>
 | 
				
			||||||
</li></ul>
 | 
					 | 
				
			||||||
<p>         <a href="http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php">http://archives.postgresql.org/pgsql-hackers/2008-04/msg01169.php</a>
 | 
					 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
<ul>
 | 
					  </li></ul>
 | 
				
			||||||
  <li>GRANT/REVOKE
 | 
					  </li><li>GRANT/REVOKE
 | 
				
			||||||
  <ul>
 | 
					  <ul>
 | 
				
			||||||
    <li>Allow column-level privileges
 | 
					    <li>Allow column-level privileges
 | 
				
			||||||
    </li><li>%Allow GRANT/REVOKE permissions to be applied to all schema objects
 | 
					    </li><li>%Allow GRANT/REVOKE permissions to be applied to all schema objects
 | 
				
			||||||
@ -1000,7 +996,7 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
          widths.  Perhaps the word wrapping could use the same
 | 
					          widths.  Perhaps the word wrapping could use the same
 | 
				
			||||||
          algorithm documented in the W3C specification.
 | 
					          algorithm documented in the W3C specification.
 | 
				
			||||||
          <a href="http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php">http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php</a>
 | 
					          <a href="http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php">http://archives.postgresql.org/pgsql-hackers/2008-05/msg00404.php</a>
 | 
				
			||||||
          <a href="http://www.w3.org/TR/CSS21/tables.html<strong>auto-table-layout">http://www.w3.org/TR/CSS21/tables.html</strong>auto-table-layout</a>
 | 
					          <a href="http://www.w3.org/TR/CSS21/tables.html#auto-table-layout">http://www.w3.org/TR/CSS21/tables.html#auto-table-layout</a>
 | 
				
			||||||
    <li>Add "auto" expanded mode that outputs in expanded format if
 | 
					    <li>Add "auto" expanded mode that outputs in expanded format if
 | 
				
			||||||
          "wrapped" mode can't wrap the output to the screen width
 | 
					          "wrapped" mode can't wrap the output to the screen width
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2008-05/msg00417.php">http://archives.postgresql.org/pgsql-hackers/2008-05/msg00417.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2008-05/msg00417.php">http://archives.postgresql.org/pgsql-hackers/2008-05/msg00417.php</a>
 | 
				
			||||||
@ -1106,8 +1102,8 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
</p>
 | 
					</p>
 | 
				
			||||||
  </li></ul>
 | 
					  </li></ul>
 | 
				
			||||||
</li></ul>
 | 
					</li></ul>
 | 
				
			||||||
</p><h1><a name="section_11">Triggers</a></h1>
 | 
					<h1><a name="section_11">Triggers</a></h1>
 | 
				
			||||||
 | 
					</p>
 | 
				
			||||||
<ul>
 | 
					<ul>
 | 
				
			||||||
  <li>Add deferred trigger queue file
 | 
					  <li>Add deferred trigger queue file
 | 
				
			||||||
<p>  Right now all deferred trigger information is stored in backend
 | 
					<p>  Right now all deferred trigger information is stored in backend
 | 
				
			||||||
@ -1239,24 +1235,23 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
          digital trees (see Aoki)
 | 
					          digital trees (see Aoki)
 | 
				
			||||||
  </li></ul>
 | 
					  </li></ul>
 | 
				
			||||||
  </li><li>Hash
 | 
					  </li><li>Hash
 | 
				
			||||||
</li></ul>
 | 
					  <ul>
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php">http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php</a>
 | 
					    <li><a href="http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php">http://archives.postgresql.org/pgsql-hackers/2007-09/msg00051.php</a>
 | 
				
			||||||
</p>
 | 
					    </li><li>Pack hash index buckets onto disk pages more efficiently
 | 
				
			||||||
<ul>
 | 
					 | 
				
			||||||
  <li>Pack hash index buckets onto disk pages more efficiently
 | 
					 | 
				
			||||||
<p>          Currently only one hash bucket can be stored on a page. Ideally
 | 
					<p>          Currently only one hash bucket can be stored on a page. Ideally
 | 
				
			||||||
          several hash buckets could be stored on a single page and greater
 | 
					          several hash buckets could be stored on a single page and greater
 | 
				
			||||||
          granularity used for the hash algorithm.
 | 
					          granularity used for the hash algorithm.
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2004-06/msg00168.php">http://archives.postgresql.org/pgsql-hackers/2004-06/msg00168.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2004-06/msg00168.php">http://archives.postgresql.org/pgsql-hackers/2004-06/msg00168.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
  </li><li>Consider sorting hash buckets so entries can be found using a
 | 
					    </li><li>Consider sorting hash buckets so entries can be found using a
 | 
				
			||||||
          binary search, rather than a linear scan
 | 
					          binary search, rather than a linear scan
 | 
				
			||||||
  </li><li>In hash indexes, consider storing the hash value with or instead
 | 
					    </li><li>In hash indexes, consider storing the hash value with or instead
 | 
				
			||||||
          of the key itself
 | 
					          of the key itself
 | 
				
			||||||
  </li><li>Add WAL logging for crash recovery
 | 
					    </li><li>Add WAL logging for crash recovery
 | 
				
			||||||
  </li><li>Allow multi-column hash indexes
 | 
					    </li><li>Allow multi-column hash indexes
 | 
				
			||||||
  </li><li>-<em>During index creation, pre-sort the tuples to improve build speed</em>
 | 
					    </li><li>-<em>During index creation, pre-sort the tuples to improve build speed</em>
 | 
				
			||||||
 | 
					  </li></ul>
 | 
				
			||||||
</li></ul>
 | 
					</li></ul>
 | 
				
			||||||
<h1><a name="section_13">Sorting</a></h1>
 | 
					<h1><a name="section_13">Sorting</a></h1>
 | 
				
			||||||
<ul>
 | 
					<ul>
 | 
				
			||||||
@ -1331,12 +1326,9 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
  <a href="http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php">http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php</a>
 | 
					  <a href="http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php">http://archives.postgresql.org/pgsql-patches/2008-01/msg00049.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
  </li><li>Consider automatic caching of statements at various levels:
 | 
					  </li><li>Consider automatic caching of statements at various levels:
 | 
				
			||||||
  <ul>
 | 
					  Parsed query tree, query execution plan, query results
 | 
				
			||||||
    <li>Parsed query tree
 | 
					<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php">http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php</a>
 | 
				
			||||||
    </li><li>Query execute plan
 | 
					</p>
 | 
				
			||||||
    </li><li>Query results
 | 
					 | 
				
			||||||
        <a href="http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php">http://archives.postgresql.org/pgsql-hackers/2008-04/msg00823.php</a>
 | 
					 | 
				
			||||||
  </li></ul>
 | 
					 | 
				
			||||||
  </li><li>Consider increasing internal areas when shared buffers is increased
 | 
					  </li><li>Consider increasing internal areas when shared buffers is increased
 | 
				
			||||||
<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php">http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php</a>
 | 
					<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php">http://archives.postgresql.org/pgsql-hackers/2005-10/msg01419.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
@ -1401,7 +1393,7 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
    </li><li>Improve control of auto-vacuum
 | 
					    </li><li>Improve control of auto-vacuum
 | 
				
			||||||
<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php">http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php</a>
 | 
					<p>          <a href="http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php">http://archives.postgresql.org/pgsql-hackers/2006-12/msg00876.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
    </li><li>Prevent long-lived temporary tables from causing frozen-xid
 | 
					    </li><li>-<em>Prevent long-lived temporary tables from causing frozen-xid</em>
 | 
				
			||||||
          advancement starvation
 | 
					          advancement starvation
 | 
				
			||||||
<p>          The problem is that autovacuum cannot vacuum them to set frozen xids;
 | 
					<p>          The problem is that autovacuum cannot vacuum them to set frozen xids;
 | 
				
			||||||
          only the session that created them can do that.
 | 
					          only the session that created them can do that.
 | 
				
			||||||
@ -1420,7 +1412,7 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
<h1><a name="section_17">Locking</a></h1>
 | 
					<h1><a name="section_17">Locking</a></h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<ul>
 | 
					<ul>
 | 
				
			||||||
  <li>Fix priority ordering of read and write light-weight locks (Neil)
 | 
					  <li>Fix priority ordering of read and write light-weight locks
 | 
				
			||||||
<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php</a>
 | 
					<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00893.php</a>
 | 
				
			||||||
  <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php</a>
 | 
					  <a href="http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php">http://archives.postgresql.org/pgsql-hackers/2004-11/msg00905.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
@ -1661,7 +1653,7 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
  AcceptInvalidationMessages() call
 | 
					  AcceptInvalidationMessages() call
 | 
				
			||||||
<p>  <a href="http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php">http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php</a>
 | 
					<p>  <a href="http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php">http://archives.postgresql.org/pgsql-committers/2007-11/msg00585.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
  </li><li>Improve performance of shared invalidation queue for multiple CPUs
 | 
					  </li><li>-<em>Improve performance of shared invalidation queue for multiple CPUs</em>
 | 
				
			||||||
<p>  <a href="http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php">http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php</a>
 | 
					<p>  <a href="http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php">http://archives.postgresql.org/pgsql-performance/2008-01/msg00023.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
  </li><li>Consider Cartesian joins when both relations are needed to form an
 | 
					  </li><li>Consider Cartesian joins when both relations are needed to form an
 | 
				
			||||||
@ -1702,7 +1694,7 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
  </li><li>%Remove warnings created by -Wcast-align
 | 
					  </li><li>%Remove warnings created by -Wcast-align
 | 
				
			||||||
  </li><li>Move platform-specific ps status display info from ps_status.c to ports
 | 
					  </li><li>Move platform-specific ps status display info from ps_status.c to ports
 | 
				
			||||||
  </li><li>Add optional CRC checksum to heap and index pages
 | 
					  </li><li>Add optional CRC checksum to heap and index pages
 | 
				
			||||||
  </li><li>Improve documentation to build only interfaces (Marc)
 | 
					  </li><li>Improve documentation to build only interfaces
 | 
				
			||||||
  </li><li>Remove or relicense modules that are not under the BSD license, if possible
 | 
					  </li><li>Remove or relicense modules that are not under the BSD license, if possible
 | 
				
			||||||
  </li><li>Acquire lock on a relation before building a relcache entry for it
 | 
					  </li><li>Acquire lock on a relation before building a relcache entry for it
 | 
				
			||||||
  </li><li>Allow cross-compiling by generating the zic database on the target system
 | 
					  </li><li>Allow cross-compiling by generating the zic database on the target system
 | 
				
			||||||
@ -1830,7 +1822,7 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
  modification.
 | 
					  modification.
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
  </li><li>Allow plug-in modules to emulate features from other databases
 | 
					  </li><li>Allow plug-in modules to emulate features from other databases
 | 
				
			||||||
  </li><li>Add features of Oracle-style packages  (Pavel)
 | 
					  </li><li>Add features of Oracle-style packages
 | 
				
			||||||
<p>  A package would be a schema with session-local variables,
 | 
					<p>  A package would be a schema with session-local variables,
 | 
				
			||||||
  public/private functions, and initialization functions.  It
 | 
					  public/private functions, and initialization functions.  It
 | 
				
			||||||
  is also possible to implement these capabilities
 | 
					  is also possible to implement these capabilities
 | 
				
			||||||
@ -1850,7 +1842,7 @@ first.  There is also a developer's wiki at<br/>
 | 
				
			|||||||
<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php">http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php</a>
 | 
					<p>  <a href="http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php">http://archives.postgresql.org/pgsql-hackers/2008-01/msg00893.php</a>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
</li></ul>
 | 
					</li></ul>
 | 
				
			||||||
<h1><a name="section_25">Features We Do <u>Not</u> Want</a></h1>
 | 
					<h1><a name="section_25">Features We Do _Not_ Want</a></h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<ul>
 | 
					<ul>
 | 
				
			||||||
  <li>All backends running as threads in a single process (not wanted)
 | 
					  <li>All backends running as threads in a single process (not wanted)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user