1 package com.daffodilwoods.daffodildb.server.serversystem; 2 3 import java.util.*; 4 5 import com.daffodilwoods.daffodildb.server.datadictionarysystem.*; 6 import com.daffodilwoods.daffodildb.server.sql99.*; 7 import com.daffodilwoods.daffodildb.server.sql99.dql.listenerevents.*; 8 import com.daffodilwoods.daffodildb.server.sql99.expression.booleanvalueexpression.*; 9 import com.daffodilwoods.daffodildb.server.sql99.utils.*; 10 import com.daffodilwoods.database.general.*; 11 import com.daffodilwoods.database.resource.*; 12 13 public class PreparedStatement implements _PreparedStatement, _Executer { 14 15 int queryType = 0; 16 int parametersCount; 17 _Executer executer; 18 _ColumnCharacteristics columnCharacteristics; 19 _ParameterMetaData parameterMetaData; 20 String query; 21 String verboseUser; 22 _ServerSession serverSession; 23 public PreparedStatement(_Executer executer0, int parametersCount0, _ParameterMetaData parameterMetaData0, String query0, String verboseUser0, _ServerSession serverSession0) { 24 executer = executer0; 25 parametersCount = parametersCount0; 26 parameterMetaData = parameterMetaData0; 27 query = query0; 28 verboseUser = verboseUser0; 29 serverSession = serverSession0; 30 } 31 32 public void setParameterCount(int parametersCount0) throws DException { 33 parametersCount = parametersCount0; 34 } 35 36 public Object execute(Object [] parm1) throws com.daffodilwoods.database.resource.DException { 37 if(!serverSession.getAutoCommit()) 38 serverSession.getUserSession().startTransaction() ; 39 PrintHandler.print(query, parm1, verboseUser); 40 Object returnedObject = executer.execute(parm1); 41 if (returnedObject == null) 42 return new Integer (0); 43 return returnedObject; 44 } 45 46 public int getParameterCount() { 47 return parametersCount; 48 } 49 50 public _ColumnCharacteristics getColumnCharacteristics() throws com.daffodilwoods.database.resource.DException { 51 if (columnCharacteristics != null) 52 return columnCharacteristics; 53 Object [] o = parametersCount == 0 ? null : new Object [parametersCount]; 54 Object returnedObject = executer.execute(o); 55 try { 56 columnCharacteristics = ( (_SelectIterator) returnedObject).getColumnCharacteristics(); 57 } catch (ClassCastException ex) { 58 } 59 return columnCharacteristics; 60 61 } 62 63 public Object execute(Object [] parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 64 if(!serverSession.getAutoCommit()) 65 serverSession.getUserSession().startTransaction() ; 66 PrintHandler.print(query, parm1, verboseUser); 67 Object returnedObject = executer.execute(parm1); 68 if (returnedObject == null) 69 return new Integer (0); 70 return returnedObject; 71 } 72 73 public Object executeUpdate(Object [] parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 74 PrintHandler.print(query, parm1, verboseUser); 75 Object returnedObject = executer.execute(parm1); 76 if (returnedObject == null) 77 return new Integer (0); 78 return returnedObject; 79 } 80 81 public Object executeQuery(Object [] parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 82 if(!serverSession.getAutoCommit()) 83 serverSession.getUserSession().startTransaction() ; 84 PrintHandler.print(query, parm1, verboseUser); 85 Object returnedObject = executer.execute(parm1); 86 if (returnedObject == null) 87 return new Integer (0); 88 return returnedObject; 89 } 90 91 public Object execute(HashMap parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 92 ProcedureVariableValue v = new ProcedureVariableValue(parm1); 93 return execute(v, parm2); 94 } 95 96 public Object execute(_VariableValues parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 97 if(!serverSession.getAutoCommit()) 98 serverSession.getUserSession().startTransaction() ; 99 Object returnedObject = executer.execute(parm1); 100 if (returnedObject == null) 101 return new Integer (0); 102 return returnedObject; 103 } 104 105 public Object executeForFresh(Object [] parm1) throws com.daffodilwoods.database.resource.DException { 106 if(!serverSession.getAutoCommit()) 107 serverSession.getUserSession().startTransaction() ; 108 PrintHandler.print(query, parm1, verboseUser); 109 Object returnedObject = executer.executeForFresh(parm1); 110 if (returnedObject == null) 111 return new Integer (0); 112 return returnedObject; 113 } 114 115 public Object execute(_VariableValues parm1) throws com.daffodilwoods.database.resource.DException { 116 if(!serverSession.getAutoCommit()) 117 serverSession.getUserSession().startTransaction() ; 118 Object returnedObject = executer.execute(parm1); 119 if (returnedObject == null) 120 return new Integer (0); 121 return returnedObject; 122 } 123 124 public _ParameterMetaData getParameterMetaData() throws DException { 125 return parameterMetaData; 126 } 127 128 public int getQueryType() { 129 return queryType; 130 } 131 132 public void setQueryType(int queryType0) throws DException { 133 queryType = queryType0; 134 } 135 136 public void close() { 137 executer = null; 138 } 139 } 140 | Popular Tags |