+ this.recordId = Long.parseLong(pp[18]);\r
+ this.clength2 = (pp.length == 21) ? Long.parseLong(pp[19]) : 0;\r
+ this.fileName = pp[20];\r
+ }\r
+\r
+ /**\r
+ * Get Log Records.\r
+ * @param os outputstream\r
+ * @param bs RLEBitSet object\r
+ * @throws IOException in case of I/O error\r
+ */\r
+ public static void printLogRecords(OutputStream os, RLEBitSet bs) throws IOException {\r
+ final String sql = "select * from LOG_RECORDS where RECORD_ID >= ? AND RECORD_ID <= ?";\r
+ DB db = new DB();\r
+ try (Connection conn = db.getConnection()) {\r
+ Iterator<Long[]> iter = bs.getRangeIterator();\r
+ try (PreparedStatement ps = conn.prepareStatement(sql)) {\r
+ while (iter.hasNext()) {\r
+ Long[] nxt = iter.next();\r
+ ps.setLong(1, nxt[0]);\r
+ ps.setLong(2, nxt[1]);\r
+ try (ResultSet rs = ps.executeQuery()) {\r
+ while (rs.next()) {\r
+ LogRecord lr = new LogRecord(rs);\r
+ os.write(lr.toString().getBytes());\r
+ }\r
+ ps.clearParameters();\r
+ }\r
+ }\r
+ }\r
+ } catch (SQLException e) {\r
+ intlogger.error("PROV0001 printLogRecords: " + e.getMessage(), e);\r
+ }\r