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.server.sql99.utils.*; 9 import com.daffodilwoods.daffodildb.utils.*; 10 import com.daffodilwoods.database.general.*; 11 import com.daffodilwoods.database.resource.*; 12 13 public abstract class PrivilegeDescriptor extends Descriptor { 14 15 public Object grantee = null; 16 public Object grantor = null; 17 public String object_catalog; 18 public String object_schema; 19 public String object_name; 20 public String is_grantable; 21 22 public abstract boolean equals(Object obj); 23 24 public abstract int hashCode(); 25 26 public String getGrantor() { 27 return grantor == null ? null : grantor.toString(); 28 } 29 30 public String getGrantee() { 31 return grantee == null ? null : grantee.toString(); 32 } 33 34 public void setGrantor(Object grantor) { 35 this.grantor = grantor; 36 } 37 38 public void setGrantee(Object grantee) { 39 this.grantee = grantee; 40 } 41 42 public abstract void save(_ServerSession serverSession) throws DException; 43 44 public abstract void load(_ServerSession serverSession) throws DException; 45 46 public abstract void loadDataFromRecord(_SelectQueryIterator iter) throws DException; 47 48 public abstract void delete(_ServerSession serversession) throws DException; 49 50 public abstract void updateIsGrantableValue(_ServerSession serversession, String isGrantable) throws DException; 51 52 protected void update(_ServerSession serverSession, 53 QualifiedIdentifier tableName, booleanvalueexpression condition, 54 Object [] conditionParameters, Object [] values, 55 int columns[]) throws DException { 56 TableDetails tableDetail = new TableDetails(); 57 tableDetail.setTableName(tableName.getTableName()); 58 _ServerSession systemSession = serverSession.getSystemServerSession(); 59 _ServerSession globalSession = serverSession.getGlobalSession(); 60 ConditionSingleTableExecuter conSingTE = new ConditionSingleTableExecuter(null, 61 tableDetail, globalSession, condition, null); 62 _Iterator iter = globalSession.getInternalIterator(tableName, conSingTE); 63 _Reference[] ref = condition.getReferences(new TableDetails[] {tableDetail}); 64 iter.setConditionVariableValue(ref, FieldUtility.getFields(conditionParameters), 1); 65 SqlSchemaConstants.update(systemSession, 66 tableName, iter, 67 columns, values); 68 } 69 70 public abstract int getDescriptorType(); 71 } 72 | Popular Tags |