protected function check_typical_in_query(qubaid_condition $qubaids, $expectedsql, $expectedparams) { $sql = "SELECT qa.id, qa.maxmark\n FROM {question_attempts} qa\n WHERE qa.questionusageid {$qubaids->usage_id_in()}"; // NOTE: parameter names may change thanks to $DB->inorequaluniqueindex, normal comparison is very wrong!! list($sql, $params) = $this->normalize_sql($sql, $qubaids->usage_id_in_params()); list($expectedsql, $expectedparams) = $this->normalize_sql($expectedsql, $expectedparams); $this->assertEquals($expectedsql, $sql); $this->assertEquals($expectedparams, $params); }
/** * @param array $questionids of question ids. * @param qubaid_condition $qubaids ids of the usages to consider. * @return boolean whether any of these questions are being used by any of * those usages. */ public function questions_in_use(array $questionids, qubaid_condition $qubaids) { list($test, $params) = $this->db->get_in_or_equal($questionids); return $this->db->record_exists_select('question_attempts', 'questionid ' . $test . ' AND questionusageid ' . $qubaids->usage_id_in(), $params + $qubaids->usage_id_in_params()); }
protected function check_typical_in_query(qubaid_condition $qubaids, $expectedsql, $expectedparams) { $sql = "SELECT qa.id, qa.maxmark\n FROM {question_attempts} qa\n WHERE qa.questionusageid {$qubaids->usage_id_in()}"; $this->assertEqual($expectedsql, $sql); $this->assertEqual($expectedparams, $qubaids->usage_id_in_params()); }