@Override public void delete(RangeRequest range) { String prefixedTableName = prefixedTableNames.get(tableRef, conns); StringBuilder query = new StringBuilder(); query.append(" /* DELETE_RANGE (").append(prefixedTableName).append(") */ "); query.append(" DELETE FROM ").append(prefixedTableName).append(" m "); WhereClauses whereClauses = WhereClauses.create("m", range); List<Object> args = whereClauses.getArguments(); List<String> clauses = whereClauses.getClauses(); if (!clauses.isEmpty()) { query.append(" WHERE "); Joiner.on(" AND ").appendTo(query, clauses); } // execute the query conns.get().updateUnregisteredQuery(query.toString(), args.toArray()); }
private void deleteOverflowRange(String overflowTable, String shortTableName, RangeRequest range) { StringBuilder query = new StringBuilder(); query.append(" /* DELETE_RANGE_OVERFLOW (").append(overflowTable).append(") */ "); query.append(" DELETE /*+ INDEX(m pk_").append(overflowTable).append(") */ "); query.append(" FROM ").append(overflowTable).append(" m "); query.append(" WHERE m.id IN ("); // subquery for finding rows in the short table query.append("SELECT /*+ INDEX(i pk_").append(shortTableName).append(") */ "); query.append(" i.overflow "); query.append(" FROM ").append(shortTableName).append(" i "); // add where clauses WhereClauses whereClauses = WhereClauses.create("i", range, "i.overflow IS NOT NULL"); List<Object> args = whereClauses.getArguments(); List<String> clauses = whereClauses.getClauses(); if (!clauses.isEmpty()) { query.append(" WHERE "); Joiner.on(" AND ").appendTo(query, clauses); } query.append(")"); // execute the query conns.get().updateUnregisteredQuery(query.toString(), args.toArray()); }
@Override public void putMetadata(byte[] metadata) { Preconditions.checkArgument(exists(), "Table %s does not exist.", tableRef); conns.get().updateUnregisteredQuery( "UPDATE " + config.metadataTable().getQualifiedName() + " SET value = ? WHERE table_name = ?", metadata, tableRef.getQualifiedName()); } }
conns.get().updateUnregisteredQuery(query.toString(), args.toArray());
private void deleteOverflowRange(String overflowTable, String shortTableName, RangeRequest range) { StringBuilder query = new StringBuilder(); query.append(" /* DELETE_RANGE_OVERFLOW (").append(overflowTable).append(") */ "); query.append(" DELETE /*+ INDEX(m pk_").append(overflowTable).append(") */ "); query.append(" FROM ").append(overflowTable).append(" m "); query.append(" WHERE m.id IN ("); // subquery for finding rows in the short table query.append("SELECT /*+ INDEX(i pk_").append(shortTableName).append(") */ "); query.append(" i.overflow "); query.append(" FROM ").append(shortTableName).append(" i "); // add where clauses WhereClauses whereClauses = WhereClauses.create("i", range, "i.overflow IS NOT NULL"); List<Object> args = whereClauses.getArguments(); List<String> clauses = whereClauses.getClauses(); if (!clauses.isEmpty()) { query.append(" WHERE "); Joiner.on(" AND ").appendTo(query, clauses); } query.append(")"); // execute the query conns.get().updateUnregisteredQuery(query.toString(), args.toArray()); }
@Override public void delete(RangeRequest range) { String prefixedTableName = prefixedTableNames.get(tableRef, conns); StringBuilder query = new StringBuilder(); query.append(" /* DELETE_RANGE (").append(prefixedTableName).append(") */ "); query.append(" DELETE FROM ").append(prefixedTableName).append(" m "); WhereClauses whereClauses = WhereClauses.create("m", range); List<Object> args = whereClauses.getArguments(); List<String> clauses = whereClauses.getClauses(); if (!clauses.isEmpty()) { query.append(" WHERE "); Joiner.on(" AND ").appendTo(query, clauses); } // execute the query conns.get().updateUnregisteredQuery(query.toString(), args.toArray()); }
@Override public void putMetadata(byte[] metadata) { Preconditions.checkArgument(exists(), "Table %s does not exist.", tableRef); conns.get().updateUnregisteredQuery( "UPDATE " + config.metadataTable().getQualifiedName() + " SET value = ? WHERE table_name = ?", metadata, tableRef.getQualifiedName()); } }
conns.get().updateUnregisteredQuery(query.toString(), args.toArray());