Consultor Eletrônico



Kbase P47814: Can the aimage scan verbose be interpreted to find if a particular record has been modified?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   16/06/2009
Status: Verified

GOAL:

Can the aimage scan verbose be interpreted to find if a particular record has been modified?

GOAL:

Any relation between the data provided by a rfutil aimage scan verbose and the recid?

FACT(s) (Environment):

All Supported Operating Systems
Progress/OpenEdge Product Family
OpenEdge Category: Database

FIX:

The dbkey in the messages from aiscan verbose, is the dbkey of the block where the record resides. There is no explicit reference to the record itself.

Extract of output from rfutil dbname -C aimage scan verbose :

code = RL_TBGN (1637) # Transaction 176 begins
transaction index = 176 (1638)
dbkey = 0 update counter = 0 (1639)
Trid: 176 Tue Oct 14 10:40:27 2003. (2598)# date/time stamp of TBGN 176
User Id: userid. (2599) # userid who executed transaction 176
code = RL_RMCHG (1637) # record changed in transaction 176
transaction index = 176 (1638)
area = 7 dbkey = 1056 update counter = 15 (9016)
# area and dbkey of change
code = RL_TEND (1637) # Transaction 176 ends
transaction index = 176 (1638)
dbkey = 0 update counter = 0 (1639)
Trid: 176 Tue Oct 14 10:40:27 2003. (2598) # date/time stamp of TEND 176

In the above example, we changed table.record with recid 1066, in the aiscan we see a change to the block with dbkey 1056. Which makes sense, because area 7 has 32 records per block, so:

RECID / rpb = BLOCK NUMBER + rem
1066 / 32 = 33.3125

B_NUM * rpb = RECID
33 * 32 = 1056
However, the dbkey refered in the aiscan verbose is not the recid of the record, it's the dbkey of the db block where the recid is found. All that we can assume from the investigation of this report is that a record was changed in this block with dbkey 1056. Recid 1066 is one of 32 records that belong in this block Please note, the same recid may be found in multiple Storage Areas, they are unique only to the records found within a Storage Area.