@SuppressWarnings("squid:S00112") protected boolean doCreateDataverseStatement(MetadataTransactionContext mdTxnCtx, MetadataProvider metadataProvider, CreateDataverseStatement stmtCreateDataverse) throws Exception { String dvName = stmtCreateDataverse.getDataverseName().getValue(); Dataverse dv = MetadataManager.INSTANCE.getDataverse(metadataProvider.getMetadataTxnContext(), dvName); if (dv != null) { if (stmtCreateDataverse.getIfNotExists()) { MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); return false; } else { throw new CompilationException(ErrorCode.DATAVERSE_EXISTS, stmtCreateDataverse.getSourceLocation(), dvName); } } MetadataManager.INSTANCE.addDataverse(metadataProvider.getMetadataTxnContext(), new Dataverse(dvName, stmtCreateDataverse.getFormat(), MetadataUtil.PENDING_NO_OP)); MetadataManager.INSTANCE.commitTransaction(mdTxnCtx); return true; }
@Override public Void visit(CreateDataverseStatement del, Integer step) throws CompilationException { out.print(CREATE + dataverseSymbol); out.print(normalize(del.getDataverseName().getValue())); out.print(generateIfNotExists(del.getIfNotExists())); String format = del.getFormat(); if (format != null && !format.equals(DEFAULT_DATAVERSE_FORMAT)) { out.print(" with format "); out.print("\"" + format + "\""); } out.println(SEMICOLON); out.println(); return null; }
final public CreateDataverseStatement DataverseSpecification(Token startStmtToken) throws ParseException, ParseException { String dvName = null; boolean ifNotExists = false; jj_consume_token(DATAVERSE); dvName = Identifier(); ifNotExists = IfNotExists(); CreateDataverseStatement stmt = new CreateDataverseStatement(new Identifier(dvName), null, ifNotExists); {if (true) return addSourceLocation(stmt, startStmtToken);} throw new Error("Missing return statement in function"); }
protected void handleCreateDataverseStatement(MetadataProvider metadataProvider, Statement stmt, IRequestParameters requestParameters) throws Exception { CreateDataverseStatement stmtCreateDataverse = (CreateDataverseStatement) stmt; String dvName = stmtCreateDataverse.getDataverseName().getValue(); MetadataTransactionContext mdTxnCtx = MetadataManager.INSTANCE.beginTransaction(); metadataProvider.setMetadataTxnContext(mdTxnCtx); lockManager.acquireDataverseReadLock(metadataProvider.getLocks(), dvName); try { doCreateDataverseStatement(mdTxnCtx, metadataProvider, stmtCreateDataverse); } catch (Exception e) { abort(e, e, mdTxnCtx); throw e; } finally { metadataProvider.getLocks().unlock(); } }
final public CreateDataverseStatement DataverseSpecification() throws ParseException, ParseException { String dvName = null; boolean ifNotExists = false; String format = null; jj_consume_token(DATAVERSE); dvName = Identifier(); ifNotExists = IfNotExists(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case WITH: jj_consume_token(WITH); jj_consume_token(FORMAT); format = StringLiteral(); break; default: jj_la1[99] = jj_gen; ; } {if (true) return new CreateDataverseStatement(new Identifier(dvName), format, ifNotExists);} throw new Error("Missing return statement in function"); }
final public CreateDataverseStatement DataverseSpecification() throws ParseException, ParseException { String dvName = null; boolean ifNotExists = false; String format = null; jj_consume_token(DATAVERSE); dvName = Identifier(); ifNotExists = IfNotExists(); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case WITH: jj_consume_token(WITH); jj_consume_token(FORMAT); format = StringLiteral(); break; default: jj_la1[23] = jj_gen; ; } {if (true) return new CreateDataverseStatement(new Identifier(dvName), format, ifNotExists);} throw new Error("Missing return statement in function"); }