Commit Graph

1944 Commits

Author SHA1 Message Date
Bruce Momjian
a78a530829 Add:
> * Add function to return the thread safety status of libpq and ecpg
2005-08-28 18:52:37 +00:00
Bruce Momjian
a1a19bb8fb Add:
> * Allow user-defined types to specify a type modifier at table creation
>   time
2005-08-27 13:52:07 +00:00
Bruce Momjian
542faa8244 Update:
>
>   Another issue is whether underlying table changes should be reflected
>   in the view, e.g. should SELECT * show additional columns if they
>   are added after the view is created.
2005-08-27 13:38:43 +00:00
Bruce Momjian
f9244df78f Add:
> 	o Issue a warning if a change-on-restart-only postgresql.conf value
> 	  is modified  and the server config files are reloaded
> 	o Mark change-on-restart-only values in postgresql.conf
205a209
> 	o Fix SELECT '0.01 years'::interval, '0.01 months'::interval
2005-08-26 20:38:57 +00:00
Bruce Momjian
acba287aec Add description and item:
>
> 	  Currently, while \e saves a single query as one entry, interactive
> 	  queries are saved one line at a time.  Ideally all queries
> 	  whould be saved like \e does.
>
> 	o Allow multi-line column values to align in the proper columns
>
> 	  If the second output column value is 'a\nb', the 'b' should appear
> 	  in the second display column, rather than the first column as it
> 	  does now.
2005-08-26 19:41:18 +00:00
Bruce Momjian
cad7f831e1 Update based on user comments:
<   in PL/PgSQL is to use EXECUTE.
>   in PL/PgSQL is to use EXECUTE.  One complexity is that a function
>   might itself drop and recreate dependent tables, causing it to
>   invalidate its own query plan.
2005-08-26 19:32:43 +00:00
Bruce Momjian
bdfa8e5e71 Update constraint_exclusion items:
<   inheritance, and allow it to work for UPDATE and DELETE queries
>   inheritance, allow it to work for UPDATE and DELETE queries, and allow
>   it to be used for all queries with little performance impact
< * Allow constraint_elimination to be automatically performed
<
<   This requires additional code to reduce the performance loss caused by
<   constraint elimination.
2005-08-26 19:10:48 +00:00
Bruce Momjian
88d7b711a0 Remove completed items:
< * -Allow limits on per-db/role connections
43d41
< * -Prevent dropping user that still owns objects, or auto-drop the objects
49d46
< * -Add the client IP address and port to pg_stat_activity
< * -Add session start time and last statement time to pg_stat_activity
< * -Add a function that returns the start time of the postmaster
230d224
< 	o -Allow MIN()/MAX() on arrays
< 	o -Modify array literal representation to handle array index lower bound
< 	  of other than one
253d244
< * -Add function to return compressed length of TOAST data values
< * -Prevent to_char() on interval from returning meaningless values
<
<   For example, to_char('1 month', 'mon') is meaningless.  Basically,
<   most date-related parameters to to_char() are meaningless for
<   intervals because interval is not anchored to a date.
<
< * -Have views on temporary tables exist in the temporary namespace
< * -Allow temporary views on non-temporary tables
329d311
< * -Add BETWEEN SYMMETRIC/ASYMMETRIC
< * -Add E'' escape string marker so eventually ordinary strings can treat
<   backslashes literally, for portability
<
< * -Allow additional tables to be specified in DELETE for joins
<
<   UPDATE already allows this (UPDATE...FROM) but we need similar
<   functionality in DELETE.  It's been agreed that the keyword should
<   be USING, to avoid anything as confusing as DELETE FROM a FROM b.
<
341d313
< * -Allow REINDEX to rebuild all database indexes
< * -Add an option to automatically use savepoints for each statement in a
<   multi-statement transaction.
<
<   When enabled, this would allow errors in multi-statement transactions
<   to be automatically ignored.
<
426d391
< 	o -Allow FOR UPDATE queries to do NOWAIT locks
473d437
< 	o -Allow COPY to understand \x as a hex byte
< 	o -Allow COPY to optionally include column headings in the first line
< 	o -Allow COPY FROM ... CSV to interpret newlines and carriage
< 	  returns in data
525d485
< 	o -Have SHOW ALL show descriptions for server-side variables
< 	o -Allow PL/PgSQL's RAISE function to take expressions
<
< 	  Currently only constants are supported.
<
< 	o -Change PL/PgSQL to use palloc() instead of malloc()
545d499
< 	o -Allow PL/pgSQL EXECUTE query_var INTO record_var;
550d503
< 	o -Pass arrays natively instead of as text between plperl and postgres
598d550
< 	o -Add dumping and restoring of LOB comments
638d589
< * -Implement shared row locks and use them in RI triggers
642d592
< * -Allow triggers to be disabled
< * -Add two-phase commit
<
<
< * -Prevent inherited tables from expanding temporary subtables of other
<   sessions
< * -Use indexes for MIN() and MAX()
<
<   MIN/MAX queries can already be rewritten as SELECT col FROM tab ORDER
<   BY col {DESC} LIMIT 1. Completing this item involves doing this
<   transformation automatically.
<
< * -Use index to restrict rows returned by multi-key index when used with
<   non-consecutive keys to reduce heap accesses
<
<   For an index on col1,col2,col3, and a WHERE clause of col1 = 5 and
<   col3 = 9, spin though the index checking for col1 and col3 matches,
<   rather than just col1; also called skip-scanning.
<
< * -Fetch heap pages matching index entries in sequential order
<
<   Rather than randomly accessing heap pages based on index entries, mark
<   heap pages needing access in a bitmap and do the lookups in sequential
<   order. Another method would be to sort heap ctids matching the index
<   before accessing the heap rows.
<
< * -Allow non-bitmap indexes to be combined by creating bitmaps in memory
<
<   This feature allows separate indexes to be ANDed or ORed together.  This
<   is particularly useful for data warehousing applications that need to
<   query the database in an many permutations.  This feature scans an index
<   and creates an in-memory bitmap, and allows that bitmap to be combined
<   with other bitmap created in a similar way.  The bitmap can either index
<   all TIDs, or be lossy, meaning it records just page numbers and each
<   page tuple has to be checked for validity in a separate pass.
<
< * -Fix incorrect rtree results due to wrong assumptions about "over"
<   operator semantics
782d694
< 	o -Add concurrency to GIST
813d724
< * -Allow multiple blocks to be written to WAL with one write()
< * -Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
<   for WAL writes
<
<   O_DIRECT doesn't have the same media write guarantees as fsync, so it
<   is in addition to the fsync method, not in place of it.
<
< * -Cache last known per-tuple offsets to speed long tuple access
< * -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.
<
< * -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
<
897d788
< * -Add a warning when the free space map is too small
917d807
< 	o -Move into the backend code
< * -Make locking of shared data structures more fine-grained
<
<   This requires that more locks be acquired but this would reduce lock
<   contention, improving concurrency.
<
< * -Improve SMP performance on i386 machines
<
<   i386-based SMP machines can generate excessive context switching
<   caused by lock failure in high concurrency situations. This may be
<   caused by CPU cache line invalidation inefficiencies.
<
979d857
< 	o  -Add ability to turn off full page writes
< * -Eliminate WAL logging for CREATE TABLE AS when not doing WAL archiving
< * -Change WAL to use 32-bit CRC, for performance reasons
<
< * -Use CHECK constraints to influence optimizer decisions
<
<   CHECK constraints contain information about the distribution of values
<   within the table. This is also useful for implementing subtables where
<   a tables content is distributed across several subtables.
<
1045d913
< * -ANALYZE should record a pg_statistic entry for an all-NULL column
1099d966
< * -Remove kerberos4 from source tree
1103d969
< * -Make src/port/snprintf.c thread-safe
1118d983
< * -Add C code on Unix to copy directories for use in creating new databases
1133d997
< 	o -Improve dlerror() reporting string
2005-08-26 18:59:48 +00:00
Bruce Momjian
9f60468797 Great TODO updates from Tom:
<   Currently SIGTERM of a backend can lead to lock table corruption.
>   Lock table corruption following SIGTERM of an individual backend
>   has been reported in 8.0.  A possible cause was fixed in 8.1, but
>   it is unknown whether other problems exist.  This item mostly
>   requires additional testing rather than of writing any new code.
< 	o Allow postgresql.conf values to be set so they can not be changed
< 	  by the user
166c167,171
< * %Remove Money type, add money formatting for decimal type
> * Improve the MONEY data type
>
>   Change the MONEY data type to use DECIMAL internally, with special
>   locale-aware output formatting.
>
225c230
< 	o %Allow MIN()/MAX() on arrays
> 	o -Allow MIN()/MAX() on arrays
228c233
< 	o Modify array literal representation to handle array index lower bound
> 	o -Modify array literal representation to handle array index lower bound
235a241
> 	o Auto-delete large objects when referencing row is deleted
< 	  Currently large objects entries do not have owners. Permissions can
< 	  only be set at the pg_largeobject table level.
>           /contrib/lo offers this functionality.
240d244
< 	o Auto-delete large objects when referencing row is deleted
< * %Have views on temporary tables exist in the temporary namespace
< * Allow temporary views on non-temporary tables
< * %Allow RULE recompilation
> * -Have views on temporary tables exist in the temporary namespace
> * -Allow temporary views on non-temporary tables
> * Allow VIEW/RULE recompilation when the underlying tables change
340a345,347
>
>   This is like DELETE CASCADE, but truncates.
>
381c388
< * Make row-wise comparisons work per SQL spec
> * %Make row-wise comparisons work per SQL spec
< 	o Currently the system uses the operating system COPY command to
< 	  create a new database. Add ON COMMIT capability to CREATE TABLE AS
< 	  SELECT
> 	o Add ON COMMIT capability to CREATE TABLE AS ... SELECT
427c432
< 	o %Add ALTER DOMAIN TYPE
> 	o Add ALTER DOMAIN to modify the underlying data type
< 	o %Disallow dropping of an inherited constraint
< 	o -Allow objects to be moved to different schemas
> 	o Add missing object types for ALTER ... SET SCHEMA
< 	o %Prevent child tables from altering constraints like CHECK that were
< 	  inherited from the parent table
> 	o %Disallow dropping of an inherited constraint
> 	o %Prevent child tables from altering or dropping constraints
>           like CHECK that were inherited from the parent table
< 	o Handle references to temporary tables that are created, destroyed,
< 	  then recreated during a session, and EXECUTE is not used
<
< 	  This requires the cached PL/PgSQL byte code to be invalidated when
< 	  an object referenced in the function is changed.
<
< 	o Add table function support to pltcl, plperl, plpython?
< 	o Allow PL/pgSQL to name columns by ordinal position, e.g. rec.(3)
> 	o Add table function support to pltcl, plpython
549a548
> 	o Allow function argument names to be queries from PL/PgSQL
< 	o Pass arrays natively instead of as text between plperl and postgres
< 	o Add support for polymorphic arguments and return types to plperl
> 	o -Pass arrays natively instead of as text between plperl and postgres
> 	o Add support for polymorphic arguments and return types to
> 	  languages other than PL/PgSQL
> 	o Add support for OUT and INOUT parameters to languages other
> 	  than PL/PgSQL
< * Allow libpq to access SQLSTATE so pg_ctl can test for connection failure
<
<   This would be used for checking if the server is up.
<
565c563
< * Have initdb set DateStyle based on locale?
> * Have initdb set the input DateStyle (MDY or DMY) based on locale?
567d564
< * Add a schema option to createlang
< 	o Add pg_dumpall custom format dumps.
<
< 	  This is probably best done by combining pg_dump and pg_dumpall
< 	  into a single binary.
<
> 	o Add pg_dumpall custom format dumps?
612c605,606
< 	o Remove unnecessary abstractions in pg_dump source code
> 	o Remove unnecessary function pointer abstractions in pg_dump source
> 	  code
< * %Remove CREATE CONSTRAINT TRIGGER
<
<   This was used in older releases to dump referential integrity
<   constraints.
<
682a672,675
>   This is particularly important for references to temporary tables
>   in PL/PgSQL because PL/PgSQL caches query plans.  The only workaround
>   in PL/PgSQL is to use EXECUTE.
>
748c741
< * Fetch heap pages matching index entries in sequential order
> * -Fetch heap pages matching index entries in sequential order
797c790
< 	  Currently no only one hash bucket can be stored on a page. Ideally
> 	  Currently only one hash bucket can be stored on a page. Ideally
806a800,802
> 	o Add WAL logging for crash recovery
> 	o Allow multi-column hash indexes
>
812a809,812
>
>   Ideally this requires a separate test program that can be run
>   at initdb time or optionally later.
>
867c867
< * Improve the background writer
> * -Improve the background writer
<   For large table adjustements during vacuum, it is faster to reindex
<   rather than update the index.
>   For large table adjustements during VACUUM FULL, it is faster to
>   reindex rather than update the index.
< * Reduce lock time by moving tuples with read lock, then write
<   lock and truncate table
> * Reduce lock time during VACUUM FULL by moving tuples with read lock,
>   then write lock and truncate table
919c919,920
< 	o %Suggest VACUUM FULL if a table is nearly empty
> 	o %Issue log message to suggest VACUUM FULL if a table is nearly
> 	  empty?
995d995
< * Add WAL index reliability improvement to non-btree indexes
1045c1045
< * ANALYZE should record a pg_statistic entry for an all-NULL column
> * -ANALYZE should record a pg_statistic entry for an all-NULL column
1047a1048,1051
> * Allow constraint_elimination to be automatically performed
>
>   This requires additional code to reduce the performance loss caused by
>   constraint elimination.
1090c1094
< * Remove memory/file descriptor freeing before ereport(ERROR)
> * %Remove memory/file descriptor freeing before ereport(ERROR)
< * Promote debug_query_string into a server-side function current_query()
< * Allow the identifier length to be increased via a configure option
> * %Promote debug_query_string into a server-side function current_query()
> * %Allow the identifier length to be increased via a configure option
1113d1116
< * Fix cross-compiling of time zone database via 'zic'
1130c1133
< 	o Improve dlerror() reporting string
> 	o -Improve dlerror() reporting string
1132c1135
<         o Add support for Unicode
>         o %Add support for Unicode
2005-08-26 18:52:44 +00:00
Bruce Momjian
12c41d7ebd Completed:
< * -Allow triggers to be disabled [trigger]
> * -Allow triggers to be disabled
2005-08-25 01:26:01 +00:00
Bruce Momjian
c4bf58213e Remove sentence:
< 	  Logically, a reload should set the same values as a
<           server restart.
2005-08-24 20:34:05 +00:00
Bruce Momjian
75f633b6d1 Update:
<           Currently, if a variable is commented out, it keeps the
<           previous uncommented value until a server restarted.
> 	  Currently, if a variable is commented out, it keeps the
> 	  previous uncommented value until a server restarted.
> 	  Logically, a reload should set the same values as a
>           server restart.
2005-08-24 19:43:26 +00:00
Bruce Momjian
a06d98bbf4 Additem:
> * Add sleep() function, remove from regress.c
2005-08-24 17:56:20 +00:00
Bruce Momjian
249a720ec5 Add:
> 	o Add sleep() to PL/PgSQL
2005-08-24 16:49:39 +00:00
Bruce Momjian
c864c3bf9a Fix typo. 2005-08-24 14:24:19 +00:00
Bruce Momjian
ee2b61ee55 Mark "easy" items.
Jim C. Nasby
2005-08-24 14:05:37 +00:00
Bruce Momjian
6ca102d676 Update:
< 	o Do VACUUM FULL if table is nearly empty?
> 	o Suggest VACUUM FULL if a table is nearly empty
2005-08-24 14:00:36 +00:00
Bruce Momjian
69e4e570b7 Add explaination:
>
>           Currently, if a variable is commented out, it keeps the
>           previous uncommented value until a server restarted.
>
2005-08-24 13:57:27 +00:00
Bruce Momjian
2b215215ad Mark item as complete, add another:
< * Allow triggers to be disabled [trigger]
> * -Allow triggers to be disabled [trigger]
> * Allow triggers to be disabled in only the current session.
<   Currently the only way to disable triggers is to modify the system
<   tables.
>   This is currently possible by starting a multi-statement transaction,
>   modifying the system tables, performing the desired SQL, restoring the
>   system tables, and committing the transaction.  ALTER TABLE ...
>   TRIGGER requires a table lock so it is not idea for this usage.
2005-08-23 23:51:18 +00:00
Bruce Momjian
a7f49252d2 enable_constraint_exclusion => constraint_exclusion
Also improve wording.
2005-08-22 17:35:03 +00:00
Bruce Momjian
e22443f405 Add:
> * Fix problems with wrong runtime encoding conversion for NLS message files
2005-08-21 01:04:45 +00:00
Bruce Momjian
96f63aebc8 Add:
> 	o Remove unnecessary abstractions in pg_dump source code
2005-08-18 14:14:31 +00:00
Bruce Momjian
a11fe54507 Done:
> * -Prevent to_char() on interval from returning meaningless values
2005-08-18 04:42:41 +00:00
Bruce Momjian
f80cf69031 Combine entries:
<   inheritance
< * Allow enable_constraint_exclusion to work for UPDATE and DELETE queries
>   inheritance, and allow it to work for UPDATE and DELETE queries
2005-08-09 20:24:31 +00:00
Bruce Momjian
20e2644761 Done:
> * -Add C code on Unix to copy directories for use in creating new databases
2005-08-09 17:14:48 +00:00
Bruce Momjian
6a3021b7d3 Done:
> * -Allow multiple blocks to be written to WAL with one write()
2005-08-09 04:51:18 +00:00
Bruce Momjian
2dd9672d96 Done:
> 	o -Allow FOR UPDATE queries to do NOWAIT locks
2005-08-08 20:26:53 +00:00
Bruce Momjian
e48b28b688 Done:
< * Prevent inherited tables from expanding temporary subtables of other
> * -Prevent inherited tables from expanding temporary subtables of other
2005-08-03 01:46:25 +00:00
Bruce Momjian
614b6e2581 Done:
> * -Allow limits on per-db/role connections
2005-08-01 14:13:30 +00:00
Bruce Momjian
523997daf1 Done:
< 	o Allow objects to be moved to different schemas
> 	o -Allow objects to be moved to different schemas

Fix word wrap:

< 	* Allow GRANT/REVOKE permissions to be applied to all schema objects with one
< 	  command
> 	o Allow GRANT/REVOKE permissions to be applied to all schema objects
> 	  with one command
2005-08-01 14:05:03 +00:00
Bruce Momjian
a85e5d1b1b Add description:
< 	  This would require a new global table that is dumped to flat file for
< 	  use by the postmaster.  We do a similar thing for pg_shadow currently.
> 	  This would add a function to load the SQL table from
>           pg_hba.conf, and one to writes its contents to the flat file.
> 	  The table should have a line number that is a float so rows
> 	  can be inserted between existing rows, e.g. row 2.5 goes
> 	  between row 2 and row 3.
2005-08-01 00:52:27 +00:00
Bruce Momjian
b125877107 Suggest syntax:
< 	o Allow postgresql.conf file values to be changed via an SQL API
> 	o Allow postgresql.conf file values to be changed via an SQL
> 	  API, perhaps using SET GLOBAL
2005-07-31 13:54:52 +00:00
Bruce Momjian
73b574c187 Add item to sentence:
< 	* Allow server logs to be remotely read using SQL commands
151a151
> * Allow server logs to be remotely read and removed using SQL commands
2005-07-31 03:28:52 +00:00
Bruce Momjian
81b1551e41 Spacing improvement. 2005-07-31 03:08:35 +00:00
Bruce Momjian
90524998c0 Add constraint exclusion items:
<
> * Allow EXPLAIN to identify tables that were skipped because of
>   enable_constraint_exclusion
> * Allow EXPLAIN output to be more easily processed by scripts
760a763
> * Allow enable_constraint_exclusion to work for UPDATE and DELETE queries
2005-07-30 04:05:17 +00:00
Bruce Momjian
326816295e Add:
<
> * Allow enable_constraint_exclusion to work for UNIONs like it does for
>   inheritance
2005-07-30 03:59:23 +00:00
Bruce Momjian
f9512130f9 Add:
> * Prevent inherited tables from expanding temporary subtables of other
>   sessions
2005-07-30 03:49:17 +00:00
Bruce Momjian
aa8290be99 Add:
> * Add system view to show free space map contents
884c885
< 	o Move into the backend code
> 	o -Move into the backend code
2005-07-30 03:21:41 +00:00
Bruce Momjian
24df49bd5a Add:
> * Allow SELECT ... FOR UPDATE on inherited tables
2005-07-30 03:18:38 +00:00
Bruce Momjian
43e33c51d4 Clarify:
< * Add TRUNCATE permission
> * Add a separate TRUNCATE permission
2005-07-30 03:16:08 +00:00
Bruce Momjian
3fae29ef13 Add:
> * Add TRUNCATE permission
>
>   Currently only the owner can TRUNCATE a table because triggers are not
>   called, and the table is locked in exclusive mode.
>
2005-07-30 03:15:22 +00:00
Bruce Momjian
9ebe05c5bc Add:
> * Add PQescapeIdentifier() to libpq
2005-07-30 02:52:30 +00:00
Bruce Momjian
f387e0615c Add detail:
>
> 	   If CRC check fails during recovery, remember the page in case
> 	   a later CRC for that page properly matches.
>
2005-07-29 16:05:28 +00:00
Bruce Momjian
5b63e7b467 Done:
< * Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
<   especially for WAL writes
> * -Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
>   for WAL writes
2005-07-29 03:23:00 +00:00
Bruce Momjian
9ad9e694ac Add:
> 	o Allow postgresql.conf file values to be changed via an SQL API
> 	o Allow the server to be stopped/restarted via an SQL API
2005-07-25 15:27:06 +00:00
Bruce Momjian
0e5c62d065 Add:
<
> * Research storing disk pages with no alignment/padding
2005-07-21 13:43:16 +00:00
Bruce Momjian
42e7b0f02f Update.
< 	  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.
<
> 	  computations should adjust based on the time zone rules.
2005-07-10 05:06:42 +00:00
Bruce Momjian
a4ffa38234 Done:
> * -Prevent dropping user that still owns objects, or auto-drop the objects
2005-07-08 02:44:37 +00:00
Bruce Momjian
442b59dd8b Update:
< 	   writer.
> 	   writer.  It might cause problems for applying WAL on recovery
> 	   into a partially-written page, but later the full page will be
> 	   replaced from WAL.
2005-07-07 16:02:06 +00:00
Bruce Momjian
f0a2a91918 Update:
>
> 	o  -Add ability to turn off full page writes
> 	o  When off, write CRC to WAL and check file system blocks
> 	   on recovery
> 	o  Write full pages during file system write and not when
> 	   the page is modified in the buffer cache
>
> 	   This allows most full page writes to happen in the background
> 	   writer.
2005-07-07 15:18:26 +00:00
Bruce Momjian
7d2e1cb730 Done:
> * -Add function to return compressed length of TOAST data values
2005-07-06 03:40:15 +00:00
Bruce Momjian
d22a3727a5 Remove, now have GUC:
< * Turn off full page writes if fsync is disabled
<
<   If fsync is off, there is no purpose in writing full pages to WAL
<
2005-07-05 22:59:36 +00:00
Bruce Momjian
3bf4e4120d Add:
<
881a881,882
> 	o Improve xid wraparound detection by recording per-table rather
> 	  than per-database
2005-07-05 19:37:54 +00:00
Bruce Momjian
de5d30069b More TODO list section restructuring. 2005-07-04 17:43:42 +00:00
Bruce Momjian
8ea398513e Restructure TODO sections. 2005-07-04 17:00:32 +00:00
Bruce Momjian
e652d2c476 Update
> * Allow GIST indexes to create certain complex index types, like digital
>   trees (see Aoki)
>
783a787
>
2005-07-04 12:32:38 +00:00
Bruce Momjian
3848532c79 Update wording:
<   Currently, to protect against partial disk page writes, we write the
>   Currently, to protect against partial disk page writes, we write
877c877
< * Turn off after-change writes if fsync is disabled
> * Turn off full page writes if fsync is disabled
2005-07-04 04:06:43 +00:00
Bruce Momjian
654efe6aaa Update:
< * Add rtree index support for line, lseg, path, point
> * Add more gist index support for geometric data types
2005-07-02 14:30:38 +00:00
Bruce Momjian
f009248af1 Clarify:
< 	o Replace crude DELETE FROM method of pg_dumpall for cleaning of
< 	  roles with separate DROP commands
> 	o Replace crude DELETE FROM method of pg_dumpall --clean for
>           cleaning of roles with separate DROP commands
2005-07-01 17:35:22 +00:00
Bruce Momjian
fee590c8b1 Update for roles:
< * Allow limits on per-db/user connections
> * Allow limits on per-db/role connections
< * Prevent default re-use of sysids for dropped users and roles
<
<   Currently, if a user is removed while he still owns objects, a new
<   user given might be given their user id and inherit the
<   previous users objects.
<
450c444
< * Add COMMENT ON for all cluster global objects (users, roles, databases
> * Add COMMENT ON for all cluster global objects (roles, databases
609c603
< 	  users and roles with separate DROP commands
> 	  roles with separate DROP commands
2005-07-01 17:32:21 +00:00
Bruce Momjian
b00f557dd1 Update for roles:
< * Prevent default re-use of sysids for dropped users and groups
> * Prevent default re-use of sysids for dropped users and roles
450c450
< * Add COMMENT ON for all cluster global objects (users, groups, databases
> * Add COMMENT ON for all cluster global objects (users, roles, databases
609c609
< 	  users and groups with separate DROP commands
> 	  users and roles with separate DROP commands
2005-07-01 17:05:58 +00:00
Bruce Momjian
8ab306e4ea Item superceeded now that groups exist:
< * Add group object ownership, so groups can rename/drop/grant on objects,
<   so we can implement roles
2005-07-01 15:08:25 +00:00
Bruce Momjian
16d2699f7f Done:
> 	o -Add dumping and restoring of LOB comments
2005-07-01 14:51:49 +00:00
Bruce Momjian
977530d8da Done:
> * -Add concurrency to GIST
2005-06-27 23:21:58 +00:00
Bruce Momjian
fc722403a6 Done:
> * -Remove kerberos4 from source tree
2005-06-27 02:17:20 +00:00
Bruce Momjian
a051da0207 Done:
> 	o -Allow PL/pgSQL EXECUTE query_var INTO record_var;
2005-06-27 01:53:52 +00:00
Bruce Momjian
252600fade Add:
> 	o Pass arrays natively instead of as text between plperl and postgres
> 	o Add support for polymorphic arguments and return types to plperl
2005-06-25 15:24:11 +00:00
Bruce Momjian
557a978b87 Update:
< * Allow per-user, per-group quotas per-tablespace
> * Allow per-tablespace quotas
2005-06-25 12:37:43 +00:00
Bruce Momjian
d08149d783 Update:
< * Allow per-user and per-tablespaces quotas
> * Allow per-user, per-group quotas per-tablespace
2005-06-25 02:42:00 +00:00
Bruce Momjian
886c8a54ae Add:
> * Allow per-user and per-tablespaces quotas
2005-06-25 02:40:43 +00:00
Bruce Momjian
669111800f Add item:
> * Add NUMERIC division operator that doesn't round?
>
>   Currently NUMERIC _rounds_ the result to the specified precision.
>   This means division can return a result that multiplied by the
>   divisor is greater than the dividend, e.g. this returns a value > 10:
>
>     SELECT (10::numeric(2,0) / 6::numeric(2,0))::numeric(2,0) * 6;
>
>   The positive modulus result returned by NUMERICs might be considered
>   inaccurate, in one sense.
>
2005-06-25 01:32:02 +00:00
Bruce Momjian
f3dbacab0c Add desciption for terminate:
>
>   Currently SIGTERM of a backend can lead to lock table corruption.
>
2005-06-24 21:28:30 +00:00
Bruce Momjian
693658a540 Done:
> * -Fix incorrect rtree results due to wrong assumptions about "over"
>   operator semantics
2005-06-24 04:41:16 +00:00
Bruce Momjian
2f6be2ed6e Completed:
< * Allow REINDEX to rebuild all database indexes, remove /contrib/reindex
> * -Allow REINDEX to rebuild all database indexes
2005-06-24 02:30:43 +00:00
Bruce Momjian
ebb399570d Add:
> * Add program to test if fsync has a delay compared to non-fsync
2005-06-24 02:07:19 +00:00
Bruce Momjian
dea41174b2 Update text of terminate:
< * Allow administrators to safely terminate individual sessions
<
<   Right now, SIGTERM will terminate a session, but it is treated as
<   though the postmaster has paniced and shared memory might not be
<   cleaned up properly.  A new signal is needed for safe termination
<   because backends must first do a query cancel, then exit once they
<   have run the query cancel cleanup routine.
<
> * Allow administrators to safely terminate individual sessions either
>   via an SQL function or SIGTERM
2005-06-23 21:28:10 +00:00
Bruce Momjian
5117da7b37 Remove TODO.detail.
< * -Add two-phase commit [2phase]
> * -Add two-phase commit
2005-06-18 01:45:58 +00:00
Bruce Momjian
5f98a6f7a3 Done:
< * Add two-phase commit [2phase]
> * -Add two-phase commit [2phase]
2005-06-18 01:45:03 +00:00
Bruce Momjian
5495575903 Re-order item.
> * Auto-fill the free space map by scanning the buffer cache or by
>   checking pages written by the background writer
< * Auto-fill the free space map by scanning the buffer cache or by
<   checking pages written by the background writer
2005-06-17 19:20:27 +00:00
Bruce Momjian
524ec00d3e Move item:
* Auto-fill the free space map by scanning the buffer cache or by
  checking pages written by the background writer
2005-06-17 13:47:24 +00:00
Bruce Momjian
1b618e50a6 Add:
>
> * Create a bitmap of pages that need vacuuming
>
>   Instead of sequentially scanning the entire table, have the background
>   writer or some other process record pages that have expired rows, then
>   VACUUM can look at just those pages rather than the entire table.  In
>   the event of a system crash, the bitmap would probably be invalidated.
2005-06-17 02:20:43 +00:00
Bruce Momjian
495f9aa098 reorder:
< * -Add BETWEEN ASYMMETRIC/SYMMETRIC
> * -Add BETWEEN SYMMETRIC/ASYMMETRIC
2005-06-14 23:44:47 +00:00
Bruce Momjian
853e8b1426 Done:
> * -Add BETWEEN ASYMMETRIC/SYMMETRIC
2005-06-14 23:44:27 +00:00
Bruce Momjian
b5e65c8325 Done:
> 	o -Have SHOW ALL show descriptions for server-side variables
2005-06-14 20:43:02 +00:00
Bruce Momjian
cf48d8b3aa Update:
< 	o Have SHOW ALL and pg_settings show descriptions for server-side variables
> 	o Have SHOW ALL show descriptions for server-side variables
2005-06-14 18:24:06 +00:00
Bruce Momjian
d2c313bcf5 Move item into proper section:
o Have SHOW ALL and pg_settings show descriptions for server-side variables
2005-06-14 18:10:42 +00:00
Bruce Momjian
dac94e3495 Done:
> 	o -Allow PL/PgSQL's RAISE function to take expressions
2005-06-14 15:11:11 +00:00
Bruce Momjian
189f89cb0e Done:
> * -Use index to restrict rows returned by multi-key index when used with
2005-06-14 03:20:10 +00:00
Bruce Momjian
c51815afed Remove idea of schema 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.
<
> 	o Allow databases to be moved to different tablespaces
484c480
< 	  schema. Global system tables can never be moved.
> 	  tablespace. Global system tables can never be moved.
2005-06-09 03:00:43 +00:00
Bruce Momjian
b3e798d750 Fix word wrap:
<   changes made by the interface driver for its internal use.  One idea is
<   for this to be a protocol-only feature.  Another approach is to notify
<   the protocol when a RESET CONNECTION command is used.
>   changes made by the interface driver for its internal use.  One idea
>   is for this to be a protocol-only feature.  Another approach is to
>   notify the protocol when a RESET CONNECTION command is used.
2005-06-07 14:12:07 +00:00
Bruce Momjian
0f011f6daa Update text for RESET CONNECTION:
<   all temporary tables, removal of any NOTIFYs, cursors, prepared
<   queries(?), currval()s, etc.  This could be used for connection pooling.
<   We could also change RESET ALL to have this functionality.
>   temporary tables, removing any NOTIFYs, cursors, open transactions,
>   prepared queries, currval()s, etc.  This could be used  for connection
>   pooling.  We could also change RESET ALL to have this functionality.
>   The difficult of this features is allowing RESET ALL to not affect
>   changes made by the interface driver for its internal use.  One idea is
>   for this to be a protocol-only feature.  Another approach is to notify
>   the protocol when a RESET CONNECTION command is used.
2005-06-07 01:59:39 +00:00
Bruce Momjian
5859215015 Add:
> * Fix incorrect rtree results due to wrong assumptions about "over"
>   operator semantics [rtree]
2005-06-06 22:03:44 +00:00
Bruce Momjian
22dbd54047 Add description for backend termination:
<   cleaned up properly.  A new signal is needed for safe termination.
>   cleaned up properly.  A new signal is needed for safe termination
>   because backends must first do a query cancel, then exit once they
>   have run the query cancel cleanup routine.
2005-06-05 03:39:54 +00:00
Bruce Momjian
ec480a5277 Add TODO.detail for 2phase commit:
> * Add two-phase commit [2phase]
2005-06-05 00:45:22 +00:00
Bruce Momjian
efe0d0808b Add TODO.detail.
<   logs
>   logs [pitr]
130c130
< * Allow a warm standby system to also allow read-only queries
> * Allow a warm standby system to also allow read-only queries [pitr]
2005-06-05 00:28:36 +00:00
Bruce Momjian
3a272cf032 Add TODO.detail for timezone:
<   information, either zone name or offset from UTC
>   information, either zone name or offset from UTC [timezone]
2005-06-05 00:20:02 +00:00
Bruce Momjian
581a8c9f6d Add TODO.detail:
> * Allow major upgrades without dump/reload, perhaps using pg_upgrade
>   [pg_upgrade]
2005-06-04 23:32:34 +00:00
Bruce Momjian
249880ffae Add pg_dump to TODO.detail. 2005-06-04 23:06:29 +00:00
Bruce Momjian
3360bc1351 Add:
> * Allow pg_ctl to work properly with configuration files located outside
>   the PGDATA directory
>
>   pg_ctl can not read the pid file because it isn't located in the
>   config directory but in the PGDATA directory.  The solution is to
>   allow pg_ctl to read and understand postgresql.conf to find the
>   data_directory value.
>
2005-06-04 18:12:38 +00:00
Bruce Momjian
487990e1f1 Add description:
>
>   O_DIRECT doesn't have the same media write guarantees as fsync, so it
>   is in addition to the fsync method, not in place of it.
>
2005-06-04 16:53:48 +00:00
Bruce Momjian
bace84cca1 Remove because it is partly done and we might not want to go farther:
< * -Compress WAL entries [wal]
2005-06-03 21:42:21 +00:00
Bruce Momjian
2a61c090a9 Done:
> * -Compress WAL entries [wal]
2005-06-03 16:38:02 +00:00
Bruce Momjian
a14fb14f7f Done:
> * -Change WAL to use 32-bit CRC, for performance reasons
2005-06-03 16:36:50 +00:00
Bruce Momjian
c196c7ae8b Completed:
< 	o Allow COPY to understand \x as a hex byte
> 	o -Allow COPY to understand \x as a hex byte
2005-06-02 01:27:58 +00:00
Bruce Momjian
b215fae891 Move to ALTER section:
< * Prevent child tables from altering constraints like CHECK that were
<   inherited from the parent table
470a469,471
>
> 	o Prevent child tables from altering constraints like CHECK that were
> 	  inherited from the parent table
2005-05-30 21:12:23 +00:00
Bruce Momjian
09439e212e Add:
> * Prevent child tables from altering constraints like CHECK that were
>   inherited from the parent table
2005-05-30 21:08:27 +00:00
Bruce Momjian
70f320495f Remove:
<
< * Add XML output to pg_dump and COPY
<
<   We already allow XML to be stored in the database, and XPath queries
<   can be used on that data using /contrib/xml2. It also supports XSLT
<   transformations.
2005-05-28 04:12:13 +00:00
Bruce Momjian
42319310dc Add:
> * Consider sorting hash buckets so entries can be found using a binary
>   search, rather than a linear scan
> * In hash indexes, consider storing the hash value with or instead
>   of the key itself
2005-05-27 22:07:26 +00:00
Bruce Momjian
770156e157 Add:
> * Add the features of packages
> 	o  Make private objects accessable only to objects in the same schema
> 	o  Allow current_schema.objname to access current schema objects
> 	o  Add session variables
> 	o  Allow nested schemas
2005-05-27 22:01:18 +00:00
Bruce Momjian
c61207b091 INT4 is probably enough:
< * Allow INET + INT4/INT8 to increment the host part of the address, or
> * Allow INET + INT4 to increment the host part of the address, or
2005-05-21 21:31:26 +00:00
Bruce Momjian
2e9c04eedb Mention overflow:
<   throw an error
>   throw an error on overflow
2005-05-21 03:12:44 +00:00
Bruce Momjian
6dab58a643 Add:
> * Allow INET + INT4/INT8 to increment the host part of the address, or
>   throw an error
2005-05-21 03:11:27 +00:00
Bruce Momjian
e954cd2bc2 Remove 2-phase description, because it isn't accurate anymore:
<
<   This will involve adding a way to respond to commit failure by either
<   taking the server into offline/readonly mode or notifying the
<   administrator
2005-05-20 19:18:15 +00:00
Bruce Momjian
5185cc8eae Update:
< * All ability to monitor the use of temporary sort files
> * Add ability to monitor the use of temporary sort files
2005-05-17 04:18:20 +00:00
Bruce Momjian
818bfda1e2 Fix markup:
< 	* Add internationalized message strings
> 	o Add internationalized message strings
2005-05-17 00:51:58 +00:00
Bruce Momjian
ce1b3065c3 Update italics. 2005-05-17 00:51:10 +00:00
Bruce Momjian
e90df66269 Update italics on web site. 2005-05-17 00:24:22 +00:00
Bruce Momjian
343af94255 Update italics on web site. 2005-05-16 23:35:42 +00:00
Bruce Momjian
075ec42cf8 Item removed from CVS:
< * -Check for unreferenced table files created by transactions that were
> * Check for unreferenced table files created by transactions that were
2005-05-10 22:26:56 +00:00
Bruce Momjian
29873379de Add:
> * Fix sgmltools so PDFs can be generated with bookmarks
2005-05-10 03:21:58 +00:00
Bruce Momjian
b51f82465a Add:
> * Allow postgresql.conf values to be set so they can not be changed by
>   the user
2005-05-10 03:21:00 +00:00
Bruce Momjian
d3b62275e6 Done:
< * Add session start time and last statement time to pg_stat_activity
> * -Add session start time and last statement time to pg_stat_activity
134c134
< * Add the client IP address and port to pg_stat_activity
> * -Add the client IP address and port to pg_stat_activity
2005-05-10 02:16:15 +00:00
Bruce Momjian
8a9e32912e Add description:
<   Currently locale can only be set during initdb.
>   Currently locale can only be set during initdb.  No global tables have
>   locale-aware columns.  However, the database template used during
>   database creation might have locale-aware indexes.  The indexes would
>   need to be reindexed to match the new locale.
2005-05-07 15:45:23 +00:00
Bruce Momjian
f65803a2c3 Done:
> 	o -Allow COPY to optionally include column headings in the first line
2005-05-07 04:38:08 +00:00
Bruce Momjian
5894e7e36e Add items:
> * Prevent to_char() on interval from returning meaningless values
>
>   For example, to_char('1 month', 'mon') is meaningless.  Basically,
>   most date-related parameters to to_char() are meaningless for
>   intervals because interval is not anchored to a date.
>
> * Allow to_char() on interval values to accumulate the highest unit
>   requested
>
> 	o to_char(INTERVAL '1 hour 5 minutes', 'MI') => 65
> 	o to_char(INTERVAL '43 hours 20 minutes', 'MI' ) => 2600
> 	o to_char(INTERVAL '43 hours 20 minutes', 'WK:DD:HR:MI') => 0:1:19:20
> 	o to_char(INTERVAL '3 years 5 months','MM') => 41
>
>   Some special format flag would be required to request such
>   accumulation.  Such functionality could also be added to EXTRACT.
>   Prevent accumulation that crosses the month/day boundary because of
>   the uneven number of days in a month.
>
2005-05-07 04:24:34 +00:00
Bruce Momjian
3de0e72b56 Completed:
< * Remove unreferenced table files created by transactions that were
> * -Check for unreferenced table files created by transactions that were
2005-05-02 18:27:12 +00:00
Bruce Momjian
daec16d0ba Done:
> * -Implement shared row locks and use them in RI triggers
2005-04-29 05:03:02 +00:00
Bruce Momjian
238fb0342e Update description:
< * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or
> * Allow ORDER BY ... LIMIT # to select high/low value without sort or
868c868
<   Right now, if no index exists, ORDER BY ... LIMIT 1 requires we sort
>   Right now, if no index exists, ORDER BY ... LIMIT # requires we sort
870a871
>   MIN/MAX already does this, but not for LIMIT > 1.
2005-04-25 15:35:32 +00:00
Bruce Momjian
61cf53516e Re-add item with better description:
> * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or
>   index using a sequential scan for highest/lowest values
>
>   Right now, if no index exists, ORDER BY ... LIMIT 1 requires we sort
>   all values to return the high/low value.  Instead The idea is to do a
>   sequential scan to find the high/low value, thus avoiding the sort.
>
2005-04-25 13:03:37 +00:00
Bruce Momjian
7a4c34c97c Add description for concurrent sequential scans:
>   One possible implementation is to start sequential scans from the lowest
>   numbered buffer in the shared cache, and when reaching the end wrap
>   around to the beginning, rather than always starting sequential scans
>   at the start of the table.
2005-04-25 01:42:41 +00:00
Bruce Momjian
cdf39c7b61 Update wording:
<   This allows vacuum to reclaim free space without requiring
<   a sequential scan
>   This allows vacuum to target specific pages for possible free space
>   without requiring a sequential scan.
2005-04-24 12:39:07 +00:00
Bruce Momjian
ac8998f2e6 Turns out our existing page size is already optimal in most cases:
< * Research the use of larger page sizes
2005-04-23 21:45:28 +00:00
Bruce Momjian
f4dcb52efe Item already added to existing 'thread' item:
< * 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.
<
2005-04-23 21:44:52 +00:00
Bruce Momjian
6869683147 Remove item, not sure what it refers to:
< * Allow ORDER BY ... LIMIT 1 to select high/low value without sort or
<   index using a sequential scan for highest/lowest values
<
<   If only one value is needed, there is no need to sort the entire
<   table. Instead a sequential scan could get the matching value.
<
2005-04-23 21:43:24 +00:00
Bruce Momjian
1207d5b64e New item:
> * Change WAL to use 32-bit CRC, for performance reasons
2005-04-23 21:41:01 +00:00
Bruce Momjian
e847558031 Update threading item:
<   Solaris) might benefit from threading.
>   Solaris) might benefit from threading.  Also explore the idea of
>   a single session using multiple threads to execute a query faster.
2005-04-23 21:39:27 +00:00
Bruce Momjian
bb62899db5 Done:
< * Improve SMP performance on i386 machines
> * -Improve SMP performance on i386 machines
2005-04-23 21:38:42 +00:00
Bruce Momjian
95c7bff47c Done:
< * Optimize locale to have minimal performance impact when not used
2005-04-23 21:25:49 +00:00
Bruce Momjian
9ff49665ce Fix typo:
< * Add ISo INTERVAL handling
> * Add ISO INTERVAL handling
2005-04-23 21:22:55 +00:00
Bruce Momjian
48e7a196ea Done:
> * -Allow non-bitmap indexes to be combined by creating bitmaps in memory
2005-04-23 19:13:40 +00:00
Bruce Momjian
ccbb07d922 Fix typo:
<   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.
>   Currently indexes do not have enough 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-04-22 15:40:16 +00:00
Bruce Momjian
8f4a1b3e84 Update URL for TODO list. 2005-04-22 13:38:19 +00:00
Bruce Momjian
c6221db3c0 Updated text for bitmaps:
<   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.  They can index by tid or can be lossy requiring a scan of the
<   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).

>   This feature allows separate indexes to be ANDed or ORed together.  This
>   is particularly useful for data warehousing applications that need to
>   query the database in an many permutations.  This feature scans an index
>   and creates an in-memory bitmap, and allows that bitmap to be combined
>   with other bitmap created in a similar way.  The bitmap can either index
>   all TIDs, or be lossy, meaning it records just page numbers and each
>   page tuple has to be checked for validity in a separate pass.
2005-04-21 15:20:39 +00:00
Bruce Momjian
631e03145f Done:
< * Add tool to query pg_stat_* tables and report indexes that aren't needed
<   or tables that might need indexes
2005-04-21 04:09:34 +00:00
Bruce Momjian
de4fbfadc5 Add:
> * Add tool to query pg_stat_* tables and report indexes that aren't needed
>   or tables that might need indexes
2005-04-20 02:48:11 +00:00
Bruce Momjian
e5c7c05168 Add:
> * Log queries where the optimizer row estimates were dramatically
>   different from the number of rows actually found (?)
2005-04-20 02:43:49 +00:00
Bruce Momjian
047b8a71d1 Add:
> * All ability to monitor the use of temporary sort files
2005-04-20 01:17:34 +00:00
Bruce Momjian
07dfdb8dd0 Added to TODO:
> * Compress WAL entries [wal]
2005-04-18 18:29:57 +00:00
Bruce Momjian
d304067695 Update PITR TODO items:
<   failure.
>   failure.  This could be triggered by a user command or a timer.
< * Force archiving of partially-full WAL files when pg_stop_backup() is
<   called or the server is stopped
> * Automatically force archiving of partially-filled WAL files when
>   pg_stop_backup() is called or the server is stopped
2005-04-18 15:03:21 +00:00
Bruce Momjian
03d712d9f4 Update for HTML markup. 2005-04-18 14:42:35 +00:00
Bruce Momjian
11ab2b85d7 Add HTML TODO version to CVS. 2005-04-18 12:58:11 +00:00
Bruce Momjian
584693cc6d Add description about partial WAL archiving for PITR:
>
>   Doing this will allow administrators to know more easily when the
>   archive contins all the files needed for point-in-time recovery.
2005-04-18 12:51:41 +00:00
Bruce Momjian
41d64a185e Fix html. 2005-04-18 03:46:31 +00:00
Bruce Momjian
f1e8b57731 Test new html tag. 2005-04-18 03:17:23 +00:00
Bruce Momjian
c57a418ce6 Add:
> * Force archiving of partially-full WAL files when pg_stop_backup() is
>   called or the server is stopped
2005-04-18 03:00:44 +00:00
Bruce Momjian
ad9201f982 Done
> * -Use indexes for MIN() and MAX()
2005-04-14 23:20:55 +00:00
Bruce Momjian
72fd559037 Update to XHTML. 2005-04-10 23:21:33 +00:00
Bruce Momjian
9427cceb07 Done:
< * Allow additional tables to be specified in DELETE for joins
> * -Allow additional tables to be specified in DELETE for joins
2005-04-09 04:07:03 +00:00
Bruce Momjian
e341a52037 Add
> 	o Do VACUUM FULL if table is nearly empty?
2005-03-25 23:13:22 +00:00
Bruce Momjian
2104f9af87 Add:
<
> * Add GUC to issue notice about queries that use unjoined tables
2005-03-24 05:15:59 +00:00
Bruce Momjian
0275b3f783 Update INTERVAL items. 2005-03-24 03:50:24 +00:00
Bruce Momjian
c58071a5d1 Change ANSI to ISO standard:
< * Add ANSI INTERVAL handling
> * Add ISo INTERVAL handling
< 	o Interpret syntax that isn't uniquely ANSI or PG, like '1:30' or
< 	  '1' as ANSI syntax, e.g. interpret '1:30' MINUTE TO SECOND as
> 	o Interpret syntax that isn't uniquely ISO or PG, like '1:30' or
> 	  '1' as ISO syntax, e.g. interpret '1:30' MINUTE TO SECOND as
649c649
< * Add pre-parsing phase that converts non-ANSI syntax to supported
> * Add pre-parsing phase that converts non-ISO syntax to supported
2005-03-24 02:11:06 +00:00
Bruce Momjian
8abba63859 Update wording:
< 	o Process mixed ANSI/PG syntax, and round value to requested
< 	  precision or generate an error
< 	o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
< 	  INTERVAL MONTH), and this should return '12 months'
194a191,194
> 	o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
> 	  INTERVAL MONTH), and this should return '12 months'
> 	o Round or truncate values to the requested precision, e.g.
> 	  INTERVAL '11 months' AS YEAR should return one or zero
2005-03-23 22:57:02 +00:00
Bruce Momjian
d5dd9dbbfe Update item on ambiguous INTERVAL syntax:
< 	o Add support for day-time syntax, INTERVAL '1 2:03:04'
> 	o Add support for day-time syntax, INTERVAL '1 2:03:04'
192c192,194
< 	o Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
> 	o Interpret syntax that isn't uniquely ANSI or PG, like '1:30' or
> 	  '1' as ANSI syntax, e.g. interpret '1:30' MINUTE TO SECOND as
> 	  '1 minute 30 seconds'
2005-03-23 21:49:52 +00:00
Bruce Momjian
a15699b9e0 Update ANSI INTERVAL section:
< * Add support for ANSI time INTERVAL syntax, INTERVAL '1 2:03:04' DAY TO SECOND
< * Add support for ANSI date INTERVAL syntax, INTERVAL '20-6' YEAR TO MONTH
< * Process mixed ANSI/PG INTERVAL syntax, and round value to requested precision
<
<   Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS INTERVAL
<   MONTH), and this should return '12 months'
<
< * Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
> * Add ANSI INTERVAL handling
> 	o Add support for day-time syntax, INTERVAL '1 2:03:04'
> 	  DAY TO SECOND
> 	o Add support for year-month syntax, INTERVAL '50-6' YEAR TO MONTH
> 	o Process mixed ANSI/PG syntax, and round value to requested
> 	  precision or generate an error
> 	o Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS
> 	  INTERVAL MONTH), and this should return '12 months'
> 	o Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
> 	o Support precision, CREATE TABLE foo (a INTERVAL MONTH(3))
2005-03-23 21:10:02 +00:00
Bruce Momjian
d27061a3ab Update numbers in example:
< * Add support for ANSI date INTERVAL syntax, INTERVAL '9-3' YEAR TO MONTH
> * Add support for ANSI date INTERVAL syntax, INTERVAL '20-6' YEAR TO MONTH
2005-03-23 17:05:22 +00:00
Bruce Momjian
70d782e64c Update:
< * Add support for ANSI date INTERVAL syntax, INTERVAL '1-2' YEAR TO MONTH
> * Add support for ANSI date INTERVAL syntax, INTERVAL '9-3' YEAR TO MONTH
2005-03-23 16:38:55 +00:00
Bruce Momjian
ac323044cf Add:
> 	o Add MOVE to PL/pgSQL
2005-03-23 06:11:57 +00:00
Bruce Momjian
f6c1f990ab Assign:
> 	o Update pg_dump and psql to use the new COPY libpq API (Christopher)
2005-03-23 05:50:58 +00:00
Bruce Momjian
9be9c1fb0c Add:
>
> * Interpret INTERVAL '1:30' MINUTE TO SECOND as '1 minute 30 seconds'
2005-03-23 05:49:22 +00:00
Bruce Momjian
3113d38bec Add INTERVAL items:
> * Add support for ANSI time INTERVAL syntax, INTERVAL '1 2:03:04' DAY TO SECOND
> * Add support for ANSI date INTERVAL syntax, INTERVAL '1-2' YEAR TO MONTH
> * Process mixed ANSI/PG INTERVAL syntax, and round value to requested precision
184a188,189
>   Interpret INTERVAL '1 year' MONTH as CAST (INTERVAL '1 year' AS INTERVAL
>   MONTH), and this should return '12 months'
2005-03-23 05:42:40 +00:00
Bruce Momjian
e96ab26277 Remove duplicate:
< * Allow a warm standby system to also allow read-only queries
2005-03-23 02:50:56 +00:00
Bruce Momjian
b7c2258833 Add:
> * Allow WAL replay of CREATE TABLESPACE to work when the directory
>   structure on the recovery computer is different from the original
2005-03-23 02:49:42 +00:00
Bruce Momjian
0b2adc1e5f Add:
> 	o Update pg_dump and psql to use the new COPY libpq API
2005-03-23 02:41:29 +00:00
Bruce Momjian
09c165e41e Remove:
< 	o Update to use the newer COPY syntax
2005-03-23 02:21:01 +00:00
Bruce Momjian
ee10720834 Add for pg_dump:
> 	o Update to use the newer COPY syntax
2005-03-23 02:14:11 +00:00
Bruce Momjian
aab0159cfb Add:
>
> * Support table partitioning that allows a single table to be stored
>   in subtables that are partitioned based on the primary key or a WHERE
>   clause
2005-03-23 01:25:07 +00:00
Bruce Momjian
4201ba2459 Remove:
<
< 	o Prevent conflicting SET options from being set
<
< 	  This requires a checking function to be called after the server
< 	  configuration file is read.
2005-03-23 00:36:14 +00:00
Bruce Momjian
1c14db5a77 Done:
> * -Allow the size of the buffer cache used by temporary objects to be
2005-03-20 01:57:11 +00:00
Bruce Momjian
82c46e5a70 Add mention of compatibility problem with turning off backslash escapes:
<   SQL-spec compliant, so allow such handling to be disabled.
>   SQL-spec compliant, so allow such handling to be disabled.  However,
>   disabling backslashes could break many third-party applications and tools.
2005-03-17 04:42:15 +00:00
Bruce Momjian
05be5cc4e0 Add:
> * Allow sequential scans to take advantage of other concurrent
>   sequentiqal scans, also called "Synchronised Scanning"
2005-03-15 05:31:27 +00:00
Bruce Momjian
d5bc23878a Update Win32 item:
<         o Disallow encodings like UTF8 which PostgreSQL supports
<           but the operating system does not (already disallowed by
< 	  pginstaller)
>         o Add support for Unicode
< 	  To fix UTF8, the data needs to be converted to UTF16 and then
< 	  the Win32 wcscoll() can be used, and perhaps other functions
> 	  To fix this, the data needs to be converted to/from UTF16/UTF8
>           so the Win32 wcscoll() can be used, and perhaps other functions
< 	  locales but provides no ordering.
<
> 	  locales but provides no ordering or character set classes.
2005-03-15 04:01:21 +00:00
Bruce Momjian
2ed560c99f Completed:
> * -Cache last known per-tuple offsets to speed long tuple access
2005-03-14 16:37:02 +00:00
Bruce Momjian
c1186dd594 Add user:
> * Support triggers on columns (Greg Sabino Mullane)
2005-03-14 03:00:26 +00:00
Bruce Momjian
948c41f404 Done:
< 	o Allow COPY FROM ... CSV to interpret newlines and carriage
> 	o -Allow COPY FROM ... CSV to interpret newlines and carriage
2005-03-12 05:41:38 +00:00
Bruce Momjian
06a61d66f9 Done:
* -Add a warning when the free space map is too small
2005-03-12 05:25:49 +00:00
Bruce Momjian
a258a1bba8 Add:
> * Fix cross-compiling of time zone database via 'zic'
2005-03-11 03:45:25 +00:00
Bruce Momjian
e3d7de6b99 Rename canonical encodings, per Peter:
UNICODE => UTF8
	ALT => WIN866
	WIN => WIN1251
	TCVN => WIN1258

The old codes continue to work.
2005-03-07 04:30:55 +00:00
Bruce Momjian
5edb76d4fc Done:
> * -Make src/port/snprintf.c thread-safe
2005-03-01 05:00:20 +00:00
Bruce Momjian
d2557833e9 Add:
> * Improve psql's handling of multi-line queries
2005-02-25 00:24:10 +00:00
Bruce Momjian
0b58d30168 Add wording about UTF8:
< 	  like towupper().
> 	  like towupper().  However, UTF8 already works with normal
> 	  locales but provides no ordering.
2005-02-24 23:39:29 +00:00
Bruce Momjian
0ae430a207 Done:
> 	o -Change PL/PgSQL to use palloc() instead of malloc()
2005-02-24 14:14:41 +00:00
Bruce Momjian
64011b4dce Add:
> 	* Add internationalized message strings
2005-02-22 04:08:01 +00:00
Bruce Momjian
3236250238 Add port mention:
< * Add the client IP address to pg_stat_activity
> * Add the client IP address and port to pg_stat_activity
2005-02-21 18:51:07 +00:00
Bruce Momjian
ac1cbc8079 Clarify item:
< * Allow server configuration parameters to be remotely modified
> * Allow pg_hba.conf settings to be controlled via SQL
>
>   This would require a new global table that is dumped to flat file for
>   use by the postmaster.  We do a similar thing for pg_shadow currently.
>
2005-02-21 17:30:33 +00:00
Bruce Momjian
d5b98e4ce0 Clarify item:
< * Consider use of open/fcntl(O_DIRECT) to minimize OS caching
> * Consider use of open/fcntl(O_DIRECT) to minimize OS caching,
>   especially for WAL writes
2005-02-21 04:58:52 +00:00
Bruce Momjian
bb8fcd6713 Change wording:
<   The agreed syntax is:
>   The proposed syntax is:
2005-02-15 03:54:19 +00:00
Bruce Momjian
50263789d6 Add mention of syntax for GRANT ALL:
>   The agreed syntax is:
> 	GRANT SELECT ON ALL TABLES IN public TO phpuser;
> 	GRANT SELECT ON NEW TABLES IN public TO phpuser;
>
2005-02-15 03:53:00 +00:00
Bruce Momjian
b39ce1ccec Fix typo:
< 	o Allow COPY FROM ... CVS to interpret newlines and carriage
> 	o Allow COPY FROM ... CSV to interpret newlines and carriage
2005-02-15 03:17:41 +00:00
Bruce Momjian
43410176a8 Add:
> * Add xpath_array() to /contrib/xml2 to return results as an array
2005-02-15 02:27:36 +00:00
Bruce Momjian
b25bb4fd44 Add:
> * Allow the creation of indexes with mixed ascending/descending specifiers
2005-02-14 19:51:17 +00:00
Bruce Momjian
f25df821a9 Add:
> * Make src/port/snprintf.c thread-safe
2005-02-14 00:03:57 +00:00
Bruce Momjian
5e73d4361c Clarify:
< * Add IP address to pg_stat_activity
> * Add the client IP address to pg_stat_activity
2005-02-13 00:10:41 +00:00
Bruce Momjian
6370007ce8 Add:
> * Add IP address to pg_stat_activity
2005-02-13 00:09:34 +00:00
Bruce Momjian
38efdc8bc1 Spacing:
< *  Allow the PITR process to be debugged and data examined
> * Allow the PITR process to be debugged and data examined
2005-02-08 03:23:51 +00:00
Bruce Momjian
dc95779679 It seems like most people don't want automatic failover so I am removing
the item:

< 	o Automatic failover
<
< 	  The proper solution to this will probably the use of a master/slave
< 	  replication solution like Sloney and a connection pooling tool like
< 	  pgpool.
<
2005-02-08 03:21:02 +00:00
Bruce Momjian
947ae56d80 Update RESET ALL items:
<   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.
>   all temporary tables, removal of any NOTIFYs, cursors, prepared
>   queries(?), currval()s, etc.  This could be used for connection pooling.
>   We could also change RESET ALL to have this functionality.
2005-02-02 17:26:49 +00:00
Bruce Momjian
68b0e29800 Add FETCH/MOVE:
< * Change LIMIT/OFFSET to use int8
> * Change LIMIT/OFFSET and FETCH/MOVE to use int8
2005-02-01 04:56:53 +00:00
Bruce Momjian
bb14d8becf Add:
> * Allow GRANT/REVOKE permissions to be inherited by objects based on
>   schema permissions
2005-02-01 04:54:43 +00:00
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
Bruce Momjian
7500704167 Remove as duplicate:
< 	o Allow pg_dumpall to use non-text output formats
2004-08-18 04:00:32 +00:00
Bruce Momjian
83f8fb7459 Add:
> * Move some /contrib modules out to their own project sites
2004-08-18 03:51:35 +00:00
Bruce Momjian
3d20578e93 Add pg_dump section:
< * -Allow pg_dump to dump CREATE CONVERSION (Christopher)
< * -Make pg_restore continue after errors, so it acts more like pg_dump scripts
485,486d482
< * Allow pg_dumpall to use non-text output formats
< * Have pg_dump use multi-statement transactions for INSERT dumps
493,496d488
< * Allow pg_dump to use multiple -t and -n switches
<
<   This should be done by allowing a '-t schema.table' syntax.
<
498a491,512
>
> * pg_dump
> 	o Allow pg_dumpall to use non-text output formats
> 	o Have pg_dump use multi-statement transactions for INSERT dumps
> 	o -Allow pg_dump to dump CREATE CONVERSION (Christopher)
> 	o -Make pg_restore continue after errors, so it acts more like pg_dump
> 	  scripts
> 	o Allow pg_dump to use multiple -t and -n switches
>
> 	  This should be done by allowing a '-t schema.table' syntax.
>
> 	o Add dumping of comments on composite type columns
> 	o Add dumping of comments on index columns
> 	o Replace crude DELETE FROM method of pg_dumpall for cleaning of
> 	  users and groups with separate DROP commands
> 	o Add dumping and restoring of LOB comments
> 	o Stop dumping CASCADE on DROP TYPE commands in clean mode
> 	o Add full object name to the tag field.  eg. for operators we need
> 	  '=(integer, integer)', instead of just '='.
> 	o Add pg_dumpall custom format dumps. This is probably best done by
> 	  combining pg_dump and pg_dumpall into a single binary
> 	o Add CSV output format
2004-08-18 03:19:42 +00:00
Bruce Momjian
388ffad040 Add:
< * -Allow savepoints / nested transactions [transactions] (Alvaro)
> * -Allow savepoints / nested transactions (Alvaro)
348a349,353
> * Add an option to automatically use savepoints for each statement in a
>   multi-statement transaction.
>
>   When enabled, this would allow errors in multi-statement transactions
>   to be automatically ignored.
2004-08-17 17:14:56 +00:00
Bruce Momjian
bc91389df9 Add:
> 	o Add ALTER INDEX syntax to work like ALTER TABLE indexname
2004-08-16 16:14:31 +00:00
Bruce Momjian
fa82574bc5 Add:
> * Set proper permissions on non-system schemas during db creation
>
>   Currently all schemas are owned by the super-user because they are
>   copied from the template1 database.
>
2004-08-16 04:38:46 +00:00
Bruce Momjian
0e0793a71a Add:
>
> * Allow buffered WAL writes and fsync
>
>   Instead of guaranteeing recovery of all committed transactions, this
>   would provide improved performance by delaying WAL writes and fsync
>   so an abrupt operating system restart might lose a few seconds of
>   committed transactions but still be consistent.  We could perhaps
>   remove the 'fsync' parameter (which results in an an inconsistent
>   database) in favor of this capability.
2004-08-14 01:30:49 +00:00
Bruce Momjian
9227509230 Add:
> 	o Add ALTER INDEX that works just like ALTER TABLE already does
> 	  on an index
2004-08-13 02:47:53 +00:00
Bruce Momjian
9e01aaa8bf Add:
> * Allow finer control over the caching of prepared query plans
>
>   Currently, queries prepared via the libpq API are planned on first
>   execute using the supplied parameters --- allow SQL PREPARE to do the
>   same.  Also, allow control over replanning prepared queries either
>   manually or automatically when statistics for execute parameters
>   differ dramatically from those used during planning.
>
2004-08-12 19:45:24 +00:00
Bruce Momjian
f7667e4cfa Update DELETE FROM:
< * Allow DELETE to handle table aliases for self-joins
> * Allow an alias to be provided for the target table in UPDATE/DELETE
276,279c276,282
<   There is no way to create a table alias for the deleted table for use
<   in the DELETE WHERE clause.  The agreed approach is to allow a USING
<   clause to specify additional tables.  UPDATE already has an optional
<   FROM clause for this purpose.
>   This is not SQL-spec but many DBMSs allow it.
>
> * Allow additional tables to be specified in DELETE for joins
>
>   UPDATE already allows this (UPDATE...FROM) but we need similar
>   functionality in DELETE.  It's been agreed that the keyword should
>   be USING, to avoid anything as confusing as DELETE FROM a FROM b.
2004-08-10 17:30:47 +00:00
Bruce Momjian
2c29664b6b Update DELETE FROM TODO info. 2004-08-10 16:29:43 +00:00
Bruce Momjian
fdcad61fd5 Add:
* Add COMMENT ON for all cluster global objects (users, groups,
  databases and tablespaces)
2004-08-10 01:38:59 +00:00
Bruce Momjian
1ad8aedb5f Removed, shared table:
< * Add COMMENT for tablespaces
2004-08-09 22:48:01 +00:00
Bruce Momjian
8196e1f85a Add:
> * Add COMMENT for tablespaces
2004-08-09 22:39:18 +00:00
Bruce Momjian
8ac6de38f1 Add:
> * Create dump tool for write-ahead logs for use in determining
>   transaction id for point-in-time recovery
2004-08-07 01:58:12 +00:00
Bruce Momjian
57050f9bdf Modify:
> * Un-comment all variables in postgresql.conf
84,85c84,85
<   By removing comments we prevent the confusion that commenting a line
<   returns a modified value to its default, which it does not.
>   By not showing commented-out variables, we discourage people from
>   thinking that re-commenting a variable returns it to its default.
2004-08-06 17:52:44 +00:00
Bruce Momjian
78877260e6 Add:
> * Track dependencies in function bodies and recompile/invalidate
2004-08-06 15:24:20 +00:00
Bruce Momjian
ab7e8cba58 Add description:
>
>   By removing comments we prevent the confusion that commenting a line
>   returns a modified value to its default, which it does not.
>
2004-08-06 15:12:38 +00:00
Bruce Momjian
e6c7206356 Add:
> * Remove comments on postgresql.conf variables
2004-08-06 15:08:52 +00:00
Bruce Momjian
a128926e89 Update for 8.0 2004-08-04 22:59:42 +00:00
Tom Lane
fcbc438727 Label CVS tip as 8.0devel instead of 7.5devel. Adjust various comments
and documentation to reference 8.0 instead of 7.5.
2004-08-04 21:34:35 +00:00
Bruce Momjian
9d9cdf82a4 Some name cleanup. 2004-08-01 14:08:08 +00:00
Bruce Momjian
48187a1dea Fix :
< * Magnus is Magnus Haglander (?)
> * Magnus is Magnus Hagander <mha@sollentuna.net>
2004-08-01 13:55:12 +00:00
Bruce Momjian
5b0d5ea92d Add descriptions to TODO items and make adjustments based on 7.5. 2004-08-01 05:15:58 +00:00
Bruce Momjian
f951a46771 Add:
> * Allow point-in-time recovery to archive partially filled logs
2004-07-31 06:13:52 +00:00
Bruce Momjian
66917fcff5 Add:
> * Allow administrators to safely terminate individual sessions
2004-07-29 16:47:07 +00:00
Bruce Momjian
e57243ea7e Add:
> * Allow server logs to be read using SQL commands
> * Allow server configuration parameters to be modified remotetly
2004-07-29 16:24:02 +00:00
Bruce Momjian
406e8aa294 Updated wording:
> * Have psql show current values for a sequence
2004-07-22 12:24:13 +00:00
Bruce Momjian
e15c432302 Done:
> * -Have psql show more information about sequences
2004-07-22 11:49:19 +00:00
Bruce Momjian
83997560b7 Mention plpgsql:
< 	o -Allow parameters to be specified by name and type during definition
> 	o -Allow PL/pgSQL parameters to be specified by name and type during definition
2004-07-21 13:46:44 +00:00
Bruce Momjian
851bcee425 Update:
< * Allow psql to display permission information using \df+ and \l+
> * Consistenly display privilege information for all objects in psql
2004-07-20 22:28:16 +00:00
Bruce Momjian
cd66b86be2 Add:
> * Allow psql to display permission information using \df+ and \l+
2004-07-20 21:01:22 +00:00
Bruce Momjian
5406955541 Add:
> * Fix data types where equality comparison isn't intuitive, e.g. box
2004-07-20 19:52:03 +00:00
Bruce Momjian
3df8b47a5e Done:
> 	o -Allow parameters to be specified by name and type during definition
2004-07-20 19:37:36 +00:00
Bruce Momjian
8459b2d472 Done:
> * -Allow configuration files to be specified in a different directory
2004-07-19 20:57:30 +00:00
Bruce Momjian
6275419446 Add:
> 	o Enforce rules for setting combinations
2004-07-17 10:50:05 +00:00
Bruce Momjian
098d0304d7 Add:
> * Add session start time and last statement time to pg_stat_activity
2004-07-12 00:39:11 +00:00
Bruce Momjian
1ec448cda3 Added Matthew:
<   rather than in /contrib
>   rather than in /contrib (Matthew)
515a516
> * Matthew T. O'Connor <matthew@zeut.net>
2004-07-12 00:23:59 +00:00
Bruce Momjian
0589ab68c5 Remove:
< * Allow moving sequences and toast tables to other tablespaces
2004-07-11 23:52:05 +00:00
Bruce Momjian
a1f3209c07 Add:
> * Allow moving sequences and toast tables to other tablespaces
2004-07-11 23:31:27 +00:00
Bruce Momjian
5c9d069daf Add:
> * Add NOVICE output level for helpful messages like automatic sequence/index creation
2004-07-11 21:57:03 +00:00