-
-
Notifications
You must be signed in to change notification settings - Fork 114
Expand file tree
/
Copy pathDropStatement.php
More file actions
79 lines (71 loc) · 1.7 KB
/
DropStatement.php
File metadata and controls
79 lines (71 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
declare(strict_types=1);
namespace PhpMyAdmin\SqlParser\Statements;
use PhpMyAdmin\SqlParser\Components\Expression;
use PhpMyAdmin\SqlParser\Statement;
/**
* `DROP` statement.
*/
class DropStatement extends Statement
{
/**
* Options of this statement.
*
* @var array<string, int|array<int, int|string>>
* @psalm-var array<string, (positive-int|array{positive-int, ('var'|'var='|'expr'|'expr=')})>
*/
public static array $statementOptions = [
'DATABASE' => 1,
'EVENT' => 1,
'FUNCTION' => 1,
'INDEX' => 1,
'LOGFILE' => 1,
'PROCEDURE' => 1,
'SCHEMA' => 1,
'SERVER' => 1,
'TABLE' => 1,
'VIEW' => 1,
'TABLESPACE' => 1,
'TRIGGER' => 1,
'USER' => 1,
'TEMPORARY' => 2,
'IF EXISTS' => 3,
];
/**
* The clauses of this statement, in order.
*
* @see Statement::$clauses
*
* @var array<string, array{non-empty-string, int-mask-of<self::ADD_*>}>
*/
public static array $clauses = [
'DROP' => [
'DROP',
Statement::ADD_KEYWORD,
],
// Used for options.
'_OPTIONS' => [
'_OPTIONS',
Statement::ADD_CLAUSE,
],
// Used for select expressions.
'DROP_' => [
'DROP',
Statement::ADD_CLAUSE,
],
'ON' => [
'ON',
Statement::ADD_CLAUSE | Statement::ADD_KEYWORD,
],
];
/**
* Dropped elements.
*
* @var Expression[]|null
*/
public array|null $fields = null;
/**
* Table of the dropped index.
*/
public Expression|null $table = null;
}