Thread: possible bug?
can anyone confirm this? create index idx on table using btree(column ); cluster idx on table; drop index idx; seems to drop all permissions and indexes on the table involved ive tested in 6.5 and 6.5.2
On Mon, Oct 25, 1999 at 01:22:06AM +0000, Clayton Cottingham allegedly wrote: > can anyone confirm this? > > create index idx on table using btree(column ); > cluster idx on table; > drop index idx; > > seems to drop all permissions and indexes > on the table involved > > ive tested in 6.5 and 6.5.2 This is correct. I've had this problem myself. When you check the source, there is a comment about this, but nothing useful. I myself would consider this a bug too, but I'm not sure about the developers. Hmm, another useles email. Mathijs
Clayton Cottingham <drfrog@smartt.com> writes: > can anyone confirm this? > create index idx on table using btree(column ); > cluster idx on table; > drop index idx; > seems to drop all permissions and indexes > on the table involved "cluster" deliberately drops all other indexes on the target table, according to the source code. (If this isn't mentioned in the documentation, it should be.) It looks like the implementation method is to build a whole new table, destroy the old, and rename the new into place. That probably explains why the permissions get lost --- I suppose triggers &etc are not carried over either, and heaven help you if you try to cluster a member of an inheritance hierarchy... I have no idea how hard it'd be to make a less destructive version of "cluster". Another item for the TODO list, I guess. regards, tom lane
>From the manual for CLUSTER: "The table is actually copied to a temporary table in index order, then renamed back to the original name. For this reason, all grant permissions and other indexes are lost when clustering is performed." So this is not a bug in the sense that no one knows about it, but it's an unfortunate side-effect for sure. -Peter On Mon, 25 Oct 1999, Clayton Cottingham wrote: > can anyone confirm this? > > create index idx on table using btree(column ); > cluster idx on table; > drop index idx; > > seems to drop all permissions and indexes > on the table involved > > ive tested in 6.5 and 6.5.2 > > > > ************ > > -- Peter Eisentraut Sernanders vaeg 10:115 peter_e@gmx.net 75262 Uppsala http://yi.org/peter-e/ Sweden
> can anyone confirm this? > > create index idx on table using btree(column ); > cluster idx on table; > drop index idx; > > seems to drop all permissions and indexes > on the table involved > Yes. See CLUSTER manual page. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
> Clayton Cottingham <drfrog@smartt.com> writes: > > can anyone confirm this? > > create index idx on table using btree(column ); > > cluster idx on table; > > drop index idx; > > seems to drop all permissions and indexes > > on the table involved > > "cluster" deliberately drops all other indexes on the target table, > according to the source code. (If this isn't mentioned in the > documentation, it should be.) > > It looks like the implementation method is to build a whole new > table, destroy the old, and rename the new into place. That probably > explains why the permissions get lost --- I suppose triggers &etc > are not carried over either, and heaven help you if you try to cluster > a member of an inheritance hierarchy... > > I have no idea how hard it'd be to make a less destructive version > of "cluster". Another item for the TODO list, I guess. > Already on TODO list. Text added to make it clearer. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
> On Mon, Oct 25, 1999 at 01:22:06AM +0000, Clayton Cottingham allegedly wrote: > > can anyone confirm this? > > > > create index idx on table using btree(column ); > > cluster idx on table; > > drop index idx; > > > > seems to drop all permissions and indexes > > on the table involved > > > > ive tested in 6.5 and 6.5.2 > > This is correct. I've had this problem myself. When you check the source, > there is a comment about this, but nothing useful. I myself would > consider this a bug too, but I'm not sure about the developers. > Man pages says: The table is actually copied to a temporary table in index order, then renamed back to the original name. For this reason, all grant permissions and other indexes are lost when clustering is performed. -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026