[ 
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)

Reply via email to