* Select a[1] FROM test fails, it needs test.a[1]
* Array index references without table name cause problems
* Update table SET table.value = 3 fails
-* Creating index of TIMESTAMP & RELTIME fails, rename to DATETIME(Thomas)
+* Creating index of TIMESTAMP & RELTIME fails, or rename to DATETIME(Thomas)
* SELECT foo UNION SELECT foo is incorrectly simplified to SELECT foo
* INSERT ... SELECT ... GROUP BY groups by target columns not source columns
* CREATE TABLE test (a char(5) DEFAULT text '', b int4) fails on INSERT
URGENT
-* Add referential integrity
-* Add OUTER joins, left and right(Thomas)
+* Add referential integrity(Jan?)
+* Add OUTER joins, left and right(Thomas, Bruce)
* Allow long tuples by chaining or auto-storing outside db (chaining,large objs)
* Eliminate limits on query length
-* Fix memory leak for expressions?, aggregates?
-
-EXOTIC FEATURES
-
-* Add sql3 recursive unions
-* Add the concept of dataspaces
-* Add replication of distributed databases
-* Allow queries across multiple databases
+* Fix memory leak for expressions?, aggregates?(Tom?)
ADMIN
o Allow large text type to use large objects(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
* Allow pg_descriptions when creating types, tables, columns, and functions
* Add IPv6 capability to INET/CIDR types
* Make a separate SERIAL type?
* Rewrite the LIKE handling by rewriting the user string with the
supplied ESCAPE
* Move LIKE index optimization handling to the optimizer
+* Allow RULE recomplation
CLIENTS
* Allow psql to print nulls as distinct from ""(?)
* PQrequestCancel() be able to terminate backend waiting for lock
+EXOTIC FEATURES
+
+* Add sql3 recursive unions
+* Add the concept of dataspaces
+* Add replication of distributed databases
+* Allow queries across multiple databases
+
MISC
* Increase identifier length(NAMEDATALEN) if small performance hit
* Missing optimizer selectivities for date, r-tree, etc.
* Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup
* Overhaul bufmgr/lockmgr/transaction manager
-* Tables that start with xinv confused to be large objects
* Add PL/Perl(Mark Hollomon)
+* Make postgres user have a password by default
PERFORMANCE
* improve dynamic memory allocation by introducing tuple-context memory
allocation
* fix memory leak in cache code when non-existant table is referenced
-* In WHERE x=3 AND x=y, add y=3
+* In WHERE tab1.x=3 AND tab1.x=tab2.y, add tab2.y=3
* pass atttypmod through parser in more cases(Bruce)
* remove duplicate type in/out functions for disk and net
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.36 1999/05/25 16:11:49 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/adt/acl.c,v 1.37 1999/07/09 03:28:51 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include "utils/syscache.h"
#include "catalog/catalog.h"
#include "catalog/pg_shadow.h"
+#include "catalog/pg_type.h"
#include "miscadmin.h"
static char *getid(char *s, char *n);
ChangeACLStmt *n = makeNode(ChangeACLStmt);
char str[MAX_PARSE_BUFFER];
+ /* see comment in pg_type.h */
+ Assert(ACLITEMSIZE == sizeof(AclItem));
+
n->aclitem = (AclItem *) palloc(sizeof(AclItem));
/* the grantee string is "G <group_name>", "U <user_name>", or "ALL" */
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: pg_type.h,v 1.62 1999/05/25 16:13:48 momjian Exp $
+ * $Id: pg_type.h,v 1.63 1999/07/09 03:28:52 momjian Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
DATA(insert OID = 1025 ( _tinterval PGUID -1 -1 f b t \054 0 704 array_in array_out array_in array_out i _null_ ));
DATA(insert OID = 1026 ( _filename PGUID -1 -1 f b t \054 0 605 array_in array_out array_in array_out i _null_ ));
DATA(insert OID = 1027 ( _polygon PGUID -1 -1 f b t \054 0 604 array_in array_out array_in array_out d _null_ ));
-/* Note: the size of an aclitem needs to match sizeof(AclItem) in acl.h */
+/*
+ * Note: the size of aclitem needs to match sizeof(AclItem) in acl.h.
+ * Thanks to some padding, this will be 8 on all platforms.
+ * We also have an Assert to make sure.
+ */
+#define ACLITEMSIZE 8
DATA(insert OID = 1033 ( aclitem PGUID 8 -1 f b t \054 0 0 aclitemin aclitemout aclitemin aclitemout i _null_ ));
DESCR("access control list");
DATA(insert OID = 1034 ( _aclitem PGUID -1 -1 f b t \054 0 1033 array_in array_out array_in array_out i _null_ ));