packages/sql-semantics-postgres/resources/models/Choice/TableLikeOptionChoice_ae5f17d5.php

1<?php
2
3declare(strict_types=1);
4
5namespace SqlSemantics\Statement\Model\PostgreSql\Choice;
6
7/**
8 * The TableLikeOption SQL value; generated by bin/build-models.php.
9 *
10 * @visibility public
11 * @example Accept a structured SQL value
12 *     $write = static fn (\SqlSemantics\Statement\Model\PostgreSql\Choice\TableLikeOptionChoice_ae5f17d5 $value): string => \SqlSemantics\Statement\Writer::render($value);
13 *     $write instanceof \Closure // => true
14 */
15enum TableLikeOptionChoice_ae5f17d5: string implements \SqlSemantics\Statement\Model\PostgreSql\Role\TableLikeOptionForm
16{
17    case UseComments_19b247a2 = 'COMMENTS';
18    case UseCompression_ac458527 = 'COMPRESSION';
19    case UseConstraints_7ceec0f9 = 'CONSTRAINTS';
20    case UseDefaults_92d31979 = 'DEFAULTS';
21    case UseIdentity_82ec80d7 = 'IDENTITY';
22    case UseGenerated_4dc3e64f = 'GENERATED';
23    case UseIndexes_019e4e72 = 'INDEXES';
24    case UseStatistics_3397886a = 'STATISTICS';
25    case UseStorage_b2f6362f = 'STORAGE';
26    case UseAll_b5c7aed7 = 'ALL';
27
28    /**
29     * Writes the selected SQL option.
30     */
31    public function write(\SqlSemantics\Statement\Writer $writer): void
32    {
33        foreach (explode(' ', $this->value) as $word) {
34            $writer->append($word);
35        }
36    }
37}
38