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;
 }
Example #3
0
 /**
  * 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;
 }