Kbase P25518: In what order is the PROGRESS_RECID column created when *.d
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  24/06/2003 |
|
Status: Unverified
GOAL:
In what order is the PROGRESS_RECID column created when *.d file is loaded repeatedly into SQL Server?
GOAL:
What is the PROGRESS_RECID_IDENT column used for in SQL Server?
FACT(s) (Environment):
MS SQL DataServer
FACT(s) (Environment):
MS SQL
FIX:
When Progress creates a record in SQL Server, we always look at the identity column (PROGRESS_RECID_IDENT) first. This column is an increment field that acts as a sequence value in a Progress db. When a new record is created in SQL Server, Progress will always review the identity column first and then copy the same value into the PROGRESS_RECID field. We use the PROGRESS_RECID_IDENT column to know where we left off (from the last record) when creating a new record.
When loading the same *.d file repeatedly into SQL Server, Progress will create continuous PROGRESS_RECID values for the set of records that are loaded correctly together, but the values will be scattered and gapped for each time the *.d file was loaded.
For example, say that you have 80 records in the .d file
The first time you load the .d, it only creates the first 20 records
Record 1- PROGRESS_RECID 1
Record 20- PROGRESS_RECID 20
Then you load the same .d again. When Progress creates the 21st record, the PROGRESS_RECID will not be 21, it will be 41. Why, because Progress will start at 21 but discard the first 20 b/c they are duplicates.
Record 21- PROGRESS_RECID 41
Record 40- PROGRESS_RECID 61
Then when you load the same .d again for the third time. When Progress creates the 41st record, the PROGRESS_RECID will now be 102, as it's starting at 62 but remember 40 of them are duplicates.
Record 41- PROGRESS_RECID 102
Record 61- PROGRESS_RECID 142
And this goes on and on.