• Bruce Momjian's avatar
    Remove completed items: · 88d7b711
    Bruce Momjian authored
    < * -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
    88d7b711
TODO 37.3 KB