rawSql = $rawSql; $this->prefix = $prefix; } /** * @return string */ public function stringify() { if ( $this->genericSql !== null ) { return $this->genericSql; } $this->genericSql = $this->prefix . substr( QueryBuilderFromRawSql::generalizeSQL( $this->rawSql ), 0, 255 ); return $this->genericSql; } public function getRawSql() { return $this->rawSql; } /** * @param Query $query * @param string $prefix * @return self */ public static function newFromQuery( Query $query, $prefix ) { $generalizedSql = new self( $query->getSQL(), $prefix ); $cleanedSql = $query->getCleanedSql(); if ( $cleanedSql != '' ) { // Generalized SQL already provided; no need to use regexes $generalizedSql->genericSql = $prefix . $cleanedSql; } return $generalizedSql; } }