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 |