Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4071050
GeneralizedSql.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
GeneralizedSql.php
View Options
<?php
/**
* @license GPL-2.0-or-later
* @file
*/
namespace
Wikimedia\Rdbms
;
/**
* Lazy-loaded wrapper for simplification and scrubbing of SQL queries for profiling
*
* @since 1.34
* @ingroup Profiler
* @ingroup Database
*/
class
GeneralizedSql
{
/** @var string */
private
$rawSql
;
/** @var string */
private
$prefix
;
/** @var string|null */
private
$genericSql
;
/**
* @param string $rawSql
* @param string $prefix
*/
public
function
__construct
(
$rawSql
,
$prefix
)
{
$this
->
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
;
}
/**
* @return string
*/
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
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Aug 17 2026, 02:43 (12 w, 21 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
bf/1e/eff420ebd2c565f5fc618260690e
Default Alt Text
GeneralizedSql.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment