/**
  * Returns execution status with additional information like how many records were processed.
  * @param   $sid sid of the story
  * @return stdClass      info about the status
  */
 public static function getExecutionStatus($sid)
 {
     $ktrExecutorDAO = new KTRExecutorDAO();
     $tuplesFromExecuteInfoTable = $ktrExecutorDAO->getTuplesBySid($sid);
     $queryEngine = new QueryEngine();
     if (!isset($tuplesFromExecuteInfoTable) || count($tuplesFromExecuteInfoTable) == 0) {
         $tuplesFromExecuteInfoTable = array();
         $tables = $queryEngine->GetTablesList($sid);
         // Add table into exec info.
         foreach ($tables as $key => $tableName) {
             $rec = new stdClass();
             $rec->tableName = $tableName;
             $rec->status = "success";
             $rec->Eid = "NA";
             $rec->ErrorMessage = "";
             $rec->RecordsProcessed = $queryEngine->GetTotalNumberTuplesInTableBySidAndName($sid, "[{$tableName}]");
             $rec->Sid = $sid;
             $rec->TimeEnd = "2013-08-18 12:21:19";
             //FIXME
             $rec->TimeStart = "2013-08-18 12:21:19";
             $rec->UserId = "NA";
             $tuplesFromExecuteInfoTable[] = $rec;
         }
     }
     $result = array();
     foreach ($tuplesFromExecuteInfoTable as $i => $tupleFromExecuteInfoTable) {
         if ($tupleFromExecuteInfoTable->status == 'success' || $tupleFromExecuteInfoTable->status == 'error') {
             $tupleFromExecuteInfoTable->numberProcessRecords = $queryEngine->GetTotalNumberTuplesInTableBySidAndName($sid, "[{$value->tableName}]");
             //$tupleFromExecuteInfoTable->numberProcessRecords = $tupleFromExecuteInfoTable->RecordsProcessed;
         } else {
             //TODO FIXME: table name should not be wrapped into [] at this spet. Need global refactoring to move wrapping table into brackets closer to the query execution
             $tupleFromExecuteInfoTable->numberProcessRecords = $queryEngine->GetTotalNumberTuplesInTableBySidAndName($sid, "[{$value->tableName}]");
         }
         $result[] = $tupleFromExecuteInfoTable;
     }
     return $result;
 }
示例#2
0
function GetTablesList()
{
    $queryEngine = new QueryEngine();
    echo json_encode($queryEngine->GetTablesList($_REQUEST["sid"]));
}