Exemplo n.º 1
0
 public function getTableNames($schema = null, $refresh = false, $use_alias = false)
 {
     if ($refresh || empty($this->tableNames) && null === ($this->tableNames = $this->getFromCache('table_names'))) {
         /** @type TableNameSchema[] $names */
         $names = [];
         /** @var QueryTablesResult $result */
         $result = $this->dbConn->queryTables();
         $tables = $result->getTables();
         foreach ($tables as $table) {
             $names[strtolower($table)] = new TableNameSchema($table);
         }
         // merge db extras
         if (!empty($extrasEntries = $this->getSchemaExtrasForTables($tables, false))) {
             foreach ($extrasEntries as $extras) {
                 if (!empty($extraName = strtolower(strval($extras['table'])))) {
                     if (array_key_exists($extraName, $tables)) {
                         $names[$extraName]->fill($extras);
                     }
                 }
             }
         }
         $this->tableNames = $names;
         $this->addToCache('table_names', $this->tableNames, true);
     }
     return $this->tableNames;
 }
Exemplo n.º 2
0
 /**
  * Azure splits metrics tables every 10 days so we need to get the latest one from the storage pool
  * @return void
  */
 private function identifyTableName()
 {
     $tables = $this->tableRestProxy->queryTables()->getTables();
     $lastDate = null;
     $tmpCurrentTable = null;
     foreach ($tables as $table) {
         if (strpos($table, "WADMetricsPT1MP10") !== false) {
             $tableDate = Carbon::createFromFormat('Ymd', substr($table, -8));
             if (is_null($lastDate)) {
                 $lastDate = $tableDate;
                 $tmpCurrentTable = $table;
                 continue;
             }
             if ($tableDate->gt($lastDate)) {
                 $lastDate = $tableDate;
                 $tmpCurrentTable = $table;
             }
         }
     }
     unset($table, $tableDate);
     $this->tableName = $tmpCurrentTable;
 }