KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > daffodilwoods > daffodildb > server > sql99 > ddl > schemamanipulation > dropdomainconstraintdefinition


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 JavaDoc;
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 JavaDoc tableList;
24   public void setDomainDescriptor(_Descriptor domainDes) throws
25   DException {
26     domainDescriptor = (DomainDescriptor) domainDes;
27   }
28
29   public Object JavaDoc run(Object JavaDoc 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 JavaDoc columnDescriptors = domainDescriptor.getColumnDescriptorsForDomain(currentSession);
56     if (columnDescriptors != null) {
57       int size = columnDescriptors.size();
58       tableList = new ArrayList JavaDoc(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     /* String clause = "select * from "+SqlSchemaConstants.columns_TableName+" where domain_catalog == '"+domain_descriptor.catalog_name+"' && domain_schema == '"+ domain_descriptor.schema_name+"' && domain_name == '"+domain_descriptor.domain_name+"'";
71           ListIterator affected_columns = SqlSchemaConstants.getListIterator((server.UserSession)connection.getUserSession(), clause);
72           if(affected_columns.first()) {
73              do {
74                 Object[] obj = affected_columns.getObject();
75          if( obj[CharacteristicsConstants.columns_is_nullable].equals(SqlKeywords.NO)) {
76           clause = "select * from "+SqlSchemaConstants.domain_constraints_TableName+" where domain_catalog == '"+domain_descriptor.catalog_name+"' && domain_schema == '"+ domain_descriptor.schema_name+"' && domain_name == '"+domain_descriptor.domain_name+"'";
77             ListIterator affected_constraints = SqlSchemaConstants.getListIterator((server.UserSession)connection.getUserSession(), clause);
78             if(affected_constraints.first()) {
79                do {
80                   Object[] obj1 = affected_constraints.getObject();
81            if(obj1[CharacteristicsConstants.domainConstraint_is_deferrable].equals(SqlKeywords.NO)) {
82            }
83                }while(affected_constraints.next());
84             }
85          }
86              }while(affected_columns.next());
87           }
88       */
}
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 JavaDoc clone() throws CloneNotSupportedException JavaDoc {
114         return this;
115       }
116       public String JavaDoc toString()
117       {
118         StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
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