DB2 - Problem description
| Problem IC89237 | Status: Closed |
QUERY CONTAINING MULTIPLE EQUIJOIN PREDICATES MIGHT FAIL WITH SQL0901N | |
| product: | |
DB2 FOR LUW / DB2FORLUW / A10 - DB2 | |
| Problem description: | |
Under rare scenarios, some queries might fail with a SQL0901N
error message and causing the DB2 instance to trap if the
following conditions are true:
1. The query has an equijoin on 3 or more tables
2. The join columns form a complete or partial transitive
closure, i.e. t1.c1 = t2.c1 and t2.c1 = t3.c1 and t1.c1 = t4.c1,
etc
3. The query contains a not exists predicate
Sample query:
---------------
SELECT a.PATIENT_ID, a.primary_time, a.alternate_id,
a.procedure_code, a.UPDATE_TIME, a.specimen_source
FROM user2.MRSA_LOWY a , nickwest.PATIENT c ,
nickwest.VISIT2004 b
WHERE a.PATIENT_ID = c.PATIENT_ID AND a.PATIENT_ID =
b.PATIENT_ID
AND NOT EXISTS (select 1 from nickwest.VISIT2004 b where
a.PATIENT_ID = b.PATIENT_ID);
The following is a typical error message reported in the
db2diag.log
2012-11-12-13.31.53.290423-300 E265632069A1744 LEVEL: Info
(Origin)
PID : 3735806 TID : 12072 PROC :
db2sysc
INSTANCE: db2inst1 NODE : 000 DB :
SAMPLE
APPHDL : 0-3209 APPID:
9.26.4.5.63657.121112183137
AUTHID : DB2ADMIN HOSTNAME: localhost
EDUID : 12072 EDUNAME: db2agent (SAMPLE)
FUNCTION: DB2 UDB, SW- common services, sqlnn_cmpl, probe:650
MESSAGE : ZRC=0x80310025=-2144272347=SQLNN_E_BAD
"unexpected error and state is bad"
DATA #1 : String, 62 bytes
An unexpected error was detected during statement compilation.
DATA #2 : Boolean, 1 bytes
true
DATA #3 : Boolean, 1 bytes
false
DATA #4 : Boolean, 1 bytes
true
DATA #5 : Boolean, 1 bytes
false
DATA #6 : Hex integer, 4 bytes
0x00000000
DATA #7 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes
sqlcaid : SQLCA sqlcabc: 136 sqlcode: -901 sqlerrml: 21
sqlerrmc: invalid qnc assigment
sqlerrp : SQLNQ085
sqlerrd : (1) 0x801A006D (2) 0x00000000 (3)
0x00000000
(4) 0x00000000 (5) 0xFFFFFF9C (6)
0x00000000
sqlwarn : (1) (2) (3) (4) (5) (6)
(7) (8) (9) (10) (11)
sqlstate:
DATA #8 : Hex integer, 4 bytes
0x00000040
DATA #9 : String, 430 bytes
Compiler error stack for rc = -2144272347:
sqlnn_cmpl[370]
sqlnr_exe[600]
sqlnr_rcc[100]
sqlnr_seq[100]
sqlnr_comp[110]
sqlnr_start_action[20]
sqlnr_rcc[100]
sqlnr_seq[100]
sqlnr_comp[110]
sqlnr_startqtb_action[300]
sqlnr_rcc[100]
sqlnr_seq[100]
sqlnr_comp[110]
sqlnr_NotExists2OJ_action[1100]
sqlnr_NotExists2OJ_detail[40]
sqlnr_splitswbox[60]
sqlnq_qtb::box_opr_split[116]
sqlnq_pid::update_qnc[100]
sqlnq_pid::replace_qnc[100]
And stack trace for the trapped db2agent :
0x09000000004E07D0 pthread_kill + 0xB0
0x0900000011C0F9D8 sqloDumpEDU + 0xD0
0x090000001137A970 sqldDumpContext__FP9sqeBsuEduiN42PCcPvT2 +
0x104
0x0900000010F051A4 sqlrr_dump_ffdc__FP8sqlrr_cbiT2 + 0x508
0x0900000010F01E94 sqlzeDumpFFDC__FP8sqeAgentUiP5sqlcai + 0x28
0x0900000010F02040 sqlzeSqlCode__FP8sqeAgentUiUlT2P5sqlcaiUsPc +
0xCC
0x0900000010F0441C sqlnn_erds__FiN41e + 0x134
0x0900000012570E24
replace_qnc__9sqlnq_pidFP9sqlnq_qnc15sqlnq_typeCheck + 0x564
0x0900000014F2D688
update_qnc__9sqlnq_pidFP9sqlnq_qncT1Pi15sqlnq_typeCheck + 0xF4
0x090000001543A9B4
box_opr_split__9sqlnq_qtbFP9sqlnq_pidPP9sqlnq_quniT3RP9sqlnq_stk
T2PFP9sqlnq_prdiPUc_iPUcN43b + 0xA74
0x09000000154979AC
sqlnr_splitswbox__FP9sqlnq_qtb17sqlnq_qunElemListPP9sqlnq_qunP3l
ociT5 + 0x49C
0x09000000133C6408
@151@sqlnr_NotExists2OJ_detail__FCP9sqlnq_prdCP3loc27sqlnr_NotEx
ists2OJ_predFormP17sqlnq_qncElemListP17sqlnq_expElemListP17sqlnq
_qunElemListbPP9sqlnq_qunRb + 0x3C28
0x09000000133BF89C
sqlnr_NotExists2OJ_action__FP10sqlnr_qrwaPiP14sqlnr_progress +
0xCA4
0x090000001094663C
.sqlnr_comp.fdpr.clone.89__FPiiP16sqlnr_rule_stateP10sqlnr_qrwaP
14sqlnr_progress + 0x314
0x0900000010946110
sqlnr_seq__FPiP10sqlnr_qrwaP14sqlnr_progressP12sqlnr_rclass +
0xD4
0x0900000010945E18 sqlnr_rcc__FiP10sqlnr_qrwaPiP14sqlnr_progress
+ 0x98
0x09000000109438A4
sqlnr_startqtb_action__FP10sqlnr_qrwaPiP14sqlnr_progress + 0x198
0x090000001094663C
.sqlnr_comp.fdpr.clone.89__FPiiP16sqlnr_rule_stateP10sqlnr_qrwaP
14sqlnr_progress + 0x314
0x0900000010946110
sqlnr_seq__FPiP10sqlnr_qrwaP14sqlnr_progressP12sqlnr_rclass +
0xD4
0x0900000010945E18 sqlnr_rcc__FiP10sqlnr_qrwaPiP14sqlnr_progress
+ 0x98
0x090000001094C7E0
sqlnr_start_action__FP10sqlnr_qrwaPiP14sqlnr_progress + 0x12C
0x090000001094663C
.sqlnr_comp.fdpr.clone.89__FPiiP16sqlnr_rule_stateP10sqlnr_qrwaP
14sqlnr_progress + 0x314
0x0900000010946110
sqlnr_seq__FPiP10sqlnr_qrwaP14sqlnr_progressP12sqlnr_rclass +
0xD4
0x0900000010945E18 sqlnr_rcc__FiP10sqlnr_qrwaPiP14sqlnr_progress
+ 0x98
0x090000001093E218 sqlnr_exe__FP9sqlnq_qur + 0x4EC
0x09000000109B0BEC
sqlnn_cmpl__FP8sqeAgentP11sqlrrstrings17sqlnn_compileModeT3P14sq
lrr_cmpl_enviT7PP9sqlnq_qur + 0x674
0x09000000109B357C
sqlnn_cmpl__FP8sqeAgentP11sqlrrstrings17sqlnn_compileModeT3P14sq
lrr_cmpl_env + 0x44
0x0900000010D32804
sqlra_compile_var__FP8sqlrr_cbP14sqlra_cmpl_envPUciUsN54P14SQLP_
LOCK_INFOP16sqlra_cached_varPi + 0x770
0x0900000011169ABC
sqlra_find_var__FP8sqlrr_cbP17sqlra_cached_stmt13sqlra_stmt_idUi
T4PUcT4UsUcP14sqlra_cmpl_env15sqlra_fill_modePiiT12_N313_T12_P14
SQLP_LOCK_INFOPP16sqlra_cached_varT12_b + 0x674
0x0900000010D43F3C sqlra_get_var__FP8sqlrr_cbiT2bPbT5 + 0x1A4
0x09000000112391C0
sqlrr_prepare__FP14db2UCinterfaceP16db2UCprepareInfo + 0x178
0x09000000112373D8
sqljs_ddm_prpsqlstt__FP14db2UCinterfaceP13sqljDDMObject + 0xCA8
0x09000000112366BC
sqljsParseRdbAccessed__FP13sqljsDrdaAsCbP13sqljDDMObjectP14db2UC
interface + 0xC
0x0900000010C48BF4
.sqljsParse.fdpr.clone.137__FP13sqljsDrdaAsCbP14db2UCinterfaceP8
sqeAgentb + 0x1084
0x0900000010C4F288 @73@sqljsSqlam__FP14db2UCinterfaceP8sqeAgentb
+ 0x2D8
0x09000000110EAF20
@73@sqljsDriveRequests__FP8sqeAgentP14db2UCconHandle + 0xB4
0x09000000110EB878
@73@sqljsDrdaAsInnerDriver__FP18SQLCC_INITSTRUCT_Tb + 0x458
0x09000000110EABEC sqljsDrdaAsDriver__FP18SQLCC_INITSTRUCT_T +
0x21C
0x0900000010ED576C RunEDU__8sqeAgentFv + 0x594
0x0900000010ECF3CC EDUDriver__9sqzEDUObjFv + 0x13C
0x0900000010ECF254 sqlzRunEDU__FPcUi + 0x10
0x0900000010EE2000 sqloEDUEntry + 0x264 | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 10.1 Fix Pack 3 * **************************************************************** | |
| Local Fix: | |
db2set DB2_ANTIJOIN=NO -im No need to recycle the db2 instance | |
| available fix packs: | |
DB2 Version 10.1 Fix Pack 3 for Linux, UNIX, and Windows | |
| Solution | |
First Fixed in DB2 V10.1 Fix Pack 3 | |
| Workaround | |
not known / see Local fix | |
| BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC95269 follow-up : | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 20.12.2012 16.06.2014 16.06.2014 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 10.1.0.3 |
|
| 10.1.0.3 |
|