{
super(paramjdbcConnection, paramInt);
paramString = paramjdbcConnection.nativeSQL(paramString);
this.resultOut.setResultType(65555);
this.resultOut.setMainString(paramString);
Result localResult = this.connection.sessionProxy.execute(this.resultOut);
if (localResult.isError())
Util.throwError(localResult);
Iterator localIterator = localResult.iterator();
try
{
Object[] arrayOfObject = (Object[])localIterator.next();
this.statementID = ((Result)arrayOfObject[0]).getStatementID();
arrayOfObject = (Object[])localIterator.next();
this.rsmdDescriptor = ((Result)arrayOfObject[0]);
this.isRowCount = (this.rsmdDescriptor.mode == 1);
arrayOfObject = (Object[])localIterator.next();
this.pmdDescriptor = ((Result)arrayOfObject[0]);
this.parameterTypes = this.pmdDescriptor.metaData.getParameterTypes();
this.parameterValues = new Object[this.parameterTypes.length];
this.parameterSet = new boolean[this.parameterTypes.length];
this.parameterModes = this.pmdDescriptor.metaData.paramMode;
}
catch (Exception localException)
{
throw Trace.error(40, localException.toString());
}
this.resultOut = new Result(65548, this.parameterTypes, this.statementID);
this.sql = paramString;
}