> -----Original Message-----
> From: Jean-Michel POURE [mailto:jm(dot)poure(at)freesurf(dot)fr]
> Sent: 29 September 2001 16:54
> To: pgadmin-hackers(at)postgresql(dot)org
> Subject: [pgadmin-hackers] Splash screen & table rebuilding
> Hello Dave and all,
> I removed elephant pictures and uploaded a new splash screen
> proposal to CVS.
Cool, I'll take a look.
> Could you (please) explain again the guidelines for table rebuilding:
> 1) Table rebuilding is performed in frmTable.
Sort of. frmTable with actually just need to do
pgSchema will do all of #4 below.
> 2) lvProperties(0).Tag = "M" means columns have been modified.
> Same as modified checks, modified foreign keys, etc...
Um, sounds about right - have I used M though?
> 3) If any Tag='M', then position bModify = true, rebuilding
> is necessary.
Nope. bModify is *always* true unless creating a new table. Basically it
just indicates that we're modifying a table rather than creating. It doesn't
indicate if we have actually changed anything.
> 4) Write a single transaction to perform changes:
> a) rename table to a unique name, example '20010927_101215',
> b) disable triggers (do you know how to remove rules?),
I assume rules are removed by dropping the relevant row from pg_rewrite. The
user would need pg_shadow.usecatupd = True to do this though.
> c) drop indexes, sequences,
Not sequences. Indexes, Rules, Triggers. Dependant functions & Views will
also need rebuilding (though that is the case for many other mods as well so
I wouldn't worry about that).
> d) create table as ....
D1) Move *all* sub object comments (and invalidate pgSchema's cache).
> e) recreate trigger, indexes, update sequence value,
Don't worry about the sequences.
> f) drop old table.
> 5) If for any reason table rebuilding does not work,
> transaction is rolled
Sounds about right. It's a lot of work though!
BTW: I reserve the right to have forgotten something above!!
pgadmin-hackers by date
|Next:||From: Jean-Michel POURE||Date: 2001-09-30 12:12:30|
|Subject: Re: Splash screen & table rebuilding|
|Previous:||From: Jean-Michel POURE||Date: 2001-09-29 15:53:30|
|Subject: Splash screen & table rebuilding|