/*      */ void closeUsedStreams(int paramInt) /*      */ throws SQLException /*      */ {
   /* 1143 */ while ((this.nextStream != null) && (this.nextStream.columnIndex < paramInt))
   /*      */ {
     /*      */ try
     /*      */ {
       /* 1150 */ this.nextStream.close();
       /*      */ }
     /*      */ catch (IOException localIOException1)
     /*      */ {
       /* 1154 */ DatabaseError.throwSqlException(localIOException1);
       /*      */ }
     /*      */
     /* 1157 */ this.nextStream = this.nextStream.nextStream;
     /*      */ }
   /*      */
   /* 1160 */ if (this.nextStream != null)
     /*      */ try
     /*      */ {
       /* 1163 */ this.nextStream.needBytes();
       /*      */ }
     /*      */ catch (IOException localIOException2)
     /*      */ {
       /* 1167 */ DatabaseError.throwSqlException(localIOException2);
       /*      */ }
   /*      */ }
  public static boolean fixErrors(List<DatabaseError> list, ProgressCallbackListener pcl) {
    DriveMap.tryWait();

    pcl.setMax(list.size());
    pcl.reset();

    boolean fullsuccess = true;

    for (int i = 0; i < list.size(); i++) {
      pcl.step();

      DatabaseError error = list.get(i);

      if (!canFix(list, error)) continue;

      boolean succval = error.autoFix();

      if (!succval) {
        CCLog.addWarning(
            LocaleBundle.getFormattedString(
                "CheckDatabaseDialog.Autofix.problem",
                error.getErrorString(),
                error.getElement1Name())); // $NON-NLS-1$
        fullsuccess = false;
      }
    }

    pcl.reset();

    return fullsuccess;
  }
  ROWID getROWID(int paramInt) throws SQLException {
    /* 1034 */ if (this.rowSpaceIndicator == null) {
      /* 1039 */ DatabaseError.throwSqlException(21);
    }

    /* 1045 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1046 */ return null;
    }
    /* 1048 */ DatabaseError.throwSqlException(4);

    /* 1053 */ return null;
  }
  boolean isNull(int paramInt) throws SQLException {
    /* 1644 */ if (this.rowSpaceIndicator == null) {
      /* 1649 */ DatabaseError.throwSqlException(21);
    }

    /* 1655 */ return this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1;
  }
  void setNull(int paramInt) throws SQLException {
    /* 1660 */ if (this.rowSpaceIndicator == null) {
      /* 1665 */ DatabaseError.throwSqlException(21);
    }

    /* 1671 */ this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] = -1;
  }
 int doTransaction(Xid xid, int mode, int command) throws XAException {
   int returnVal = -1;
   try {
     try {
       T4CTTIOtxen otxen = physicalConn.otxen;
       byte xidxid[] = null;
       byte gtrid[] = xid.getGlobalTransactionId();
       byte bqual[] = xid.getBranchQualifier();
       int gtrid_l = 0;
       int bqual_l = 0;
       if (gtrid != null && bqual != null) {
         gtrid_l = Math.min(gtrid.length, 64);
         bqual_l = Math.min(bqual.length, 64);
         xidxid = new byte[128];
         System.arraycopy(gtrid, 0, xidxid, 0, gtrid_l);
         System.arraycopy(bqual, 0, xidxid, gtrid_l, bqual_l);
       }
       byte txctx[] = context;
       physicalConn.sendPiggyBackedMessages();
       otxen.marshal(mode, txctx, xidxid, xid.getFormatId(), gtrid_l, bqual_l, timeout, command);
       returnVal = otxen.receive(errorNumber);
     } catch (IOException ioe) {
       DatabaseError.throwSqlException(ioe);
     }
   } catch (SQLException s) {
     errorNumber[0] = s.getErrorCode();
   }
   if (errorNumber[0] == 0) {
     throw new XAException(-6);
   }
   if (returnVal == -1) {
     returnVal = errorNumber[0];
   }
   return returnVal;
 }
 /*      */ void doDescribe(boolean paramBoolean) /*      */ throws SQLException /*      */ {
   /*  402 */ if (this.closed) {
     /*  403 */ DatabaseError.throwSqlException(9);
     /*      */ }
   /*  405 */ if (this.described == true)
   /*      */ {
     /*  407 */ return;
     /*      */ }
   /*      */
   /*  410 */ if (!this.isOpen)
   /*      */ {
     /*  412 */ DatabaseError.throwSqlException(144);
     /*      */ }
   /*      */
   /*      */ int i;
   /*      */ do
   /*      */ {
     /*  419 */ i = 0;
     /*      */
     /*  424 */ this.numberOfDefinePositions =
         T2CStatement.t2cDescribe(
             this.c_state,
             this.connection.queryMetaData1,
             this.connection.queryMetaData2,
             this.connection.queryMetaData1Offset,
             this.connection.queryMetaData2Offset,
             this.connection.queryMetaData1Size,
             this.connection.queryMetaData2Size);
     /*      */
     /*  437 */ if (this.numberOfDefinePositions == -1)
     /*      */ {
       /*  439 */ this.connection.checkError(this.numberOfDefinePositions);
       /*      */ }
     /*      */
     /*  443 */ if (this.numberOfDefinePositions != T2C_EXTEND_BUFFER) /*      */ continue;
     /*  445 */ i = 1;
     /*      */
     /*  449 */ this.connection.reallocateQueryMetaData(
         this.connection.queryMetaData1Size * 2, this.connection.queryMetaData2Size * 2);
     /*      */ }
   /*      */
   /*  453 */ while (i != 0);
   /*      */
   /*  455 */ processDescribeData();
   /*      */ }
 /*      */ Accessor allocateAccessor(
     int paramInt1,
     int paramInt2,
     int paramInt3,
     int paramInt4,
     short paramShort,
     String paramString,
     boolean paramBoolean)
     /*      */ throws SQLException
       /*      */ {
   /*      */ Object localObject;
   /* 1107 */ if (paramInt1 == 109)
   /*      */ {
     /* 1109 */ if (paramString == null) {
       /* 1110 */ if (paramBoolean) {
         /* 1111 */ DatabaseError.throwSqlException(12, "sqlType=" + paramInt2);
         /*      */ }
       /*      */ else {
         /* 1114 */ DatabaseError.throwSqlException(60, "Unable to resolve type \"null\"");
         /*      */ }
       /*      */ }
     /* 1117 */ localObject =
         new T2CNamedTypeAccessor(
             this, paramString, paramShort, paramInt2, paramBoolean, paramInt3 - 1);
     /*      */
     /* 1120 */ ((Accessor) localObject).initMetadata();
     /*      */
     /* 1122 */ return localObject;
     /*      */ }
   /* 1124 */ if ((paramInt1 == 116) || (paramInt1 == 102))
   /*      */ {
     /* 1127 */ if ((paramBoolean) && (paramString != null)) {
       /* 1128 */ DatabaseError.throwSqlException(12, "sqlType=" + paramInt2);
       /*      */ }
     /*      */
     /* 1131 */ localObject =
         new T2CResultSetAccessor(this, paramInt4, paramShort, paramInt2, paramBoolean);
     /*      */
     /* 1134 */ return localObject;
     /*      */ }
   /*      */
   /* 1137 */ return (Accessor)
       super.allocateAccessor(
           paramInt1, paramInt2, paramInt3, paramInt4, paramShort, paramString, paramBoolean);
   /*      */ }
  public static boolean canFix(List<DatabaseError> list, DatabaseError error) {
    if (!error.isAutoFixable()) { // Test if this File is Fixable
      return false;
    }

    List<DatabaseError> errlist =
        getAllWithSameElement(list, error); // Test if all Errors with this File are Fixable

    boolean succ = true;
    for (int j = 0; j < errlist.size(); j++) {
      DatabaseError lerror = errlist.get(j);
      succ &= lerror.isAutoFixable();
    }

    if (!succ) {
      return false;
    }

    return true;
  }
  OPAQUE getOPAQUE(int paramInt) throws SQLException {
    /* 1174 */ if (this.rowSpaceIndicator == null) {
      /* 1179 */ DatabaseError.throwSqlException(21);
    }

    /* 1185 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1186 */ return null;
    }
    /* 1188 */ unimpl("getOPAQUE");

    /* 1193 */ return null;
  }
  STRUCT getSTRUCT(int paramInt) throws SQLException {
    /* 1146 */ if (this.rowSpaceIndicator == null) {
      /* 1151 */ DatabaseError.throwSqlException(21);
    }

    /* 1157 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1158 */ return null;
    }
    /* 1160 */ unimpl("getSTRUCT");

    /* 1165 */ return null;
  }
  URL getURL(int paramInt) throws SQLException {
    /* 1589 */ if (this.rowSpaceIndicator == null) {
      /* 1594 */ DatabaseError.throwSqlException(21);
    }

    /* 1600 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1601 */ return null;
    }
    /* 1603 */ unimpl("getURL");

    /* 1608 */ return null;
  }
  Datum[] getOraclePlsqlIndexTable(int paramInt) throws SQLException {
    /* 1617 */ if (this.rowSpaceIndicator == null) {
      /* 1622 */ DatabaseError.throwSqlException(21);
    }

    /* 1628 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1629 */ return null;
    }
    /* 1631 */ unimpl("getOraclePlsqlIndexTable");

    /* 1636 */ return null;
  }
  BLOB getBLOB(int paramInt) throws SQLException {
    /* 1286 */ if (this.rowSpaceIndicator == null) {
      /* 1291 */ DatabaseError.throwSqlException(21);
    }

    /* 1297 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1298 */ return null;
    }
    /* 1300 */ unimpl("getBLOB");

    /* 1305 */ return null;
  }
  TIMESTAMPLTZ getTIMESTAMPLTZ(int paramInt) throws SQLException {
    /* 1561 */ if (this.rowSpaceIndicator == null) {
      /* 1566 */ DatabaseError.throwSqlException(21);
    }

    /* 1572 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1573 */ return null;
    }
    /* 1575 */ unimpl("getTIMESTAMPLTZ");

    /* 1580 */ return null;
  }
  INTERVALDS getINTERVALDS(int paramInt) throws SQLException {
    /* 1477 */ if (this.rowSpaceIndicator == null) {
      /* 1482 */ DatabaseError.throwSqlException(21);
    }

    /* 1488 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1489 */ return null;
    }
    /* 1491 */ unimpl("getINTERVALDS");

    /* 1496 */ return null;
  }
  NUMBER getNUMBER(int paramInt) throws SQLException {
    /* 1062 */ if (this.rowSpaceIndicator == null) {
      /* 1067 */ DatabaseError.throwSqlException(21);
    }

    /* 1073 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1074 */ return null;
    }
    /* 1076 */ unimpl("getNUMBER");

    /* 1081 */ return null;
  }
  CHAR getCHAR(int paramInt) throws SQLException {
    /* 1230 */ if (this.rowSpaceIndicator == null) {
      /* 1235 */ DatabaseError.throwSqlException(21);
    }

    /* 1241 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1242 */ return null;
    }
    /* 1244 */ unimpl("getCHAR");

    /* 1249 */ return null;
  }
  REF getREF(int paramInt) throws SQLException {
    /* 1202 */ if (this.rowSpaceIndicator == null) {
      /* 1207 */ DatabaseError.throwSqlException(21);
    }

    /* 1213 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1214 */ return null;
    }
    /* 1216 */ unimpl("getREF");

    /* 1221 */ return null;
  }
  Object getObject(int paramInt, Map paramMap) throws SQLException {
    /* 1393 */ if (this.rowSpaceIndicator == null) {
      /* 1398 */ DatabaseError.throwSqlException(21);
    }

    /* 1404 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1405 */ return null;
    }
    /* 1407 */ unimpl("getObject");

    /* 1412 */ return null;
  }
  BFILE getBFILE(int paramInt) throws SQLException {
    /* 1342 */ if (this.rowSpaceIndicator == null) {
      /* 1347 */ DatabaseError.throwSqlException(21);
    }

    /* 1353 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1354 */ return null;
    }
    /* 1356 */ unimpl("getBFILE");

    /* 1361 */ return null;
  }
  CLOB getCLOB(int paramInt) throws SQLException {
    /* 1314 */ if (this.rowSpaceIndicator == null) {
      /* 1319 */ DatabaseError.throwSqlException(21);
    }

    /* 1325 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1326 */ return null;
    }
    /* 1328 */ unimpl("getCLOB");

    /* 1333 */ return null;
  }
  ARRAY getARRAY(int paramInt) throws SQLException {
    /* 1118 */ if (this.rowSpaceIndicator == null) {
      /* 1123 */ DatabaseError.throwSqlException(21);
    }

    /* 1129 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1130 */ return null;
    }
    /* 1132 */ unimpl("getARRAY");

    /* 1137 */ return null;
  }
  TIMESTAMP getTIMESTAMP(int paramInt) throws SQLException {
    /* 1505 */ if (this.rowSpaceIndicator == null) {
      /* 1510 */ DatabaseError.throwSqlException(21);
    }

    /* 1516 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1517 */ return null;
    }
    /* 1519 */ unimpl("getTIMESTAMP");

    /* 1524 */ return null;
  }
  DATE getDATE(int paramInt) throws SQLException {
    /* 1090 */ if (this.rowSpaceIndicator == null) {
      /* 1095 */ DatabaseError.throwSqlException(21);
    }

    /* 1101 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1102 */ return null;
    }
    /* 1104 */ unimpl("getDATE");

    /* 1109 */ return null;
  }
  TIMESTAMPTZ getTIMESTAMPTZ(int paramInt) throws SQLException {
    /* 1533 */ if (this.rowSpaceIndicator == null) {
      /* 1538 */ DatabaseError.throwSqlException(21);
    }

    /* 1544 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1545 */ return null;
    }
    /* 1547 */ unimpl("getTIMESTAMPTZ");

    /* 1552 */ return null;
  }
  Reader getCharacterStream(int paramInt) throws SQLException {
    /* 1421 */ if (this.rowSpaceIndicator == null) {
      /* 1426 */ DatabaseError.throwSqlException(21);
    }

    /* 1432 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1433 */ return null;
    }
    /* 1435 */ unimpl("getCharacterStream");

    /* 1440 */ return null;
  }
  RAW getRAW(int paramInt) throws SQLException {
    /* 1258 */ if (this.rowSpaceIndicator == null) {
      /* 1263 */ DatabaseError.throwSqlException(21);
    }

    /* 1269 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1270 */ return null;
    }
    /* 1272 */ unimpl("getRAW");

    /* 1277 */ return null;
  }
  INTERVALYM getINTERVALYM(int paramInt) throws SQLException {
    /* 1449 */ if (this.rowSpaceIndicator == null) {
      /* 1454 */ DatabaseError.throwSqlException(21);
    }

    /* 1460 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1461 */ return null;
    }
    /* 1463 */ unimpl("getINTERVALYM");

    /* 1468 */ return null;
  }
  Datum getOracleObject(int paramInt) throws SQLException {
    /* 1006 */ if (this.rowSpaceIndicator == null) {
      /* 1011 */ DatabaseError.throwSqlException(21);
    }

    /* 1017 */ if (this.rowSpaceIndicator[(this.indicatorIndex + paramInt)] == -1) {
      /* 1018 */ return null;
    }
    /* 1020 */ unimpl("getOracleObject");

    /* 1025 */ return null;
  }