/* */ void prepareBindPreambles(int paramInt1, int paramInt2) /* */ { /* 1212 */ int i = this.bindIndicatorSubRange; /* */ /* 1214 */ initializeIndicatorSubRange(); /* */ /* 1216 */ int j = this.bindIndicatorSubRange; /* */ /* 1218 */ this.bindIndicatorSubRange = i; /* */ /* 1220 */ int k = this.bindIndicatorSubRange - j; /* 1221 */ OracleTypeADT[] arrayOfOracleTypeADT = this.parameterOtype == null ? null : this.parameterOtype[this.firstRowInBatch]; /* */ /* 1225 */ for (int m = 0; m < this.numberOfBindPositions; m++) /* */ { /* 1228 */ Binder localBinder = this.lastBinders[m]; /* */ OracleTypeADT localOracleTypeADT; /* */ int n; /* 1231 */ if (localBinder == this.theReturnParamBinder) /* */ { /* 1233 */ localOracleTypeADT = (OracleTypeADT) this.returnParamAccessors[m].internalOtype; /* 1234 */ n = 0; /* */ } /* */ else /* */ { /* 1238 */ localOracleTypeADT = arrayOfOracleTypeADT == null ? null : arrayOfOracleTypeADT[m]; /* */ /* 1240 */ if (this.outBindAccessors == null) { /* 1241 */ n = 0; /* */ } /* */ else { /* 1244 */ Accessor localAccessor = this.outBindAccessors[m]; /* */ /* 1246 */ if (localAccessor == null) { /* 1247 */ n = 0; /* 1248 */ } else if (localBinder == this.theOutBinder) /* */ { /* 1250 */ n = 1; /* */ /* 1252 */ if (localOracleTypeADT == null) /* 1253 */ localOracleTypeADT = (OracleTypeADT) localAccessor.internalOtype; /* */ } /* */ else { /* 1256 */ n = 2; /* */ } /* */ } /* 1259 */ if (localBinder == this.theSetCHARBinder) { /* 1260 */ n = (short) (n | 0x4); /* */ } /* */ } /* 1263 */ this.bindIndicators[(k++)] = n; /* */ /* 1265 */ if (localOracleTypeADT != null) /* */ { /* 1267 */ long l = localOracleTypeADT.getTdoCState(); /* */ /* 1269 */ this.bindIndicators[(k + 0)] = (short) (int) (l >> 48 & 0xFFFF); /* */ /* 1271 */ this.bindIndicators[(k + 1)] = (short) (int) (l >> 32 & 0xFFFF); /* */ /* 1273 */ this.bindIndicators[(k + 2)] = (short) (int) (l >> 16 & 0xFFFF); /* */ /* 1275 */ this.bindIndicators[(k + 3)] = (short) (int) (l & 0xFFFF); /* */ } /* */ /* 1278 */ k += 4; /* */ } /* */ }
/* */ void processDescribeData() /* */ throws SQLException /* */ { /* 112 */ this.described = true; /* 113 */ this.describedWithNames = true; /* */ /* 124 */ if ((this.accessors == null) || (this.numberOfDefinePositions > this.accessors.length)) { /* 125 */ this.accessors = new Accessor[this.numberOfDefinePositions]; /* */ } /* */ /* 141 */ int i = this.connection.queryMetaData1Offset; /* 142 */ int j = this.connection.queryMetaData2Offset; /* 143 */ short[] arrayOfShort = this.connection.queryMetaData1; /* 144 */ byte[] arrayOfByte = this.connection.queryMetaData2; /* */ /* 146 */ for (int k = 0; k < this.numberOfDefinePositions; ) /* */ { /* 149 */ int m = arrayOfShort[(i + 0)]; /* 150 */ int n = arrayOfShort[(i + 1)]; /* 151 */ int i1 = arrayOfShort[(i + 11)]; /* 152 */ boolean bool = arrayOfShort[(i + 2)] != 0; /* 153 */ int i2 = arrayOfShort[(i + 3)]; /* 154 */ int i3 = arrayOfShort[(i + 4)]; /* 155 */ int i4 = 0; /* 156 */ int i5 = 0; /* 157 */ int i6 = 0; /* 158 */ short s = arrayOfShort[(i + 5)]; /* 159 */ int i7 = arrayOfShort[(i + 6)]; /* 160 */ String str1 = bytes2String(arrayOfByte, j, i7); /* 161 */ int i8 = arrayOfShort[(i + 12)]; /* 162 */ String str2 = null; /* 163 */ OracleTypeADT localOracleTypeADT = null; /* */ /* 165 */ j += i7; /* */ /* 167 */ if (i8 > 0) /* */ { /* 169 */ str2 = bytes2String(arrayOfByte, j, i8); /* 170 */ j += i8; /* 171 */ localOracleTypeADT = new OracleTypeADT(str2, this.connection); /* 172 */ localOracleTypeADT.tdoCState = ((arrayOfShort[(i + 7)] & 0xFFFF) << 48 | (arrayOfShort[(i + 8)] & 0xFFFF) << 32 | (arrayOfShort[(i + 9)] & 0xFFFF) << 16 | arrayOfShort[(i + 10)] & 0xFFFF); /* */ } /* */ /* 180 */ Object localObject = this.accessors[k]; /* */ /* 182 */ if ((localObject != null) && (!((Accessor) localObject) .useForDescribeIfPossible(m, n, bool, i4, i2, i3, i5, i6, s, str2))) /* */ { /* 186 */ localObject = null; /* */ } /* 188 */ if (localObject == null) /* */ { /* 190 */ switch (m) /* */ { /* */ case 1: /* 194 */ localObject = new VarcharAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 198 */ if (i1 <= 0) break; /* 199 */ ((Accessor) localObject).setDisplaySize(i1); break; /* */ case 96: /* 204 */ localObject = new CharAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 208 */ if (i1 <= 0) break; /* 209 */ ((Accessor) localObject).setDisplaySize(i1); break; /* */ case 2: /* 214 */ localObject = new NumberAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 218 */ break; /* */ case 23: /* 221 */ localObject = new RawAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 225 */ break; /* */ case 100: /* 228 */ localObject = new BinaryFloatAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 232 */ break; /* */ case 101: /* 235 */ localObject = new BinaryDoubleAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 239 */ break; /* */ case 8: /* 242 */ localObject = new LongAccessor(this, k + 1, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 249 */ this.rowPrefetch = 1; /* */ /* 251 */ break; /* */ case 24: /* 254 */ localObject = new LongRawAccessor(this, k + 1, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 261 */ this.rowPrefetch = 1; /* */ /* 263 */ break; /* */ case 104: /* 266 */ localObject = new RowidAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 270 */ break; /* */ case 102: /* */ case 116: /* 275 */ localObject = new T2CResultSetAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 279 */ break; /* */ case 12: /* 282 */ localObject = new DateAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 286 */ break; /* */ case 180: /* 289 */ localObject = new TimestampAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 293 */ break; /* */ case 181: /* 296 */ localObject = new TimestamptzAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 300 */ break; /* */ case 231: /* 303 */ localObject = new TimestampltzAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 307 */ break; /* */ case 182: /* 310 */ localObject = new IntervalymAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 314 */ break; /* */ case 183: /* 317 */ localObject = new IntervaldsAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 321 */ break; /* */ case 112: /* 324 */ localObject = new ClobAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 328 */ break; /* */ case 113: /* 331 */ localObject = new BlobAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 335 */ break; /* */ case 114: /* 338 */ localObject = new BfileAccessor(this, n, bool, i4, i2, i3, i5, i6, s); /* */ /* 342 */ break; /* */ case 109: /* 345 */ localObject = new NamedTypeAccessor( this, n, bool, i4, i2, i3, i5, i6, s, str2, localOracleTypeADT); /* */ /* 350 */ break; /* */ case 111: /* 353 */ localObject = new RefTypeAccessor(this, n, bool, i4, i2, i3, i5, i6, s, str2, localOracleTypeADT); /* */ /* 358 */ break; /* */ default: /* 364 */ throw new SQLException("Unknown or unimplemented accessor type: " + m); /* */ } /* */ /* 372 */ this.accessors[k] = localObject; /* */ } /* 374 */ else if (localOracleTypeADT != null) /* */ { /* 376 */ ((Accessor) localObject).initMetadata(); /* */ } /* */ /* 379 */ ((Accessor) localObject).columnName = str1; /* */ /* 147 */ k++; i += 13; /* */ } /* */ }