1 package com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors; 2 3 import com.daffodilwoods.daffodildb.server.serversystem.*; 4 import com.daffodilwoods.daffodildb.server.sql99.common.*; 5 import com.daffodilwoods.daffodildb.server.sql99.dql.execution.*; 6 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*; 7 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression.*; 8 import com.daffodilwoods.daffodildb.utils.*; 9 import com.daffodilwoods.database.general.*; 10 import com.daffodilwoods.database.resource.*; 11 import com.daffodilwoods.daffodildb.server.datadictionarysystem.DataDictionary; 12 13 public abstract class Descriptor implements _Descriptor { 14 protected void delete(_ServerSession currentSession, QualifiedIdentifier tableName, 15 booleanvalueexpression condition, Object [] conditionParameters) throws DException { 16 TableDetails tableDetail = new TableDetails(); 17 tableDetail.setTableName(tableName.getTableName()); 18 _ServerSession systemSession = currentSession.getSystemServerSession(); 19 _ServerSession globalSession = currentSession.getGlobalSession(); 20 ConditionSingleTableExecuter conSingTE = new ConditionSingleTableExecuter(null, 21 tableDetail, globalSession, condition, null); 22 _Iterator iter = globalSession.getInternalIterator(tableName, conSingTE); 23 iter.setConditionVariableValue(condition.getReferences(new TableDetails[] { 24 tableDetail}), FieldUtility.getFields(conditionParameters), 1); 25 SqlSchemaConstants.delete(systemSession, tableName, iter); 26 } 27 28 protected void deleteColumnDescriptor(_ServerSession currentSession, QualifiedIdentifier tableName, 29 booleanvalueexpression condition, Object [] conditionParameters) throws DException { 30 _Iterator columnsIter = ( (DataDictionary) currentSession.getDataDictionary()).getPreparedStatementGetter().getInternalIteratorForColumnDescriptor(currentSession, tableName, condition, conditionParameters); 31 SqlSchemaConstants.delete(currentSession.getSystemServerSession(), tableName, columnsIter); 32 } 33 34 protected void deleteColumnPrivilegeDescriptor(_ServerSession currentSession, QualifiedIdentifier tableName, 35 booleanvalueexpression condition, Object [] conditionParameters) throws DException { 36 _Iterator columnsPrivilegeIter = ( (DataDictionary) currentSession.getDataDictionary()).getPreparedStatementGetter().getInternalIteratorForColumnPrivilegeDescriptor(currentSession, tableName, condition, conditionParameters); 37 SqlSchemaConstants.delete(currentSession.getSystemServerSession(), tableName, columnsPrivilegeIter); 38 } 39 40 protected void deleteTablePrivilegeDescriptor(_ServerSession currentSession, QualifiedIdentifier tableName, 41 booleanvalueexpression condition, Object [] conditionParameters) throws DException { 42 _Iterator tablePrivilegeIter = ( (DataDictionary) currentSession.getDataDictionary()).getPreparedStatementGetter().getInternalIteratorForTablePrivilegeDescriptor(currentSession, tableName, condition, conditionParameters); 43 SqlSchemaConstants.delete(currentSession.getSystemServerSession(), tableName, tablePrivilegeIter); 44 } 45 46 protected void deleteDataTypeDescriptor(_ServerSession currentSession, QualifiedIdentifier tableName, 47 booleanvalueexpression condition, Object [] conditionParameters) throws DException { 48 _Iterator dataTypeIter = ( (DataDictionary) currentSession.getDataDictionary()).getPreparedStatementGetter().getInternalIteratorForDataTypeDescriptor(currentSession, tableName, condition, conditionParameters); 49 SqlSchemaConstants.delete(currentSession.getSystemServerSession(), tableName, dataTypeIter); 50 } 51 52 public abstract void load(_ServerSession parm1) throws DException; 53 54 public abstract void save(_ServerSession parm1) throws DException; 55 56 public abstract void delete(_ServerSession parm1) throws DException; 57 58 public abstract int getDescriptorType(); 59 } 60 | Popular Tags |