SQL/MX 3.2 Programming Manual for C and COBOL (H06.25+, J06.14+)
Name Resolution, Similarity Checks, and Automatic
Recompilation
HP NonStop SQL/MX Release 3.2 Programming Manual for C and COBOL—663854-002
8-15
Similarity Check
In this example, except for the table names, the query expression remains the
same between compile-time and run-time. Therefore, the view definition remains
unchanged, and the view similarity check is passed.
Compile-time view:
CREATE VIEW TEMP_VIEW ENABLE SIMILARITY CHECK AS
SELECT T1.X1, T1.Y1, X2
FROM CAT.SCH.TABLE_ONE T1, CAT.SCH.TABLE_TWO T2;
Run-time view:
CREATE VIEW PRDTEMP_VIEW ENABLE SIMILARITY CHECK AS
SELECT T1.X1, T2.Y1, X2
FROM PRDCAT.PRDSCH_ONE.TABLE_T1 T1,
PRDCAT.PRDSCH_ONE.TABLE_T2 T2;
In this example, the view similarity check fails because T1 and T2 are correlations
pointing to different tables at compile-time and run-time.
Compile-time view:
CREATE VIEW PRDTEMP_VIEW ENABLE SIMILARITY CHECK
AS SELECT I, J, A
FROM CAT.SCH_ONE.TABLE_ONE T1, CAT.SCH_ONE.TABLE_TWO T2;
Run-time view:
CREATE VIEW PRDTEMP_VIEW ENABLE SIMILARITY CHECK
AS SELECT I, J, A
FROM PRDCAT.PRDSCH.TABLE_ONE T2, PRDCAT.PRDSCH_ONE.TABLE_TWO
T1;
In this example, the view similarity check fails because the correlation names for
the tables, at compile-time, TAB1 and TAB2 and at run-time, TEMP1 and TEMP2
are not the same.
Compile-time view:
CREATE VIEW TEMP_VIEW
ENABLE SIMILARITY CHECK AS
SELECT A FROM
(SELECT A FROM
(SELECT A FROM CAT.SCH_ONE.TABLE_T4
WHERE A > 1) TAB1,
WHERE A < 10) TAB2
WHERE A <> 4;
Run-time view:
CREATE VIEW PRDTEMP _VIEW
ENABLE SIMILARITY CHECK AS
SELECT A FROM
(SELECT A FROM
(SELECT A FROM PRDCAT.PRDSCH_ONE.TABLE_T4
WHERE A > 1) TEMP1,
WHERE A < 10) TEMP2
WHERE A <> 4;










