Skip to content
Snippets Groups Projects
Select Git revision
  • f8348ea32ec8d713cd6e5d5e16f15edef22c4d03
  • master default
  • benchmark-tools
  • postgres-lambda
  • REL9_4_25
  • REL9_5_20
  • REL9_6_16
  • REL_10_11
  • REL_11_6
  • REL_12_1
  • REL_12_0
  • REL_12_RC1
  • REL_12_BETA4
  • REL9_4_24
  • REL9_5_19
  • REL9_6_15
  • REL_10_10
  • REL_11_5
  • REL_12_BETA3
  • REL9_4_23
  • REL9_5_18
  • REL9_6_14
  • REL_10_9
  • REL_11_4
24 results

operatorcmds.c

Blame
  • TODO 9.96 KiB
    TODO list for PostgreSQL
    ========================
    Last updated:		Mon Apr 17 12:34:31 EDT 2000
    
    Current maintainer:	Bruce Momjian (pgman@candle.pha.pa.us)
    
    The most recent version of this document can be viewed at
    the PostgreSQL web site, http://www.PostgreSQL.org.
    
    A dash(-) marks changes that will appear in the upcoming 7.0 release.
    
    Names in brackets "[]" indicate more detailed information is available in
    the directory pgsql/doc/TODO.detail/ under that name.
    
    
    RELIABILITY
    -----------
    
    PARSER
    
    * SELECT pg_class FROM pg_class generates strange error
    * Alter TABLE ADD COLUMN does not honor DEFAULT, add CONSTRAINT
    * Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
    * SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
    * Unique index on base column not honored on inserts from inherited table
      INSERT INTO inherit_table (unique_index_col) VALUES (dup) should fail
      [inherit] 
    * Be smarter about promoting types when UNION merges different data types
    * redesign INSERT ... SELECT to have two levels of target list
    * have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
    * SELECT DISTINCT ON col1 col1 col2 FROM tab1 is broken [distinct]
    * SELECT 'x'::varchar(10) INTO newtable; fails
    * SELECT col::DECIMAL(12,10); fails
    
    VIEWS
    
    * Views containing aggregates sometimes fail(Jan)
    * Creating view and inheriting the view causes view* to show
      duplicates(inherit) 
    * Disallow LOCK on view
    
    MISC
    
    * Plpgsql does not handle quoted mixed-case identifiers
    * Buffer reference counting bugfixes
    * Fix libpq bug that causes it to drop backend error message sent
      just before connection closure (ie, any FATAL error message)
    * SELECT ... UNION ... ORDER BY fails when sort expr not in result list
    * SELECT ... UNION ... GROUP BY fails if column types disagree, no type
      promotion occurs
    * Modification  of  pg_class  can  happen while table in use by
      another backend.  Might  lead  to  MVCC  inside  of  syscache
    * Permission to UPDATE table allows DELETE also
    
    ENHANCEMENTS
    ------------
    
    URGENT
    
    * Add MATCH PARTIAL referential integrity
    * Foreign key does not check that columns referenced form a primary key
      or constrained by UNIQUE 
    * Add OUTER joins, left and right[outer](Thomas, Bruce)
    * Allow long tuples by chaining or auto-storing outside db (TOAST)(Jan)
    * Fix memory leak for expressions[memory](Tom?) 
    
    ADMIN
    
    * More access control over who can create tables and access the database
    * Test syslog functionality
    * Allow elog() to return error codes, not just messages
    * Allow international error message support and add error codes
    * Add ability to specifiy location of lock/socket files [flock]
    * Unify configuration into one configuration file
    
    TYPES
    
    * Nchar (as distinguished from ordinary varchar),
    * Domain capability
    * Add STDDEV/VARIANCE() function for standard deviation computation/variance
    * Allow compression of large fields or a compressed field type
    * Large objects
    	o Fix large object mapping scheme, own typeid or reltype(Peter)
    	o Not to stuff everything as files in a single directory, hash dirs
    	o Allow large object vacuuming
    	o Tables that start with xinv confused to be large objects
    * Add IPv6 capability to INET/CIDR types
    * Make a separate SERIAL type?
    * Store binary-compatible type information in the system
    * Add support for & operator
    * Allow LOCALE on a per-column basis, default to ASCII
    * Allow nulls in arrays
    * Allow arrays to be ORDER'ed
    * Remove Money type, add money formatting for decimal type
    * Declare typein/out functions in pg_proc with a special "C string" data type
    * Add non-large-object binary field
    * Functions returning sets don't really work right[function]
    * Make type equivalency apply to aggregates(Peter E.)
    
    VIEWS
    
    * Allow DISTINCT on views
    * Allow views of aggregate columns
    * Allow views with subselects
    
    INDEXES
    
    * Allow CREATE INDEX zman_index ON test (date_trunc( 'day', zman ) datetime_ops)
      fails index can't store constant parameters
    * Allow SQL function indexes
    * Add FILLFACTOR to index creation
    
    COMMANDS
    
    * ALTER TABLE ADD COLUMN to inherited table put column in wrong place [inherit]
    * Add ALTER TABLE DROP/ALTER COLUMN feature(Peter E)
    * Allow CLUSTER on all tables at once, and improve CLUSTER, loses NOT
    	NULL specification, indexes, permissions, etc on table[cluster]
    * Add SIMILAR TO to allow character classes, 'pg_[a-c]%'
    * Auto-destroy sequence on DROP of table with SERIAL(Ryan)
    * Allow LOCK TABLE tab1, tab2, tab3 so all tables locked in unison
    * Allow INSERT/UPDATE of system-generated oid value for a row
    * Allow ESCAPE '\' at the end of LIKE for ANSI compliance [like]
    * Rewrite the LIKE handling by rewriting the user string with the 
      supplied ESCAPE [like]
    * Allow RULE recompilation
    * Support UNION/INTERSECT/EXCEPT in sub-selects
    * Allow DELETE and UPDATE to use inheritance using tablename*
    * Allow INSERT INTO my_table VALUES (a, b, c, DEFAULT, x, y, z, ...)
      
    CLIENTS
    
    * Make NULL's come out at the beginning or end depending on the 
      ORDER BY direction
    * Update reltuples from COPY command
    * fix array handling for ECPG
    * add pg_dump option to dump type names as standard ANSI types
    * allow psql \d to show primary and foreign keys
    
    EXOTIC FEATURES
    
    * Add sql3 recursive unions
    * Add the concept of dataspaces
    * Add replication of distributed databases
    * Allow queries across multiple databases
    * Allow nested transactions
    
    MISC
    
    * Increase identifier length(NAMEDATALEN) if small performance hit
    * Allow row re-use without vacuum(Vadim)
    * Create a background process for each database that runs while
      database is idle, finding superceeded rows, gathering stats and vacuuming
    * Add UNIQUE capability to non-btree indexes
    * Certain indexes will not shrink, i.e. oid indexes with many inserts(Vadim)
    * Restore unused oid's on backend exit if no one else has gotten oids
    * Have UPDATE/DELETE clean out indexes
    * Allow cursors to be DECLAREd/OPENed/CLOSEed outside transactions
    * Allow DELETE WHERE CURRENT OF cursor
    * Transaction log, so re-do log can be on a separate disk by
      with after-row images(Vadim) [logging](Vadim)(in-progress)
    * Populate backend status area and write program to dump status data
    * Make oid use unsigned int more reliably, pg_atoi()
    * Put sort files, large objects in their own directory
    * Do autocommit so always in a transaction block(?)
    * Show location of syntax error in query [yacc]
    * Redesign the function call interface to handle NULLs better[function](Tom)
    * Missing optimizer selectivities for date, r-tree, etc. [optimizer]
    * Overhaul bufmgr/lockmgr/transaction manager
    * Add configure test to check for C++ need for *.h and namespaces
    * Allow BLCKSZ <= 64k, not <= 32k
    * redesign UNION structures to have separarate target lists
    * Allow multi-level query trees for INSERT INTO ... SELECT
    
    PERFORMANCE
    -----------
    
    FSYNC
    
    * Allow transaction commits with rollback with no-fsync performance [fsync](Vadim)
    
    INDEXES
    
    * Use indexes in ORDER BY for min(), max()
    * Use index to restrict rows returned by multi-key index when used with
      non-consecutive keys or OR clauses, so fewer heap accesses
    * Improve LIMIT processing by using index to limit rows processed [limit]
    * Have optimizer take LIMIT into account when considering index scans [limit]
    * Allow SELECT * FROM tab WHERE int2col = 4 use int2col index, int8,
      float4, numeric/decimal too [optimizer]
    * Include heap CTID in btree index keys, remove equal-key cruft from btree
    
    CACHE
    
    * Cache most recent query plan(s) [prepare]
    * Shared catalog cache, reduce lseek()'s by caching table size in shared area
    
    MISC
    
    * Allow compression of log and meta data
    * Allow char() not to use variable-sized header to reduce disk size
    * Allow char1 data type that takes one byte of storage
    * Do async I/O to do better read-ahead of data
    * Get faster regex() code from Henry Spencer <henry@zoo.utoronto.ca>
      when it is available
    * Use mmap() rather than SYSV shared memory(?)
    * Make oid use oidin/oidout not int4in/int4out in pg_type.h
    * Improve Subplan list handling
    * Allow Subplans to use efficient joins(hash, merge) with upper variable
      [subquery]
    * use fmgr_info()/fmgr_faddr() instead of fmgr() calls in high-traffic
      places, like GROUP BY, UNIQUE, index processing, etc.
    * improve dynamic memory allocation by introducing tuple-context memory
      allocation [memory]
    * In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
    * Allow persistent backends [persistent]
    * others [performance]
    * prevent labels from being output for stored rules (Tom)
    * allow configuration of maximum number of open files
    
    SOURCE CODE
    -----------
    * Add use of 'const' for variables in source tree
    * Fix C optimizer problem where fmgr_ptr calls return different types [alpha]
    * Does Mariposa source contain any other bug fixes?
    * Remove SET KSQO option if OR processing is improved(Tom)
    * Use macros to define NT open() file parameters, remove NT-specific defines
    * Change CURRENT to OLD internally for rules
    
    ---------------------------------------------------------------------------
    
    
    Developers who have claimed items are:
    --------------------------------------
    	* Billy is Billy G. Allie <Bill.Allie@mug.org>
    	* Brook is Brook Milligan <brook@trillium.NMSU.Edu>
    	* Bruce is Bruce Momjian<pgman@candle.pha.pa.us>
    	* Bryan is Bryan Henderson<bryanh@giraffe.netgate.net>
    	* D'Arcy is D'Arcy J.M. Cain <darcy@druid.net>
    	* David is David Hartwig <daveh@insightdist.com>
    	* Edmund is Edmund Mergl <E.Mergl@bawue.de>
    	* Goran is Goran Thyni <goran@kyla.kiruna.se>
    	* Hiroshi is Hiroshi Inoue<Inoue@tpf.co.jp>
    	* Jan is Jan Wieck <wieck@sapserv.debis.de>
     	* Marc is Marc Fournier <scrappy@hub.org>
    	* Massimo Dal Zotto <dz@cs.unitn.it>
    	* Michael is Michael Meskes <meskes@postgresql.org>
    	* Oleg is Oleg Bartunov <oleg@sai.msu.su>
    	* Peter is Peter T Mount <peter@retep.org.uk>
    	* Peter E is Peter Eisentraut<peter_e@gmx.net>
    	* Ryan is Ryan Bradetich <rbrad@hpb50023.boi.hp.com>
    	* Stefan Simkovics <ssimkovi@rainbow.studorg.tuwien.ac.at>
    	* Tatsuo is Tatsuo Ishii <t-ishii@sra.co.jp>
    	* Tom is Tom Lane <tgl@sss.pgh.pa.us>
    	* Thomas is Thomas Lockhart <lockhart@alumni.caltech.edu>
    	* TomH is Tom I Helbekkmo <tih@Hamartun.Priv.NO>
    	* Vadim is "Vadim B. Mikheev" <vadim@krs.ru>