Kbase 19821: How SQL Views Impacts CRC Values
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  16/10/2008 |
|
Status: Verified
GOAL:
How a SQL View Impacts CRC Values
FIX:
A SQL View does not impact a cyclical redundancy check (CRC) associated with a table in a Progress database. This solution lists definitions which explain constitutes a View and a CRC.
View:
A virtual table that re-creates the result table specified by a SELECT statement. No data is stored in a view, but other queries can refer to it as if it were a table containing data corresponding to the result table it specifies.
Virtual Table:
A table of values that is not physically stored in a database, and is derived instead from columns and rows of other tables. SQL generates virtual tables in its processing of query expressions. The FROM, WHERE, GROUP-BY, and HAVING clauses each generate a virtual table based on their input.
Cyclical Redundancy Check (CRC):
An algorithm used to verify the integrity of a file by comparing a stored number with the value calculated from the contents of some other related file or files. If the calculated value equals the stored number, then the first file and its relatives are considered consistent. In Progress, r-code files store the CRC value calculated from the schema against which they are compiled. If the schema changes, so does the CRC. Thus, the r-code files that contain the old CRC are considered inconsistent and cannot be run with the new schema.
For each table, Progress computes a CRC value (database CRC) from selected elements of the table metaschema. When compiling a procedure, Progress inserts the database CRC for each database table the procedure accesses. The database CRC for each table is stored in the metaschema _File record _CRC field for the table. A matching CRC insures that the schema referenced by the r-code is compatible with the table schema, regardless of its time stamp.