private List<Partition> convertToParts(List<MPartition> mparts) throws MetaException { return convertToParts(mparts, null); }
/** * Gets partition names from the table via ORM (JDOQL) name filter. * @param dbName Database name. * @param tblName Table name. * @param partNames Partition names to get the objects for. * @return Resulting partitions. */ private List<Partition> getPartitionsViaOrmFilter(String catName, String dbName, String tblName, List<String> partNames) throws MetaException { if (partNames.isEmpty()) { return new ArrayList<>(); } ObjectPair<Query, Map<String, String>> queryWithParams = getPartQueryWithParams(catName, dbName, tblName, partNames); Query query = queryWithParams.getFirst(); query.setResultClass(MPartition.class); query.setClass(MPartition.class); query.setOrdering("partitionName ascending"); @SuppressWarnings("unchecked") List<MPartition> mparts = (List<MPartition>)query.executeWithMap(queryWithParams.getSecond()); List<Partition> partitions = convertToParts(catName, dbName, tblName, mparts); if (query != null) { query.closeAll(); } return partitions; }
List<Partition> results = convertToParts(mparts); query.closeAll(); return results;
private List<Partition> convertToParts(List<MPartition> mparts) throws MetaException { return convertToParts(mparts, null); }
private List<Partition> convertToParts(List<MPartition> mparts) throws MetaException { return convertToParts(mparts, null); }
private List<Partition> convertToParts(List<MPartition> mparts) throws MetaException { return convertToParts(mparts, null); }
private List<Partition> getPartitionsViaOrm( String dbName, String tblName, List<String> partNames) throws MetaException { StringBuilder sb = new StringBuilder( "table.tableName == t1 && table.database.name == t2 && ("); int n = 0; Map<String, String> params = new HashMap<String, String>(); for (Iterator<String> itr = partNames.iterator(); itr.hasNext();) { String pn = "p" + n; n++; String part = itr.next(); params.put(pn, part); sb.append("partitionName == ").append(pn); sb.append(" || "); } sb.setLength(sb.length() - 4); // remove the last " || " sb.append(')'); Query query = pm.newQuery(MPartition.class, sb.toString()); LOG.debug(" JDOQL filter is " + sb.toString()); params.put("t1", tblName.trim()); params.put("t2", dbName.trim()); String parameterDeclaration = makeParameterDeclarationString(params); query.declareParameters(parameterDeclaration); query.setOrdering("partitionName ascending"); List<MPartition> mparts = (List<MPartition>) query.executeWithMap(params); // pm.retrieveAll(mparts); // retrieveAll is pessimistic. some fields may not be needed List<Partition> results = convertToParts(dbName, tblName, mparts); // pm.makeTransientAll(mparts); // makeTransient will prohibit future access of unfetched fields query.closeAll(); return results; }
public List<Partition> getPartitions(String dbName, String tableName, int max) throws MetaException { openTransaction(); List<Partition> parts = convertToParts(listMPartitions(dbName, tableName, max)); commitTransaction(); return parts; }
@Override public List<Partition> getPartitionsByFilter(String dbName, String tblName, String filter, short maxParts) throws MetaException, NoSuchObjectException { openTransaction(); List<Partition> parts = convertToParts(listMPartitionsByFilter(dbName, tblName, filter, maxParts)); commitTransaction(); return parts; }
public List<Partition> getPartitions(String dbName, String tableName, int max) throws MetaException { openTransaction(); List<Partition> parts = convertToParts(listMPartitions(dbName, tableName, max)); commitTransaction(); return parts; }
/** * Gets partition names from the table via ORM (JDOQL) name filter. * @param dbName Database name. * @param tblName Table name. * @param partNames Partition names to get the objects for. * @return Resulting partitions. */ private List<Partition> getPartitionsViaOrmFilter( String dbName, String tblName, List<String> partNames) throws MetaException { if (partNames.isEmpty()) { return new ArrayList<Partition>(); } Out<Query> query = new Out<Query>(); List<MPartition> mparts = null; try { mparts = getMPartitionsViaOrmFilter(dbName, tblName, partNames, query); return convertToParts(dbName, tblName, mparts); } finally { if (query.val != null) { query.val.closeAll(); } } }
/** * Gets partition names from the table via ORM (JDOQL) name filter. * @param dbName Database name. * @param tblName Table name. * @param partNames Partition names to get the objects for. * @return Resulting partitions. */ private List<Partition> getPartitionsViaOrmFilter( String dbName, String tblName, List<String> partNames) throws MetaException { if (partNames.isEmpty()) { return new ArrayList<Partition>(); } Out<Query> query = new Out<Query>(); List<MPartition> mparts = null; try { mparts = getMPartitionsViaOrmFilter(dbName, tblName, partNames, query); return convertToParts(dbName, tblName, mparts); } finally { if (query.val != null) { query.val.closeAll(); } } }
results = convertToParts(listMPartitionsByFilterNoTxn( mtable, dbName, tblName, parser, maxParts));
/** * Gets partition names from the table via ORM (JDOQL) name filter. * @param dbName Database name. * @param tblName Table name. * @param partNames Partition names to get the objects for. * @return Resulting partitions. */ private List<Partition> getPartitionsViaOrmFilter(String catName, String dbName, String tblName, List<String> partNames) throws MetaException { if (partNames.isEmpty()) { return new ArrayList<>(); } ObjectPair<Query, Map<String, String>> queryWithParams = getPartQueryWithParams(catName, dbName, tblName, partNames); Query query = queryWithParams.getFirst(); query.setResultClass(MPartition.class); query.setClass(MPartition.class); query.setOrdering("partitionName ascending"); @SuppressWarnings("unchecked") List<MPartition> mparts = (List<MPartition>)query.executeWithMap(queryWithParams.getSecond()); List<Partition> partitions = convertToParts(catName, dbName, tblName, mparts); if (query != null) { query.closeAll(); } return partitions; }
List<Partition> results = convertToParts(mparts); query.closeAll(); return results;
List<Partition> results = convertToParts(mparts); query.closeAll(); return results;
List<Partition> results = convertToParts(mparts); query.closeAll(); return results;