[ https://issues.apache.org/jira/browse/PHOENIX-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15210792#comment-15210792 ]
ASF GitHub Bot commented on PHOENIX-1311: ----------------------------------------- Github user samarthjain commented on a diff in the pull request: https://github.com/apache/phoenix/pull/153#discussion_r57372367 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java --- @@ -3301,4 +3356,86 @@ private PTable getParentOfView(PTable view) throws SQLException { String parentName = SchemaUtil.normalizeFullTableName(select.getFrom().toString().trim()); return connection.getTable(new PTableKey(view.getTenantId(), parentName)); } + + public MutationState createSchema(CreateSchemaStatement create) throws SQLException { + boolean wasAutoCommit = connection.getAutoCommit(); + connection.rollback(); + try { + boolean isIfNotExists = create.isIfNotExists(); + PSchema schema = new PSchema(create.getSchemaName()); + connection.setAutoCommit(false); + List<Mutation> schemaMutations; + + try (PreparedStatement schemaUpsert = connection.prepareStatement(CREATE_SCHEMA)) { + schemaUpsert.setString(1, schema.getSchemaName()); + schemaUpsert.setString(2, MetaDataClient.EMPTY_TABLE); + schemaUpsert.execute(); + schemaMutations = connection.getMutationState().toMutations(null).next().getSecond(); + connection.rollback(); + } + MetaDataMutationResult result = connection.getQueryServices().createSchema(schemaMutations, + schema.getSchemaName()); + MutationCode code = result.getMutationCode(); + switch (code) { + case SCHEMA_ALREADY_EXISTS: + if (result.getTable() != null) { // Can happen for transactional table that already exists as HBase --- End diff -- result.getSchema() ? Also, please remove the comment. > HBase namespaces surfaced in phoenix > ------------------------------------ > > Key: PHOENIX-1311 > URL: https://issues.apache.org/jira/browse/PHOENIX-1311 > Project: Phoenix > Issue Type: New Feature > Reporter: nicolas maillard > Assignee: Ankit Singhal > Priority: Minor > Fix For: 4.8.0 > > Attachments: PHOENIX-1311.docx, PHOENIX-1311_v1.patch, > PHOENIX-1311_v2.patch, PHOENIX-1311_wip.patch, PHOENIX-1311_wip_2.patch > > > Hbase (HBASE-8015) has the concept of namespaces in the form of > myNamespace:MyTable it would be great if Phoenix leveraged this feature to > give a database like feature on top of the table. > Maybe to stay close to Hbase it could also be a create DB:Table... > or DB.Table which is a more standard annotation? -- This message was sent by Atlassian JIRA (v6.3.4#6332)