/* */ 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; /* */ } /* */ }