@Override public void delete(List<Entry<Cell, Long>> entries) { List<Object[]> args = Lists.newArrayListWithCapacity(entries.size()); for (Map.Entry<Cell, Long> entry : entries) { Cell cell = entry.getKey(); args.add(new Object[] {cell.getRowName(), cell.getColumnName(), entry.getValue()}); } String prefixedTableName = prefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ONE (" + prefixedTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(prefixedTableName) + ") */ " + " FROM " + prefixedTableName + " m " + " WHERE m.row_name = ? " + " AND m.col_name = ? " + " AND m.ts = ?", args); }
@Override public void deleteAllTimestamps(Map<Cell, Long> maxTimestampExclusiveByCell, boolean deleteSentinels) { List<Object[]> args = Lists.newArrayListWithCapacity(maxTimestampExclusiveByCell.size()); long minTsToDelete = getLowerBound(deleteSentinels); maxTimestampExclusiveByCell.forEach((cell, ts) -> args.add(new Object[] {cell.getRowName(), cell.getColumnName(), minTsToDelete, ts})); String prefixedTableName = prefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ALL_TS (" + prefixedTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(prefixedTableName) + ") */ " + " FROM " + prefixedTableName + " m " + " WHERE m.row_name = ? " + " AND m.col_name = ? " + " AND m.ts >= ? " + " AND m.ts < ?", args); }
private void deleteOverflow(String overflowTable, List<Object[]> args) { String shortTableName = oraclePrefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ONE_OVERFLOW (" + overflowTable + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(overflowTable) + ") */ " + " FROM " + overflowTable + " m " + " WHERE m.id IN (SELECT /*+ INDEX(i " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " i.overflow " + " FROM " + shortTableName + " i " + " WHERE i.row_name = ? " + " AND i.col_name = ? " + " AND i.ts = ? " + " AND i.overflow IS NOT NULL)", args); }
private void deleteAllTimestampsOverflow(String overflowTable, List<Object[]> args) { String shortTableName = oraclePrefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ALL_TS_OVERFLOW (" + overflowTable + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(overflowTable) + ") */ " + " FROM " + overflowTable + " m " + " WHERE m.id IN (SELECT /*+ INDEX(i " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " i.overflow " + " FROM " + shortTableName + " i " + " WHERE i.row_name = ? " + " AND i.col_name = ? " + " AND i.ts >= ? " + " AND i.ts < ? " + " AND i.overflow IS NOT NULL)", args); }
conn.updateManyUnregisteredQuery(" /* DELETE_ONE (" + shortTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " FROM " + shortTableName + " m "
conn.updateManyUnregisteredQuery(" /* DELETE_ALL_TS (" + shortTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " FROM " + shortTableName + " m "
@Override public void delete(List<Entry<Cell, Long>> entries) { List<Object[]> args = Lists.newArrayListWithCapacity(entries.size()); for (Map.Entry<Cell, Long> entry : entries) { Cell cell = entry.getKey(); args.add(new Object[] {cell.getRowName(), cell.getColumnName(), entry.getValue()}); } String prefixedTableName = prefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ONE (" + prefixedTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(prefixedTableName) + ") */ " + " FROM " + prefixedTableName + " m " + " WHERE m.row_name = ? " + " AND m.col_name = ? " + " AND m.ts = ?", args); }
@Override public void deleteAllTimestamps(Map<Cell, Long> maxTimestampExclusiveByCell, boolean deleteSentinels) { List<Object[]> args = Lists.newArrayListWithCapacity(maxTimestampExclusiveByCell.size()); long minTsToDelete = getLowerBound(deleteSentinels); maxTimestampExclusiveByCell.forEach((cell, ts) -> args.add(new Object[] {cell.getRowName(), cell.getColumnName(), minTsToDelete, ts})); String prefixedTableName = prefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ALL_TS (" + prefixedTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(prefixedTableName) + ") */ " + " FROM " + prefixedTableName + " m " + " WHERE m.row_name = ? " + " AND m.col_name = ? " + " AND m.ts >= ? " + " AND m.ts < ?", args); }
private void deleteOverflow(String overflowTable, List<Object[]> args) { String shortTableName = oraclePrefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ONE_OVERFLOW (" + overflowTable + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(overflowTable) + ") */ " + " FROM " + overflowTable + " m " + " WHERE m.id IN (SELECT /*+ INDEX(i " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " i.overflow " + " FROM " + shortTableName + " i " + " WHERE i.row_name = ? " + " AND i.col_name = ? " + " AND i.ts = ? " + " AND i.overflow IS NOT NULL)", args); }
private void deleteAllTimestampsOverflow(String overflowTable, List<Object[]> args) { String shortTableName = oraclePrefixedTableNames.get(tableRef, conns); conns.get().updateManyUnregisteredQuery(" /* DELETE_ALL_TS_OVERFLOW (" + overflowTable + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(overflowTable) + ") */ " + " FROM " + overflowTable + " m " + " WHERE m.id IN (SELECT /*+ INDEX(i " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " i.overflow " + " FROM " + shortTableName + " i " + " WHERE i.row_name = ? " + " AND i.col_name = ? " + " AND i.ts >= ? " + " AND i.ts < ? " + " AND i.overflow IS NOT NULL)", args); }
conn.updateManyUnregisteredQuery(" /* DELETE_ONE (" + shortTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " FROM " + shortTableName + " m "
conn.updateManyUnregisteredQuery(" /* DELETE_ALL_TS (" + shortTableName + ") */ " + " DELETE /*+ INDEX(m " + PrimaryKeyConstraintNames.get(shortTableName) + ") */ " + " FROM " + shortTableName + " m "