#65 dbcertify version check issue

open
nobody
None
5
2012-12-29
2005-09-12
Bob Isch
No

The following line (at +31^V5CBSU in "V5CBSU.m"):

If version>"V4.4-004" ...

is a bit disturbing given:

- it appears that the express will always evaluate to
false (assuming version is of a form "V...")
- the dbcertify process seems like it might be kind of
important to get right...

I am not sure what the implications of not executing
the VIEW command on a post-V4.4-004 system are though.
-bob

Discussion

  • Steven Estes
    Steven Estes
    2005-09-12

    Logged In: YES
    user_id=97877

    Hi Bob,

    You are right that this statement is somewhat broken. I'm
    afraid our C code bias is showing. :) The if expression
    should be:

    if (version="V4.4-004")!(version]"V4.4-004") ...

    Fortunately, the incorrect code is mostly harmless. The
    executed statement when the if is true turns off the "duplicate
    set" optimization (see V4.4-004 release notes for description
    and limitations it has when used with journaling). The
    optimization is by default NOT enabled. Since it is a per-
    process flag, the only way for it to be enabled when this
    routine is started is if v5cbsu is called from a user written M
    wrapper that explicitly enabled it. The optimization was new
    in V4.4-004 so the statement was supposed to be targeted at
    that release and any later V4 releases.

    Thanks for the report and we will fix this so it is correct in
    subsequent V5 releases.