int NdbScanFilterImpl::cond_col_const(Interpreter::BinaryCondition op, Uint32 AttrId, const void * value, Uint32 len){ if(op < 0 || op >= tab3_sz){ m_operation->setErrorCodeAbort(4260); return -1; } if(m_current.m_group < NdbScanFilter::AND || m_current.m_group > NdbScanFilter::NOR){ m_operation->setErrorCodeAbort(4260); return -1; } StrBranch2 branch; if(m_negative == 1){ //change NdbOperation to its negative if(m_current.m_group == NdbScanFilter::AND) branch = table3[op].m_branches[(Uint32)(m_current.m_group) + 1]; if(m_current.m_group == NdbScanFilter::OR) branch = table3[op].m_branches[(Uint32)(m_current.m_group) - 1]; }else{ branch = table3[op].m_branches[(Uint32)(m_current.m_group)]; } const NdbDictionary::Column * col = m_operation->m_currentTable->getColumn(AttrId); if(col == 0){ m_operation->setErrorCodeAbort(4261); return -1; } if ((m_operation->* branch)(AttrId, value, len, false, m_current.m_ownLabel) == -1) return -1; if (!check_size()) return -1; return 0; }
int NdbScanFilterImpl::cond_col(Interpreter::UnaryCondition op, Uint32 AttrId){ if(op < 0 || op >= tab2_sz){ m_operation->setErrorCodeAbort(4262); return -1; } if(m_current.m_group < NdbScanFilter::AND || m_current.m_group > NdbScanFilter::NOR){ m_operation->setErrorCodeAbort(4260); return -1; } Branch1 branch = table2[op].m_branches[m_current.m_group]; if ((m_operation->* branch)(AttrId, m_current.m_ownLabel) == -1) return -1; if (!check_size()) return -1; return 0; }