Commit Graph

1485 Commits

Author SHA1 Message Date
Bruce Momjian b60a8512a0 Update count(*) discussion ideas:
<   BY col {DESC} LIMIT 1. Completing this item involves making this
>   BY col {DESC} LIMIT 1. Completing this item involves doing this
<   invalidated if anyone modifies the table.
<
>   invalidated if anyone modifies the table.  Another idea is to
>   get a count directly from a unique index, but for this to be
>   faster than a sequential scan it must avoid access to the heap
>   to obtain tuple visibility information.
>
> * Allow data to be pulled directly from indexes
>
>   Currently indexes do not have enough tuple tuple visibility
>   information to allow data to be pulled from the index without
>   also accessing the heap.  One way to allow this is to set a bit
>   to index tuples to indicate if a tuple is currently visible to
>   all transactions when the first valid heap lookup happens.  This
>   bit would have to be cleared when a heap tuple is expired.
>
2005-01-22 20:05:23 +00:00
Bruce Momjian 0d19d8b846 Add:
> * Add 'tid != tid ' operator for use in corruption recovery
2005-01-19 14:17:48 +00:00
Bruce Momjian 33a6dcfcce Update wording:
< * Allow building with directories containing spaces
> * Allow building in directories containing spaces
<   There are two capabilities here, first the ability to build from a
<   source directory that contains spaces, and second the ability to install
<   into a directory that contains spaces.  The first is probably not
<   possible because 'gmake' and other compiler tools do not fully support
<   spaces in path names.  The second is possible with proper quoting in
<   the makefiles.  Because PostgreSQL supports relocatable installs, it
<   is possible to install into a directory that doesn't contain spaces and
<   then copy the install to a directory with spaces.
>   This is probably not possible because 'gmake' and other compiler tools
>   do not fully support quoting of paths with spaces.
>
> * Allow installing to directories containing spaces
>
>   This is possible if proper quoting is added to the makefiles for the
>   install targets.  Because PostgreSQL supports relocatable installs, it
>   is already possible to install into a directory that doesn't contain
>   spaces and then copy the install to a directory with spaces.
2005-01-04 05:35:45 +00:00
Bruce Momjian 24cab1e8d1 Update item for install with spaces:
>   There are two capabilities here, first the ability to build from a
>   source directory that contains spaces, and second the ability to install
>   into a directory that contains spaces.  The first is probably not
>   possible because 'gmake' and other compiler tools do not fully support
>   spaces in path names.  The second is possible with proper quoting in
>   the makefiles.  Because PostgreSQL supports relocatable installs, it
>   is possible to install into a directory that doesn't contain spaces and
>   then copy the install to a directory with spaces.
2005-01-04 05:13:39 +00:00
Bruce Momjian 11373311d0 Add:
> * Allow building with directories containing spaces
2005-01-02 21:08:14 +00:00
Bruce Momjian 3ca924a9dd Update:
< 	  the Win32 wcscoll() can be used.
> 	  the Win32 wcscoll() can be used, and perhaps other functions
> 	  like towupper().
2005-01-01 17:29:17 +00:00
Bruce Momjian bfeaefd245 Update:
< 	  the Win32 strcoll() can be used.
> 	  the Win32 wcscoll() can be used.
2005-01-01 17:25:01 +00:00
Bruce Momjian f882247664 Update:
<         o Disallow encodings like UTF8 which which PostgreSQL supports
>         o Disallow encodings like UTF8 which PostgreSQL supports
914a915,917
>
> 	  To fix UTF8, the data needs to be converted to UTF16 and then
> 	  the Win32 strcoll() can be used.
2005-01-01 16:36:57 +00:00
Bruce Momjian af71fbafd0 Add:
> * Improve the background writer
>
>   Allow the background writer to more efficiently write dirty buffers
>   from the end of the LRU cache and use a clock sweep algorithm to
>   write other dirty buffers to reduced checkpoint I/O
2004-12-27 22:44:44 +00:00
Bruce Momjian c20d6062a3 Add:
> *  Allow the PITR process to be debugged and data examined
2004-12-21 01:23:54 +00:00
Bruce Momjian 7f938227c5 Add:
> * Allow a warm standby system to also allow read-only queries
2004-12-21 01:21:50 +00:00
Bruce Momjian cd5c7e7cbd Add:
> * Allow psql \pset boolean variables to set to fixed values, rather than toggle
2004-12-19 04:36:27 +00:00
Bruce Momjian 24658a2d53 Add Win32:
>         o Disallow encodings like UTF8 which which PostgreSQL supports
>           but the operating system does not (already disallowed by
> 	  pginstaller)
2004-12-17 00:04:30 +00:00
Bruce Momjian 3ff0418293 Remove:
< 	o Allow the shared memory address to be configured via GUC
2004-12-13 18:40:30 +00:00
Bruce Momjian cc4f22c167 Done:
< 	o Remove per-backend parameter file and move into shared memory

Add for Win32:
> 	o Allow the shared memory address to be configured via GUC
2004-12-13 18:00:51 +00:00
Bruce Momjian e13c5cd33b Add:
>
> * Allow the size of the buffer cache used by temporary objects to be
>   specified as a GUC variable
>
>   Larger local buffer cache sizes requires more efficient handling of
>   local cache lookups.
2004-12-13 14:21:32 +00:00
Bruce Momjian cf52f83aa6 Add:
> * ANALYZE should record a pg_statistic entry for an all-NULL column
2004-12-03 17:07:50 +00:00
Bruce Momjian 28c8c99ac6 Add:
> * Fix priority ordering of read and write light-weight locks (Neil)
2004-12-03 02:24:01 +00:00
Bruce Momjian 9b711e766e Add:
<
> 	o Fix problem with shared memory on the Win32 Terminal Server
2004-12-02 23:11:30 +00:00
Bruce Momjian 576bf2f7db Add for Win32:
> 	o Improve dlerror() reporting string
2004-12-02 19:37:58 +00:00
Bruce Momjian be6e9f6266 Add:
> * Allow a warm standby system to also allow read-only queries
>
>   This is useful for checking PITR recovery.
>
2004-12-02 19:32:57 +00:00
Bruce Momjian bbf29949c3 Add:
> * Fix psql's display of schema information (Neil)
2004-12-02 18:13:47 +00:00
Bruce Momjian b383c1db85 Add:
>
> * Allow FOR UPDATE queries to do NOWAIT locks
>
2004-12-02 04:40:37 +00:00
Bruce Momjian b7bcea64ec Add:
> * Allow ecpg to work with MSVC and BCC
2004-12-01 17:39:18 +00:00
Bruce Momjian 4b9a12b1e9 Remove question mark on COPY CSV fix:
< 	  returns in data?
> 	  returns in data
2004-11-30 22:15:21 +00:00
Bruce Momjian 8b9a9c9a68 Removed:
< * Make log_min_duration_statement output when the duration is reached rather
<   than when the statement completes
<
<   This prints long queries while they are running, making trouble shooting
<   easier.  Also, it eliminates the need for log_statement because it
<   would now be the same as a log_min_duration_statement of zero.
2004-11-30 19:32:24 +00:00
Bruce Momjian ff5b6c98bf Add:
> * Make log_min_duration_statement output when the duration is reached rather
>   than when the statement completes
>
>   This prints long queries while they are running, making trouble shooting
>   easier.  Also, it eliminates the need for log_statement because it
>   would now be the same as a log_min_duration_statement of zero.
2004-11-30 18:20:35 +00:00
Bruce Momjian c3df447a03 Update wording:
< you would like to work on an item, please read the developer's FAQ
> you would like to work on an item, please read the Developer's FAQ
2004-11-30 05:06:33 +00:00
Bruce Momjian 89d922b190 Updated TODO list description:
9c5
< Last updated:		Mon Nov 29 23:33:09 EST 2004
> Last updated:		Tue Nov 30 00:03:37 EST 2004
13a10,16
> #A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.#
>
> Bracketed items, "[]", have more detail.
>
> This list contains all known PostgreSQL bugs and feature requests. If
> you would like to work on an item, please read the developer's FAQ
> first.
2004-11-30 05:03:47 +00:00
Bruce Momjian 0548046e12 Add:
> * Prevent INET cast to CIDR from droping netmask, SELECT '1.1.1.1'::inet::cidr
2004-11-30 04:33:14 +00:00
Bruce Momjian 72cf815c0a Add:
> 	o Allow COPY FROM ... CVS to interpret newlines and carriage
> 	  returns in data?
>
> 	  This would require major refactoring of the copy source code.
2004-11-30 03:53:00 +00:00
Bruce Momjian 844cb60f1a Add:
> * Improve NLS maintenace of libpgport messages linked onto applications
>
2004-11-30 03:27:10 +00:00
Bruce Momjian 71929165e8 Add:
<
> * Allow cross-compiling by generating the zic database on the target system
2004-11-29 03:17:30 +00:00
Bruce Momjian eeed2274e5 Add:
> * Auto-vacuum
> 	o Move into the backend code
> 	o Scan the buffer cache to find free space or use background writer
> 	o Use free-space map information to guide refilling
2004-11-29 02:29:28 +00:00
Bruce Momjian 3ad9f45c89 Add description:
<   information, either by name or offset from UTC
>   information, either zone name or offset from UTC
>
>   If the TIMESTAMP value is stored with a time zone name, interval
>   computations should adjust based on the time zone rules, e.g. adding
>   24 hours to a timestamp would yield a different result from adding one
>   day.
>
2004-11-28 05:12:19 +00:00
Bruce Momjian 3c57e0b93f Update:
< * Eliminate WAL logging for CREATE INDEX/REINDEX/CREATE TABLE AS when
<   not doing WAL archiving
> * Eliminate WAL logging for CREATE TABLE AS when not doing WAL archiving
2004-11-12 23:26:37 +00:00
Bruce Momjian 1b87c3f77a Add:
> * Eliminate WAL logging for CREATE INDEX/REINDEX/CREATE TABLE AS when
>   not doing WAL archiving
2004-11-12 18:12:12 +00:00
Bruce Momjian 85eda8e7d4 Cleanup:
>
284d284
<
286a287
>
405a407
>
415a418
>
431a435
>
440a445
>
452a458
>
520c526
< * ECPG (?)
> * ECPG
846a853
>
857a865
>
2004-11-11 04:36:55 +00:00
Bruce Momjian 6cd67c931a Cleaups:
< * Allow GRANT/REVOKE permissions to be given to all schema objects with one
> * Allow GRANT/REVOKE permissions to be applied to all schema objects with one
60c60
<   specifications.  This is because new databases are created by copying
>   specifications.  This is because new databases are created by copying
63c63
<   directory would create a new database with tables that had incorrect
>   directory would create a new database with tables that had incorrect
72c72
<
>
85c85
<   By not showing commented-out variables, we discourage people from
>   By not showing commented-out variables, we discourage people from
91c91
< * Allow point-in-time recovery to archive partially filled write-ahead
> * Allow point-in-time recovery to archive partially filled write-ahead
102c102
<   Currently all schemas are owned by the super-user because they are
>   Currently all schemas are owned by the super-user because they are
128c128
< * Allow INET subnet tests with non-constants to be indexed
> * Allow INET subnet tests using non-constants to be indexed
143,144c143,144
< * Allow to_char to print localized month names
< * Allow functions to have a search path specified at creation time
> * Allow to_char() to print localized month names
> * Allow functions to have a schema search path specified at creation time
146c146
< * Add GUC variable to allow output of interval values in ISO8601 format
> * Add a GUC variable to allow output of interval values in ISO8601 format
154,155c154,155
< * Prevent inet cast to cidr if the unmasked bits are not zero, or
<   zero bits
> * Prevent INET cast to CIDR if the unmasked bits are not zero, or
>   zero the bits
158c158
< 	o Allow nulls in arrays
> 	o Allow NULLs in arrays
160,161c160,161
< 	o Delay resolution of array expression type so assignment coercion
< 	  can be performed on empty array expressions
> 	o Delay resolution of array expression's data type so assignment
> 	  coercion can be performed on empty array expressions
218,219c218,219
<   key, foreign key  [inheritance]
< * UNIQUE INDEX on base column not honored on inserts/updates from
>   key, foreign key
> * UNIQUE INDEX on base column not honored on INSERTs/UPDATEs from
221c221
<   (dup) should fail [inheritance]
>   (dup) should fail
246c246
< * Fetch heap pages matching index entries in sequential order [performance]
> * Fetch heap pages matching index entries in sequential order
307c307
<   functionality in DELETE.  It's been agreed that the keyword should
>   functionality in DELETE.  It's been agreed that the keyword should
318c318
< * Allow PREPARE to automatically determine parameter types based on the SQL
> * Allow PREPARE to automatically determine parameter types based on the SQL
340,342d339
< * Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work
<   by searching for non-conflicting constraint names, and prefix with
<   table name?
347c344
<   new database.
>   a new database.
350,351d346
< * Ignore temporary tables from other sessions when processing
<   inheritance?
354,355c349,351
< * Add a session mode to warn about non-standard SQL usage in queries
< * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules, triggers?)
> * Add a GUC variable to warn about non-standard SQL usage in queries
> * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules,
>   triggers?)
357,359c353,356
< * Add NOVICE output level for helpful messages like automatic sequence/index creation
< * Add COMMENT ON for all cluster global objects (users, groups,
<   databases and tablespaces)
> * Add NOVICE output level for helpful messages like automatic sequence/index
>   creation
> * Add COMMENT ON for all cluster global objects (users, groups, databases
>   and tablespaces)
363c360
<   When enabled, this would allow errors in multi-statement transactions
>   When enabled, this would allow errors in multi-statement transactions
417c414
< 	o Allow COPY to optionally include column headings as the first line
> 	o Allow COPY to optionally include column headings in the first line
450c447
<
>
462c459
< 	o Handle references to temporary tables that are created, destroyed,
> 	o Handle references to temporary tables that are created, destroyed,
464c461
<
>
469d465
< 	o Improve PL/PgSQL exception handling using savepoints
488c484
<
>
503d498
<
518c513
< 	o Add pg_dumpall custom format dumps.
> 	o Add pg_dumpall custom format dumps.
520c515
< 	  This is probably best done by combining pg_dump and pg_dumpall
> 	  This is probably best done by combining pg_dump and pg_dumpall
532d526
< 	o Improve error handling (?)
555c549
<   Adding shared locks requires recording the table/rows numbers in a
>   Adding shared locks requires recording the table/rows numbers in a
643c637
<   Posix_fadvise() can control both sequential/random file caching and
>   Posix_fadvise() can control both sequential/random file caching and
703c697
<   from distributted.net, http://www1.distributed.net/source,
>   from distributted.net, http://www1.distributed.net/source,
729c723
< * Add connection pooling [pool]
> * Add connection pooling
755d748
<
759c752
<
>
768c761
<   so an abrupt operating system restart might lose a few seconds of
>   so an abrupt operating system restart might lose a few seconds of
785c778
< * Add utility to compute accurate random_page_cost value
> * Create utility to compute accurate random_page_cost value
787,789d779
< * Allow sorting, temp files, temp tables to use multiple work directories
<
<   This allows the I/O load to be spread across multiple disk drives.
795a786
>
808,809c799,800
<
< * Use mmap() rather than SYSV shared memory or to write WAL files (?) [mmap]
>
> * Use mmap() rather than SYSV shared memory or to write WAL files (?)
812,813c803,804
<   portability issues. Anonymous mmap (or mmap to /dev/zero) is required
<   to prevent I/O overhead.
>   portability issues. Anonymous mmap (or mmap to /dev/zero) is required
>   to prevent I/O overhead.
817,819c808,810
<   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,
>   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,
821c812
<   way to _prevent_ I/O to disk from the dirty shared buffers so changes
>   way to _prevent_ I/O to disk from the dirty shared buffers so changes
826c817
<   tuple overhead
>   per-tuple overhead
829,831c820,822
<   This would involve using multiple threads or processes to do optimization,
<   sorting, or execution of single query.  The major advantage of such a
<   feature would be to allow multiple CPUs to work together to process a
>   This would involve using multiple threads or processes to do optimization,
>   sorting, or execution of single query.  The major advantage of such a
>   feature would be to allow multiple CPUs to work together to process a
834c825
< * Research the use of larger pages sizes
> * Research the use of larger page sizes
842a834
> * Move some /contrib modules out to their own project sites
845d836
< * Improve access-permissions check on data directory in Cygwin (Tom)
847,848c838
< * Clarify use of 'application' and 'command' tags in SGML docs
< * Better document ability to build only certain interfaces (Marc)
> * Improve documentation to build only interfaces (Marc)
852,853d841
< * Research interaction of setitimer() and sleep() used by statement_timeout
< * Rename /scripts directory because they are all C programs now
856,857d843
< * Allow binaries to be statically linked so they are more easily relocated
< * Move some /contrib modules out to their own project sites
862c848
< 	o Remove per-backend parameter file and move into shared memory?
> 	o Remove per-backend parameter file and move into shared memory
877,878c863,864
< 	o Update clients to use data types, typmod, schema.table.column names of
< 	  result sets using new query protocol
> 	o Update clients to use data types, typmod, schema.table.column names
> 	  of result sets using new query protocol
900d885
< * Kris is Kris Jurka
910c895
< * Simon is Simon Riggs
> * Simon is Simon Riggs <simon@2ndquadrant.com>
913d897
< * Teodor is
2004-11-11 03:59:14 +00:00
Bruce Momjian 883fbbe04c Done:
<
< * psql tab completion
<
< 	o Provide a list of conversions after ALTER CONVERSION?
< 	o Support for ALTER SEQUENCE clauses
< 	o Add RENAME TO to ALTER TRIGGER
< 	o Support for ALTER USER
< 	o Fix ALTER (GROUP|DOMAIN|...) <sth> DROP
< 	o Support for ALTER LANGUAGE <sth> RENAME TO
< 	o Improve support for COPY
< 	o Improve support for ALTER TABLE
2004-11-10 05:47:07 +00:00
Bruce Momjian 056d7e3a18 Add bitmap info:
<   heap page to find matching rows.
>   heap page to find matching rows, or perhaps use a mixed solution where
>   tids are recorded for pages with only a few matches and per-page bitmaps
>   are used for more dense pages.  Another idea is to use a 32-bit bitmap
>   for every page and set a bit based on the item number mod(32).
2004-11-10 02:48:41 +00:00
Bruce Momjian 58825b8cd6 Add:
>
> * Research the use of larger pages sizes
2004-11-09 16:50:59 +00:00
Bruce Momjian 960f545041 Update bitmap index description:
<   Such indexes could be more compact if there are only a few unique values.
>   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.
2004-11-09 15:11:11 +00:00
Bruce Momjian 53ee0729b2 Fix typo:
<   Such indexes could be more compact if there are few unique value.
>   Such indexes could be more compact if there are only a few unique values.
2004-11-09 04:14:07 +00:00
Bruce Momjian 8dd602e41e Update mmap details:
<   portability issues. Anonymous mmap is required to prevent I/O
<   overhead.
>   portability issues. Anonymous mmap (or mmap to /dev/zero) is required
>   to prevent I/O overhead.
>
> * Consider mmap()'ing files into a backend?
>
>   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.
2004-11-09 03:57:42 +00:00
Bruce Momjian 916897cce7 Update:
<   posix_fadvise() [fadvise]
>   posix_fadvise()
>
>   Posix_fadvise() can control both sequential/random file caching and
>   free-behind behavior, but it is unclear how the setting affects other
>   backends that also have the file open, and the feature is not supported
>   on all operating systems.
>
2004-11-08 20:16:20 +00:00
Bruce Momjian 4e706f523d Remove count TODO.detail. 2004-11-08 15:32:40 +00:00
Bruce Momjian c70bdf0228 Update item description:
< * CREATE TABLE AS can not determine column lengths from expressions [atttypmod]
> * Allow CREATE TABLE AS to determine column lengths for complex
>   expressions like SELECT col1 || col2
2004-11-08 15:18:16 +00:00
Bruce Momjian ffd69e7044 Update view info:
< * Automatically create rules on views so they are updateable, per SQL99 [view]
> * Automatically create rules on views so they are updateable, per SQL99
>
>   We can only auto-create rules for simple views.  For more complex
>   cases users will still have to write rules.
>
2004-11-08 14:54:00 +00:00
Bruce Momjian 9a643a9669 Remove:
* Allow database recovery where tablespaces can't be created

  When a pg_dump is restored, all tablespaces will attempt to be created
  in their original locations. If this fails, the user must be able to
  adjust the restore process.
2004-11-06 05:38:19 +00:00
Bruce Momjian 6105c9a145 *** empty log message *** 2004-11-06 03:25:20 +00:00
Bruce Momjian 14cb5e5ae6 Update "dash" to "hyphen". 2004-11-06 03:24:21 +00:00
Bruce Momjian 655b4741fc Fix typo:
<   one column or expression indexes, perhaps using per=index statistics
>   one column or expression indexes, perhaps using per-index statistics
2004-11-05 03:11:54 +00:00
Bruce Momjian 6c3083afe1 Add items:
< * Add transaction_timestamp(), statement_timestamp(), clock_timestamp() functionality
> * Add transaction_timestamp(), statement_timestamp(), clock_timestamp()
>   functionality
278c279
<   one column
>   one column or expression indexes, perhaps using per=index statistics
846a848
> * Remove kerberos4 from source tree?
2004-11-05 03:04:36 +00:00
Bruce Momjian e505a70c7f Add:
>
> * Add fillfactor to control reserved free space during index creation
2004-11-04 17:09:54 +00:00
Bruce Momjian b976e92431 Add:
> * Allow accurate statistics to be collected on indexes with more than
>   one column
2004-11-04 16:53:58 +00:00
Bruce Momjian 2c793d1c87 Updates from Simon Riggs:
<   that can spam more than one table.
>   that can span more than one table.
239c239
<   rather than just col1
>   rather than just col1; also called skip-scanning.
641c641,642
< * Add free-behind capability for large sequential scans [fadvise]
> * Allow free-behind capability for large sequential scans, perhaps using
>   posix_fadvise() [fadvise]
2004-11-04 16:49:53 +00:00
Bruce Momjian c894e7e8e0 Update bitmap index entries:
< * Allow the creation of bitmap indexes which can be quickly combined
<   with other bitmap indexes
> * Allow non-bitmap indexes to be combined by creating bitmaps in memory
259,261c258,259
<   combined.  Such indexes could be more compact if there are few unique
<   value.  Also, perhaps they can be lossy requiring a scan of the heap page
<   to find matching rows.
>   combined.  They can index by tid or can be lossy requiring a scan of the
>   heap page to find matching rows.
263c261,262
< * Allow non-bitmap indexes to be combined
> * Allow the creation of on-disk bitmap indexes which can be quickly
>   combined with other bitmap indexes
265,266c264
<   Do lookups on non-bitmap indexes and create bitmaps in memory that can be
<   combined with other indexes.
>   Such indexes could be more compact if there are few unique value.
2004-11-04 16:19:46 +00:00
Bruce Momjian 4fbdfbffc6 Update:
< * Use bitmaps to combine existing indexes [performance]
> * Allow the creation of bitmap indexes which can be quickly combined
>   with other bitmap indexes
255,257c256,266
<   Bitmap indexes allow single indexed columns to be combined to
<   dynamically create a composite index to match a specific query. Each
<   index is a bitmap, and the bitmaps are AND'ed or OR'ed to be combined.
>   Bitmap indexes index single columns that can be combined with other bitmap
>   indexes to dynamically create a composite index to match a specific query.
>   Each index is a bitmap, and the bitmaps are bitwise AND'ed or OR'ed to be
>   combined.  Such indexes could be more compact if there are few unique
>   value.  Also, perhaps they can be lossy requiring a scan of the heap page
>   to find matching rows.
>
> * Allow non-bitmap indexes to be combined
>
>   Do lookups on non-bitmap indexes and create bitmaps in memory that can be
>   combined with other indexes.
2004-11-04 03:57:58 +00:00
Bruce Momjian c21214f1c0 Honor TMPDIR.
Add the script name to the tmp directory name.

Move trap up now that the dir is more unique.
2004-11-04 02:04:10 +00:00
Bruce Momjian a809899680 Update tablespace temp usage item:
<   This perhaps should use a round-robin allocation system where several
<   tablespaces are used in a cycle.  The cycle pointer should be global.
>   It could start with a random tablespace from a supplied list and cycle
>   through the list.
2004-11-03 22:20:52 +00:00
Bruce Momjian f6b4707f1b Add idea on auto-cluster:
< 	  store heap rows in hashed groups.
> 	  store heap rows in hashed groups, perhaps using a user-supplied
> 	  hash function.
2004-11-03 19:38:20 +00:00
Bruce Momjian aafbf33d96 Add idea on auto-cluster:
< 	  automatically access the heap data too.
> 	  automatically access the heap data too.  A third idea would be to
> 	  store heap rows in hashed groups.
2004-11-03 19:28:11 +00:00
Bruce Momjian 745bb9600f Update:
< * Add a GUC variable to control the tablespace for temporary objects
> * Add a GUC variable to control the tablespace for temporary objects and
>   sort files
>
>   This perhaps should use a round-robin allocation system where several
>   tablespaces are used in a cycle.  The cycle pointer should be global.
>
2004-11-02 14:49:27 +00:00
Bruce Momjian a21c00d742 Update:
< * Add a GUC variable to control temporary and TOAST tablespace usage
> * Add a GUC variable to control the tablespace for temporary objects
2004-11-01 02:22:05 +00:00
Bruce Momjian a9b6a5ca41 Add:
> * Add a GUC variable to control temporary and TOAST tablespace usage
2004-11-01 00:28:40 +00:00
Bruce Momjian 3b6cc1ad6d Add:
> * Allow TIMESTAMP WITH TIME ZONE to store the original timezone
>   information, either by name or offset from UTC
2004-10-26 19:41:22 +00:00
Bruce Momjian a9a2c394b8 Force rebuild. 2004-10-18 16:16:20 +00:00
Bruce Momjian e444d9a966 Improve indentation of sublists:
< 	The proper solution to this will probably the use of a master/slave
< 	replication solution like Sloney and a connection pooling tool like
< 	pgpool.
> 	  The proper solution to this will probably the use of a master/slave
> 	  replication solution like Sloney and a connection pooling tool like
> 	  pgpool.
114,116c114,116
< 	You can use any of the master/slave replication servers to use a
< 	standby server for data warehousing. To allow read/write queries to
< 	multiple servers, you need multi-master replication like pgcluster.
> 	  You can use any of the master/slave replication servers to use a
> 	  standby server for data warehousing. To allow read/write queries to
> 	  multiple servers, you need multi-master replication like pgcluster.
166,167c166,167
< 	Currently large objects entries do not have owners. Permissions can
< 	only be set at the pg_largeobject table level.
> 	  Currently large objects entries do not have owners. Permissions can
> 	  only be set at the pg_largeobject table level.
173c173
< 	This requires the TOAST column to be stored EXTERNAL.
> 	  This requires the TOAST column to be stored EXTERNAL.
359,360c359,360
< 	One complexity is whether moving a schema should move all existing
< 	schema objects or just define the location for future object creation.
> 	  One complexity is whether moving a schema should move all existing
> 	  schema objects or just define the location for future object creation.
364,365c364,365
< 	Currently non-global system tables must be in the default database
< 	schema. Global system tables can never be moved.
> 	  Currently non-global system tables must be in the default database
> 	  schema. Global system tables can never be moved.
371,375c371,375
< 	This might require some background daemon to maintain clustering
< 	during periods of low usage. It might also require tables to be only
< 	paritally 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.
> 	  This might require some background daemon to maintain clustering
> 	  during periods of low usage. It might also require tables to be only
> 	  paritally 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.
379,380c379,380
< 	To do this, determine the ideal cluster index for each system
< 	table and set the cluster setting during initdb.
> 	  To do this, determine the ideal cluster index for each system
> 	  table and set the cluster setting during initdb.
385,386c385,386
< 	This requires the use of a savepoint before each COPY line is
< 	processed, with ROLLBACK on COPY failure.
> 	  This requires the use of a savepoint before each COPY line is
> 	  processed, with ROLLBACK on COPY failure.
395,398c395,398
< 	This requires using the row ctid to map cursor rows back to the
< 	original heap row. This become more complicated if WITH HOLD cursors
< 	are to be supported because WITH HOLD cursors have a copy of the row
< 	and no FOR UPDATE lock.
> 	  This requires using the row ctid to map cursor rows back to the
> 	  original heap row. This become more complicated if WITH HOLD cursors
> 	  are to be supported because WITH HOLD cursors have a copy of the row
> 	  and no FOR UPDATE lock.
405,406c405,406
< 	Because WITH HOLD cursors exist outside transactions, this allows
< 	them to be listed so they can be closed.
> 	  Because WITH HOLD cursors exist outside transactions, this allows
> 	  them to be listed so they can be closed.
413,415c413,415
< 	This is useful for returning the auto-generated key for an INSERT.
< 	One complication is how to handle rules that run as part of
< 	the insert.
> 	  This is useful for returning the auto-generated key for an INSERT.
> 	  One complication is how to handle rules that run as part of
> 	  the insert.
422c422
< 	This is basically the same as SET search_path.
> 	  This is basically the same as SET search_path.
426,427c426,427
< 	This requires a checking function to be called after the server
< 	configuration file is read.
> 	  This requires a checking function to be called after the server
> 	  configuration file is read.
432c432
< 	Currently only constants are supported.
> 	  Currently only constants are supported.
438,439c438,439
< 	This requires the cached PL/PgSQL byte code to be invalidated when
< 	an object referenced in the function is changed.
> 	  This requires the cached PL/PgSQL byte code to be invalidated when
> 	  an object referenced in the function is changed.
512,513c512,513
< 	Document differences between ecpg and the SQL standard and
< 	information about the Informix-compatibility module.
> 	  Document differences between ecpg and the SQL standard and
> 	  information about the Informix-compatibility module.
2004-10-18 16:13:43 +00:00
Bruce Momjian f9259bd563 Update wording:
* 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

  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.
2004-10-18 03:27:14 +00:00
Bruce Momjian b303739c06 Add:
>
> * 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
>
>   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.
2004-10-18 02:56:42 +00:00
Bruce Momjian 19d97fb3fd Add:
> * Allow libpq to access SQLSTATE so pg_ctl can test for connection failure
>
>   This would be used for checking if the server is up.
>
2004-10-14 22:17:57 +00:00
Bruce Momjian 130972b4e2 Add:
<
> * Prevent inet cast to cidr if the unmasked bits are not zero, or
>   zero bits
2004-10-14 19:26:40 +00:00
Bruce Momjian b8c06a6645 Add:
> * Add RESET CONNECTION command to reset all session state
329a331,334
>   This would include resetting of all variables (RESET ALL), dropping of
>   all temporary tables, removal of any NOTIFYs, etc.  This could be used
>   for connection pooling.  We could also change RESET ALL to have this
>   functionality.
2004-10-13 01:03:11 +00:00
Bruce Momjian b3723aeb1f Add:
>
811a813,814
> 	o Re-enable timezone output on log_line_prefix '%t' when a
> 	  shorter timezone string is available
2004-10-09 01:29:01 +00:00
Bruce Momjian d157f4c26a Add newline. 2004-10-09 00:33:28 +00:00
Bruce Momjian 1c24bf9096 Move Win32 TODO items to main TODO list:
<
> * Win32
> 	o Remove per-backend parameter file and move into shared memory?
> 	o Remove configure.in check for link failure when cause is found
> 	o Remove readdir() errno patch when runtime/mingwex/dirent.c rev
> 	  1.4 is released
> 	o Remove psql newline patch when we find out why mingw outputs an
> 	  extra newline
> 	o Allow psql to use readline once non-US code pages work with
> 	  backslashes
2004-10-08 16:28:32 +00:00
Bruce Momjian 050beacc6e Pull comment down into its own paragraph. 2004-10-08 00:44:07 +00:00
Bruce Momjian c4c3428914 Add:
* Consider parallel processing a single query

  This would involve using multiple threads or processes to do optimization,
  sorting, or execution of single query.  The major advantage of such a
  feature would be to allow multiple CPUs to work together to process a
  single query.
2004-10-08 00:36:23 +00:00
Bruce Momjian 7ceec70fc7 Add:
>
> * Consider automatic caching of queries at various levels:
> 	o Parsed query tree
> 	o Query execute plan
> 	o Query results
2004-09-27 14:17:51 +00:00
Bruce Momjian 08e9f6974c Remove completed items:
< Last updated:		Sat Sep 25 21:33:44 EDT 2004
> Last updated:		Mon Sep 27 10:15:31 EDT 2004
13,19d12
< Remove items before beta?
<
< Urgent
< ======
<
< * -Point-in-time data recovery using backup and write-ahead log
< * -Create native Win32 port
25d17
< * -Incremental backups
28d19
< * -Allow configuration files to be specified in a different directory
32,34d22
< * -Add the concept of dataspaces/tablespaces (Gavin)
< * -Allow logging of only data definition(DDL), or DDL and modification statements
< * -Allow log lines to include session-level information, like database and user
54d41
< * -Allow external interfaces to extend the GUC variable set
126d112
< * -Change factorial to return a numeric (Gavin)
141,142d126
< * -Allow pg_dump to dump sequences using NO_MAXVALUE and NO_MINVALUE
< * -Prevent whole-row references from leaking memory, e.g. SELECT COUNT(tab.*)
147d130
< * -Make LENGTH() of CHAR() not count trailing spaces
150d132
< * -Support composite types as table columns
198,200d179
< * -Prevent mismatch of frontend/backend encodings from converting bytea
<   data from being interpreted as encoded strings
< * -Fix upper()/lower() to work for multibyte encodings
217d195
< * -Order duplicate index entries on creation by ctid for faster heap lookups
242d219
< * -Be smarter about insertion of already-ordered data into btree index
265,266d241
< * -Allow SELECT * FROM tab WHERE int2col = 4 to use int2col index, int8,
<   float4, numeric/decimal too
282d256
< * -Allow command blocks to ignore certain types of errors
302,303d275
< * -Allow savepoints / nested transactions (Alvaro)
< * -Use nested transactions to prevent syntax errors from aborting a transaction
306,307d277
< * -Prevent COMMENT ON DATABASE from using a database name
< * -Add NO WAIT LOCKs
325,326d294
< * -COMMENT ON [ CAST | CONVERSION | OPERATOR CLASS | LARGE OBJECT | LANGUAGE ]
<   (Christopher)
334d301
< * -Allow more ISOLATION LEVELS to be accepted
347d313
< * -Add GUC setting to make created tables default to WITHOUT OIDS
365,369d330
< 	o -ALTER TABLE ADD COLUMN does not honor DEFAULT and non-CHECK CONSTRAINT
< 	o -ALTER TABLE ADD COLUMN column DEFAULT should fill existing
< 	  rows with DEFAULT value
< 	o -ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence because
<           of the item above
371,373d331
< 	o -Allow ALTER TABLE to modify column lengths and change to binary
< 	  compatible types
< 	o -Add ALTER DATABASE ... OWNER TO newowner
390,393d347
< 	o -Add ALTER DOMAIN, AGGREGATE, CONVERSION ... OWNER TO
< 	o -Add ALTER SEQUENCE ... OWNER TO
< 	o -Add ALTER INDEX that works just like ALTER TABLE already does
< 	  on an index
404d357
< 	o -Add ALTER TABLE table SET WITHOUT CLUSTER (Christopher)
411d363
< 	o -Allow dump/load of CSV format
464d415
< 	o -Allow Java server-side programming
473d423
< 	o -Allow PL/pgSQL parameters to be specified by name and type during definition
493,495d442
< * -Allow psql \du to show users, and add \dg for groups
< * -Have psql \dn show only visible temp schemas using current_schemas()
< * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
509,511d455
< 	o -Allow pg_dump to dump CREATE CONVERSION (Christopher)
< 	o -Make pg_restore continue after errors, so it acts more like pg_dump
< 	  scripts
545d488
< 	o -Implement SET DESCRIPTOR
592,596d534
< * -Have AFTER triggers execute after the appropriate SQL statement in a
<   function, not at the end of the function
< * -Print table names with constraint names in error messages, or make constraint
<   names unique within a schema
< * -Issue NOTICE if foreign key data requires costly test to match primary key
614,615d551
< * -Use dependency information to dump data in proper order
< * -Have pg_dump -c clear the database using dependency information
694,695d629
< * -Provide automatic running of vacuum in the background in backend
<   rather than in /contrib (Matthew)
828d761
< * -Use background process to write dirty shared buffers to disk
843d775
< * -Change representation of whole-tuple parameters to functions
850,852d781
< * -Add checks for fclose() failure (Tom)
< * -Change CVS ID to PostgreSQL
< * -Exit postmaster if postgresql.conf can not be opened
2004-09-27 14:15:49 +00:00
Bruce Momjian 6e7dd37384 Refresh for recent changes. 2004-09-26 01:33:55 +00:00
Neil Conway 665d3736fb Clarify TODO item: we ought to implement updatable views per SQL99, not
SQL92 (the former defines a much more ambitious subset of views that
need to be updatable).
2004-09-21 05:38:54 +00:00
Bruce Momjian 1459d8c4b0 Mark as done:
< * Point-in-time data recovery using backup and write-ahead log,
< * Create native Win32 port, http://momjian.postgresql.org/main/writings/pgsql/project/win32.html
> * -Point-in-time data recovery using backup and write-ahead log
> * -Create native Win32 port
470c470
<     o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
> 	o Fix PL/pgSQL RENAME to work on variables other than OLD/NEW
2004-09-14 14:34:45 +00:00
Bruce Momjian 8a54a51863 Done:
< * Have AFTER triggers execute after the appropriate SQL statement in a
> * -Have AFTER triggers execute after the appropriate SQL statement in a
2004-09-10 22:38:52 +00:00
Bruce Momjian 856d1faac1 Add:
> * Make row-wise comparisons work per SQL spec
>
2004-09-10 16:35:56 +00:00
Bruce Momjian 594be448e1 Add:
> * Remove Win32 rename/unlink looping if unnecessary
2004-09-10 10:03:41 +00:00
Bruce Momjian c58eb2dd7b Add:
> * Consider using hash buckets to do DISTINCT, rather than sorting
>
>   This would be beneficial when there are few distinct values.
2004-09-02 01:18:46 +00:00
Bruce Momjian af8406bb2a Remove item because it is on the open item list:
< * Fix oid2name and dbsize for tablespaces
2004-08-30 16:08:20 +00:00
Bruce Momjian ef16b4e157 Update wording:
< 	This would require some background daemon to maintain clustering
> 	This might require some background daemon to maintain clustering
397,398c397,398
< 	paritally filled for easier reorganization.  It also might require
< 	creating a merged heap/index data file so an index lookup would
> 	paritally filled for easier reorganization.  Another idea would
>         be to create a merged heap/index data file so an index lookup would
2004-08-27 04:34:28 +00:00
Bruce Momjian 3bc7564cf9 Update:
< 	This would require some background daemon to restore clustering
> 	This would require some background daemon to maintain clustering
397c397,399
< 	paritally filled for easier reorganization.
> 	paritally filled for easier reorganization.  It also might require
> 	creating a merged heap/index data file so an index lookup would
> 	automatically access the heap data too.
2004-08-27 01:44:49 +00:00
Bruce Momjian 93c3baa96f Add:
> * Merge hardwired timezone names with the TZ database; allow either kind
>   everywhere a TZ name is currently taken
> * Allow customization of the known set of TZ names (generalize the
>   present australian_timezones hack)
2004-08-26 03:09:13 +00:00
Bruce Momjian 4359ebed37 Update item:
< * Implement dirty reads or shared row locks and use them in RI triggers (?)
> * Implement dirty reads or shared row locks and use them in RI triggers
>
>   Adding shared locks requires recording the table/rows numbers in a
>   shared area, and this could potentially be a large amount of data.
>   One idea is to store the table/row numbers in a separate table and set
>   a bit on the row indicating looking in this new table is required to
>   find any shared row locks.
>
2004-08-24 11:09:44 +00:00
Bruce Momjian 059912ce2e Mention removal of page images in PITR files:
<   partial page writes during recovery.
>   partial page writes during recovery.  These pages can also be
>   eliminated from point-in-time archive files.
2004-08-23 21:56:50 +00:00
Bruce Momjian ff8e5526dd Add ALTER SCHEMA item detail:
< 	o Allow databases, schemas, and indexes to be moved to different
< 	  tablespaces
> 	o Allow databases and schemas to be moved to different tablespaces
>
> 	One complexity is whether moving a schema should move all existing
> 	schema objects or just define the location for future object creation.
>
382c385
< 	o Add ALTER INDEX that works just like ALTER TABLE already does
> 	o -Add ALTER INDEX that works just like ALTER TABLE already does
384d386
< 	o Add ALTER INDEX syntax to work like ALTER TABLE indexname
2004-08-20 20:07:12 +00:00
Bruce Momjian a9ed7476a0 Add psql tab completion TODO:
< * -Have psql \dn show only visible temp schemas using current_schemas()
< * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
484a483,484
> * -Have psql \dn show only visible temp schemas using current_schemas()
> * -Have psql '\i ~/<tab><tab>' actually load files it displays from home dir
516a517,527
>
> * psql tab completion
>
> 	o Provide a list of conversions after ALTER CONVERSION?
> 	o Support for ALTER SEQUENCE clauses
> 	o Add RENAME TO to ALTER TRIGGER
> 	o Support for ALTER USER
> 	o Fix ALTER (GROUP|DOMAIN|...) <sth> DROP
> 	o Support for ALTER LANGUAGE <sth> RENAME TO
> 	o Improve support for COPY
> 	o Improve support for ALTER TABLE
2004-08-20 19:30:39 +00:00
Bruce Momjian fcc5b95e0f Add mention of environment variable conflict with uncommenting config
file variables:

<   Another option is to allow commented values to return to their
<   default values.
>   This has to address environment variables that are then overridden
>   by config file values.  Another option is to allow commented values
>   to return to their default values.
2004-08-20 15:20:27 +00:00
Bruce Momjian 2674bbbe99 Add:
> * Add a function that returns the 'uptime' of the postmaster
2004-08-20 03:06:00 +00:00
Bruce Momjian 4d328bcd9c Update wording on commented postgresql.conf values:
>   Another option is to allow commented values to return to their
>   default values.
2004-08-19 22:25:09 +00:00
Bruce Momjian 04854a89ef Add:
> 	o Allow COPY to optionally include column headings as the first line
2004-08-19 02:36:24 +00:00