Consultor Eletrônico



Kbase P15774: Records grow by 12 bytes after a dump and load
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   06/11/2008
Status: Verified

SYMPTOM(s):

Progress 9.x uses 12 bytes more space in each record than Progress 8.x.

The additional 12 bytes are not there if conv89 is used.

SYSTEM ERROR: rmmak failed, retcode=-1223 (1106)

Attempt to update <tablename> record data exceeding 32000

** Unable to update <filename> Field. (142)

FACT(s) (Environment):

Progress 8.x
Progress 9.x

CHANGE:

Dumped and loaded from Progress 8.x to Progress 9.x

CAUSE:

There is some additional overhead for each record in Progress 9.x. The
additional bytes contain schema version mapping information which is what
allows schema changes to be done in version 9 without updating each existing
record. This same information also allows the logical column ordering to be
different from the stored column ordering which enables table CRC's to be
independent of the order in which schema changes are made.

When dumping tables from Progress 8.x and earlier into Progress 9.x,
DBANALYS reveals that tables dumped and loaded into the Progress 9.x
database are larger than the original tables, even though they contain
identical data. This also applies to older databases that are
converted to Progress 9.x using the conv89 utility.

When converting from Progress 8.x to Progress 9.x, the additional byte
information is not initially added. The byte information is added as
records are updated. Newly created records thereafter will
automatically have the additional byte information included.

To Demonstrate:

In this example, a Progress Version 8.x Sports database Customer table
size, as reported by DBANALYS, is:

Table Records Size Min Max Mean Count
Factor Factor
Customer 83 11.1K 106 210 137 83
1.0 1.5

A dump and load of the Customer table into an empty Version 8 database
reveals that the table size remains the same:

Table Records Size Min Max Mean Count
Factor Factor
Customer 83 11.1K 106 210 137 83
1.0 1.5

Running a conv89 on the database, the Customer table remains the same:

Record Size (B)- ---Fragments---

Scatter
Table Records Size Min Max Mean Count
Factor Factor
PUB.Customer 83 11.1K 106 210 137 83
1.0 1.5

However, if the Customer table is dumped and loaded from either
Progress Version 8.x or Progress Version 9.x into an empty Progress
Version 9.x database, DBANALYS reveals:

-Record Size (B)- ---Fragments---

Scatter
Table Records Size Min Max Mean Count
Factor Factor
PUB.Customer 83 12.1K 118 222 149 83
1.0 2.2

FIX:

These results are by design.