mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			146 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			5.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ====================================================
 | |
| TODO list (FAQ) for Postgres95
 | |
| ====================================================
 | |
| last updated:		Thu Oct  3 17:59:06 EDT 1996
 | |
| 
 | |
| current maintainer:	Bruce Momjian (maillist@candle.pha.pa.us)
 | |
| 
 | |
| The most recent version of this document can be viewed at
 | |
| the postgres95 WWW site, http://www.ki.net/postgres95.
 | |
| 
 | |
| Dashed items(-) are being worked on or are ready for the 2.0 release.
 | |
| 
 | |
| RELIABILITY
 | |
| -----------
 | |
| -Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
 | |
| -Overhaul bufmgr/lockmgr/transaction manager
 | |
| -	remove -S (stable memory) option or fix memory manager
 | |
| -Memory leaks (hunt and destroy with tools like Purify)
 | |
| -	fix unitialized reads of memory
 | |
| -	fix array over-runs of memory writes
 | |
| -Fix CLUSTER
 | |
| -Prevent improper index creation
 | |
| -Change default decimal constant representation from float4 to float8
 | |
| -Allow libpq to distinguish between text value '' and null
 | |
| -	using null bitmask returned from backend?
 | |
| Fix all NULL features
 | |
| 	allow psql to print nulls meaningfully
 | |
| -Starting quote in insert string errors
 | |
| ALTER TABLE bug - running postgress process needs to re-read table definition
 | |
| Allow non-postgres users with createdb privs to destroydb's
 | |
| Prevent SELECT NULL from crashing server
 | |
| 	(error on first attempt, crash after another query)
 | |
| -Fix elusive btree range/non-range bug
 | |
| -Remove duplicate system catalog info or report mismatches
 | |
| Fix compile and security of Kerberos V code
 | |
| -Remove duplicate OIDS in system tables
 | |
| Dropping a table twice causes corruption, drop/create not rollback-able
 | |
| Change index creation to process deleted and current rows
 | |
| 
 | |
| ENHANCEMENTS
 | |
| ------------
 | |
| Add full ANSI SQL capabilities ( a vendor has offered to help)
 | |
| 	add subselects, possibility using temporary SQL functions
 | |
| 	Implement HAVING clause
 | |
| 	Implement IN qualifier
 | |
| 	Implement EXISTS qualifier
 | |
| 	Implement BETWEEN qualifier
 | |
| 	add synonym of != for <>
 | |
| 	column constraints (using rules), esp. primary keys
 | |
| 	add DEFAULT, RESTRAINT, and CHECK capabilities
 | |
| 	-add UNIQUE index capability
 | |
| 	report "Not implemented" if valid syntax is supplied
 | |
| 	add OUTER joins, left and right
 | |
| 	make VIEWs updateable where possible
 | |
| 	add UNIONS, INTERSECTS, SUBTRACTS
 | |
| 	add temporary tables
 | |
| 	add assertions
 | |
| 	add domains
 | |
| 	add sql3 recursive unions
 | |
| 	add the concept of dataspaces
 | |
| 	allow conversion type casts on select target fields
 | |
| Allow compression of large fields or a compressed field type
 | |
| Fix the rules system
 | |
| 	robust
 | |
| 	making INSTEAD rules work
 | |
| Full set of text operations and functions
 | |
| 	word searches, concat, upper/lower(), max() on text, char
 | |
| -Replace table-level locking with row or page-level locking
 | |
| Large objects
 | |
| 	overwriting blocks has problems
 | |
| 	there are other problems, too.
 | |
| 	Fix large object mapping scheme
 | |
| 	not to stuff everything as files in a single directory
 | |
| Better interface for adding to pg_group
 | |
| Make multi-field indexes easier to create
 | |
| 	allow optimizer to effectively use parameters without accessing table
 | |
| Add int8 type
 | |
| Add table comments
 | |
| Add support for tables >2G
 | |
| Incorporate the PERL PG95 interface library into source tree
 | |
| Threaded version of the server or libpq
 | |
| Allow libpq to cancel query requests
 | |
| Add REGEX internationalization
 | |
| Add other language types for built-in functions
 | |
| 	expand to allow tcl, perl, java,
 | |
| 	generalize the function manager switch to pass 
 | |
| 		function sources to interpreter engines.
 | |
| -Re-visit and fix vacuum
 | |
| -	can't vacuum large objects
 | |
| -       can't shrink tables, pg_time and pg_log
 | |
| -	allow actual compression, not just reuse on the same page
 | |
| -	allow vacuum to be run on one table or entire database
 | |
| 	split apart row removal function from statistics function
 | |
| 	allow time-travel to be turned off so superceeded/deleted row are reused
 | |
| -Reverse meaning of HBA masks
 | |
| Add hostname/user level access control rather than just hostname and user
 | |
| Allow BY,ORDER BY to specify columns by number, or by non-alias table.column
 | |
| Allow GROUP BY to use alias column name
 | |
| Remove restriction that ORDER BY field must be in SELECT list?
 | |
| Allow queries about owner of datbases, tables like:
 | |
|         SELECT u.usesysid FROM postgres.pg_user u;
 | |
| DROP AGGREGATE should take in basetype as an arg
 | |
| Add word index for text fields, maybe with trigrams, i.e.:
 | |
|     ' (cat | dog) & ! fox ' meaning text has cat or dog, but not fox
 | |
| Add common-sense constant type promotions
 | |
| -Allow uppercase agregates by lowercasing function names on input
 | |
| Allow readline-type or editor command editing of multi-line SQL commands
 | |
| Allow pg_dump to dump all databases at a site in one command
 | |
| -Allow restriction on who can create C functions
 | |
| Allow restriction on who can create copy tables
 | |
| -Allow installation-configuration option to auto-add all local users
 | |
| Allow function result to be used in GROUP BY
 | |
| -Fontend COPY
 | |
| -Secure Authentication of local users
 | |
| -Idend authentication of local users
 | |
| 
 | |
| PERFORMANCE
 | |
| -----------
 | |
| Optimizing disjunctive queries
 | |
| Other optimizer bugs
 | |
| Is fsync use optimized?
 | |
| Multi-representational types, a la Illustra. For example, have a
 | |
|        text type that is stored in-tuple when less than 8K and in large
 | |
|        objects, when greater than 8K.
 | |
| Use indexes in ORDER BY
 | |
| Profile engine in INSERT's and other operations
 | |
| Speed up hash creation by using btree's fast sort/insert routines
 | |
| Cache most recent query plan(s?)
 | |
| Allow compression of log and meta data
 | |
| Allow LIKE/wildcard matches to use indexes if the wildcard character is not first
 | |
| 
 | |
| DOCUMENTATION
 | |
| -------------
 | |
| Update usermanual source
 | |
| Reduce size of regression diffs
 | |
| 
 | |
| PORTABILITY
 | |
| -----------
 | |
| Windows NT port
 | |
| 	Mariposa project at Berkeley has a person who's working on this
 | |
| Win95 port, use GNU port or remove it?
 | |
| Binary distributions for linux
 | |
| Merge bsdi_2_1 to bsdi
 | |
| Merge i386_solaris and sparc_solaris into solaris
 | |
| Switch from PORTNAME to individual feature defines (use configure/autoconf?)
 |