HBASE-19031 Align exist method in Table and AsyncTable interfaces
Deprecate Table::existsAll method and add Table::exists. RemoteHTable already had a deprecated exists method, remove that and implement the new exists from Table interface. Signed-off-by: Chia-Ping Tsai <chia7712@gmail.com>
This commit is contained in:
parent
e5e2bde87b
commit
482d6bd3a4
|
@ -945,11 +945,8 @@ public class HTable implements Table {
|
|||
return r.getExists();
|
||||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
*/
|
||||
@Override
|
||||
public boolean[] existsAll(final List<Get> gets) throws IOException {
|
||||
public boolean[] exists(List<Get> gets) throws IOException {
|
||||
if (gets.isEmpty()) return new boolean[]{};
|
||||
if (gets.size() == 1) return new boolean[]{exists(gets.get(0))};
|
||||
|
||||
|
|
|
@ -110,7 +110,25 @@ public interface Table extends Closeable {
|
|||
* @return Array of boolean. True if the specified Get matches one or more keys, false if not.
|
||||
* @throws IOException e
|
||||
*/
|
||||
boolean[] existsAll(List<Get> gets) throws IOException;
|
||||
boolean[] exists(List<Get> gets) throws IOException;
|
||||
|
||||
/**
|
||||
* Test for the existence of columns in the table, as specified by the Gets.
|
||||
* This will return an array of booleans. Each value will be true if the related Get matches
|
||||
* one or more keys, false if not.
|
||||
* This is a server-side call so it prevents any data from being transferred to
|
||||
* the client.
|
||||
*
|
||||
* @param gets the Gets
|
||||
* @return Array of boolean. True if the specified Get matches one or more keys, false if not.
|
||||
* @throws IOException e
|
||||
* @deprecated since 2.0 version and will be removed in 3.0 version.
|
||||
* use {@link #exists(List)}
|
||||
*/
|
||||
@Deprecated
|
||||
default boolean[] existsAll(List<Get> gets) throws IOException {
|
||||
return exists(gets);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method that does a batch call on Deletes, Gets, Puts, Increments, Appends, RowMutations.
|
||||
|
|
|
@ -367,12 +367,8 @@ public class RemoteHTable implements Table {
|
|||
return (result != null && !(result.isEmpty()));
|
||||
}
|
||||
|
||||
/**
|
||||
* exists(List) is really a list of get() calls. Just use get().
|
||||
* @param gets list of Get to test for the existence
|
||||
*/
|
||||
@Override
|
||||
public boolean[] existsAll(List<Get> gets) throws IOException {
|
||||
public boolean[] exists(List<Get> gets) throws IOException {
|
||||
LOG.warn("exists(List<Get>) is really list of get() calls, just use get()");
|
||||
boolean[] results = new boolean[gets.size()];
|
||||
for (int i = 0; i < results.length; i++) {
|
||||
|
@ -381,16 +377,6 @@ public class RemoteHTable implements Table {
|
|||
return results;
|
||||
}
|
||||
|
||||
@Deprecated
|
||||
public Boolean[] exists(List<Get> gets) throws IOException {
|
||||
boolean[] results = existsAll(gets);
|
||||
Boolean[] objectResults = new Boolean[results.length];
|
||||
for (int i = 0; i < results.length; ++i) {
|
||||
objectResults[i] = results[i];
|
||||
}
|
||||
return objectResults;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void put(Put put) throws IOException {
|
||||
CellSetModel model = buildModelFromPut(put);
|
||||
|
|
|
@ -100,7 +100,7 @@ public class RegionAsTable implements Table {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean[] existsAll(List<Get> gets) throws IOException {
|
||||
public boolean[] exists(List<Get> gets) throws IOException {
|
||||
boolean [] results = new boolean[gets.size()];
|
||||
int index = 0;
|
||||
for (Get get: gets) {
|
||||
|
|
Loading…
Reference in New Issue