docs: private void createDBTable(Connection conn) throws SQLException {
          if (tc.isEntryEnabled())
              Tr.entry(tc, "createDBTable", new java.lang.Object[] { conn, this });
  
          Statement createTableStmt = null;
          PreparedStatement specStatement = null;
  
          try {
              createTableStmt = conn.createStatement();
  
              if (_isOracle) {
                  String oracleFullTableName = _recoveryTableName + _logIdentifierString + _recoveryTableNameSuffix;
                  String oracleTableString = oracleTablePreString + oracleFullTableName + oracleTablePostString;
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "Create Oracle Table using: " + oracleTableString);
  
                  String oracleIndexString = indexPreString + _recoveryIndexName + _logIdentifierString + _recoveryTableNameSuffix +
                                             " ON " + oracleFullTableName + indexPostString;
  
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "Create Oracle Index using: " + oracleIndexString);
                  // Create the Oracle table
                  createTableStmt.executeUpdate(oracleTableString);
                  // Create index on the new table
                  createTableStmt.executeUpdate(oracleIndexString);
              } else {
                  String db2FullTableName = _recoveryTableName + _logIdentifierString + _recoveryTableNameSuffix;
                  String db2TableString = db2TablePreString + db2FullTableName + db2TablePostString;
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "Create DB2 Table using: " + db2TableString);
  
                  String db2IndexString = indexPreString + _recoveryIndexName + _logIdentifierString + _recoveryTableNameSuffix +
                                          " ON " + db2FullTableName + indexPostString;
                  if (tc.isDebugEnabled())
                      Tr.debug(tc, "Create DB2 Index using: " + db2IndexString);
                  // Create the DB2 table
                  createTableStmt.executeUpdate(db2TableString);
                  // Create index on the new table
                  createTableStmt.executeUpdate(db2IndexString);
              }
  
              short serviceId = (short) _recoveryAgent.clientIdentifier();
              String insertString = "INSERT INTO " +
                                    _recoveryTableName + _logIdentifierString + _recoveryTableNameSuffix +
                                    " (SERVER_NAME, SERVICE_ID, RU_ID, RUSECTION_ID, RUSECTION_DATA_INDEX, DATA)" +
                                    " VALUES (?,?,?,?,?,?)";
              if (tc.isDebugEnabled())
                  Tr.debug(tc, "Have created the table, insert special HA LOCKING row using - " + insertString);
  
              specStatement = conn.prepareStatement(insertString);
              specStatement.setString(1, _currentProcessServerName);
              specStatement.setShort(2, serviceId);
              specStatement.setLong(3, -1); // NOTE RU_ID SET TO -1
              specStatement.setLong(4, 1);
              specStatement.setShort(5, (short) 1);
              byte buf[] = new byte[2];
              specStatement.setBytes(6, buf);
              int ret = specStatement.executeUpdate();
              if (tc.isDebugEnabled())
                  Tr.debug(tc, "Have inserted HA LOCKING ROW with return: " + ret);
  
          } finally {
              if (createTableStmt != null && !createTableStmt.isClosed()) {
                  createTableStmt.close();
              }
              if (specStatement != null && !specStatement.isClosed()) {
                  specStatement.close();
              }
          }
  
          if (tc.isEntryEnabled())
              Tr.exit(tc, "createDBTable");
      }