1 package com.daffodilwoods.daffodildb.server.sql99.ddl.descriptors; 2 3 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*; 4 import com.daffodilwoods.daffodildb.server.serversystem.*; 5 import com.daffodilwoods.daffodildb.server.sql99.dql.iterator.*; 6 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression.*; 7 import com.daffodilwoods.daffodildb.server.sql99.utils.parser.*; 8 import com.daffodilwoods.database.resource.*; 9 10 public class ParametersDescriptor extends Descriptor { 11 12 public String SPECIFIC_CATALOG; 13 public String SPECIFIC_SCHEMA; 14 public String SPECIFIC_NAME; 15 public int ORDINAL_POSITION; 16 public String DTD_IDENTIFIER; 17 public String PARAMETER_MODE; 18 public String IS_RESULT; 19 public String AS_LOCATOR; 20 public String PARAMETER_NAME; 21 public String FROM_SQL_SPECIFIC_CATALOG; 22 public String FROM_SQL_SPECIFIC_SCHEMA; 23 public String FROM_SQL_SPECIFIC_NAME; 24 public String TO_SQL_SPECIFIC_CATALOG; 25 public String TO_SQL_SPECIFIC_SCHEMA; 26 public String TO_SQL_SPECIFIC_NAME; 27 28 public ParametersDescriptor() throws DException { 29 } 30 31 public void load(_ServerSession user_session) throws DException { 32 String clause = "select * from " + SystemTables.parameters_TableName 33 + " where specific_catalog = ? and specific_schema = ? and specific_name = ? and ordinal_position = ? "; 34 _SelectQueryIterator iter = SqlSchemaConstants.getIterator(user_session, clause, new Object [] {SPECIFIC_CATALOG, SPECIFIC_SCHEMA, SPECIFIC_NAME, new Integer (ORDINAL_POSITION)}); 35 if (iter.first()) { 36 Object [] obj = (Object []) iter.getObject(); 37 DTD_IDENTIFIER = (String ) obj[SystemTablesFields.parameters_dtd_identifier]; 38 PARAMETER_MODE = (String ) obj[SystemTablesFields.parameters_parameter_mode]; 39 IS_RESULT = (String ) obj[SystemTablesFields.parameters_is_result]; 40 PARAMETER_NAME = (String ) obj[SystemTablesFields.parameters_parameter_name]; 41 FROM_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_from_sql_specific_catalog]; 42 FROM_SQL_SPECIFIC_SCHEMA = (String ) obj[SystemTablesFields.parameters_from_sql_specific_schema]; 43 FROM_SQL_SPECIFIC_NAME = (String ) obj[SystemTablesFields.parameters_from_sql_specific_name]; 44 TO_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_to_sql_specific_catalog]; 45 TO_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_to_sql_specific_schema]; 46 TO_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_to_sql_specific_name]; 47 } else { 48 throw new DException("DSE723", null); 49 } 50 } 51 52 53 public void loadDataFromRecord(_SelectQueryIterator iter) throws DException { 54 Object obj[] = (Object []) iter.getObject(); 55 SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_specific_catalog]; 56 SPECIFIC_SCHEMA = (String ) obj[SystemTablesFields.parameters_specific_schema]; 57 SPECIFIC_NAME = (String ) obj[SystemTablesFields.parameters_specific_name]; 58 ORDINAL_POSITION = obj[SystemTablesFields.parameters_ordinal_position].hashCode(); 59 DTD_IDENTIFIER = (String ) obj[SystemTablesFields.parameters_dtd_identifier]; 60 PARAMETER_MODE = (String ) obj[SystemTablesFields.parameters_parameter_mode]; 61 IS_RESULT = (String ) obj[SystemTablesFields.parameters_is_result]; 62 PARAMETER_NAME = (String ) obj[SystemTablesFields.parameters_parameter_name]; 63 FROM_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_from_sql_specific_catalog]; 64 FROM_SQL_SPECIFIC_SCHEMA = (String ) obj[SystemTablesFields.parameters_from_sql_specific_schema]; 65 FROM_SQL_SPECIFIC_NAME = (String ) obj[SystemTablesFields.parameters_from_sql_specific_name]; 66 TO_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_to_sql_specific_catalog]; 67 TO_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_to_sql_specific_schema]; 68 TO_SQL_SPECIFIC_CATALOG = (String ) obj[SystemTablesFields.parameters_to_sql_specific_name]; 69 } 70 71 public void save(_ServerSession user_session) throws DException { 72 Object [] values = new Object [] {SPECIFIC_CATALOG, 73 SPECIFIC_SCHEMA, 74 SPECIFIC_NAME, 75 new Integer (ORDINAL_POSITION), 76 DTD_IDENTIFIER, 77 PARAMETER_MODE, 78 IS_RESULT, 79 AS_LOCATOR, 80 PARAMETER_NAME, 81 FROM_SQL_SPECIFIC_CATALOG, 82 FROM_SQL_SPECIFIC_SCHEMA, 83 FROM_SQL_SPECIFIC_NAME, 84 TO_SQL_SPECIFIC_CATALOG, 85 TO_SQL_SPECIFIC_SCHEMA, 86 TO_SQL_SPECIFIC_NAME}; 87 SqlSchemaConstants.insert(user_session, SqlSchemaConstants.parameters_TableName, null, values); 88 } 89 90 public void delete(_ServerSession serverSession) throws DException { 91 String bve = "SPECIFIC_CATALOG=? and SPECIFIC_SCHEMA=? and SPECIFIC_NAME=? and ORDINAL_POSITION=?"; 92 _ServerSession globalSession = serverSession.getGlobalSession(); 93 booleanvalueexpression condition = ConditionParser.parseCondition(bve, globalSession, SqlSchemaConstants.parameters_TableName); 94 super.delete(serverSession, SqlSchemaConstants.parameters_TableName, condition, new Object [] {SPECIFIC_CATALOG, SPECIFIC_SCHEMA, SPECIFIC_NAME, new Integer (ORDINAL_POSITION)}); 95 } 96 97 public int getDescriptorType() { 98 return PARAMETERS_DESCRIPTOR; 99 } 100 } 101 | Popular Tags |