.../hadoop/hive/metastore/MetaStoreDirectSql.java | 37 +++++++++++----------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java index 500fba9..2c648c6 100644 --- a/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java +++ b/metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreDirectSql.java @@ -28,6 +28,7 @@ import java.text.ParseException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; @@ -351,13 +352,13 @@ public Database getDatabase(String dbName) throws MetaException{ public List getPartitionsViaSqlFilter(final String dbName, final String tblName, List partNames) throws MetaException { if (partNames.isEmpty()) { - return new ArrayList(); + return Collections.emptyList(); } return runBatched(partNames, new Batchable() { public List run(List input) throws MetaException { String filter = "\"PARTITIONS\".\"PART_NAME\" in (" + makeParams(input.size()) + ")"; return getPartitionsViaSqlFilterInternal(dbName, tblName, null, filter, input, - new ArrayList(), null); + Collections.emptyList(), null); } }); } @@ -376,8 +377,8 @@ public Database getDatabase(String dbName) throws MetaException{ } public static class SqlFilterForPushdown { - private List params = new ArrayList(); - private List joins = new ArrayList(); + private List params = Collections.emptyList(); + private List joins = Collections.emptyList(); private String filter; private Table table; } @@ -402,7 +403,7 @@ public boolean generateSqlFilterForPushdown( public List getPartitions( String dbName, String tblName, Integer max) throws MetaException { return getPartitionsViaSqlFilterInternal(dbName, tblName, null, - null, new ArrayList(), new ArrayList(), max); + null, Collections.emptyList(), Collections.emptyList(), max); } private static Boolean isViewTable(Table t) { @@ -482,7 +483,7 @@ private boolean isViewTable(String dbName, String tblName) throws MetaException long queryTime = doTrace ? System.nanoTime() : 0; timingTrace(doTrace, queryText, start, queryTime); if (sqlResult.isEmpty()) { - return new ArrayList(); // no partitions, bail early. + return Collections.emptyList(); // no partitions, bail early. } // Get full objects. For Oracle/etc. do it in batches. @@ -726,7 +727,7 @@ public void apply(StorageDescriptor t, Object[] fields) throws MetaException { if (fields[1] == null) { currentList = null; // left outer join produced a list with no values currentListId = null; - t.getSkewedInfo().addToSkewedColValues(new ArrayList()); + t.getSkewedInfo().addToSkewedColValues(Collections.emptyList()); } else { long fieldsListId = extractSqlLong(fields[1]); if (currentListId == null || fieldsListId != currentListId) { @@ -1224,7 +1225,7 @@ public AggrStats aggrColStatsForPartitions(String dbName, String tableName, throws MetaException { if (colNames.isEmpty() || partNames.isEmpty()) { LOG.debug("Columns is empty or partNames is empty : Short-circuiting stats eval"); - return new AggrStats(new ArrayList(), 0); // Nothing to aggregate + return new AggrStats(Collections.emptyList(), 0); // Nothing to aggregate } long partsFound = 0; List colStatsList; @@ -1365,11 +1366,11 @@ private long partsFoundForPartitions(final String dbName, final String tableName query = pm.newQuery("javax.jdo.query.SQL", queryText); qResult = executeWithArray(query, - prepareParams(dbName, tblName, new ArrayList(), new ArrayList()), + prepareParams(dbName, tblName, Collections.emptyList(), Collections.emptyList()), queryText); if (qResult == null) { query.closeAll(); - return Maps.newHashMap(); + return Collections.emptyMap(); } end = doTrace ? System.nanoTime() : 0; timingTrace(doTrace, queryText, start, end); @@ -1453,7 +1454,7 @@ private long partsFoundForPartitions(final String dbName, final String tableName queryText); if (qResult == null) { query.closeAll(); - return Lists.newArrayList(); + return Collections.emptyList(); } end = doTrace ? System.nanoTime() : 0; timingTrace(doTrace, queryText, start, end); @@ -1483,7 +1484,7 @@ private long partsFoundForPartitions(final String dbName, final String tableName timingTrace(doTrace, queryText, start, end); if (qResult == null) { query.closeAll(); - return Lists.newArrayList(); + return Collections.emptyList(); } List noExtraColumnNames = new ArrayList(); Map extraColumnNameTypeParts = new HashMap(); @@ -1515,7 +1516,7 @@ private long partsFoundForPartitions(final String dbName, final String tableName prepareParams(dbName, tableName, partNames, noExtraColumnNames), queryText); if (qResult == null) { query.closeAll(); - return Lists.newArrayList(); + return Collections.emptyList(); } list = ensureList(qResult); for (Object[] row : list) { @@ -1548,7 +1549,7 @@ private long partsFoundForPartitions(final String dbName, final String tableName prepareParams(dbName, tableName, partNames, extraColumnNames), queryText); if (qResult == null) { query.closeAll(); - return Lists.newArrayList(); + return Collections.emptyList(); } list = ensureList(qResult); // see the indexes for colstats in IExtrapolatePartStatus @@ -1625,7 +1626,7 @@ private long partsFoundForPartitions(final String dbName, final String tableName prepareParams(dbName, tableName, partNames, Arrays.asList(colName)), queryText); if (qResult == null) { query.closeAll(); - return Lists.newArrayList(); + return Collections.emptyList(); } fqr = (ForwardQueryResult) qResult; Object[] min = (Object[]) (fqr.get(0)); @@ -1654,7 +1655,7 @@ private long partsFoundForPartitions(final String dbName, final String tableName prepareParams(dbName, tableName, partNames, Arrays.asList(colName)), queryText); if (qResult == null) { query.closeAll(); - return Lists.newArrayList(); + return Collections.emptyList(); } fqr = (ForwardQueryResult) qResult; Object[] avg = (Object[]) (fqr.get(0)); @@ -1716,7 +1717,7 @@ private ColumnStatisticsObj prepareCSObjWithAdjustedNDV(Object[] row, int i, public List getPartitionStats(final String dbName, final String tableName, final List partNames, List colNames) throws MetaException { if (colNames.isEmpty() || partNames.isEmpty()) { - return Lists.newArrayList(); + return Collections.emptyList(); } final boolean doTrace = LOG.isDebugEnabled(); final String queryText0 = "select \"PARTITION_NAME\", " + STATS_COLLIST + " from " @@ -1735,7 +1736,7 @@ private ColumnStatisticsObj prepareCSObjWithAdjustedNDV(Object[] row, int i, timingTrace(doTrace, queryText0, start, (doTrace ? System.nanoTime() : 0)); if (qResult == null) { query.closeAll(); - return Lists.newArrayList(); + return Collections.emptyList(); } addQueryAfterUse(query); return ensureList(qResult);