1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemamanipulation; 2 3 import com.daffodilwoods.daffodildb.server.serversystem.*; 4 import com.daffodilwoods.daffodildb.server.sql99.common.*; 5 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.*; 6 import com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition.*; 7 import com.daffodilwoods.daffodildb.server.sql99.ddl.utility.*; 8 import com.daffodilwoods.daffodildb.server.sql99.token.*; 9 import com.daffodilwoods.database.general.*; 10 import com.daffodilwoods.database.resource.*; 11 12 public class droptriggerstatement implements SQLschemamanipulationstatement { 13 public triggername _triggername0; 14 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221; 15 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439222; 16 17 32 33 public Object run(Object object) throws DException { 34 _ServerSession currentSession = ( (_ServerSession) object); 35 36 TriggerDescriptor triggerDescriptor = new TriggerDescriptor(); 37 setTriggerName(triggerDescriptor, currentSession); 38 String schemaOwner = GeneralUtility.getSchemaOwner(triggerDescriptor. 39 trigger_catalog, triggerDescriptor.trigger_schema, currentSession); 40 GeneralUtility.validateUserRights(schemaOwner, currentSession); 41 dropTrigger(currentSession, triggerDescriptor); 42 43 refreshDataDictionary(currentSession, triggerDescriptor); 44 return null; 45 } 46 47 public void dropTrigger(_ServerSession currentSession, 48 TriggerDescriptor triggerDes) throws DException { 49 triggerDes.delete(currentSession); 50 } 51 52 public void refreshDataDictionary(_ServerSession currentSession, 53 TriggerDescriptor triggerDes) throws 54 DException { 55 QualifiedIdentifier tableName = new QualifiedIdentifier( 56 triggerDes.event_object_catalog, triggerDes.event_object_schema, 57 triggerDes.event_object_name); 58 currentSession.refreshTriggers(tableName); 59 currentSession.getDataDictionary().getDDSTriggerOperation() 60 .removeTrigger(tableName, 61 triggerDes.action_orientation.equalsIgnoreCase(SqlKeywords.ROW), 62 triggerDes); 63 } 64 65 private void setTriggerName(TriggerDescriptor triggerDescriptor, 66 _ServerSession currentSession) throws DException { 67 _triggername0.run(null); 68 triggerDescriptor.trigger_catalog = _triggername0.getCatalogName(); 69 triggerDescriptor.trigger_schema = _triggername0.getSchemaName(); 70 triggerDescriptor.trigger_name = _triggername0.getTriggerName(); 71 if (triggerDescriptor.trigger_catalog == null) { 72 triggerDescriptor.trigger_catalog = currentSession.getCurrentCatalog(); 73 } 74 if (triggerDescriptor.trigger_schema == null) { 75 triggerDescriptor.trigger_schema = currentSession.getCurrentSchema(); 76 } 77 try { 78 triggerDescriptor.load(currentSession); 79 } catch (DException ex) { 80 throw new DException("DSE7065", 81 new Object [] {triggerDescriptor.getQualifiedIdentifier(). 82 getIdentifier()}); 83 } 84 } 85 86 public Object clone() throws CloneNotSupportedException { 87 return this; 88 } 89 90 public String toString() { 91 StringBuffer sb = new StringBuffer (); 92 sb.append(" "); 93 sb.append(_SRESERVEDWORD12065439222); 94 sb.append(" "); 95 sb.append(_SRESERVEDWORD12065439221); 96 sb.append(" "); 97 sb.append(_triggername0); 98 return sb.toString(); 99 } 100 } 101 | Popular Tags |