private function getAllPartsOfQuery() { $result = new stdClass(); $result->selectQuery = MergedDataSetQueryMaker::DecodeStringWithCids($this->select); $sidsAndTablesNeeded = $this->GetAssociateArrayOfSidsAndTablesNeeded($this->inputObj->relationships); // var_dump($sidsAndTablesNeeded); $result->fromQuery = " from " . $this->GetFromPartBySidAndTableArray($sidsAndTablesNeeded); $joinPart = $this->GetWherePartFromRelationshipsArray($this->inputObj->relationships); if (strlen($joinPart) > 0) { $result->whereJoinQuery = " where " . $joinPart; } else { $result->whereJoinQuery = " "; } $result->whereUserConditions = ""; $result->groupbyQuery = ""; if (isset($this->groupby)) { $result->groupbyQuery = MergedDataSetQueryMaker::DecodeStringWithCids($this->groupby); } return $result; }
function prepareAndRunMergedDatasetQuery($select, $inputObj, $where, $groupby, $perPage, $pageNo) { $mergedDatasetQuery = new MergedDataSetQueryMaker($select, $inputObj, $where, $groupby, $perPage, $pageNo); $queryInfo = $mergedDatasetQuery->GetQuery(); $externalDBCredentials = new stdClass(); $externalDBCredentials->driver = $queryInfo->serverInfo->driver; $externalDBCredentials->user_name = $queryInfo->serverInfo->user_name; $externalDBCredentials->password = $queryInfo->serverInfo->password; $externalDBCredentials->source_database = $queryInfo->serverInfo->database; $externalDBCredentials->server_address = $queryInfo->serverInfo->server_address; $externalDBCredentials->port = $queryInfo->serverInfo->port; $externalDBCredentials->is_local = null; $externalDBCredentials->linked_server_name = null; return ExternalDBs::ExecuteQuery($queryInfo->finalQuery, $externalDBCredentials); }