1. 29 8月, 2005 1 次提交
    • B
      Add: · a78a5308
      Bruce Momjian 提交于
      > * Add function to return the thread safety status of libpq and ecpg
      a78a5308
  2. 27 8月, 2005 8 次提交
    • B
      Add: · a1a19bb8
      Bruce Momjian 提交于
      > * Allow user-defined types to specify a type modifier at table creation
      >   time
      a1a19bb8
    • B
      Update: · 542faa82
      Bruce Momjian 提交于
      >
      >   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.
      542faa82
    • B
      Add: · f9244df7
      Bruce Momjian 提交于
      > 	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
      f9244df7
    • B
      Add description and item: · acba287a
      Bruce Momjian 提交于
      >
      > 	  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.
      acba287a
    • B
      Update based on user comments: · cad7f831
      Bruce Momjian 提交于
      <   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.
      cad7f831
    • B
      Update constraint_exclusion items: · bdfa8e5e
      Bruce Momjian 提交于
      <   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.
      bdfa8e5e
    • B
      Remove completed items: · 88d7b711
      Bruce Momjian 提交于
      < * -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
    • B
      Great TODO updates from Tom: · 9f604687
      Bruce Momjian 提交于
      <   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
      9f604687
  3. 25 8月, 2005 5 次提交
    • B
      Completed: · 12c41d7e
      Bruce Momjian 提交于
      < * -Allow triggers to be disabled [trigger]
      > * -Allow triggers to be disabled
      12c41d7e
    • B
      Remove sentence: · c4bf5821
      Bruce Momjian 提交于
      < 	  Logically, a reload should set the same values as a
      <           server restart.
      c4bf5821
    • B
      Update: · 75f633b6
      Bruce Momjian 提交于
      <           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.
      75f633b6
    • B
      Additem: · a06d98bb
      Bruce Momjian 提交于
      > * Add sleep() function, remove from regress.c
      a06d98bb
    • B
      Add: · 249a720e
      Bruce Momjian 提交于
      > 	o Add sleep() to PL/PgSQL
      249a720e
  4. 24 8月, 2005 5 次提交
    • B
      Fix typo. · c864c3bf
      Bruce Momjian 提交于
      c864c3bf
    • B
      Mark "easy" items. · ee2b61ee
      Bruce Momjian 提交于
      Jim C. Nasby
      ee2b61ee
    • B
      Update: · 6ca102d6
      Bruce Momjian 提交于
      < 	o Do VACUUM FULL if table is nearly empty?
      > 	o Suggest VACUUM FULL if a table is nearly empty
      6ca102d6
    • B
      Add explaination: · 69e4e570
      Bruce Momjian 提交于
      >
      >           Currently, if a variable is commented out, it keeps the
      >           previous uncommented value until a server restarted.
      >
      69e4e570
    • B
      Mark item as complete, add another: · 2b215215
      Bruce Momjian 提交于
      < * 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.
      2b215215
  5. 23 8月, 2005 1 次提交
  6. 21 8月, 2005 1 次提交
    • B
      Add: · e22443f4
      Bruce Momjian 提交于
      > * Fix problems with wrong runtime encoding conversion for NLS message files
      e22443f4
  7. 18 8月, 2005 2 次提交
    • B
      Add: · 96f63aeb
      Bruce Momjian 提交于
      > 	o Remove unnecessary abstractions in pg_dump source code
      96f63aeb
    • B
      Done: · a11fe545
      Bruce Momjian 提交于
      > * -Prevent to_char() on interval from returning meaningless values
      a11fe545
  8. 10 8月, 2005 2 次提交
    • B
      Combine entries: · f80cf690
      Bruce Momjian 提交于
      <   inheritance
      < * Allow enable_constraint_exclusion to work for UPDATE and DELETE queries
      >   inheritance, and allow it to work for UPDATE and DELETE queries
      f80cf690
    • B
      Done: · 20e26447
      Bruce Momjian 提交于
      > * -Add C code on Unix to copy directories for use in creating new databases
      20e26447
  9. 09 8月, 2005 2 次提交
    • B
      Done: · 6a3021b7
      Bruce Momjian 提交于
      > * -Allow multiple blocks to be written to WAL with one write()
      6a3021b7
    • B
      Done: · 2dd9672d
      Bruce Momjian 提交于
      > 	o -Allow FOR UPDATE queries to do NOWAIT locks
      2dd9672d
  10. 03 8月, 2005 1 次提交
    • B
      · e48b28b6
      Bruce Momjian 提交于
      Done:
      
      < * Prevent inherited tables from expanding temporary subtables of other
      > * -Prevent inherited tables from expanding temporary subtables of other
      e48b28b6
  11. 01 8月, 2005 3 次提交
    • B
      Done: · 614b6e25
      Bruce Momjian 提交于
      > * -Allow limits on per-db/role connections
      614b6e25
    • B
      Done: · 523997da
      Bruce Momjian 提交于
      < 	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
      523997da
    • B
      Add description: · a85e5d1b
      Bruce Momjian 提交于
      < 	  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.
      a85e5d1b
  12. 31 7月, 2005 3 次提交
    • B
      Suggest syntax: · b1258771
      Bruce Momjian 提交于
      < 	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
      b1258771
    • B
      Add item to sentence: · 73b574c1
      Bruce Momjian 提交于
      < 	* Allow server logs to be remotely read using SQL commands
      151a151
      > * Allow server logs to be remotely read and removed using SQL commands
      73b574c1
    • B
      Spacing improvement. · 81b1551e
      Bruce Momjian 提交于
      81b1551e
  13. 30 7月, 2005 6 次提交
    • B
      Add constraint exclusion items: · 90524998
      Bruce Momjian 提交于
      <
      > * 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
      90524998
    • B
      Add: · 32681629
      Bruce Momjian 提交于
      <
      > * Allow enable_constraint_exclusion to work for UNIONs like it does for
      >   inheritance
      32681629
    • B
      Add: · f9512130
      Bruce Momjian 提交于
      > * Prevent inherited tables from expanding temporary subtables of other
      >   sessions
      f9512130
    • B
      Add: · aa8290be
      Bruce Momjian 提交于
      > * Add system view to show free space map contents
      884c885
      < 	o Move into the backend code
      > 	o -Move into the backend code
      aa8290be
    • B
      Add: · 24df49bd
      Bruce Momjian 提交于
      > * Allow SELECT ... FOR UPDATE on inherited tables
      24df49bd
    • B
      Clarify: · 43e33c51
      Bruce Momjian 提交于
      < * Add TRUNCATE permission
      > * Add a separate TRUNCATE permission
      43e33c51