private ObjectPair<Query, Map<String, String>> getPartQueryWithParams( String catName, String dbName, String tblName, List<String> partNames) { Query query = pm.newQuery(); Map<String, String> params = new HashMap<>(); String filterStr = getJDOFilterStrForPartitionNames(catName, dbName, tblName, partNames, params); query.setFilter(filterStr); LOG.debug(" JDOQL filter is {}", filterStr); query.declareParameters(makeParameterDeclarationString(params)); return new ObjectPair<>(query, params); }
@Override public List<MTableColumnStatistics> run(List<String> input) throws MetaException { String filter = "tableName == t1 && dbName == t2 && catName == t3 && ("; String paramStr = "java.lang.String t1, java.lang.String t2, java.lang.String t3"; Object[] params = new Object[input.size() + 3]; params[0] = table.getTableName(); params[1] = table.getDbName(); params[2] = table.getCatName(); for (int i = 0; i < input.size(); ++i) { filter += ((i == 0) ? "" : " || ") + "colName == c" + i; paramStr += ", java.lang.String c" + i; params[i + 3] = input.get(i); } filter += ")"; query.setFilter(filter); query.declareParameters(paramStr); List<MTableColumnStatistics> paritial = (List<MTableColumnStatistics>) query.executeWithArray(params); pm.retrieveAll(paritial); return paritial; } });
query.setFilter(queryFilterString); Collection<String> names = (Collection<String>)query.executeWithMap(params);
private List<RuntimeStat> getMRuntimeStats(int maxEntries, int maxCreateTime) { Query<MRuntimeStat> query = pm.newQuery(MRuntimeStat.class); query.setOrdering("createTime descending"); if (maxCreateTime > 0) { query.setFilter("createTime < "+maxCreateTime); } if (maxEntries < 0) { maxEntries = Integer.MAX_VALUE; } List<RuntimeStat> ret = new ArrayList<>(); List<MRuntimeStat> res = (List<MRuntimeStat>) query.execute(); int totalEntries = 0; for (MRuntimeStat mRuntimeStat : res) { pm.retrieve(mRuntimeStat); totalEntries += mRuntimeStat.getWeight(); ret.add(MRuntimeStat.toThrift(mRuntimeStat)); if (totalEntries >= maxEntries) { break; } } return ret; }
@Override public int deleteRuntimeStats(int maxRetainSecs) throws MetaException { if (maxRetainSecs < 0) { LOG.warn("runtime stats retention is disabled"); return 0; } boolean committed = false; try { openTransaction(); int maxCreateTime = (int) (System.currentTimeMillis() / 1000) - maxRetainSecs; Query q = pm.newQuery(MRuntimeStat.class); q.setFilter("createTime <= maxCreateTime"); q.declareParameters("int maxCreateTime"); long deleted = q.deletePersistentAll(maxCreateTime); committed = commitTransaction(); return (int) deleted; } finally { if (!committed) { rollbackTransaction(); } } }
query.setFilter("param.contains(constraintName)"); query.declareParameters("java.util.Collection param"); Collection<?> constraints = (Collection<?>)query.execute(constraintNames);
private Integer getNumPartitionsViaOrmFilter(Table table, ExpressionTree tree, boolean isValidatedFilter) throws MetaException { Map<String, Object> params = new HashMap<>(); String jdoFilter = makeQueryFilterString(table.getCatName(), table.getDbName(), table, tree, params, isValidatedFilter); if (jdoFilter == null) { assert !isValidatedFilter; return null; } Query query = pm.newQuery( "select count(partitionName) from org.apache.hadoop.hive.metastore.model.MPartition" ); query.setFilter(jdoFilter); String parameterDeclaration = makeParameterDeclarationStringObj(params); query.declareParameters(parameterDeclaration); Long result = (Long) query.executeWithMap(params); query.closeAll(); return result.intValue(); } /**
query.setFilter(filter); query.declareParameters(paramStr); query.setOrdering("partitionName ascending");
query.setFilter("this.table.database.catalogName == t1 && this.table.database.name == t2 " + "&& this.table.tableName == t3"); query.declareParameters("String t1, String t2, String t3");
query.setFilter("database.name == db && database.catalogName == cat && tbl_names.contains(tableName)"); query.declareParameters("java.lang.String db, java.lang.String cat, java.util.Collection tbl_names"); Collection mtables = (Collection) query.execute(db, catName, lowered_tbl_names);
String filter = getJDOFilterStrForPartitionVals(table, part_vals, params); Query query = queryWrapper.query = pm.newQuery(MPartition.class); query.setFilter(filter); query.declareParameters(makeParameterDeclarationString(params)); if (max_parts >= 0) {
parameters = "java.lang.String t1, java.lang.String t2, java.lang.String t3, java.lang.String t4"; query.setFilter(filter); query.declareParameters(parameters); if (colName != null) {
query.setFilter(filter); query.declareParameters(parameters); if (colName != null) {
/** * Returns a new query for a given key. * * @param persistenceManager persistence manager * @return new new query for a given key */ Query newKeyQuery(PersistenceManager persistenceManager) { Query query = persistenceManager.newQuery(JdoValue.class); query.setFilter("id == idParam && key == keyParam"); query.declareParameters("String idParam, String keyParam"); return query; }
/** * Returns a new query for all keys. * * @param persistenceManager persistence manager * @return new query for all keys */ Query newAllKeysQuery(PersistenceManager persistenceManager) { Query query = persistenceManager.newQuery(JdoValue.class); query.setFilter("id == idParam"); query.declareParameters("String idParam"); return query; }
@SuppressWarnings("unchecked") public List<MCrontab> runningCrontabs() { Query query = getPM().newQuery(MCrontab.class); query.setFilter("status == :status"); query.setOrdering("id DESC"); HashMap<String, Object> map = new HashMap<String, Object>(); map.put("status", MCrontab.Status.RUNNING); return (List<MCrontab>) query.executeWithMap(map); }
private MSentryGMPrivilege getPrivilege(MSentryGMPrivilege privilege, PersistenceManager pm) { Query query = pm.newQuery(MSentryGMPrivilege.class); QueryParamBuilder paramBuilder = toQueryParam(privilege); query.setFilter(paramBuilder.toString()); query.setUnique(true); MSentryGMPrivilege result = (MSentryGMPrivilege)query.executeWithMap(paramBuilder.getArguments()); return result; }
private MSentryRole getMSentryRole(PersistenceManager pm, String roleName) { Query query = pm.newQuery(MSentryRole.class); query.setFilter("this.roleName == t"); query.declareParameters("java.lang.String t"); query.setUnique(true); MSentryRole sentryRole = (MSentryRole) query.execute(roleName); return sentryRole; }
public Boolean execute(PersistenceManager pm) throws Exception { pm.setDetachAllOnCommit(false); // No need to detach objects Query query = pm.newQuery(MSentryPrivilege.class); query.addExtension(LOAD_RESULTS_AT_COMMIT, "false"); QueryParamBuilder paramBuilder = QueryParamBuilder.addUsersFilter(query,null, userNames); paramBuilder.add(SERVER_NAME, serverName); query.setFilter(paramBuilder.toString()); query.setResult("count(this)"); Long numPrivs = (Long) query.executeWithMap(paramBuilder.getArguments()); return numPrivs > 0; } });
private MSentryRole getMSentryRole(PersistenceManager pm, String roleName) { Query query = pm.newQuery(MSentryRole.class); query.setFilter("this.roleName == t"); query.declareParameters("java.lang.String t"); query.setUnique(true); MSentryRole sentryRole = (MSentryRole) query.execute(roleName); return sentryRole; }