Question How to change the Freeze / Unfreeze status of all tables in a database using the progress editor?

vinhng

Member
How to change the Freeze / Unfreeze status of all tables in a database using the progress editor?

Please advices us
Thank you
 

Cringer

ProgressTalk.com Moderator
Staff member
What do you mean by Freeze/Unfreeze? Which Progress version would also help.
 

TomBascom

Curmudgeon
It is a rarely used and quite obscure feature.

So far as I know the only way to do it is via proutil but it isn’t anything I have really looked into.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
How to change the Freeze / Unfreeze status of all tables in a database using the progress editor?
What do you mean by Freeze/Unfreeze?
So far as I know the only way to do it is via proutil
"Freezing/Unfreezing" applies to tables. It means changing the value of _file._frozen. When an _file record is frozen, its schema definition can't be altered.

There are two ways. The first, which I believe is one table at a time, is in the Data Dictionary (Utilities | Freeze/Unfreeze):
Code:
Database Schema Admin DataServer Utilities PRO/SQL Tools
                                 ┌────────────────────────────────────┐
                                 │ Editor for Parameter Files...      │
                                 │ Quoter Functions ->                │
                                 │ Generate Include Files ->          │
                                 │ ────────────────────────────────── │
                          ┌──────│ Edit OpenEdge Auto-Connect List... │
                          │      │ Freeze/Unfreeze...                 │
                          │ You m│ Index Deactivation...              │
                          │ your │ ────────────────────────────────── │
                          │      │ Information...                     │
                          └──────└────────────────────────────────────┘

The second is programmatically, which can be done on all application tables at once:
Code:
for each dictdb._file exclusive-lock where _file._tbl-type = 't':
  _file._frozen = no.   // unfreeze
end.

Obviously, your account must have write privilege ("can-write") on _file to do that.

As far as I'm aware it can't be done via proutil. If I'm wrong Tom, can you post the syntax?
 

RealHeavyDude

Well-Known Member
Just my 2 cents: You should protect your database against unauthorized access instead of freezing the schema. Freezing the schema does not distinguish - that means when your try to apply a legit schema update you will fail miserably unless you unfreeze the involved tables in the first place. Since it is such an obscure feature there are good chances that somebody else will fall into your trap.
 
Top