protected function assertTableKeys($expected, \OC_DB_StatementWrapper $query, $keyName) { $result = $query->execute(); $users = array(); while ($row = $result->fetchRow()) { $users[] = $row[$keyName]; } $users = array_unique($users); sort($users); sort($expected); $this->assertEquals($expected, $users); }
/** * Parse the results from the per month entities found * * @param \OC_DB_StatementWrapper $result * @return array */ private function parsePerMonthEntities($result) { $entities = array(); while ($row = $result->fetch()) { if (!isset($entities[$row['username']])) { $entities[$row['username']] = array(); } $date = explode(' ', $row['month']); $dateTime = new \Datetime(); $dateTime->setDate($date[1], $date[0], 1); $entities[$row['username']] = array_merge($entities[$row['username']], array(new StorageUsage($dateTime, $row['average'], $row['username'], $row['maximumusage']))); } return $entities; }
/** * saves a sql data set into migration.db * @param OC_DB_StatementWrapper $data a sql data set returned from self::prepare()->query() * @param array $options array of copyRows options * @return void */ private function insertData($data, $options) { $return = array(); // Foreach row of data to insert while ($row = $data->fetchRow()) { // Now save all this to the migration.db foreach ($row as $field => $value) { $fields[] = $field; $values[] = $value; } // Generate some sql $sql = "INSERT INTO `" . $options['table'] . '` ( `'; $fieldssql = implode('`, `', $fields); $sql .= $fieldssql . "` ) VALUES( "; $valuessql = substr(str_repeat('?, ', count($fields)), 0, -2); $sql .= $valuessql . " )"; // Make the query $query = $this->prepare($sql); $query->execute($values); // Do we need to return some values? if (array_key_exists('idcol', $options)) { // Yes we do $return[] = $row[$options['idcol']]; } else { // Take a guess and return the first field :) $return[] = reset($row); } $fields = ''; $values = ''; } return $return; }