Forum
Unten sind der "Beweis" für den I1-Zugriff und der relavante Auszug aus dem MSTR, in dem zu sehen ist, dass der SELECT MAX… an einer Row scheitert (die von mir selbst neu INSERTed, aber noch nicht committed ist).
(Die Tabelle für den Test heißt hier RBCOLT und hat nur eine Spalte namens RBCOL_TIMESTAMP.)
Aber warum sollte der I1-Zugriff denn eigentlich Sperren umgehen können? Ich hätte eher vermutet, dass eine Lösung für das Problem in der richtigen Kombination von Isolation-Level und Bind-Parametern (z.B. CURRENTDATA(NO) ?) liegen könnte.
Gruß
Christoph
========================
10.44.59 STC21430 DSNT501I ?DB31 DSNILMCL RESOURCE UNAVAILABLE 736
736 CORRELATION-ID=
736 CONNECTION-ID=TSO
736 LUW-ID=NET000A.E003DB3.BE52D64EEB5A=0
736 REASON 00C9008E
736 TYPE 00000304
736 NAME RU005D .RBCOLS .X’000002′ ‚.X’0E‘
==============================
,, EXPLAIN PLAN SET QUERYNO = 1 FOR
SELECT MAX(RBCOL_TIMESTAMP) FROM DB.RBCOLT WITH CS;
———+———+———+———+———+———+———+———+
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
———+———+———+———+———+———+———+———+
EXPLAIN PLAN SET QUERYNO = 2 FOR
SELECT MIN(RBCOL_TIMESTAMP) FROM DB.RBCOLT WITH CS;
———+———+———+———+———+———+———+———+
DSNE616I STATEMENT EXECUTION WAS SUCCESSFUL, SQLCODE IS 0
———+———+———+———+———+———+———+———+
—
SELECT QUERYNO AS QNO 00189204
,STRIP(SUBSTR(DIGITS(QBLOCKNO), 3, 3),L,’0′) AS QBL 00189204
,STRIP(SUBSTR(DIGITS(PLANNO), 3, 3),L,’0′) AS PLNR 00189204
,STRIP(SUBSTR(DIGITS(METHOD), 4, 2),L,’0′) AS METH 00189204
,STRIP(SUBSTR(DIGITS(TABNO), 4, 2),L,’0′) AS TNR 00189204
,SUBSTR(TNAME, 1, 6) AS TNAME 00189204
,SUBSTR(CORRELATION_NAME, 1, 4) AS KORR 00189204
,SUBSTR(ACCESSTYPE, 1, 2) AS ACC 00189204
,STRIP(SUBSTR(DIGITS(MATCHCOLS), 4, 2),L,’0′) AS MC 00189204
,INDEXONLY AS INDO 00189204
,PREFETCH AS PR, ACCESSNAME AS INDEXNAME 00189204
,CREATOR AS TABOWNER 00189204
,ACCESSCREATOR AS INDEXOWNER , MIXOPSEQ 00189204
,JOIN_TYPE 00189204
,WHEN_OPTIMIZE AS WHEN_OPT 00189204
,QBLOCK_TYPE AS QTYPE 00189204
FROM PLAN_TABLE
WHERE QUERYNO IN ( 1 , 2 );
———+———+———+———+———+———+———+———+
QNO QBL PLNR METH TNR TNAME KORR ACC MC INDO PR INDEXNAME
———+———+———+———+———+———+———+———+
1 1 1 1 RBCOLT —- I1 Y RBCOLX
2 1 1 1 RBCOLT —- I1 Y RBCOLX