classGeneratedColumnRule
final class GeneratedColumnRule
implements RewriteRule
gram.y ColConstraintElem requires GENERATED ALWAYS for expressions; IDENTITY also permits BY DEFAULT.
Methods§
public function rewrite(TerminalSequence $sequence): TerminalSequenceReplaces only the generated-expression timing, preserving identity columns and expression subtrees.
Parameters
$sequence | TerminalSequence |
Returns
Test cases 7
GeneratedColumnRuleTest::testRewritePreservesOtherColumnConstraintscovers and callsGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModescallsGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#expression alwayscoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#expression by defaultcoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#identity alwayscoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#identity by defaultcoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#removed timingcovers
Calls 4
- method-call TerminalSequence::occurrences() line 23
- method-call TerminalSequence::child() line 24
- method-call TerminalSequence::range() line 26
- method-call TerminalSequence::nameAt() line 27
Test cases 13§
Test cases that cover or call this symbol, from the coverage report and from the analyzed test sources.
Dedicated tests 7
GeneratedColumnRuleTest::testRewritePreservesOtherColumnConstraintscovers and callsGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModescallsGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#expression alwayscoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#expression by defaultcoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#identity alwayscoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#identity by defaultcoversGeneratedColumnRuleTest::testRewriteRequiresAlwaysForExpressionsAndPreservesIdentityModes#removed timingcovers
Other tests reaching this symbol 6
MySqlProviderTestcallsGenerationContextTestcallsRewriteDefinitionsTestcallsPostgreSqlProviderTestcallsSqlGeneratorFactoryTestcallsSqliteProviderTestcalls