1 package com.daffodilwoods.daffodildb.server.sql99.ddl.schemamanipulation; 2 3 import com.daffodilwoods.daffodildb.server.sql99.ddl.schemadefinition. 4 constraintname; 5 import com.daffodilwoods.daffodildb.server.sql99.token.*; 6 import com.daffodilwoods.database.resource.*; 7 import com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors.*; 8 import com.daffodilwoods.daffodildb.server.serversystem.*; 9 import com.daffodilwoods.daffodildb.server.sql99.utils._Reference; 10 import com.daffodilwoods.database.general.QualifiedIdentifier; 11 import com.daffodilwoods.daffodildb.server.datadictionarysystem.DataDictionary; 12 import java.util.ArrayList ; 13 14 public class dropdomainconstraintdefinition 15 implements alterdomainaction { 16 public constraintname _constraintname0; 17 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439221; 18 public SRESERVEDWORD1206543922 _SRESERVEDWORD12065439222; 19 20 21 22 DomainDescriptor domainDescriptor; 23 private ArrayList tableList; 24 public void setDomainDescriptor(_Descriptor domainDes) throws 25 DException { 26 domainDescriptor = (DomainDescriptor) domainDes; 27 } 28 29 public Object run(Object object) throws DException { 30 _ServerSession currentSession = (_ServerSession) object; 31 _ServerSession systemSession = currentSession.getSystemServerSession(); 32 DomainConstraintDescriptor domainConstraintDescriptor = new DomainConstraintDescriptor(); 33 setConstraintName(domainConstraintDescriptor, currentSession); 34 dropConstraint(domainConstraintDescriptor, currentSession); 35 getTableList(currentSession); 36 refreshServerSystem(systemSession, domainDescriptor); 37 return null; 38 } 39 40 private void refreshServerSystem(_ServerSession systemSession, 41 DomainDescriptor domainDescriptor) throws 42 DException { 43 DataDictionary dd = (DataDictionary) systemSession.getDataDictionary(); 44 dd.removeCheckConstraintForDomain(domainDescriptor.getQualifiedIdentifier()); 45 if(tableList!=null){ 46 for (int i=0, size=tableList.size();i<size;i++) 47 { 48 QualifiedIdentifier tableName=(QualifiedIdentifier)tableList.get(i); 49 systemSession.deleteTable(tableName, false); 50 } 51 } 52 } 53 54 private void getTableList(_ServerSession currentSession) throws DException{ 55 ArrayList columnDescriptors = domainDescriptor.getColumnDescriptorsForDomain(currentSession); 56 if (columnDescriptors != null) { 57 int size = columnDescriptors.size(); 58 tableList = new ArrayList (size); 59 for (int i = 0; i < size; i++) { 60 ColumnDescriptor columnDescriptor = (ColumnDescriptor) columnDescriptors.get(i); 61 QualifiedIdentifier tableName = columnDescriptor.getQualifiedTableName(); 62 if(!tableList.contains(tableName)) 63 tableList.add(tableName); 64 } 65 } 66 } 67 68 public void check_Nullability_of_affected_columns(_ServerSession 69 serverSession) throws DException { 70 } 89 90 private void setConstraintName(DomainConstraintDescriptor domainConstraintDescriptor, 91 _ServerSession currentSession) throws 92 DException { 93 domainConstraintDescriptor.constraint_catalog = _constraintname0.getCatalogName(); 94 domainConstraintDescriptor.constraint_schema = _constraintname0.getSchemaName(); 95 domainConstraintDescriptor.constraint_name = _constraintname0.getConstraintName(); 96 if ( domainConstraintDescriptor.constraint_catalog == null) 97 domainConstraintDescriptor.constraint_catalog = domainDescriptor.catalog_name; 98 if ( domainConstraintDescriptor.constraint_catalog!=domainDescriptor.catalog_name) 99 throw new DException("",null); 100 if ( domainConstraintDescriptor.constraint_schema == null) 101 domainConstraintDescriptor.constraint_schema = domainDescriptor.schema_name; 102 if ( domainConstraintDescriptor.constraint_schema!=domainDescriptor.schema_name) 103 throw new DException("",null); 104 domainConstraintDescriptor.load(currentSession); 105 domainConstraintDescriptor.setDomainDescriptor(domainDescriptor); 106 } 107 108 private void dropConstraint(DomainConstraintDescriptor domainConsDes, 109 _ServerSession currentSession) throws DException { 110 domainConsDes.delete(currentSession); 111 } 112 113 public Object clone() throws CloneNotSupportedException { 114 return this; 115 } 116 public String toString() 117 { 118 StringBuffer sb = new StringBuffer (); 119 sb.append(" "); 120 sb.append(_SRESERVEDWORD12065439222); 121 sb.append(" "); 122 sb.append(_SRESERVEDWORD12065439221); 123 sb.append(" "); 124 sb.append(_constraintname0); 125 return sb.toString(); 126 } 127 } 128 | Popular Tags |