phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-1311) HBase namespaces surfaced in phoenix
Date Thu, 24 Mar 2016 19:15:25 GMT

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

Mime
View raw message