PHOENIX-4855 Continue to write base table column metadata when creating a view in order to support rollback (addendum)
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/c90d090a Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/c90d090a Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/c90d090a Branch: refs/heads/omid2 Commit: c90d090a1fba7c2937a5b91e4ac0f1fe379ec539 Parents: 8c76e7c Author: Thomas D'Silva <tdsi...@apache.org> Authored: Sat Oct 6 12:40:54 2018 -0700 Committer: Thomas D'Silva <tdsi...@apache.org> Committed: Sat Oct 6 12:42:01 2018 -0700 ---------------------------------------------------------------------- .../java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/c90d090a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java index 18c9000..52dfe99 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java @@ -737,9 +737,10 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData { boolean isSalted = table.getBucketNum()!=null; boolean tenantColSkipped = false; List<PColumn> columns = table.getColumns(); - columns = Lists.newArrayList(columns.subList(isSalted ? 1 : 0, columns.size())); + int startOffset = isSalted ? 1 : 0; + columns = Lists.newArrayList(columns.subList(startOffset, columns.size())); for (PColumn column : columns) { - if (isTenantSpecificConnection && column.equals(table.getPKColumns().get(0))) { + if (isTenantSpecificConnection && column.equals(table.getPKColumns().get(startOffset))) { // skip the tenant column tenantColSkipped = true; continue; @@ -874,7 +875,7 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData { byte[] keySeqBytes = ByteUtil.EMPTY_BYTE_ARRAY; int pkPos = table.getPKColumns().indexOf(column); if (pkPos!=-1) { - short keySeq = (short) (pkPos + 1 - (isSalted ? 1 : 0) - (tenantColSkipped ? 1 : 0)); + short keySeq = (short) (pkPos + 1 - startOffset - (tenantColSkipped ? 1 : 0)); keySeqBytes = PSmallint.INSTANCE.toBytes(keySeq); } cells.add(KeyValueUtil.newKeyValue(rowKey, TABLE_FAMILY_BYTES, KEY_SEQ_BYTES,