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.utils.*; 7 import com.daffodilwoods.daffodildb.utils.parser.*; 8 import com.daffodilwoods.database.general.*; 9 import com.daffodilwoods.database.resource.*; 10 public class NonPreparedStatement implements _PreparedStatement { 11 StatementExecuter parsedObject; 12 _ServerSession serverSession; 13 String verboseUser; 14 int queryType = 0; 15 16 public NonPreparedStatement(_ServerSession serverSession0,StatementExecuter parsedObject0, String verboseUser0) { 17 parsedObject = parsedObject0; 18 serverSession = serverSession0; 19 verboseUser = verboseUser0; 20 } 21 22 public Object execute(Object [] parm1) throws com.daffodilwoods.database. 23 resource.DException { 24 PrintHandler.print(parsedObject, null,verboseUser); 25 Object returnedObject = null; 26 if (queryType == PreparedStatement.SQLschemastatement) { 27 serverSession.commit(); 28 _DataDictionary dd =serverSession.getDataDictionary(); 29 dd.lockDDL(); 30 _ServerSession ss = serverSession.getSystemServerSession(); 31 try { 32 try { 33 returnedObject = parsedObject.run(serverSession); 34 } 35 catch (DException ex) { 36 dd.restoreGeneratedKeys(); 37 serverSession.getCreateIndexList().clear(); 38 ss.rollback(); 39 throw ex; 40 } 41 catch (DRuntimeException ex) { 42 dd.restoreGeneratedKeys(); 43 serverSession.getCreateIndexList().clear(); 44 ss.rollback(); 45 throw ex; 46 } 47 48 ((ServerSession)ss).createIndexesList = serverSession.getCreateIndexList(); 49 ss.commit(); 50 serverSession.getCreateIndexList().clear(); 51 } 52 finally { 53 dd.releaseDDL(); 54 } 55 } 56 else 57 returnedObject = parsedObject.run(serverSession); 58 59 if (returnedObject == null) 60 return new Integer (0); 61 return returnedObject; 62 } 63 64 public int getParameterCount() { 65 return 0; 66 } 67 public _ColumnCharacteristics getColumnCharacteristics() throws com.daffodilwoods.database.resource.DException { 68 throw new UnsupportedOperationException ("Method not supported... "); 69 } 70 public Object execute(Object [] parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 71 return execute(null); 72 } 73 74 public Object executeUpdate(Object [] parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 75 return execute(null); 76 } 77 public Object executeQuery(Object [] parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 78 throw new UnsupportedOperationException ("Method not supported... "); 79 } 80 public Object execute(HashMap parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 81 throw new UnsupportedOperationException ("Method not supported... "); 82 } 83 public Object execute(_VariableValues parm1, int parm2) throws com.daffodilwoods.database.resource.DException { 84 Object returnedObject = parsedObject.run(serverSession); 85 if(returnedObject == null) 86 return new Integer (0); 87 return returnedObject; 88 } 89 public Object executeForFresh(Object [] parm1) throws com.daffodilwoods.database.resource.DException { 90 91 throw new java.lang.UnsupportedOperationException ("Method executeForFresh() not yet implemented."); 92 } 93 public _ParameterMetaData getParameterMetaData() throws DException{ 94 return new ParameterMetaData(null,null); 95 } 96 97 public int getQueryType() { 98 return queryType; 99 } 100 101 public void setQueryType(int queryType0) throws DException{ 102 queryType = queryType0; 103 } 104 105 public void close() { 106 } 107 } 108 | Popular Tags |