Difference in rowid(s) for a program that is installed in tw

Posted by ithrees.ai on 14-Sep-2011 00:41

I have a system that creates and deletes intermediate database records in runtime (like a batch process).
System creates temporary records so they can be used in process of a certain transaction and will delete when the transaction is over.

System is working fine.
But the confusion is, I have installed this program in two different machines and they are running with its own local databases.

When I run the program,
in one database the ROWID(s) values for the newly creating intermediate record are in an incremental form.
But in the other one they are having earlier deleted record’s ROWID(s) values.

How this could happen with the same system…?

If you can explain... please
Thanks and Regards,
Ithrees.

All Replies

Posted by Admin on 14-Sep-2011 00:56

How this could happen with the same system…?

 

As we described in your earlier post on that subject (http://communities.progress.com/pcom/message/138071#138071) ROWID's are subject to reuse.

What you are not saying is, that the databases have been both created and exactly the same order of transaction have been made on both DB's. Only in that situation I would expect that the ROWID's are assigned similar - meaning that the physical location of records are similar. But single characters difference in the length of a CHARACTER value may make a difference on how many records actually fit in a block (regardless of the defined maximum number of records per block). Consider it as random.

But why on earth, do you care about the value? I always get scared when someone starts to look at the value of the ROWID.

Posted by ithrees.ai on 14-Sep-2011 03:23

Thanks for your response Mike..

What you are not saying is, that the databases have been both created and exactly the same order of transaction have been made on both DB's.

You are right Mike. It is same order of transaction.

But why on earth, do you care about the value? I always get scared when someone starts to look at the value of the ROWID.

I badly need this since this system is using ROWID(s)  and to check how far it is gonna affect its transaction.. and to enhance future developments.

Hope you understand.. and if you can give references so i can find more about rowid... pls...

Thanks and Regards,

Ithrees.

Posted by Admin on 14-Sep-2011 03:36

I badly need this since this system is using ROWID(s) and to check how far it is gonna affect its transaction

Aua. I'd try to change this, not try to cure the symptom.

Hope you understand.. and if you can give references so i can find more about rowid... pls...

 

The question is not about the ROWID. The ROWID is just the image of the physical location of the record. So the question is how the storage manager decides where to store a new record on disk.

I'm not sure if there is detailed information about this. Nor I believe you have a chance to influence that at all and as such this information would probably be useless in your situation.

You can try to raise Gus' interest on that topic. He's one of the guys (if not the one) that wrote all of this. Come to Progress Revolution next week and discuss that over a beer with him...

Posted by ithrees.ai on 14-Sep-2011 05:03

Thanks man..

Posted by gus on 14-Sep-2011 08:51

Indeed. I would be glad to discuss this at Revolution next week. I fervently hope they have proper beer like they do in Cologne and in Westford.

Posted by gus on 14-Sep-2011 08:53

You have split this into two threads. that is not a good idea because anyone else trying to follow the conversation later will miss part of it. Pick one thread and stay on it until you are finished with the topic.

Posted by ithrees.ai on 14-Sep-2011 22:33

mmm ya.. will do man.. thanks..

This thread is closed