private void start(boolean initTable) throws MetaException, NoSuchObjectException { start = doTrace ? System.nanoTime() : 0; openTransaction(); if (initTable && (tblName != null)) { table = ensureGetTable(catName, dbName, tblName); } doUseDirectSql = doUseDirectSql && canUseDirectSql(this); }
@Override public boolean openTransaction() { return objectStore.openTransaction(); }
private Query createActivePlanQuery() { openTransaction(); Query query = pm.newQuery(MWMResourcePlan.class, "status == activeStatus && ns == nsname"); query.declareParameters("java.lang.String activeStatus, java.lang.String nsname"); query.setUnique(true); return query; }
private Query createGetResourcePlanQuery() { openTransaction(); Query query = pm.newQuery(MWMResourcePlan.class, "name == rpname && ns == nsname"); query.declareParameters("java.lang.String rpname, java.lang.String nsname"); query.setUnique(true); return query; }
@Override public List<String> listPartitionNames(String catName, String dbName, String tableName, short max) throws MetaException { List<String> pns = null; boolean success = false; try { openTransaction(); LOG.debug("Executing getPartitionNames"); pns = getPartitionNamesNoTxn(catName, dbName, tableName, max); success = commitTransaction(); } finally { if (!success) { rollbackTransaction(); } } return pns; }
@Override public List<RuntimeStat> getRuntimeStats(int maxEntries, int maxCreateTime) throws MetaException { boolean committed = false; try { openTransaction(); List<RuntimeStat> stats = getMRuntimeStats(maxEntries, maxCreateTime); committed = commitTransaction(); return stats; } finally { if (!committed) { rollbackTransaction(); } } }
@Override public void addRuntimeStat(RuntimeStat stat) throws MetaException { LOG.debug("runtimeStat: " + stat); MRuntimeStat mStat = MRuntimeStat.fromThrift(stat); boolean committed = false; openTransaction(); try { pm.makePersistent(mStat); committed = commitTransaction(); } finally { if (!committed) { rollbackTransaction(); } } }
@Override public WMFullResourcePlan getResourcePlan(String name, String ns) throws NoSuchObjectException { boolean commited = false; try { openTransaction(); WMFullResourcePlan fullRp = fullFromMResourcePlan(getMWMResourcePlan(name, ns, false)); commited = commitTransaction(); return fullRp; } catch (InvalidOperationException e) { // Should not happen, edit check is false. throw new RuntimeException(e); } finally { rollbackAndCleanup(commited, (Query)null); } }
private int getObjectCount(String fieldName, String objName) { Long result = 0L; boolean commited = false; Query query = null; try { openTransaction(); String queryStr = "select count(" + fieldName + ") from " + objName; query = pm.newQuery(queryStr); result = (Long) query.execute(); commited = commitTransaction(); } finally { rollbackAndCleanup(commited, query); } return result.intValue(); }
@Override public void createCatalog(Catalog cat) throws MetaException { LOG.debug("Creating catalog " + cat.getName()); boolean committed = false; MCatalog mCat = catToMCat(cat); try { openTransaction(); pm.makePersistent(mCat); committed = commitTransaction(); } finally { if (!committed) { rollbackTransaction(); } } }
@Override public void createFunction(Function func) throws InvalidObjectException, MetaException { boolean committed = false; try { openTransaction(); MFunction mfunc = convertToMFunction(func); pm.makePersistent(mfunc); committed = commitTransaction(); } finally { if (!committed) { rollbackTransaction(); } } }
@Override public Function getFunction(String catName, String dbName, String funcName) throws MetaException { boolean commited = false; Function func = null; Query query = null; try { openTransaction(); func = convertToFunction(getMFunction(catName, dbName, funcName)); commited = commitTransaction(); } finally { rollbackAndCleanup(commited, query); } return func; }
@Override public boolean createType(Type type) { boolean success = false; MType mtype = getMType(type); boolean commited = false; try { openTransaction(); pm.makePersistent(mtype); commited = commitTransaction(); success = true; } finally { if (!commited) { rollbackTransaction(); } } return success; }
@Override public List<HiveObjectPrivilege> listGlobalGrantsAll() { boolean commited = false; Query query = null; try { openTransaction(); query = pm.newQuery(MGlobalPrivilege.class); List<MGlobalPrivilege> userNameDbPriv = (List<MGlobalPrivilege>) query.execute(); pm.retrieveAll(userNameDbPriv); commited = commitTransaction(); return convertGlobal(userNameDbPriv); } finally { rollbackAndCleanup(commited, query); } }
@Override public ISchema getISchema(ISchemaName schemaName) throws MetaException { boolean committed = false; try { openTransaction(); ISchema schema = convertToISchema(getMISchema(schemaName.getCatName(), schemaName.getDbName(), schemaName.getSchemaName())); committed = commitTransaction(); return schema; } finally { if (!committed) { rollbackTransaction(); } } }
private boolean poolHasChildren(MWMResourcePlan resourcePlan, String poolPath) { boolean commited = false; Query query = null; try { openTransaction(); query = pm.newQuery(MWMPool.class, "resourcePlan == rp && path.startsWith(poolPath)"); query.declareParameters("MWMResourcePlan rp, java.lang.String poolPath"); query.setResult("count(this)"); query.setUnique(true); Long count = (Long) query.execute(resourcePlan, poolPath + "."); commited = commitTransaction(); return count != null && count > 0; } finally { rollbackAndCleanup(commited, query); } }
private MRole getMRole(String roleName) { MRole mrole = null; boolean commited = false; Query query = null; try { openTransaction(); query = pm.newQuery(MRole.class, "roleName == t1"); query.declareParameters("java.lang.String t1"); query.setUnique(true); mrole = (MRole) query.execute(roleName); pm.retrieve(mrole); commited = commitTransaction(); } finally { rollbackAndCleanup(commited, query); } return mrole; }
private MCatalog getMCatalog(String catalogName) throws MetaException { boolean committed = false; Query query = null; try { openTransaction(); catalogName = normalizeIdentifier(catalogName); query = pm.newQuery(MCatalog.class, "name == catname"); query.declareParameters("java.lang.String catname"); query.setUnique(true); MCatalog mCat = (MCatalog)query.execute(catalogName); pm.retrieve(mCat); committed = commitTransaction(); return mCat; } finally { rollbackAndCleanup(committed, query); } }
@Override public List<Function> getAllFunctions(String catName) throws MetaException { boolean commited = false; Query query = null; try { openTransaction(); catName = normalizeIdentifier(catName); query = pm.newQuery(MFunction.class, "database.catalogName == catName"); query.declareParameters("java.lang.String catName"); List<MFunction> allFunctions = (List<MFunction>) query.execute(catName); pm.retrieveAll(allFunctions); commited = commitTransaction(); return convertToFunctions(allFunctions); } finally { rollbackAndCleanup(commited, query); } }
@Override public SchemaVersion getSchemaVersion(SchemaVersionDescriptor version) throws MetaException { boolean committed = false; try { openTransaction(); SchemaVersion schemaVersion = convertToSchemaVersion(getMSchemaVersion( version.getSchema().getCatName(), version.getSchema().getDbName(), version.getSchema().getSchemaName(), version.getVersion())); committed = commitTransaction(); return schemaVersion; } finally { if (!committed) { rollbackTransaction(); } } }