> -----Original Message----- > From: Tom Lane [mailto:[EMAIL PROTECTED]] > > Hiroshi Inoue <[EMAIL PROTECTED]> writes: > > Reference name is needed not an object name, > > Only if we want to support the notion that > drop-and-recreate-with-same-name > means that references from other objects should now apply to the new > object. I do not think that that's really a good idea, at least not > without a heck of a lot of compatibility checking. It'd be way too easy > to create cases where the properties of the new object do not match > what the referring object expects. >
For example, we would process the following step to drop a column. select ....(all columns except a column) from a into b; drop table a; alter table b rename to a; But we would lose all relelvant objects. Though we may be able to solve this problem by implementing *drop column* properly, we couldn't solve this kind of problems at once. In fact neither *drop column* nor *cluster* is solved. We could always have (at least) the second best way by allowing drop-and-recreate-with-same-name revival. > The majority of the cases I've heard about where this would be useful > are for functions, and we could solve that a lot better with an ALTER > FUNCTION command that allows changing the function body (but not the > name, arguments, or result type). > > BTW, name alone is not a good enough referent for functions... you'd > have to store the argument types too. > ??? Isn't an entry pg_proc_relid the oid of the function pg_type_relid the oid of an argument type the name of the argument type made ? regards, Hiroshi Inoue ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly