public static function getRoutedSql($querys, $sql, $checkSession = true) { $obj = new Query(); $obj->setRequest($sql); $obj->setCheckSession($checkSession); // perform the route process return Request::routeRequest('POST', '/query', array(), Query::encodeQuery($obj), $querys, 'query'); }
public function postMultiGetRequest($callName, $input, $par = array()) { $params = array(); extract($par, EXTR_OVERWRITE); $config = parse_ini_file(dirname(__FILE__) . '/config.ini', TRUE); $querys = $input; $sql = ''; $querys = explode("\n", $querys); foreach ($querys as $query) { $query = explode('/query/procedure', $query)[1]; $params = explode('/', $query); array_shift($params); $procedure = array_shift($params); $sql .= $this->generateQuery($procedure, $params) . "select 'next';"; } $answer = DBRequest::request2($sql, false, $config); $result = Model::isOK(); $res = array(); $resArray = array(); foreach ($answer as $query_result) { $obj = new Query(); if (isset($query_result['content']) && $query_result['content'] === array(array("next" => 'next'))) { $resArray[] = array(Query::encodeQuery($res), 'ETag' => CacheManager::generateETag($res)); $res = array(); continue; } if ($query_result['errno'] != 0) { if (isset($query_result['errno']) && $query_result['errno'] != 0) { Logger::Log('GET queryResult failed errno: ' . $query_result['errno'] . ' error: ' . $query_result['error'], LogLevel::ERROR); } if (!isset($query_result['content']) || !$query_result['content']) { Logger::Log('GET queryResult failed, no content', LogLevel::ERROR); } if (isset($query_result['errno']) && $query_result['errno'] == 401) { $result = Model::isRejected(); } else { $result = Model::isProblem(); } } elseif (gettype($query_result['content']) == 'boolean') { $obj->setResponse(array()); if (isset($query_result['affectedRows'])) { $obj->setAffectedRows($query_result['affectedRows']); } if (isset($query_result['insertId'])) { $obj->setInsertId($query_result['insertId']); } if (isset($query_result['errno'])) { $obj->setErrno($query_result['errno']); } if (isset($query_result['numRows'])) { $obj->setNumRows($query_result['numRows']); } if (isset($query_result['errno']) && $query_result['errno'] > 0) { $result = Model::isProblem(); } else { $result = Model::isOK(); } } else { $data = array(); if (isset($query_result['numRows']) && $query_result['numRows'] > 0) { $data = $query_result['content']; } $obj->setResponse($data); if (isset($query_result['affectedRows'])) { $obj->setAffectedRows($query_result['affectedRows']); } if (isset($query_result['insertId'])) { $obj->setInsertId($query_result['insertId']); } if (isset($query_result['errno'])) { $obj->setErrno($query_result['errno']); } if (isset($query_result['numRows'])) { $obj->setNumRows($query_result['numRows']); } $result = Model::isOK(); } $res[] = $obj; } //$resArray[]=array('content'=>$res,'ETag'=>CacheManager::generateETag($res)); $result['content'] = $resArray; return $result; }