@Override public void close() { super.close(); dbTables.close(); connections.close(); batchingQueryRunner.close(); }
private <T> T runDdl(TableReference tableRef, Function<DbDdlTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { /* The ddl actions can used both the fully qualified name and the internal name */ return runner.apply(dbTables.createDdl(tableRef, conns)); } finally { conns.close(); } }
private <T> T runInitialization(Function<DbTableInitializer, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createInitializer(conns)); } finally { conns.close(); } }
@Override public Map<RangeRequest, TokenBackedBasicResultsPage<RowResult<Value>, byte[]>> getFirstBatchForRanges( TableReference tableRef, Iterable<RangeRequest> rangeRequests, long timestamp) { return new DbKvsGetRanges(this, dbTables.getDbType(), connections, dbTables.getPrefixedTableNames()) .getFirstBatchForRanges(tableRef, rangeRequests, timestamp); }
private <T> T runReadWrite(TableReference tableRef, ReadWriteTask<T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.run( dbTables.createRead(tableRef, conns), dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
private <T> T runWrite(TableReference tableRef, Function<DbWriteTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
private TableMetadata getOrReturnEmpty(TableReference tableRef, ConnectionSupplier conns) { TableMetadata cached = cache.getIfPresent(tableRef); if (cached != null) { return cached; } else { byte[] rawMetadata = dbTables.createMetadata(tableRef, conns).getMetadata(); TableMetadata hydrated = hydrateMetadata(rawMetadata); cache.put(tableRef, hydrated); return hydrated; } }
private <T> T runRead(TableReference tableRef, Function<DbReadTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createRead(tableRef, conns)); } finally { conns.close(); } }
@Override public Map<RangeRequest, TokenBackedBasicResultsPage<RowResult<Value>, byte[]>> getFirstBatchForRanges( TableReference tableRef, Iterable<RangeRequest> rangeRequests, long timestamp) { return new DbKvsGetRanges(this, dbTables.getDbType(), connections, dbTables.getPrefixedTableNames()) .getFirstBatchForRanges(tableRef, rangeRequests, timestamp); }
private <T> T runReadWrite(TableReference tableRef, ReadWriteTask<T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.run( dbTables.createRead(tableRef, conns), dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
SqlConnection freshConn = conns.getFresh(); try { result.set(runner.apply(dbTables.createWrite(tableRef, new ConnectionSupplier(Suppliers.ofInstance(freshConn))))); } finally {
private <T> T runMetadata(TableReference tableRef, Function<DbMetadataTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { /* The metadata table operates only on the fully qualified table reference */ return runner.apply(dbTables.createMetadata(tableRef, conns)); } finally { conns.close(); } }
private <T> T runRead(TableReference tableRef, Function<DbReadTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createRead(tableRef, conns)); } finally { conns.close(); } }
private <T> void runWriteForceAutocommit(TableReference tableRef, Function<DbWriteTable, T> runner) { try (ConnectionSupplier conns = new ConnectionSupplier(connections)) { SqlConnection conn = conns.get(); boolean autocommit; try { autocommit = conn.getUnderlyingConnection().getAutoCommit(); } catch (PalantirSqlException | SQLException e1) { throw Throwables.rewrapAndThrowUncheckedException(e1); } if (!autocommit) { runWriteFreshConnection(conns, tableRef, runner); } else { runner.apply(dbTables.createWrite(tableRef, conns)); } } }
private TableMetadata getOrReturnEmpty(TableReference tableRef, ConnectionSupplier conns) { TableMetadata cached = cache.getIfPresent(tableRef); if (cached != null) { return cached; } else { byte[] rawMetadata = dbTables.createMetadata(tableRef, conns).getMetadata(); TableMetadata hydrated = hydrateMetadata(rawMetadata); cache.put(tableRef, hydrated); return hydrated; } }
@Override public void close() { super.close(); dbTables.close(); connections.close(); batchingQueryRunner.close(); }
private <T> T runInitialization(Function<DbTableInitializer, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createInitializer(conns)); } finally { conns.close(); } }
private <T> T runDdl(TableReference tableRef, Function<DbDdlTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { /* The ddl actions can used both the fully qualified name and the internal name */ return runner.apply(dbTables.createDdl(tableRef, conns)); } finally { conns.close(); } }
private <T> T runWrite(TableReference tableRef, Function<DbWriteTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { return runner.apply(dbTables.createWrite(tableRef, conns)); } finally { conns.close(); } }
private <T> T runMetadata(TableReference tableRef, Function<DbMetadataTable, T> runner) { ConnectionSupplier conns = new ConnectionSupplier(connections); try { /* The metadata table operates only on the fully qualified table reference */ return runner.apply(dbTables.createMetadata(tableRef, conns)); } finally { conns.close(); } }