Upgrading to DB2v10 doing a Bind Plan
Why am I getting a -812 recompiling an Easytrieve program that has SQL code?
The Bind syntax for the PLAN that results in the SQLCODE -812 is:
BIND PLAN(DOETPC1) PKLIST(*.DONOCOL) -
DEGREE(1) VALIDATE(BIND) ISOLATION(CS) -
FLAG(E) CURRENTDATA(NO) RELEASE(COMMIT) -
RETAIN CACHESIZE(0) ACQUIRE(USE) -
EXPLAIN(NO) ACTION(REPLACE)
The Bind syntax for the PLAN that results in clean run is:
BIND PLAN(DOETPC1) PKLIST(*.DONOCOL.*) -
DEGREE(1) VALIDATE(BIND) ISOLATION(CS) -
FLAG(E) CURRENTDATA(NO) RELEASE(COMMIT) -
RETAIN CACHESIZE(0) ACQUIRE(USE) -
EXPLAIN(NO) ACTION(REPLACE)
The difference is very slight - PKLIST(*.collid) results in SQL -812 Execution. PKLIST(*.collid.*) results in clean run.
What a difference an additional '*' makes!