classAlterDatabaseRule
final class AlterDatabaseRule
implements RewriteRule
sql/sql_yacc.yy ident_or_empty and alter_database_options compete for an initial option keyword that is also allowed as an identifier.
Methods§
public function __construct(private string $defaultTerminal = 'DEFAULT_SYM')Binds the release's DEFAULT token name from sql_yacc.yy.
Parameters
$defaultTerminal | string |
Test cases 6
AlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#0coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#1coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#2coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#3coversAlterDatabaseRuleTest::testRewriteKeepsAnExplicitDatabaseNamedEncryptioncoversAlterDatabaseRuleTest::testRewriteUsesTheConfiguredDefaultTokencovers
public function rewrite(TerminalSequence $sequence): TerminalSequenceUses the option's explicit DEFAULT introducer when the database name is omitted.
Parameters
$sequence | TerminalSequence |
Returns
Test cases 7
AlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabasecallsAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#0coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#1coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#2coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#3coversAlterDatabaseRuleTest::testRewriteKeepsAnExplicitDatabaseNamedEncryptioncovers and callsAlterDatabaseRuleTest::testRewriteUsesTheConfiguredDefaultTokencovers and calls
Calls 5
- method-call TerminalSequence::occurrences() line 30
- method-call TerminalSequence::child() line 31
- method-call TerminalSequence::range() line 32
- function-call
in_arrayline 36 - method-call TerminalSequence::nameAt() line 36
Private surface 1§
Implementation details, listed for orientation only.
private string $defaultTerminal = 'DEFAULT_SYM'Test cases 13§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 7
AlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabasecallsAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#0coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#1coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#2coversAlterDatabaseRuleTest::testRewriteAddsTheOptionIntroducerOnlyForAnOmittedDatabase#3coversAlterDatabaseRuleTest::testRewriteKeepsAnExplicitDatabaseNamedEncryptioncovers and callsAlterDatabaseRuleTest::testRewriteUsesTheConfiguredDefaultTokencovers and calls
Other tests reaching this symbol 6
GenerationContextTestcallsRewriteDefinitionsTestcallsMySqlProviderTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsSqliteProviderTestcalls