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

1<?php
2
3declare(strict_types=1);
4
5namespace SqlSemantics\Statement\Model\PostgreSql\Choice;
6
7/**
8 * The opt_unique_null_treatment 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\OptUniqueNullTreatmentChoice_0d0ecb2d $value): string => \SqlSemantics\Statement\Writer::render($value);
13 *     $write instanceof \Closure // => true
14 */
15enum OptUniqueNullTreatmentChoice_0d0ecb2d: string implements \SqlSemantics\Statement\Model\PostgreSql\Role\OptUniqueNullTreatmentForm
16{
17    case UseNullsDistinct_ce5246e0 = 'NULLS DISTINCT';
18    case UseNullsNotDistinct_c96cba04 = 'NULLS NOT DISTINCT';
19    case Use_e3b0c442 = '';
20
21    /**
22     * Writes the selected SQL option.
23     */
24    public function write(\SqlSemantics\Statement\Writer $writer): void
25    {
26        foreach (explode(' ', $this->value) as $word) {
27            $writer->append($word);
28        }
29    }
30}
31