1818
1919/** Structured PostgreSQL property actions shared by tables, indexes and views. */
2020public class RelationAlterAction extends AlterExpression {
21- private TriggerState triggerState ;
21+ private EnableState enableState ;
2222 private TriggerTarget triggerTarget ;
2323 private Kind kind ;
2424 private ColumnAction columnAction ;
@@ -36,7 +36,7 @@ public class RelationAlterAction extends AlterExpression {
3636 private List <String > resetOptions ;
3737
3838 public enum Kind {
39- RENAME , RENAME_COLUMN , OWNER , SET_SCHEMA , SET_TABLESPACE , SET_ACCESS_METHOD , SET_OPTIONS , RESET_OPTIONS , ALTER_COLUMN , ATTACH_PARTITION , DEPENDS_ON_EXTENSION , VALIDATE_CONSTRAINT , INHERIT , ALTER_CONSTRAINT_INHERIT , REPLICA_IDENTITY , CLUSTER_ON , SET_WITHOUT_CLUSTER , SET_WITHOUT_OIDS , SET_LOGGED , SET_UNLOGGED , OF , NOT_OF , TRIGGER_STATE
39+ RENAME , RENAME_COLUMN , OWNER , SET_SCHEMA , SET_TABLESPACE , SET_ACCESS_METHOD , SET_OPTIONS , RESET_OPTIONS , ALTER_COLUMN , ATTACH_PARTITION , DEPENDS_ON_EXTENSION , VALIDATE_CONSTRAINT , INHERIT , ALTER_CONSTRAINT_INHERIT , REPLICA_IDENTITY , CLUSTER_ON , SET_WITHOUT_CLUSTER , SET_WITHOUT_OIDS , SET_LOGGED , SET_UNLOGGED , OF , NOT_OF , TRIGGER_STATE , RULE_STATE
4040 }
4141
4242 public enum ColumnAction {
@@ -47,6 +47,12 @@ public enum ReplicaIdentity {
4747 DEFAULT , FULL , NOTHING , USING_INDEX
4848 }
4949
50+ /** State shared by trigger and rewrite-rule actions. */
51+ public enum EnableState {
52+ ENABLE , DISABLE , ENABLE_ALWAYS , ENABLE_REPLICA
53+ }
54+
55+ /** Compatibility names for existing trigger clients. */
5056 public enum TriggerState {
5157 ENABLE , DISABLE , ENABLE_ALWAYS , ENABLE_REPLICA
5258 }
@@ -55,12 +61,20 @@ public enum TriggerTarget {
5561 }
5662
5763
64+ public EnableState getEnableState () {
65+ return enableState ;
66+ }
67+
68+ public void setEnableState (EnableState state ) {
69+ enableState = state ;
70+ }
71+
5872 public TriggerState getTriggerState () {
59- return triggerState ;
73+ return enableState == null ? null : TriggerState . valueOf ( enableState . name ()) ;
6074 }
6175
62- public void setTriggerState (TriggerState triggerState ) {
63- this . triggerState = triggerState ;
76+ public void setTriggerState (TriggerState state ) {
77+ enableState = state == null ? null : EnableState . valueOf ( state . name ()) ;
6478 }
6579
6680 public TriggerTarget getTriggerTarget () {
@@ -219,9 +233,12 @@ private void appendDefinition(StringBuilder builder, Consumer<Expression> expres
219233 builder .append ("OF " ).append (value );
220234 break ;
221235 case TRIGGER_STATE :
222- builder .append (triggerState .name ().replace ('_' , ' ' )).append (" TRIGGER " )
236+ builder .append (enableState .name ().replace ('_' , ' ' )).append (" TRIGGER " )
223237 .append (triggerTarget == TriggerTarget .NAME ? value : triggerTarget );
224238 break ;
239+ case RULE_STATE :
240+ builder .append (enableState .name ().replace ('_' , ' ' )).append (" RULE " ).append (value );
241+ break ;
225242 case RENAME :
226243 builder .append ("RENAME TO " ).append (newName );
227244 break ;
0 commit comments