PMA\libraries\gis\GISVisualization::_modifySqlQuery PHP Method

_modifySqlQuery() private method

Returns sql for fetching raw data
private _modifySqlQuery ( string $sql_query, integer $rows, integer $pos ) : string
$sql_query string The SQL to modify.
$rows integer Number of rows.
$pos integer Start position.
return string the modified sql query.
    private function _modifySqlQuery($sql_query, $rows, $pos)
    {
        $modified_query = 'SELECT ';
        // If label column is chosen add it to the query
        if (!empty($this->_userSpecifiedSettings['labelColumn'])) {
            $modified_query .= Util::backquote($this->_userSpecifiedSettings['labelColumn']) . ', ';
        }
        // Wrap the spatial column with 'ASTEXT()' function and add it
        $modified_query .= 'ASTEXT(' . Util::backquote($this->_userSpecifiedSettings['spatialColumn']) . ') AS ' . Util::backquote($this->_userSpecifiedSettings['spatialColumn']) . ', ';
        // Get the SRID
        $modified_query .= 'SRID(' . Util::backquote($this->_userSpecifiedSettings['spatialColumn']) . ') AS ' . Util::backquote('srid') . ' ';
        // Append the original query as the inner query
        $modified_query .= 'FROM (' . $sql_query . ') AS ' . Util::backquote('temp_gis');
        // LIMIT clause
        if (is_numeric($rows) && $rows > 0) {
            $modified_query .= ' LIMIT ';
            if (is_numeric($pos) && $pos >= 0) {
                $modified_query .= $pos . ', ' . $rows;
            } else {
                $modified_query .= $rows;
            }
        }
        return $modified_query;
    }