Commit Graph

1788 Commits

Author SHA1 Message Date
Bruce Momjian 6fa335721a Update:
< * Add missing optimizer selectivities for date, r-tree, etc
> * Add missing rtree optimizer selectivity
2005-12-28 03:59:39 +00:00
Bruce Momjian 1b184c990f Done:
< * %Make row-wise comparisons work per SQL spec
> * -Make row-wise comparisons work per SQL spec
2005-12-28 02:12:25 +00:00
Bruce Momjian 5c9a46f605 Add:
* %Make row-wise comparisons work per SQL spec

  Right now, '(a, b) < (1, 2)' is processed as 'a < 1 and b < 2', but
  the SQL standard requires it to be processed as a column-by-column
  comparison, so the proper comparison is '(a < 1) OR (a = 1 AND b < 2)'.
2005-12-26 05:14:52 +00:00
Bruce Momjian 2f1a78e200 Update item:
>
>   A more complex solution would be to save multiple plans for different
>   cardinality and use the appropriate plan based on the EXECUTE values.
>
2005-12-22 23:05:32 +00:00
Bruce Momjian 25af534ea1 Remove item:
< * Allow star join optimizations
<
<   While our bitmap scan allows multiple indexes to be joined to get
<   to heap rows, a star joins allows multiple dimension _tables_ to
<   be joined to index into a larger main fact table.  The join is
<   usually performed by either creating a cartesian product of all
<   the dimmension tables and doing a single join on that product or
<   using subselects to create bitmaps of each dimmension table match
<   and merge the bitmaps to perform the join on the fact table.  Some
<   of these algorithms might be patented.
2005-12-17 19:03:24 +00:00
Bruce Momjian 3282b6338b Update:
< * Flush cached query plans when the dependent objects change or
<   when the cardinality of parameters changes dramatically
> * Flush cached query plans when the dependent objects change,
>   when the cardinality of parameters changes dramatically, or
>   when new ANALYZE statistics are available
2005-12-17 18:07:01 +00:00
Bruce Momjian 16843ba33c Add mention of possible patent problems with star joins, per Joshua
Drake:

<   and merge the bitmaps to perform the join on the fact table.
>   and merge the bitmaps to perform the join on the fact table.  Some
>   of these algorithms might be patented.
2005-12-17 17:04:41 +00:00
Bruce Momjian 9e9a844f55 Add:
* Allow star join optimizations

  While our bitmap scan allows multiple indexes to be joined to get
  to heap rows, a star joins allows multiple dimension _tables_ to
  be joined to index into a larger main fact table.  The join is
  usually performed by either creating a cartesian product of all
  the dimmension tables and doing a single join on that product or
  using subselects to create bitmaps of each dimmension table match
  and merge the bitmaps to perform the join on the fact table.
2005-12-17 16:43:11 +00:00
Bruce Momjian 927f57687f Add more function to TODO:
< * %Add pg_get_acldef(), pg_get_typedefault(), and pg_get_attrdef()
> * %Add pg_get_acldef(), pg_get_typedefault(), pg_get_attrdef(),
>   pg_get_tabledef(), pg_get_domaindef(), pg_get_functiondef()
2005-12-17 14:18:33 +00:00
Bruce Momjian eae75beb71 Update:
< * Flush cached query plans when the dependent objects change
> * Flush cached query plans when the dependent objects change or
>   when the cardinality of parameters changes dramatically
2005-12-17 04:10:47 +00:00
Bruce Momjian 56ea9ad11f Add:
> * Allow the count returned by SELECT, etc to be to represent as an int64
>   to allow a higher range of values
2005-12-17 01:48:37 +00:00
Bruce Momjian cb77a9ea53 Force update. 2005-12-16 18:56:55 +00:00
Neil Conway 1c7347f897 Fix some typos in the TODO list. 2005-12-16 18:44:07 +00:00
Bruce Momjian baf4e187ef Update wording, query -> statement:
< * %Allow pooled connections to list all prepared queries
> * %Allow pooled connections to list all prepared statements
28c28
<   the queries prepared in the current session.
>   the statements prepared in the current session.
143c143
< 	  o Allow a warm standby system to also allow read-only queries
> 	  o Allow a warm standby system to also allow read-only statements
404c404
< * Add GUC to issue notice about queries that use unjoined tables
> * Add GUC to issue notice about statements that use unjoined tables
490c490
< 	  Another idea would be to allow actual SELECT queries in a COPY.
> 	  Another idea would be to allow actual SELECT statements in a COPY.
554c554
< 	o Allow function argument names to be queries from PL/PgSQL
> 	o Allow function argument names to be statements from PL/PgSQL
591c591
< 	o Improve psql's handling of multi-line queries
> 	o Improve psql's handling of multi-line statements
< 	  Currently, while \e saves a single query as one entry, interactive
< 	  queries are saved one line at a time.  Ideally all queries
> 	  Currently, while \e saves a single statement as one entry, interactive
> 	  statements are saved one line at a time.  Ideally all statements
665c665
< 	o Allow query results to be automatically batched to the client
> 	o Allow statement results to be automatically batched to the client
667c667
< 	  Currently, all query results are transfered to the libpq
> 	  Currently, all statement results are transfered to the libpq
672c672
< 	  One complexity is that a query like SELECT 1/col could error
> 	  One complexity is that a statement like SELECT 1/col could error
739c739
< * Allow queries across databases or servers with transaction
> * Allow statements across databases or servers with transaction
<   inheritance, allow it to work for UPDATE and DELETE queries, and allow
<   it to be used for all queries with little performance impact
>   inheritance, allow it to work for UPDATE and DELETE statements, and allow
>   it to be used for all statements with little performance impact
876c876
< * Consider automatic caching of queries at various levels:
> * Consider automatic caching of statements at various levels:
947c947
<   a single session using multiple threads to execute a query faster.
>   a single session using multiple threads to execute a statement faster.
1025c1025
< * Log queries where the optimizer row estimates were dramatically
> * Log statements where the optimizer row estimates were dramatically
1146c1146
< 	  of result sets using new query protocol
> 	  of result sets using new statement protocol
2005-12-12 13:36:36 +00:00
Bruce Momjian c10593149a Remove item:
< * Add GUC variable to run a command on database panic or
<   smart/fast/immediate shutdown
2005-12-11 02:16:25 +00:00
Bruce Momjian ecf4df6116 Done:
< * Allow installing to directories containing spaces
> * -Allow installing to directories containing spaces
2005-12-09 21:46:07 +00:00
Bruce Momjian 07044f5d6f Completed:
* -Have initdb set the input DateStyle (MDY or DMY) based on locale
2005-12-09 16:35:20 +00:00
Peter Eisentraut 625d4b38e0 Let initdb detect the date order of the lc_time locale and initialize the
datestyle parameter of the new cluster accordingly.
2005-12-09 15:51:14 +00:00
Bruce Momjian d22ec67605 Add Teodor:
> * Teodor is Teodor Sigaev <teodor@sigaev.ru>
2005-12-08 22:10:25 +00:00
Bruce Momjian 0fba659ef8 Remove a few people:
< * Claudio is Claudio Natoli <claudio.natoli@memetrics.com>
1166d1164
< * Hiroshi is Hiroshi Inoue <Inoue@tpf.co.jp>
2005-12-08 22:08:20 +00:00
Bruce Momjian 10a2df28c0 Update:
<   at initdb time or optionally later.
>   at initdb time or optionally later.  Consider O_SYNC when
>   O_DIRECT exists.
2005-12-07 17:29:14 +00:00
Bruce Momjian 371879ca8e Add:
> * Add GUC variable to run a command on database panic or
>   smart/fast/immediate shutdown
2005-12-06 20:47:05 +00:00
Bruce Momjian 99552287e1 Update:
< 	  Win32 API, and we have to make sure MinGW handles it.
> 	  Win32 API, and we have to make sure MinGW handles it.  Another
> 	  option is to wait for the MinGW project to fix it, or use the
> 	  code from the LibGW32C project as a guide.
2005-12-04 21:16:51 +00:00
Bruce Momjian 8752479dfc Add:
> 	o Add long file support for binary pg_dump output
>
> 	  While Win32 supports 64-bit files, the MinGW API does not,
> 	  meaning we have to build an fseeko replacement on top of the
> 	  Win32 API, and we have to make sure MinGW handles it.
2005-12-04 04:33:18 +00:00
Bruce Momjian bedb5fc309 Add:
> * Add SPI_gettypmod() to return the typemod for a TupleDesc
2005-12-04 04:14:43 +00:00
Bruce Momjian 49bbff0f8d Add for autovacuum:
> 	o Consider logging activity either to the logs or a system view
2005-12-04 04:02:55 +00:00
Bruce Momjian eb339c7840 Item removed:
< * Add function to return the thread safety status of libpq and ecpg
2005-12-03 13:03:41 +00:00
Bruce Momjian 5ab2598875 Remove idea of increasing NUMERIC length:
< * Change NUMERIC to enforce the maximum precision, and increase it
> * Change NUMERIC to enforce the maximum precision
2005-12-02 17:39:44 +00:00
Bruce Momjian 9322a04759 Add calcluation of bitmap storage capacity.
<   be cleared when a heap tuple is expired.  Another idea is to maintain
<   a bitmap of heap pages where all rows are visible to all backends,
<   and allow index lookups to reference that bitmap to avoid heap
<   lookups, perhaps the same bitmap we might add someday to determine
<   which heap pages need vacuuming.
>   be cleared when a heap tuple is expired.
>
>   Another idea is to maintain a bitmap of heap pages where all rows
>   are visible to all backends, and allow index lookups to reference
>   that bitmap to avoid heap lookups, perhaps the same bitmap we might
>   add someday to determine which heap pages need vacuuming.  Frequently
>   accessed bitmaps would have to be stored in shared memory.  One 8k
>   page of bitmaps could track 512MB of heap pages.
2005-12-02 04:28:19 +00:00
Bruce Momjian 113ece8f3d Add all heap page rows visible bitmap idea:
<   the heap.  One way to allow this is to set a bit to index tuples
>   the heap.  One way to allow this is to set a bit on index tuples
<   be cleared when a heap tuple is expired.
<
>   be cleared when a heap tuple is expired.  Another idea is to maintain
>   a bitmap of heap pages where all rows are visible to all backends,
>   and allow index lookups to reference that bitmap to avoid heap
>   lookups, perhaps the same bitmap we might add someday to determine
>   which heap pages need vacuuming.
2005-12-01 22:30:43 +00:00
Bruce Momjian 915fb7f687 Add MERGE TODO.detail:
>   [merge]
378a380
>   [merge]
2005-12-01 22:12:35 +00:00
Bruce Momjian 24e1a04591 Split out MERGE and REPLACE/UPSERT items.
< * Add MERGE command that does UPDATE/DELETE, or on failure, INSERT (rules,
<   triggers?)
> * Add SQL-standard MERGE command, typically used to merge two tables
>
>   This is similar to UPDATE, then for unmatched rows, INSERT.
>   Whether concurrent access allows modifications which could cause
>   row loss is implementation independent.
>
> * Add REPLACE or UPSERT command that does UPDATE, or on failure, INSERT
2005-12-01 22:07:59 +00:00
Bruce Momjian 339fbbb9a0 Update for 8.2:
< #A hyphen, "-", marks changes that will appear in the upcoming 8.1 release.#
> #A hyphen, "-", marks changes that will appear in the upcoming 8.2 release.#
2005-11-29 02:02:40 +00:00
Bruce Momjian 8ed7065c7b Item removed, looping always required:
< * Remove Win32 rename/unlink looping if unnecessary
2005-11-29 02:01:52 +00:00
Bruce Momjian a4371a6813 Add:
> * Allow COMMENT ON to accept an expression rather than just a string
2005-11-28 22:21:58 +00:00
Bruce Momjian c0a2f8cc4d Add space. 2005-11-24 04:40:27 +00:00
Bruce Momjian 3f69c4193f Add item:
<
> 	o Add -f to pg_dumpall
2005-11-24 04:28:40 +00:00
Bruce Momjian ce1d8293f0 Done:
> 	o -Allow NULLs in arrays
2005-11-22 23:22:38 +00:00
Bruce Momjian c28c00ecc8 Add:
>
> * Add estimated_count(*) to return an estimate of COUNT(*)
>
>   This would use the planner ANALYZE statistatics to return an estimated
>   count.
2005-11-22 23:06:56 +00:00
Bruce Momjian 84bb3876bc Update, add mention of user locking table before MERGE:
<   so duplicate checking can be easily performed.
>   so duplicate checking can be easily performed.  It is possible to
>   do it without a unique index if we require the user to LOCK the table
>   before the MERGE.
2005-11-16 18:45:09 +00:00
Bruce Momjian 01798a06b9 Add batch mode, make new libpq section:
< * Add a libpq function to support Parse/DescribeStatement capability
< * Add PQescapeIdentifier() to libpq
< * Prevent PQfnumber() from lowercasing unquoted the column name
<
<   PQfnumber() should never have been doing lowercasing, but historically
<   it has so we need a way to prevent it
<
648a642,661
>
>
> libpq
>
> 	o Add a function to support Parse/DescribeStatement capability
> 	o Add PQescapeIdentifier()
> 	o Prevent PQfnumber() from lowercasing unquoted the column name
>
> 	  PQfnumber() should never have been doing lowercasing, but
> 	  historically it has so we need a way to prevent it
>
> 	o Allow query results to be automatically batched to the client
>
> 	  Currently, all query results are transfered to the libpq
> 	  client before libpq makes the results available to the
> 	  application.  This feature would allow the application to make
> 	  use of the first result rows while the rest are transfered, or
> 	  held on the server waiting for them to be requested by libpq.
> 	  One complexity is that a query like SELECT 1/col could error
> 	  out mid-way through the result set.
2005-11-16 16:33:44 +00:00
Bruce Momjian 698ee9c3e7 Update MERGE:
>
>   To implement this cleanly requires that the table have a unique index
>   so duplicate checking can be easily performed.
>
2005-11-15 23:08:24 +00:00
Bruce Momjian bc93b3741d Update:
< 	o Allow ALTER TABLE RENAME CONSTRAINT
> 	o Add ALTER TABLE RENAME CONSTRAINT, update index name also
2005-10-27 14:16:05 +00:00
Bruce Momjian befc607dee Add:
> 	o Have ALTER INDEX update the name of a constraint using that index
> 	o Allow ALTER TABLE RENAME CONSTRAINT
2005-10-27 14:07:29 +00:00
Bruce Momjian 807da29cf3 Add items from Tom:
< 	o Add a GUC variable to allow output of interval values in ISO8601
< 	  format
212a211,223
> 	o Add a GUC variable to allow output of interval values in ISO8601
> 	  format
> 	o Improve timestamptz subtraction to be DST-aware
>
> 	  Currently, subtracting one date from another that crosses a
> 	  daylight savings time adjustment can return '1 day 1 hour', but
> 	  adding that back to the first date returns a time one hour in
> 	  the future.  This is caused by the adjustment of '25 hours' to
> 	  '1 day 1 hour', and '1 day' is the same time the next day, even
> 	  if daylight savings adjustments are involved.
>
> 	o Fix interval display to support values exceeding 2^31 hours
> 	o Add overflow checking to timestamp and interval arithmetic
2005-10-27 02:33:31 +00:00
Bruce Momjian 62cfa0f75c Add:
>
> 	o Add auto-expanded mode so expanded output is used if the row
> 	  length is wider than the screen width.
>
> 	  Consider using auto-expanded mode for backslash commands like \df+.
2005-10-25 18:50:56 +00:00
Bruce Momjian 9507b56031 Add:
> * Allow user-defined functions retuning a domain value to enforce domain
>   constraints
2005-10-24 18:08:52 +00:00
Bruce Momjian 249f07b8c6 Update:
> * Prevent PQfnumber() from lowercasing unquoted the column name
>
>   PQfnumber() should never have been doing lowercasing, but historically
>   it has so we need a way to prevent it
>
2005-10-13 01:23:49 +00:00
Bruce Momjian adc58f145c Remove item:
< * Prevent libpq's PQfnumber() from lowercasing the column name
<
<   One idea is to lowercase all identifiers except those that are
<   surrounded by quotes.
<
2005-10-12 22:39:35 +00:00
Bruce Momjian 0a28eb4622 No longer needed:
<
< * Add code to detect an SMP machine and handle spinlocks accordingly
<   from distributted.net, http://www1.distributed.net/source,
<   in client/common/cpucheck.cpp
<
<   On SMP machines, it is possible that locks might be released shortly,
<   while on non-SMP machines, the backend should sleep so the process
<   holding the lock can complete and release it.
2005-10-12 14:06:46 +00:00
Bruce Momjian 4aebb5ad55 Rearrange:
< 	o %Add dumping of comments on composite type columns
< 	o %Add dumping of comments on index columns
< 	o Stop dumping CASCADE on DROP TYPE commands in clean mode
> 	o %Add dumping of comments on index columns and composite type columns
604a603
> 	o Stop dumping CASCADE on DROP TYPE commands in clean mode
2005-10-12 13:41:08 +00:00
Bruce Momjian d5310ca920 Done:
< 	o %Replace crude DELETE FROM method of pg_dumpall --clean for
<           cleaning of roles with separate DROP commands
608a607
>
2005-10-12 13:39:51 +00:00
Bruce Momjian 87a67d186b Add:
<
> 	o Allow pg_dump --clean to drop roles that own objects or have
> 	  privileges
2005-10-12 13:39:21 +00:00
Bruce Momjian 752290207d Add description:
< * Prevent libpq's PQfnumber() from lowercasing the column name?
> * Prevent libpq's PQfnumber() from lowercasing the column name
>
>   One idea is to lowercase all identifiers except those that are
>   surrounded by quotes.
>
2005-10-12 03:26:38 +00:00
Bruce Momjian 368f0b28f3 Add:
> 	o Add options like pg_restore -l and -L to pg_dump
2005-10-12 02:57:42 +00:00
Bruce Momjian e4aa5be90c Add:
> 	o Allow selection of individual object(s) of all types, not just
> 	  tables
> 	o In a selective dump, allow dumping of an object and all its
> 	  dependencies
2005-10-11 23:55:10 +00:00
Bruce Momjian ab13353d31 Update:
< * Consider compressing indexes by storing key prefix values shared by
> * Consider compressing indexes by storing key values duplicated in
735a736,737
>
>   This is difficult because it requires datatype-specific knowledge.
2005-10-07 14:04:19 +00:00
Bruce Momjian 02eb6ea9b7 Add:
<
> * Consider compressing indexes by storing key prefix values shared by
>   several rows as a single index entry
2005-10-07 02:43:59 +00:00
Bruce Momjian 6a17577933 Remove, 8.1 completed items already removed:
< * -Have sequence dependency track use of DEFAULT sequences
2005-10-03 00:42:57 +00:00
Bruce Momjian 2aa39a4cb1 Done:
< * Have sequence dependency track use of DEFAULT sequences,
<   seqname.nextval?
> * -Have sequence dependency track use of DEFAULT sequences
2005-10-03 00:42:28 +00:00
Bruce Momjian 455f48ddc5 Done:
< * +Add options to pg_config to show the share_dir, sysconfdir,
<   pkgincludedir, and localedir
2005-09-27 18:04:34 +00:00
Bruce Momjian 451cd7d426 Add:
> 	o Improve signal handling,
> 	  http://archives.postgresql.org/pgsql-patches/2005-06/msg00027.php
2005-09-27 15:18:13 +00:00
Bruce Momjian 240c8e7e43 Novice:
< * Add options to pg_config to show the share_dir, sysconfdir,
> * +Add options to pg_config to show the share_dir, sysconfdir,
2005-09-27 13:39:32 +00:00
Bruce Momjian 3ff1dc501e Done:
< * Allow protocol-level EXECUTE that is actually a fetch to appear
<   in the logs as a fetch rather than another execute
2005-09-26 15:52:35 +00:00
Bruce Momjian 88922598da Add:
> * Allow protocol-level BIND parameter values to be logged
> * Allow protocol-level EXECUTE that is actually a fetch to appear
>   in the logs as a fetch rather than another execute
2005-09-26 02:44:28 +00:00
Bruce Momjian 86044a9d71 Add:
> * Simplify dropping roles that have objects in several databases
2005-09-23 21:55:01 +00:00
Bruce Momjian 6db56cdf80 Add:
> 	o Allow PL/PgSQL to support WITH HOLD cursors
2005-09-23 20:41:39 +00:00
Bruce Momjian bf8e536215 Add:
>
> 	o Display IN, INOUT, and OUT parameters in \df+
>
> 	  It probably requires psql to output newlines in the proper
> 	  column, which is already on the TODO list.
2005-09-23 20:32:49 +00:00
Bruce Momjian e6bae1c3d3 Add:
> * Add function to report the time of the most recent server reload
2005-09-23 03:06:03 +00:00
Bruce Momjian 6e85717a77 Add:
> * Add options to pg_config to show the share_dir, sysconfdir,
>   pkgincludedir, and localedir
>
2005-09-23 03:04:24 +00:00
Bruce Momjian c79671bdbb Add:
> * Allow CREATE INDEX to take an additional parameter for use with
>   special index types
>
2005-09-22 23:54:09 +00:00
Bruce Momjian c37ddf371d Add:
>
> 	  Another idea would be to allow actual SELECT queries in a COPY.
2005-09-22 21:50:59 +00:00
Bruce Momjian 62da04f8e3 Add:
>
> 	o Allow COPY to output from views
>
2005-09-22 16:01:59 +00:00
Bruce Momjian 8d86982a11 Merge items:
<   This would be beneficial when there are few distinct values.
>   This would be beneficial when there are few distinct values.  This is
>   already used by GROUP BY.
946d946
< * Allow DISTINCT to use hashing like GROUP BY
2005-09-20 20:51:30 +00:00
Bruce Momjian a34ec0ab4a Fix typo:
< * Allow WAL traffic to be steamed to another server for stand-by
> * Allow WAL traffic to be streamed to another server for stand-by
2005-09-20 02:21:29 +00:00
Bruce Momjian 7caaf8a022 Add:
> * Allow DISTINCT to use hashing like GROUP BY
2005-09-20 02:16:41 +00:00
Bruce Momjian 32f2cd3f35 Add:
> * Allow WAL traffic to be steamed to another server for stand-by
>   replication
2005-09-20 00:11:00 +00:00
Bruce Momjian 78b06948d0 Remove:
< * Research use of sched_yield() for spinlock acquisition failure
2005-09-19 22:32:32 +00:00
Bruce Momjian 591a29b398 update timestamp on file. 2005-09-19 15:01:28 +00:00
Bruce Momjian 3743f07a53 Add:
>
1032a1034
> * Remove BeOS and QNX-specific code
2005-09-17 12:12:58 +00:00
Bruce Momjian e8960fc34f Add:
> 	o Fix SELECT INTERVAL '1' MONTH
2005-09-16 19:39:25 +00:00
Bruce Momjian d64084daa5 Add:
<
> * Update Bonjour to work with newer cross-platform SDK
2005-09-16 17:37:10 +00:00
Bruce Momjian 0296606f78 Update wording:
<
390d388
<
453c451
< 	  removed or have its heap and index files truncated.  One
> 	  be removed or have its heap and index files truncated.  One
< * Use a phantom command counter for nested subtransactions to reduce
<   per-tuple overhead
2005-09-16 16:46:09 +00:00
Bruce Momjian 3f558e3dae Add:
> 	o Add single-step debugging of PL/PgSQL functions
2005-09-16 11:24:02 +00:00
Bruce Momjian b72fe49b9c Add idea:
<   cmin/cmax pair and is stored in local memory.
>   cmin/cmax pair and is stored in local memory.  Another idea is to
>   store both cmin and cmax only in local memory.
2005-09-03 00:41:30 +00:00
Bruce Momjian 264cd5f04a Update.
< 	  have its heap and index files truncated.  One issue is
< 	  that no other backend should be able to add to the table
< 	  at the same time, which is something that is currently
< 	  allowed.
> 	  removed or have its heap and index files truncated.  One
> 	  issue is that no other backend should be able to add to
> 	  the table at the same time, which is something that is
> 	  currently allowed.
2005-09-02 21:23:05 +00:00
Bruce Momjian ef6d5b4e25 Update:
> 	o Allow COPY on a newly-created table to skip WAL logging
450a452,456
> 	  On crash recovery, the table involved in the COPY would
> 	  have its heap and index files truncated.  One issue is
> 	  that no other backend should be able to add to the table
> 	  at the same time, which is something that is currently
> 	  allowed.
2005-09-02 21:10:59 +00:00
Bruce Momjian f8ec875c39 Update:
< 	o Allow COPY into an empty table to skip WAL logging
> 	o Allow COPY into an new table to skip WAL logging
2005-09-02 21:01:20 +00:00
Bruce Momjian 5bddded69c Add:
> * Use UTF8 encoding for NLS messages so all server encodings can
>   read them properly
<         o %Add support for Unicode
<
< 	  To fix this, the data needs to be converted to/from UTF16/UTF8
<           so the Win32 wcscoll() can be used, and perhaps other functions
< 	  like towupper().  However, UTF8 already works with normal
< 	  locales but provides no ordering or character set classes.
2005-09-02 20:11:34 +00:00
Bruce Momjian 3bea1a353f Update wording:
<   could only see committed rows from another transaction. However,
>   could only see rows from another completed transaction. However,
981c981
<   proper visibility of the row, for example, for cursors.
>   proper visibility of the row's cmin, for example, for cursors.
2005-09-02 19:51:37 +00:00
Bruce Momjian da08559e9b Add:
> 	o Allow COPY into an empty table to skip WAL logging
2005-09-02 19:39:15 +00:00
Bruce Momjian fad7e8edac Add text:
* Merge xmin/xmax/cmin/cmax back into three header fields

  Before subtransactions, there used to be only three fields needed to
  store these four values. This was possible because only the current
  transaction looks at the cmin/cmax values. If the current transaction
  created and expired the row the fields stored where xmin (same as
  xmax), cmin, cmax, and if the transaction was expiring a row from a
  another transaction, the fields stored were xmin (cmin was not
  needed), xmax, and cmax. Such a system worked because a transaction
  could only see committed rows from another transaction. However,
  subtransactions can see rows from outer transactions, and once the
  subtransaction completes, the outer transaction continues, requiring
  the storage of all four fields. With subtransactions, an outer
  transaction can create a row, a subtransaction expire it, and when the
  subtransaction completes, the outer transaction still has to have
  proper visibility of the row, for example, for cursors.

  One possible solution is to create a phantom cid which represents a
  cmin/cmax pair and is stored in local memory.
2005-09-02 15:22:44 +00:00
Bruce Momjian 55af2a4337 Duplicate:
< * Maintain a map of recently-expired rows
<
<   This allows vacuum to target specific pages for possible free space
<   without requiring a sequential scan.
<
Update entry:

>   One complexity is that index entries still have to be vacuumed, and
>   doing this without an index scan (by using the heap values to find the
>   index entry) might be slow and unreliable, especially for user-defined
>   index functions.
2005-09-02 00:49:57 +00:00
Bruce Momjian bc0650660a Add:
> * Eventually enable escape_string_warning and standard_conforming_strings
2005-08-30 23:25:23 +00:00
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