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