class ExplainStatement extends Statement (View source)

EXPLAIN statement.

Constants

protected ADD_CLAUSE

protected ADD_KEYWORD

private OPTIONS

Options for EXPLAIN statements.

Properties

static array<string,int|array<int,int|string>> $statementOptions

Options for this statement.

from  Statement
static array $clauses

The clauses of this statement, in order.

from  Statement
OptionsArray|null $options

The options of this query.

from  Statement
int|null $first

The index of the first token used in this statement.

from  Statement
int|null $last

The index of the last token used in this statement.

from  Statement
Parser|null $bodyParser

The parser of the statement to be explained

string $statementAlias

The statement alias, could be any of the following:

  • {EXPLAIN | DESCRIBE | DESC}
  • {EXPLAIN | DESCRIBE | DESC} ANALYZE
  • ANALYZE
int|null $connectionId

The connection identifier, if used.

string|null $explainedDatabase

The explained database for the table's name, if used.

string|null $explainedTable

The explained table's name, if used.

string|null $explainedColumn

The explained column's name, if used.

Methods

__construct(Parser|null $parser = null, TokensList|null $list = null)

No description

string
build()

Builds the string representation of this statement.

void
parse(Parser $parser, TokensList $list)

No description

void
before(Parser $parser, TokensList $list, Token $token)

Function called before the token is processed.

void
after(Parser $parser, TokensList $list, Token $token)

Function called after the token was processed.

array
getClauses()

Gets the clauses of this statement.

array
getClauseOrder()

Gets the clause order of this statement as an array with clause as key and index as value.

string
__toString()

Builds the string representation of this statement.

bool
validateClauseOrder(Parser $parser, TokensList $list)

Validates the order of the clauses in parsed statement Ideally this should be called after successfully completing the parsing of each statement.

Details

__construct(Parser|null $parser = null, TokensList|null $list = null)

No description

Parameters

Parser|null $parser

the instance that requests parsing

TokensList|null $list

the list of tokens to be parsed

Exceptions

ParserException

string build()

Builds the string representation of this statement.

Return Value

string

void parse(Parser $parser, TokensList $list)

No description

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Return Value

void

void before(Parser $parser, TokensList $list, Token $token)

Function called before the token is processed.

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Token $token

the token that is being parsed

Return Value

void

void after(Parser $parser, TokensList $list, Token $token)

Function called after the token was processed.

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Token $token

the token that is being parsed

Return Value

void

array getClauses()

Gets the clauses of this statement.

Return Value

array

array getClauseOrder()

Gets the clause order of this statement as an array with clause as key and index as value.

Return Value

array

string __toString()

Builds the string representation of this statement.

Return Value

string

See also

static::build

bool validateClauseOrder(Parser $parser, TokensList $list)

Validates the order of the clauses in parsed statement Ideally this should be called after successfully completing the parsing of each statement.

Parameters

Parser $parser

the instance that requests parsing

TokensList $list

the list of tokens to be parsed

Return Value

bool

Exceptions

ParserException