[
https://issues.apache.org/jira/browse/PHOENIX-1311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15210778#comment-15210778
]
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_r57371542
--- Diff: phoenix-core/src/main/java/org/apache/phoenix/parse/PSchema.java
---
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.parse;
+
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.phoenix.coprocessor.generated.PSchemaProtos;
+import org.apache.phoenix.schema.PMetaDataEntity;
+import org.apache.phoenix.schema.PName;
+import org.apache.phoenix.schema.PNameFactory;
+import org.apache.phoenix.schema.PTableKey;
+import org.apache.phoenix.util.SchemaUtil;
+import org.apache.phoenix.util.SizedUtil;
+
+public class PSchema implements PMetaDataEntity {
+
+ private final PName schemaName;
+ private PTableKey schemaKey;
+ private long timeStamp;
+ private int estimatedSize;
+
+ public PSchema(long timeStamp) { // For index delete marker
+ this.timeStamp = timeStamp;
+ this.schemaName = null;
+ }
+
+ public PSchema(String schemaName) {
+ this(schemaName, HConstants.LATEST_TIMESTAMP);
+ }
+
+ public PSchema(String schemaName, long timeStamp) {
+ this.schemaName =
PNameFactory.newName(SchemaUtil.normalizeIdentifier(schemaName));
+ this.schemaKey = new PTableKey(null, this.schemaName.getString());
--- End diff --
Thinking about this a little bit more, is it possible for tenant views on
the same multi-tenant table to have different schema/namespaces? If yes, how
would you differentiate these schemas considering the tenantId is being set as
null here. At a minimum, it would be ideal to have some testing around this
scenario.
> 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)