Repository: phoenix Updated Branches: refs/heads/4.x-cdh5.15 d1e82d19e -> 6b877d21b (forced update)
http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java index ab61826..938ae1f 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/PTableProtos.java @@ -3495,15 +3495,15 @@ public final class PTableProtos { */ com.google.protobuf.ByteString getTenantId(); - // optional int32 viewIndexId = 21; + // optional int64 viewIndexId = 21; /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ boolean hasViewIndexId(); /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ - int getViewIndexId(); + long getViewIndexId(); // optional bytes indexType = 22; /** @@ -3694,6 +3694,16 @@ public final class PTableProtos { * <code>optional int32 transactionProvider = 38;</code> */ int getTransactionProvider(); + + // optional int32 viewIndexType = 39 [default = 5]; + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + boolean hasViewIndexType(); + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + int getViewIndexType(); } /** * Protobuf type {@code PTable} @@ -3859,7 +3869,7 @@ public final class PTableProtos { } case 168: { bitField0_ |= 0x00010000; - viewIndexId_ = input.readInt32(); + viewIndexId_ = input.readInt64(); break; } case 178: { @@ -3950,6 +3960,11 @@ public final class PTableProtos { transactionProvider_ = input.readInt32(); break; } + case 312: { + bitField1_ |= 0x00000002; + viewIndexType_ = input.readInt32(); + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -4395,19 +4410,19 @@ public final class PTableProtos { return tenantId_; } - // optional int32 viewIndexId = 21; + // optional int64 viewIndexId = 21; public static final int VIEWINDEXID_FIELD_NUMBER = 21; - private int viewIndexId_; + private long viewIndexId_; /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ public boolean hasViewIndexId() { return ((bitField0_ & 0x00010000) == 0x00010000); } /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ - public int getViewIndexId() { + public long getViewIndexId() { return viewIndexId_; } @@ -4730,6 +4745,22 @@ public final class PTableProtos { return transactionProvider_; } + // optional int32 viewIndexType = 39 [default = 5]; + public static final int VIEWINDEXTYPE_FIELD_NUMBER = 39; + private int viewIndexType_; + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + public boolean hasViewIndexType() { + return ((bitField1_ & 0x00000002) == 0x00000002); + } + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + public int getViewIndexType() { + return viewIndexType_; + } + private void initFields() { schemaNameBytes_ = com.google.protobuf.ByteString.EMPTY; tableNameBytes_ = com.google.protobuf.ByteString.EMPTY; @@ -4750,7 +4781,7 @@ public final class PTableProtos { viewStatement_ = com.google.protobuf.ByteString.EMPTY; physicalNames_ = java.util.Collections.emptyList(); tenantId_ = com.google.protobuf.ByteString.EMPTY; - viewIndexId_ = 0; + viewIndexId_ = 0L; indexType_ = com.google.protobuf.ByteString.EMPTY; statsTimeStamp_ = 0L; storeNulls_ = false; @@ -4768,6 +4799,7 @@ public final class PTableProtos { encodedCQCounters_ = java.util.Collections.emptyList(); useStatsForParallelization_ = false; transactionProvider_ = 0; + viewIndexType_ = 5; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -4893,7 +4925,7 @@ public final class PTableProtos { output.writeBytes(20, tenantId_); } if (((bitField0_ & 0x00010000) == 0x00010000)) { - output.writeInt32(21, viewIndexId_); + output.writeInt64(21, viewIndexId_); } if (((bitField0_ & 0x00020000) == 0x00020000)) { output.writeBytes(22, indexType_); @@ -4946,6 +4978,9 @@ public final class PTableProtos { if (((bitField1_ & 0x00000001) == 0x00000001)) { output.writeInt32(38, transactionProvider_); } + if (((bitField1_ & 0x00000002) == 0x00000002)) { + output.writeInt32(39, viewIndexType_); + } getUnknownFields().writeTo(output); } @@ -5038,7 +5073,7 @@ public final class PTableProtos { } if (((bitField0_ & 0x00010000) == 0x00010000)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(21, viewIndexId_); + .computeInt64Size(21, viewIndexId_); } if (((bitField0_ & 0x00020000) == 0x00020000)) { size += com.google.protobuf.CodedOutputStream @@ -5108,6 +5143,10 @@ public final class PTableProtos { size += com.google.protobuf.CodedOutputStream .computeInt32Size(38, transactionProvider_); } + if (((bitField1_ & 0x00000002) == 0x00000002)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(39, viewIndexType_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -5304,6 +5343,11 @@ public final class PTableProtos { result = result && (getTransactionProvider() == other.getTransactionProvider()); } + result = result && (hasViewIndexType() == other.hasViewIndexType()); + if (hasViewIndexType()) { + result = result && (getViewIndexType() + == other.getViewIndexType()); + } result = result && getUnknownFields().equals(other.getUnknownFields()); return result; @@ -5395,7 +5439,7 @@ public final class PTableProtos { } if (hasViewIndexId()) { hash = (37 * hash) + VIEWINDEXID_FIELD_NUMBER; - hash = (53 * hash) + getViewIndexId(); + hash = (53 * hash) + hashLong(getViewIndexId()); } if (hasIndexType()) { hash = (37 * hash) + INDEXTYPE_FIELD_NUMBER; @@ -5465,6 +5509,10 @@ public final class PTableProtos { hash = (37 * hash) + TRANSACTIONPROVIDER_FIELD_NUMBER; hash = (53 * hash) + getTransactionProvider(); } + if (hasViewIndexType()) { + hash = (37 * hash) + VIEWINDEXTYPE_FIELD_NUMBER; + hash = (53 * hash) + getViewIndexType(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -5623,7 +5671,7 @@ public final class PTableProtos { bitField0_ = (bitField0_ & ~0x00020000); tenantId_ = com.google.protobuf.ByteString.EMPTY; bitField0_ = (bitField0_ & ~0x00040000); - viewIndexId_ = 0; + viewIndexId_ = 0L; bitField0_ = (bitField0_ & ~0x00080000); indexType_ = com.google.protobuf.ByteString.EMPTY; bitField0_ = (bitField0_ & ~0x00100000); @@ -5663,6 +5711,8 @@ public final class PTableProtos { bitField1_ = (bitField1_ & ~0x00000008); transactionProvider_ = 0; bitField1_ = (bitField1_ & ~0x00000010); + viewIndexType_ = 5; + bitField1_ = (bitField1_ & ~0x00000020); return this; } @@ -5857,6 +5907,10 @@ public final class PTableProtos { to_bitField1_ |= 0x00000001; } result.transactionProvider_ = transactionProvider_; + if (((from_bitField1_ & 0x00000020) == 0x00000020)) { + to_bitField1_ |= 0x00000002; + } + result.viewIndexType_ = viewIndexType_; result.bitField0_ = to_bitField0_; result.bitField1_ = to_bitField1_; onBuilt(); @@ -6065,6 +6119,9 @@ public final class PTableProtos { if (other.hasTransactionProvider()) { setTransactionProvider(other.getTransactionProvider()); } + if (other.hasViewIndexType()) { + setViewIndexType(other.getViewIndexType()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -7323,35 +7380,35 @@ public final class PTableProtos { return this; } - // optional int32 viewIndexId = 21; - private int viewIndexId_ ; + // optional int64 viewIndexId = 21; + private long viewIndexId_ ; /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ public boolean hasViewIndexId() { return ((bitField0_ & 0x00080000) == 0x00080000); } /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ - public int getViewIndexId() { + public long getViewIndexId() { return viewIndexId_; } /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ - public Builder setViewIndexId(int value) { + public Builder setViewIndexId(long value) { bitField0_ |= 0x00080000; viewIndexId_ = value; onChanged(); return this; } /** - * <code>optional int32 viewIndexId = 21;</code> + * <code>optional int64 viewIndexId = 21;</code> */ public Builder clearViewIndexId() { bitField0_ = (bitField0_ & ~0x00080000); - viewIndexId_ = 0; + viewIndexId_ = 0L; onChanged(); return this; } @@ -8177,6 +8234,39 @@ public final class PTableProtos { return this; } + // optional int32 viewIndexType = 39 [default = 5]; + private int viewIndexType_ = 5; + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + public boolean hasViewIndexType() { + return ((bitField1_ & 0x00000020) == 0x00000020); + } + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + public int getViewIndexType() { + return viewIndexType_; + } + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + public Builder setViewIndexType(int value) { + bitField1_ |= 0x00000020; + viewIndexType_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 viewIndexType = 39 [default = 5];</code> + */ + public Builder clearViewIndexType() { + bitField1_ = (bitField1_ & ~0x00000020); + viewIndexType_ = 5; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:PTable) } @@ -8846,7 +8936,7 @@ public final class PTableProtos { "es\030\002 \003(\014\022\033\n\023guidePostsByteCount\030\003 \001(\003\022\025\n" + "\rkeyBytesCount\030\004 \001(\003\022\027\n\017guidePostsCount\030" + "\005 \001(\005\022!\n\013pGuidePosts\030\006 \001(\0132\014.PGuidePosts" + - "\"\255\007\n\006PTable\022\027\n\017schemaNameBytes\030\001 \002(\014\022\026\n\016" + + "\"\307\007\n\006PTable\022\027\n\017schemaNameBytes\030\001 \002(\014\022\026\n\016" + "tableNameBytes\030\002 \002(\014\022\036\n\ttableType\030\003 \002(\0162" + "\013.PTableType\022\022\n\nindexState\030\004 \001(\t\022\026\n\016sequ" + "enceNumber\030\005 \002(\003\022\021\n\ttimeStamp\030\006 \002(\003\022\023\n\013p" + @@ -8857,7 +8947,7 @@ public final class PTableProtos { "me\030\016 \001(\014\022\022\n\ndisableWAL\030\017 \002(\010\022\023\n\013multiTen" + "ant\030\020 \002(\010\022\020\n\010viewType\030\021 \001(\014\022\025\n\rviewState" + "ment\030\022 \001(\014\022\025\n\rphysicalNames\030\023 \003(\014\022\020\n\010ten" + - "antId\030\024 \001(\014\022\023\n\013viewIndexId\030\025 \001(\005\022\021\n\tinde" + + "antId\030\024 \001(\014\022\023\n\013viewIndexId\030\025 \001(\003\022\021\n\tinde" + "xType\030\026 \001(\014\022\026\n\016statsTimeStamp\030\027 \001(\003\022\022\n\ns" + "toreNulls\030\030 \001(\010\022\027\n\017baseColumnCount\030\031 \001(\005" + "\022\036\n\026rowKeyOrderOptimizable\030\032 \001(\010\022\025\n\rtran" + @@ -8869,12 +8959,12 @@ public final class PTableProtos { "eme\030\" \001(\014\022\026\n\016encodingScheme\030# \001(\014\022,\n\021enc" + "odedCQCounters\030$ \003(\0132\021.EncodedCQCounter\022" + "\"\n\032useStatsForParallelization\030% \001(\010\022\033\n\023t" + - "ransactionProvider\030& \001(\005\"6\n\020EncodedCQCou" + - "nter\022\021\n\tcolFamily\030\001 \002(\t\022\017\n\007counter\030\002 \002(\005" + - "*A\n\nPTableType\022\n\n\006SYSTEM\020\000\022\010\n\004USER\020\001\022\010\n\004", - "VIEW\020\002\022\t\n\005INDEX\020\003\022\010\n\004JOIN\020\004B@\n(org.apach" + - "e.phoenix.coprocessor.generatedB\014PTableP" + - "rotosH\001\210\001\001\240\001\001" + "ransactionProvider\030& \001(\005\022\030\n\rviewIndexTyp" + + "e\030\' \001(\005:\0015\"6\n\020EncodedCQCounter\022\021\n\tcolFam" + + "ily\030\001 \002(\t\022\017\n\007counter\030\002 \002(\005*A\n\nPTableType", + "\022\n\n\006SYSTEM\020\000\022\010\n\004USER\020\001\022\010\n\004VIEW\020\002\022\t\n\005INDE" + + "X\020\003\022\010\n\004JOIN\020\004B@\n(org.apache.phoenix.copr" + + "ocessor.generatedB\014PTableProtosH\001\210\001\001\240\001\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -8898,7 +8988,7 @@ public final class PTableProtos { internal_static_PTable_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_PTable_descriptor, - new java.lang.String[] { "SchemaNameBytes", "TableNameBytes", "TableType", "IndexState", "SequenceNumber", "TimeStamp", "PkNameBytes", "BucketNum", "Columns", "Indexes", "IsImmutableRows", "DataTableNameBytes", "DefaultFamilyName", "DisableWAL", "MultiTenant", "ViewType", "ViewStatement", "PhysicalNames", "TenantId", "ViewIndexId", "IndexType", "StatsTimeStamp", "StoreNulls", "BaseColumnCount", "RowKeyOrderOptimizable", "Transactional", "UpdateCacheFrequency", "IndexDisableTimestamp", "IsNamespaceMapped", "AutoParititonSeqName", "IsAppendOnlySchema", "ParentNameBytes", "StorageScheme", "EncodingScheme", "EncodedCQCounters", "UseStatsForParallelization", "TransactionProvider", }); + new java.lang.String[] { "SchemaNameBytes", "TableNameBytes", "TableType", "IndexState", "SequenceNumber", "TimeStamp", "PkNameBytes", "BucketNum", "Columns", "Indexes", "IsImmutableRows", "DataTableNameBytes", "DefaultFamilyName", "DisableWAL", "MultiTenant", "ViewType", "ViewStatement", "PhysicalNames", "TenantId", "ViewIndexId", "IndexType", "StatsTimeStamp", "StoreNulls", "BaseColumnCount", "RowKeyOrderOptimizable", "Transactional", "UpdateCacheFrequency", "IndexDisableTimestamp", "IsNamespaceMapped", "AutoParititonSeqName", "IsAppendOnlySchema", "ParentNameBytes", "StorageScheme", "EncodingScheme", "EncodedCQCounters", "UseStatsForParallelization", "TransactionProvider", "ViewIndexType", }); internal_static_EncodedCQCounter_descriptor = getDescriptor().getMessageTypes().get(3); internal_static_EncodedCQCounter_fieldAccessorTable = new http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/ServerCachingProtos.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/ServerCachingProtos.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/ServerCachingProtos.java index f1b03f8..fdca334 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/ServerCachingProtos.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/generated/ServerCachingProtos.java @@ -2157,6 +2157,16 @@ public final class ServerCachingProtos { * <code>required int32 immutableStorageScheme = 21;</code> */ int getImmutableStorageScheme(); + + // optional int32 viewIndexType = 22; + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + boolean hasViewIndexType(); + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + int getViewIndexType(); } /** * Protobuf type {@code IndexMaintainer} @@ -2350,6 +2360,11 @@ public final class ServerCachingProtos { immutableStorageScheme_ = input.readInt32(); break; } + case 176: { + bitField0_ |= 0x00010000; + viewIndexType_ = input.readInt32(); + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -2834,6 +2849,22 @@ public final class ServerCachingProtos { return immutableStorageScheme_; } + // optional int32 viewIndexType = 22; + public static final int VIEWINDEXTYPE_FIELD_NUMBER = 22; + private int viewIndexType_; + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + public boolean hasViewIndexType() { + return ((bitField0_ & 0x00010000) == 0x00010000); + } + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + public int getViewIndexType() { + return viewIndexType_; + } + private void initFields() { saltBuckets_ = 0; isMultiTenant_ = false; @@ -2856,6 +2887,7 @@ public final class ServerCachingProtos { indexedColumnInfo_ = java.util.Collections.emptyList(); encodingScheme_ = 0; immutableStorageScheme_ = 0; + viewIndexType_ = 0; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -3016,6 +3048,9 @@ public final class ServerCachingProtos { if (((bitField0_ & 0x00008000) == 0x00008000)) { output.writeInt32(21, immutableStorageScheme_); } + if (((bitField0_ & 0x00010000) == 0x00010000)) { + output.writeInt32(22, viewIndexType_); + } getUnknownFields().writeTo(output); } @@ -3114,6 +3149,10 @@ public final class ServerCachingProtos { size += com.google.protobuf.CodedOutputStream .computeInt32Size(21, immutableStorageScheme_); } + if (((bitField0_ & 0x00010000) == 0x00010000)) { + size += com.google.protobuf.CodedOutputStream + .computeInt32Size(22, viewIndexType_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -3227,6 +3266,11 @@ public final class ServerCachingProtos { result = result && (getImmutableStorageScheme() == other.getImmutableStorageScheme()); } + result = result && (hasViewIndexType() == other.hasViewIndexType()); + if (hasViewIndexType()) { + result = result && (getViewIndexType() + == other.getViewIndexType()); + } result = result && getUnknownFields().equals(other.getUnknownFields()); return result; @@ -3324,6 +3368,10 @@ public final class ServerCachingProtos { hash = (37 * hash) + IMMUTABLESTORAGESCHEME_FIELD_NUMBER; hash = (53 * hash) + getImmutableStorageScheme(); } + if (hasViewIndexType()) { + hash = (37 * hash) + VIEWINDEXTYPE_FIELD_NUMBER; + hash = (53 * hash) + getViewIndexType(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -3500,6 +3548,8 @@ public final class ServerCachingProtos { bitField0_ = (bitField0_ & ~0x00080000); immutableStorageScheme_ = 0; bitField0_ = (bitField0_ & ~0x00100000); + viewIndexType_ = 0; + bitField0_ = (bitField0_ & ~0x00200000); return this; } @@ -3637,6 +3687,10 @@ public final class ServerCachingProtos { to_bitField0_ |= 0x00008000; } result.immutableStorageScheme_ = immutableStorageScheme_; + if (((from_bitField0_ & 0x00200000) == 0x00200000)) { + to_bitField0_ |= 0x00010000; + } + result.viewIndexType_ = viewIndexType_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -3815,6 +3869,9 @@ public final class ServerCachingProtos { if (other.hasImmutableStorageScheme()) { setImmutableStorageScheme(other.getImmutableStorageScheme()); } + if (other.hasViewIndexType()) { + setViewIndexType(other.getViewIndexType()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -5579,6 +5636,39 @@ public final class ServerCachingProtos { return this; } + // optional int32 viewIndexType = 22; + private int viewIndexType_ ; + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + public boolean hasViewIndexType() { + return ((bitField0_ & 0x00200000) == 0x00200000); + } + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + public int getViewIndexType() { + return viewIndexType_; + } + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + public Builder setViewIndexType(int value) { + bitField0_ |= 0x00200000; + viewIndexType_ = value; + onChanged(); + return this; + } + /** + * <code>optional int32 viewIndexType = 22;</code> + */ + public Builder clearViewIndexType() { + bitField0_ = (bitField0_ & ~0x00200000); + viewIndexType_ = 0; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:IndexMaintainer) } @@ -8615,7 +8705,7 @@ public final class ServerCachingProtos { "ength\030\003 \002(\005\"4\n\017ColumnReference\022\016\n\006family" + "\030\001 \002(\014\022\021\n\tqualifier\030\002 \002(\014\"4\n\nColumnInfo\022" + "\022\n\nfamilyName\030\001 \001(\t\022\022\n\ncolumnName\030\002 \002(\t\"" + - "\306\005\n\017IndexMaintainer\022\023\n\013saltBuckets\030\001 \002(\005" + + "\335\005\n\017IndexMaintainer\022\023\n\013saltBuckets\030\001 \002(\005" + "\022\025\n\risMultiTenant\030\002 \002(\010\022\023\n\013viewIndexId\030\003" + " \001(\014\022(\n\016indexedColumns\030\004 \003(\0132\020.ColumnRef" + "erence\022 \n\030indexedColumnTypeOrdinal\030\005 \003(\005", @@ -8632,23 +8722,23 @@ public final class ServerCachingProtos { "ed\030\020 \002(\010\022\033\n\023indexRowKeyByteSize\030\021 \002(\005\022\021\n" + "\timmutable\030\022 \002(\010\022&\n\021indexedColumnInfo\030\023 " + "\003(\0132\013.ColumnInfo\022\026\n\016encodingScheme\030\024 \002(\005" + - "\022\036\n\026immutableStorageScheme\030\025 \002(\005\"\334\001\n\025Add" + - "ServerCacheRequest\022\020\n\010tenantId\030\001 \001(\014\022\017\n\007" + - "cacheId\030\002 \002(\014\022)\n\010cachePtr\030\003 \002(\0132\027.Immuta" + - "bleBytesWritable\022)\n\014cacheFactory\030\004 \002(\0132\023" + - ".ServerCacheFactory\022\017\n\007txState\030\005 \001(\014\022\"\n\032" + - "hasProtoBufIndexMaintainer\030\006 \001(\010\022\025\n\rclie" + - "ntVersion\030\007 \001(\005\"(\n\026AddServerCacheRespons", - "e\022\016\n\006return\030\001 \002(\010\"=\n\030RemoveServerCacheRe" + - "quest\022\020\n\010tenantId\030\001 \001(\014\022\017\n\007cacheId\030\002 \002(\014" + - "\"+\n\031RemoveServerCacheResponse\022\016\n\006return\030" + - "\001 \002(\0102\245\001\n\024ServerCachingService\022A\n\016addSer" + - "verCache\022\026.AddServerCacheRequest\032\027.AddSe" + - "rverCacheResponse\022J\n\021removeServerCache\022\031" + - ".RemoveServerCacheRequest\032\032.RemoveServer" + - "CacheResponseBG\n(org.apache.phoenix.copr" + - "ocessor.generatedB\023ServerCachingProtosH\001" + - "\210\001\001\240\001\001" + "\022\036\n\026immutableStorageScheme\030\025 \002(\005\022\025\n\rview" + + "IndexType\030\026 \001(\005\"\334\001\n\025AddServerCacheReques" + + "t\022\020\n\010tenantId\030\001 \001(\014\022\017\n\007cacheId\030\002 \002(\014\022)\n\010" + + "cachePtr\030\003 \002(\0132\027.ImmutableBytesWritable\022" + + ")\n\014cacheFactory\030\004 \002(\0132\023.ServerCacheFacto" + + "ry\022\017\n\007txState\030\005 \001(\014\022\"\n\032hasProtoBufIndexM" + + "aintainer\030\006 \001(\010\022\025\n\rclientVersion\030\007 \001(\005\"(", + "\n\026AddServerCacheResponse\022\016\n\006return\030\001 \002(\010" + + "\"=\n\030RemoveServerCacheRequest\022\020\n\010tenantId" + + "\030\001 \001(\014\022\017\n\007cacheId\030\002 \002(\014\"+\n\031RemoveServerC" + + "acheResponse\022\016\n\006return\030\001 \002(\0102\245\001\n\024ServerC" + + "achingService\022A\n\016addServerCache\022\026.AddSer" + + "verCacheRequest\032\027.AddServerCacheResponse" + + "\022J\n\021removeServerCache\022\031.RemoveServerCach" + + "eRequest\032\032.RemoveServerCacheResponseBG\n(" + + "org.apache.phoenix.coprocessor.generated" + + "B\023ServerCachingProtosH\001\210\001\001\240\001\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -8678,7 +8768,7 @@ public final class ServerCachingProtos { internal_static_IndexMaintainer_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_IndexMaintainer_descriptor, - new java.lang.String[] { "SaltBuckets", "IsMultiTenant", "ViewIndexId", "IndexedColumns", "IndexedColumnTypeOrdinal", "DataTableColRefForCoveredColumns", "IndexTableColRefForCoveredColumns", "IsLocalIndex", "IndexTableName", "RowKeyOrderOptimizable", "DataTableEmptyKeyValueColFamily", "EmptyKeyValueColFamily", "IndexedExpressions", "RowKeyMetadata", "NumDataTableColFamilies", "IndexWalDisabled", "IndexRowKeyByteSize", "Immutable", "IndexedColumnInfo", "EncodingScheme", "ImmutableStorageScheme", }); + new java.lang.String[] { "SaltBuckets", "IsMultiTenant", "ViewIndexId", "IndexedColumns", "IndexedColumnTypeOrdinal", "DataTableColRefForCoveredColumns", "IndexTableColRefForCoveredColumns", "IsLocalIndex", "IndexTableName", "RowKeyOrderOptimizable", "DataTableEmptyKeyValueColFamily", "EmptyKeyValueColFamily", "IndexedExpressions", "RowKeyMetadata", "NumDataTableColFamilies", "IndexWalDisabled", "IndexRowKeyByteSize", "Immutable", "IndexedColumnInfo", "EncodingScheme", "ImmutableStorageScheme", "ViewIndexType", }); internal_static_AddServerCacheRequest_descriptor = getDescriptor().getMessageTypes().get(4); internal_static_AddServerCacheRequest_fieldAccessorTable = new http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java b/phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java index bc2523d..140c304 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/index/IndexMaintainer.java @@ -101,6 +101,7 @@ import org.apache.phoenix.schema.ValueSchema.Field; import org.apache.phoenix.schema.tuple.BaseTuple; import org.apache.phoenix.schema.tuple.ValueGetterTuple; import org.apache.phoenix.schema.types.PDataType; +import org.apache.phoenix.schema.types.PLong; import org.apache.phoenix.util.BitSet; import org.apache.phoenix.util.ByteUtil; import org.apache.phoenix.util.EncodedColumnsUtil; @@ -314,6 +315,7 @@ public class IndexMaintainer implements Writable, Iterable<ColumnReference> { } private byte[] viewIndexId; + private PDataType viewIndexType; private boolean isMultiTenant; // indexed expressions that are not present in the row key of the data table, the expression can also refer to a regular column private List<Expression> indexedExpressions; @@ -371,7 +373,8 @@ public class IndexMaintainer implements Writable, Iterable<ColumnReference> { this(dataTable.getRowKeySchema(), dataTable.getBucketNum() != null); this.rowKeyOrderOptimizable = index.rowKeyOrderOptimizable(); this.isMultiTenant = dataTable.isMultiTenant(); - this.viewIndexId = index.getViewIndexId() == null ? null : MetaDataUtil.getViewIndexIdDataType().toBytes(index.getViewIndexId()); + this.viewIndexId = index.getViewIndexId() == null ? null : index.getViewIndexType().toBytes(index.getViewIndexId()); + this.viewIndexType = index.getViewIndexType(); this.isLocalIndex = index.getIndexType() == IndexType.LOCAL; this.encodingScheme = index.getEncodingScheme(); @@ -823,7 +826,7 @@ public class IndexMaintainer implements Writable, Iterable<ColumnReference> { @Override public PDataType getDataType() { - return MetaDataUtil.getViewIndexIdDataType(); + return viewIndexType; } @Override @@ -1220,7 +1223,9 @@ public class IndexMaintainer implements Writable, Iterable<ColumnReference> { boolean hasViewIndexId = encodedIndexedColumnsAndViewId < 0; if (hasViewIndexId) { // Fixed length - viewIndexId = new byte[MetaDataUtil.getViewIndexIdDataType().getByteSize()]; + //Use legacy viewIndexIdType for clients older than 4.10 release + viewIndexId = new byte[MetaDataUtil.getLegacyViewIndexIdDataType().getByteSize()]; + viewIndexType = MetaDataUtil.getLegacyViewIndexIdDataType(); input.readFully(viewIndexId); } int nIndexedColumns = Math.abs(encodedIndexedColumnsAndViewId) - 1; @@ -1337,6 +1342,9 @@ public class IndexMaintainer implements Writable, Iterable<ColumnReference> { maintainer.nIndexSaltBuckets = proto.getSaltBuckets(); maintainer.isMultiTenant = proto.getIsMultiTenant(); maintainer.viewIndexId = proto.hasViewIndexId() ? proto.getViewIndexId().toByteArray() : null; + maintainer.viewIndexType = proto.hasViewIndexType() + ? PDataType.fromTypeId(proto.getViewIndexType()) + : MetaDataUtil.getLegacyViewIndexIdDataType(); List<ServerCachingProtos.ColumnReference> indexedColumnsList = proto.getIndexedColumnsList(); maintainer.indexedColumns = new HashSet<ColumnReference>(indexedColumnsList.size()); for (ServerCachingProtos.ColumnReference colRefFromProto : indexedColumnsList) { @@ -1456,6 +1464,7 @@ public class IndexMaintainer implements Writable, Iterable<ColumnReference> { builder.setIsMultiTenant(maintainer.isMultiTenant); if (maintainer.viewIndexId != null) { builder.setViewIndexId(ByteStringer.wrap(maintainer.viewIndexId)); + builder.setViewIndexType(maintainer.viewIndexType.getSqlType()); } for (ColumnReference colRef : maintainer.indexedColumns) { ServerCachingProtos.ColumnReference.Builder cRefBuilder = ServerCachingProtos.ColumnReference.newBuilder(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java b/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java index e7f5ac2..b6c1c83 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/index/PhoenixIndexFailurePolicy.java @@ -314,7 +314,7 @@ public class PhoenixIndexFailurePolicy extends DelegateIndexFailurePolicy { for (PTable index : indexes) { if (index.getIndexType() == IndexType.LOCAL) { localIndex = index; - localIndexNames.put(new ImmutableBytesWritable(MetaDataUtil.getViewIndexIdDataType().toBytes( + localIndexNames.put(new ImmutableBytesWritable(index.getViewIndexType().toBytes( index.getViewIndexId())), index.getName().getString()); } } @@ -573,4 +573,4 @@ public class PhoenixIndexFailurePolicy extends DelegateIndexFailurePolicy { } } } -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/iterate/ExplainTable.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/iterate/ExplainTable.java b/phoenix-core/src/main/java/org/apache/phoenix/iterate/ExplainTable.java index 1a22f60..2671044 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/iterate/ExplainTable.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/iterate/ExplainTable.java @@ -47,6 +47,7 @@ import org.apache.phoenix.schema.SortOrder; import org.apache.phoenix.schema.TableRef; import org.apache.phoenix.schema.types.PDataType; import org.apache.phoenix.schema.types.PInteger; +import org.apache.phoenix.util.MetaDataUtil; import org.apache.phoenix.util.ScanUtil; import org.apache.phoenix.util.StringUtil; @@ -204,15 +205,19 @@ public abstract class ExplainTable { range = ptr.get(); } if (changeViewIndexId) { - Short s = (Short) type.toObject(range); - s = (short) (s + (-Short.MAX_VALUE)); - buf.append(s.toString()); + buf.append(getViewIndexValue(type, range).toString()); } else { Format formatter = context.getConnection().getFormatter(type); buf.append(type.toStringLiteral(range, formatter)); } } - + + private Long getViewIndexValue(PDataType type, byte[] range) { + boolean useLongViewIndex = MetaDataUtil.getViewIndexIdDataType().equals(type); + Object s = type.toObject(range); + return (useLongViewIndex ? (Long) s : (Short) s) - (useLongViewIndex ? Long.MAX_VALUE : Short.MAX_VALUE); + } + private static class RowKeyValueIterator implements Iterator<byte[]> { private final RowKeySchema schema; private ImmutableBytesWritable ptr = new ImmutableBytesWritable(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/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 7a4a481..1b5760d 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 @@ -220,6 +220,8 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData { public static final byte[] IS_VIEW_REFERENCED_BYTES = Bytes.toBytes(IS_VIEW_REFERENCED); public static final String VIEW_INDEX_ID = "VIEW_INDEX_ID"; public static final byte[] VIEW_INDEX_ID_BYTES = Bytes.toBytes(VIEW_INDEX_ID); + public static final String VIEW_INDEX_ID_DATA_TYPE = "VIEW_INDEX_ID_DATA_TYPE"; + public static final byte[] VIEW_INDEX_ID_DATA_TYPE_BYTES = Bytes.toBytes(VIEW_INDEX_ID_DATA_TYPE); public static final String BASE_COLUMN_COUNT = "BASE_COLUMN_COUNT"; public static final byte[] BASE_COLUMN_COUNT_BYTES = Bytes.toBytes(BASE_COLUMN_COUNT); public static final String IS_ROW_TIMESTAMP = "IS_ROW_TIMESTAMP"; http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java index f4831dc..9ee33a5 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java @@ -2994,6 +2994,14 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement addViewIndexToParentLinks(metaConnection); moveChildLinks(metaConnection); } + if (currentServerSideTableTimeStamp < MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_15_0) { + metaConnection = addColumnsIfNotExists( + metaConnection, + PhoenixDatabaseMetaData.SYSTEM_CATALOG, + MetaDataProtocol.MIN_SYSTEM_TABLE_TIMESTAMP_4_15_0, + PhoenixDatabaseMetaData.VIEW_INDEX_ID_DATA_TYPE + " " + + PInteger.INSTANCE.getSqlTypeName()); + } return metaConnection; } http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java index 0009bd1..bfe54ff 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionlessQueryServicesImpl.java @@ -297,7 +297,7 @@ public class ConnectionlessQueryServicesImpl extends DelegateQueryServices imple if (!allocateIndexId) { return new MetaDataMutationResult(MutationCode.TABLE_NOT_FOUND, 0, null); } else { - return new MetaDataMutationResult(MutationCode.TABLE_NOT_FOUND, 0, null, Short.MIN_VALUE); + return new MetaDataMutationResult(MutationCode.TABLE_NOT_FOUND, 0, null, Long.MIN_VALUE, MetaDataUtil.getViewIndexIdDataType()); } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java index 32fedc8..bbff343 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/query/QueryConstants.java @@ -191,7 +191,8 @@ public interface QueryConstants { DISABLE_WAL + " BOOLEAN,\n" + MULTI_TENANT + " BOOLEAN,\n" + VIEW_TYPE + " UNSIGNED_TINYINT,\n" + - VIEW_INDEX_ID + " SMALLINT,\n" + + VIEW_INDEX_ID + " BIGINT,\n" + + VIEW_INDEX_ID_DATA_TYPE + " INTEGER,\n" + // Column metadata (will be null for table row) DATA_TYPE + " INTEGER," + COLUMN_SIZE + " INTEGER," + @@ -370,4 +371,4 @@ public interface QueryConstants { HColumnDescriptor.KEEP_DELETED_CELLS + "=%s,\n" + PhoenixDatabaseMetaData.TRANSACTIONAL + "=" + Boolean.FALSE; -} \ No newline at end of file +} http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java index d1b8f1e..50bb722 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateTable.java @@ -23,6 +23,7 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.phoenix.hbase.index.util.KeyValueBuilder; import org.apache.phoenix.index.IndexMaintainer; import org.apache.phoenix.jdbc.PhoenixConnection; +import org.apache.phoenix.schema.types.PDataType; import org.apache.phoenix.transaction.TransactionFactory; public class DelegateTable implements PTable { @@ -207,11 +208,16 @@ public class DelegateTable implements PTable { } @Override - public Short getViewIndexId() { + public Long getViewIndexId() { return delegate.getViewIndexId(); } @Override + public PDataType getViewIndexType() { + return delegate.getViewIndexType(); + } + + @Override public PTableKey getKey() { return delegate.getKey(); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java index 1114463..ecf3cd0 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java @@ -91,6 +91,7 @@ import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.USE_STATS_FOR_PARA import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.VIEW_CONSTANT; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.VIEW_STATEMENT; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.VIEW_TYPE; +import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.VIEW_INDEX_ID_DATA_TYPE; import static org.apache.phoenix.query.QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT; import static org.apache.phoenix.query.QueryConstants.DEFAULT_COLUMN_FAMILY; import static org.apache.phoenix.query.QueryConstants.ENCODED_CQ_COUNTER_INITIAL_VALUE; @@ -301,8 +302,9 @@ public class MetaDataClient { GUIDE_POSTS_WIDTH + "," + IMMUTABLE_STORAGE_SCHEME + "," + ENCODING_SCHEME + "," + - USE_STATS_FOR_PARALLELIZATION + - ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + USE_STATS_FOR_PARALLELIZATION +"," + + VIEW_INDEX_ID_DATA_TYPE + + ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; private static final String CREATE_SCHEMA = "UPSERT INTO " + SYSTEM_CATALOG_SCHEMA + ".\"" + SYSTEM_CATALOG_TABLE + "\"( " + TABLE_SCHEM + "," + TABLE_NAME + ") VALUES (?,?)"; @@ -1061,7 +1063,7 @@ public class MetaDataClient { } } - public MutationState createTable(CreateTableStatement statement, byte[][] splits, PTable parent, String viewStatement, ViewType viewType, byte[][] viewColumnConstants, BitSet isViewColumnReferenced) throws SQLException { + public MutationState createTable(CreateTableStatement statement, byte[][] splits, PTable parent, String viewStatement, ViewType viewType, PDataType viewIndexType, byte[][] viewColumnConstants, BitSet isViewColumnReferenced) throws SQLException { TableName tableName = statement.getTableName(); Map<String,Object> tableProps = Maps.newHashMapWithExpectedSize(statement.getProps().size()); Map<String,Object> commonFamilyProps = Maps.newHashMapWithExpectedSize(statement.getProps().size() + 1); @@ -1122,7 +1124,7 @@ public class MetaDataClient { true, NamedTableNode.create(statement.getTableName()), statement.getTableType()); } } - table = createTableInternal(statement, splits, parent, viewStatement, viewType, viewColumnConstants, isViewColumnReferenced, false, null, null, tableProps, commonFamilyProps); + table = createTableInternal(statement, splits, parent, viewStatement, viewType, viewIndexType, viewColumnConstants, isViewColumnReferenced, false, null, null, tableProps, commonFamilyProps); if (table == null || table.getType() == PTableType.VIEW /*|| table.isTransactional()*/) { return new MutationState(0, 0, connection); @@ -1680,7 +1682,7 @@ public class MetaDataClient { PrimaryKeyConstraint pk = FACTORY.primaryKey(null, allPkColumns); tableProps.put(MetaDataUtil.DATA_TABLE_NAME_PROP_NAME, dataTable.getName().getString()); CreateTableStatement tableStatement = FACTORY.createTable(indexTableName, statement.getProps(), columnDefs, pk, statement.getSplitNodes(), PTableType.INDEX, statement.ifNotExists(), null, null, statement.getBindCount(), null); - table = createTableInternal(tableStatement, splits, dataTable, null, null, null, null, allocateIndexId, statement.getIndexType(), asyncCreatedDate, tableProps, commonFamilyProps); + table = createTableInternal(tableStatement, splits, dataTable, null, null, MetaDataUtil.getViewIndexIdDataType(),null, null, allocateIndexId, statement.getIndexType(), asyncCreatedDate, tableProps, commonFamilyProps); break; } catch (ConcurrentTableMutationException e) { // Can happen if parent data table changes while above is in progress if (numRetries<5) { @@ -1894,7 +1896,7 @@ public class MetaDataClient { } private PTable createTableInternal(CreateTableStatement statement, byte[][] splits, - final PTable parent, String viewStatement, ViewType viewType, + final PTable parent, String viewStatement, ViewType viewType, PDataType viewIndexType, final byte[][] viewColumnConstants, final BitSet isViewColumnReferenced, boolean allocateIndexId, IndexType indexType, Date asyncCreatedDate, Map<String,Object> tableProps, @@ -2582,7 +2584,7 @@ public class MetaDataClient { Collections.<PTable>emptyList(), isImmutableRows, Collections.<PName>emptyList(), defaultFamilyName == null ? null : PNameFactory.newName(defaultFamilyName), null, - Boolean.TRUE.equals(disableWAL), false, false, null, null, indexType, true, null, 0, 0L, isNamespaceMapped, autoPartitionSeq, isAppendOnlySchema, ONE_CELL_PER_COLUMN, NON_ENCODED_QUALIFIERS, PTable.EncodedCQCounter.NULL_COUNTER, true); + Boolean.TRUE.equals(disableWAL), false, false, null, viewIndexType, null, indexType, true, null, 0, 0L, isNamespaceMapped, autoPartitionSeq, isAppendOnlySchema, ONE_CELL_PER_COLUMN, NON_ENCODED_QUALIFIERS, PTable.EncodedCQCounter.NULL_COUNTER, true); connection.addTable(table, MetaDataProtocol.MIN_TABLE_TIMESTAMP); } @@ -2747,6 +2749,7 @@ public class MetaDataClient { } else { tableUpsert.setBoolean(28, useStatsForParallelizationProp); } + tableUpsert.setInt(29, Types.BIGINT); tableUpsert.execute(); if (asyncCreatedDate != null) { @@ -2860,7 +2863,7 @@ public class MetaDataClient { PTable.INITIAL_SEQ_NUM, pkName == null ? null : PNameFactory.newName(pkName), saltBucketNum, columns.values(), parent == null ? null : parent.getSchemaName(), parent == null ? null : parent.getTableName(), Collections.<PTable>emptyList(), isImmutableRows, physicalNames, defaultFamilyName == null ? null : PNameFactory.newName(defaultFamilyName), viewStatement, Boolean.TRUE.equals(disableWAL), multiTenant, storeNulls, viewType, - result.getViewIndexId(), indexType, rowKeyOrderOptimizable, transactionProvider, updateCacheFrequency, 0L, isNamespaceMapped, autoPartitionSeq, isAppendOnlySchema, immutableStorageScheme, encodingScheme, cqCounterToBe, useStatsForParallelizationProp); + viewIndexType, result.getViewIndexId(), indexType, rowKeyOrderOptimizable, transactionProvider, updateCacheFrequency, 0L, isNamespaceMapped, autoPartitionSeq, isAppendOnlySchema, immutableStorageScheme, encodingScheme, cqCounterToBe, useStatsForParallelizationProp); result = new MetaDataMutationResult(code, result.getMutationTime(), table, true); addTableToCache(result); return table; @@ -3938,7 +3941,7 @@ public class MetaDataClient { PTableImpl viewIndexTable = new PTableImpl(sharedTableState.getTenantId(), sharedTableState.getSchemaName(), sharedTableState.getTableName(), ts, table.getColumnFamilies(), sharedTableState.getColumns(), - sharedTableState.getPhysicalNames(), sharedTableState.getViewIndexId(), + sharedTableState.getPhysicalNames(), sharedTableState.getViewIndexType(), sharedTableState.getViewIndexId(), table.isMultiTenant(), table.isNamespaceMapped(), table.getImmutableStorageScheme(), table.getEncodingScheme(), table.getEncodedCQCounter(), table.useStatsForParallelization()); TableRef indexTableRef = new TableRef(viewIndexTable); PName indexTableTenantId = sharedTableState.getTenantId(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java index bb81d76..1623175 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTable.java @@ -700,7 +700,8 @@ public interface PTable extends PMetaDataEntity { ViewType getViewType(); String getViewStatement(); - Short getViewIndexId(); + Long getViewIndexId(); + PDataType getViewIndexType(); PTableKey getKey(); IndexType getIndexType(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java index d575902..8d57945 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PTableImpl.java @@ -69,10 +69,12 @@ import org.apache.phoenix.schema.types.PChar; import org.apache.phoenix.schema.types.PDataType; import org.apache.phoenix.schema.types.PDouble; import org.apache.phoenix.schema.types.PFloat; +import org.apache.phoenix.schema.types.PLong; import org.apache.phoenix.schema.types.PVarchar; import org.apache.phoenix.transaction.TransactionFactory; import org.apache.phoenix.util.ByteUtil; import org.apache.phoenix.util.EncodedColumnsUtil; +import org.apache.phoenix.util.MetaDataUtil; import org.apache.phoenix.util.PhoenixRuntime; import org.apache.phoenix.util.SchemaUtil; import org.apache.phoenix.util.SizedUtil; @@ -138,7 +140,8 @@ public class PTableImpl implements PTable { private boolean storeNulls; private TransactionFactory.Provider transactionProvider; private ViewType viewType; - private Short viewIndexId; + private PDataType viewIndexType; + private Long viewIndexId; private int estimatedSize; private IndexType indexType; private int baseColumnCount; @@ -214,7 +217,7 @@ public class PTableImpl implements PTable { // For indexes stored in shared physical tables public PTableImpl(PName tenantId, PName schemaName, PName tableName, long timestamp, List<PColumnFamily> families, - List<PColumn> columns, List<PName> physicalNames, Short viewIndexId, boolean multiTenant, boolean isNamespaceMpped, ImmutableStorageScheme storageScheme, QualifierEncodingScheme qualifierEncodingScheme, + List<PColumn> columns, List<PName> physicalNames,PDataType viewIndexType, Long viewIndexId, boolean multiTenant, boolean isNamespaceMpped, ImmutableStorageScheme storageScheme, QualifierEncodingScheme qualifierEncodingScheme, EncodedCQCounter encodedCQCounter, Boolean useStatsForParallelization) throws SQLException { this.pkColumns = this.allColumns = Collections.emptyList(); this.rowKeySchema = RowKeySchema.EMPTY_SCHEMA; @@ -228,7 +231,7 @@ public class PTableImpl implements PTable { this.families = families; init(tenantId, this.schemaName, this.tableName, PTableType.INDEX, state, timeStamp, sequenceNumber, pkName, bucketNum, columns, this.schemaName, parentTableName, indexes, isImmutableRows, physicalNames, defaultFamilyName, - null, disableWAL, multiTenant, storeNulls, viewType, viewIndexId, indexType, baseColumnCount, rowKeyOrderOptimizable, + null, disableWAL, multiTenant, storeNulls, viewType, viewIndexType, viewIndexId, indexType, baseColumnCount, rowKeyOrderOptimizable, transactionProvider, updateCacheFrequency, indexDisableTimestamp, isNamespaceMpped, null, false, storageScheme, qualifierEncodingScheme, encodedCQCounter, useStatsForParallelization); } @@ -293,7 +296,8 @@ public class PTableImpl implements PTable { view.getTenantId(), view.getSchemaName(), view.getTableName(), view.getType(), view.getIndexState(), timestamp, view.getSequenceNumber(), view.getPKName(), view.getBucketNum(), columns, view.getParentSchemaName(), view.getParentTableName(), view.getIndexes(), baseTable.isImmutableRows(), view.getPhysicalNames(), view.getDefaultFamilyName(), view.getViewStatement(), - baseTable.isWALDisabled(), baseTable.isMultiTenant(), baseTable.getStoreNulls(), view.getViewType(), view.getViewIndexId(), view.getIndexType(), + baseTable.isWALDisabled(), baseTable.isMultiTenant(), baseTable.getStoreNulls(), view.getViewType(), + view.getViewIndexType(), view.getViewIndexId(), view.getIndexType(), baseTableColumnCount, view.rowKeyOrderOptimizable(), baseTable.getTransactionProvider(), view.getUpdateCacheFrequency(), view.getIndexDisableTimestamp(), view.isNamespaceMapped(), baseTable.getAutoPartitionSeqName(), baseTable.isAppendOnlySchema(), baseTable.getImmutableStorageScheme(), baseTable.getEncodingScheme(), view.getEncodedCQCounter(), view.useStatsForParallelization()); @@ -340,7 +344,7 @@ public class PTableImpl implements PTable { PIndexState state, long timeStamp, long sequenceNumber, PName pkName, Integer bucketNum, Collection<PColumn> columns, PName dataSchemaName, PName dataTableName, List<PTable> indexes, boolean isImmutableRows, List<PName> physicalNames, PName defaultFamilyName, String viewExpression, - boolean disableWAL, boolean multiTenant, boolean storeNulls, ViewType viewType, Short viewIndexId, + boolean disableWAL, boolean multiTenant, boolean storeNulls, ViewType viewType, PDataType viewIndexType, Long viewIndexId, IndexType indexType, boolean rowKeyOrderOptimizable, TransactionFactory.Provider transactionProvider, long updateCacheFrequency, long indexDisableTimestamp, boolean isNamespaceMapped, String autoPartitionSeqName, boolean isAppendOnlySchema, ImmutableStorageScheme storageScheme, @@ -348,7 +352,7 @@ public class PTableImpl implements PTable { Boolean useStatsForParallelization) throws SQLException { return new PTableImpl(tenantId, schemaName, tableName, type, state, timeStamp, sequenceNumber, pkName, bucketNum, columns, dataSchemaName, dataTableName, indexes, isImmutableRows, physicalNames, - defaultFamilyName, viewExpression, disableWAL, multiTenant, storeNulls, viewType, viewIndexId, + defaultFamilyName, viewExpression, disableWAL, multiTenant, storeNulls, viewType, viewIndexType, viewIndexId, indexType, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, rowKeyOrderOptimizable, transactionProvider, updateCacheFrequency, indexDisableTimestamp, isNamespaceMapped, autoPartitionSeqName, isAppendOnlySchema, storageScheme, qualifierEncodingScheme, encodedCQCounter, @@ -359,7 +363,7 @@ public class PTableImpl implements PTable { PIndexState state, long timeStamp, long sequenceNumber, PName pkName, Integer bucketNum, Collection<PColumn> columns, PName dataSchemaName, PName dataTableName, List<PTable> indexes, boolean isImmutableRows, List<PName> physicalNames, PName defaultFamilyName, String viewExpression, - boolean disableWAL, boolean multiTenant, boolean storeNulls, ViewType viewType, Short viewIndexId, + boolean disableWAL, boolean multiTenant, boolean storeNulls, ViewType viewType, PDataType viewIndexType, Long viewIndexId, IndexType indexType, boolean rowKeyOrderOptimizable, TransactionFactory.Provider transactionProvider, long updateCacheFrequency, int baseColumnCount, long indexDisableTimestamp, boolean isNamespaceMapped, String autoPartitionSeqName, boolean isAppendOnlySchema, ImmutableStorageScheme storageScheme, @@ -367,7 +371,7 @@ public class PTableImpl implements PTable { Boolean useStatsForParallelization) throws SQLException { return new PTableImpl(tenantId, schemaName, tableName, type, state, timeStamp, sequenceNumber, pkName, bucketNum, columns, dataSchemaName, dataTableName, indexes, isImmutableRows, physicalNames, - defaultFamilyName, viewExpression, disableWAL, multiTenant, storeNulls, viewType, viewIndexId, + defaultFamilyName, viewExpression, disableWAL, multiTenant, storeNulls, viewType,viewIndexType, viewIndexId, indexType, baseColumnCount, rowKeyOrderOptimizable, transactionProvider, updateCacheFrequency, indexDisableTimestamp, isNamespaceMapped, autoPartitionSeqName, isAppendOnlySchema, storageScheme, qualifierEncodingScheme, encodedCQCounter, useStatsForParallelization); @@ -380,7 +384,7 @@ public class PTableImpl implements PTable { init(tenantId, schemaName, tableName, type, state, timeStamp, sequenceNumber, table.getPKName(), table.getBucketNum(), columns, table.getParentSchemaName(), table.getParentTableName(), indexes, table.isImmutableRows(), table.getPhysicalNames(), defaultFamily, viewStatement, table.isWALDisabled(), - table.isMultiTenant(), table.getStoreNulls(), table.getViewType(), table.getViewIndexId(), + table.isMultiTenant(), table.getStoreNulls(), table.getViewType(), table.getViewIndexType(), table.getViewIndexId(), table.getIndexType(), baseTableColumnCount, rowKeyOrderOptimizable, table.getTransactionProvider(), updateCacheFrequency, table.getIndexDisableTimestamp(), table.isNamespaceMapped(), table.getAutoPartitionSeqName(), table.isAppendOnlySchema(), table.getImmutableStorageScheme(), @@ -391,13 +395,13 @@ public class PTableImpl implements PTable { long timeStamp, long sequenceNumber, PName pkName, Integer bucketNum, Collection<PColumn> columns, PName parentSchemaName, PName parentTableName, List<PTable> indexes, boolean isImmutableRows, List<PName> physicalNames, PName defaultFamilyName, String viewExpression, boolean disableWAL, boolean multiTenant, - boolean storeNulls, ViewType viewType, Short viewIndexId, IndexType indexType, + boolean storeNulls, ViewType viewType, PDataType viewIndexType, Long viewIndexId, IndexType indexType, int baseColumnCount, boolean rowKeyOrderOptimizable, TransactionFactory.Provider transactionProvider, long updateCacheFrequency, long indexDisableTimestamp, boolean isNamespaceMapped, String autoPartitionSeqName, boolean isAppendOnlySchema, ImmutableStorageScheme storageScheme, QualifierEncodingScheme qualifierEncodingScheme, EncodedCQCounter encodedCQCounter, Boolean useStatsForParallelization) throws SQLException { init(tenantId, schemaName, tableName, type, state, timeStamp, sequenceNumber, pkName, bucketNum, columns, parentSchemaName, parentTableName, indexes, isImmutableRows, physicalNames, defaultFamilyName, - viewExpression, disableWAL, multiTenant, storeNulls, viewType, viewIndexId, indexType, baseColumnCount, rowKeyOrderOptimizable, + viewExpression, disableWAL, multiTenant, storeNulls, viewType, viewIndexType, viewIndexId, indexType, baseColumnCount, rowKeyOrderOptimizable, transactionProvider, updateCacheFrequency, indexDisableTimestamp, isNamespaceMapped, autoPartitionSeqName, isAppendOnlySchema, storageScheme, qualifierEncodingScheme, encodedCQCounter, useStatsForParallelization); } @@ -431,7 +435,7 @@ public class PTableImpl implements PTable { private void init(PName tenantId, PName schemaName, PName tableName, PTableType type, PIndexState state, long timeStamp, long sequenceNumber, PName pkName, Integer bucketNum, Collection<PColumn> columns, PName parentSchemaName, PName parentTableName, List<PTable> indexes, boolean isImmutableRows, List<PName> physicalNames, PName defaultFamilyName, String viewExpression, boolean disableWAL, - boolean multiTenant, boolean storeNulls, ViewType viewType, Short viewIndexId, + boolean multiTenant, boolean storeNulls, ViewType viewType,PDataType viewIndexType, Long viewIndexId, IndexType indexType , int baseColumnCount, boolean rowKeyOrderOptimizable, TransactionFactory.Provider transactionProvider, long updateCacheFrequency, long indexDisableTimestamp, boolean isNamespaceMapped, String autoPartitionSeqName, boolean isAppendOnlySchema, ImmutableStorageScheme storageScheme, QualifierEncodingScheme qualifierEncodingScheme, EncodedCQCounter encodedCQCounter, Boolean useStatsForParallelization) throws SQLException { @@ -462,6 +466,7 @@ public class PTableImpl implements PTable { this.multiTenant = multiTenant; this.storeNulls = storeNulls; this.viewType = viewType; + this.viewIndexType = viewIndexType; this.viewIndexId = viewIndexId; this.indexType = indexType; this.transactionProvider = transactionProvider; @@ -1203,11 +1208,16 @@ public class PTableImpl implements PTable { } @Override - public Short getViewIndexId() { + public Long getViewIndexId() { return viewIndexId; } @Override + public PDataType getViewIndexType() { + return viewIndexType; + } + + @Override public PName getTenantId() { return tenantId; } @@ -1235,10 +1245,13 @@ public class PTableImpl implements PTable { if (table.hasIndexState()) { indexState = PIndexState.fromSerializedValue(table.getIndexState()); } - Short viewIndexId = null; - if(table.hasViewIndexId()){ - viewIndexId = (short)table.getViewIndexId(); + Long viewIndexId = null; + if (table.hasViewIndexId()) { + viewIndexId = table.getViewIndexId(); } + PDataType viewIndexType = table.hasViewIndexType() + ? PDataType.fromTypeId(table.getViewIndexType()) + : MetaDataUtil.getLegacyViewIndexIdDataType(); IndexType indexType = IndexType.getDefault(); if(table.hasIndexType()){ indexType = IndexType.fromSerializedValue(table.getIndexType().toByteArray()[0]); @@ -1352,7 +1365,7 @@ public class PTableImpl implements PTable { result.init(tenantId, schemaName, tableName, tableType, indexState, timeStamp, sequenceNumber, pkName, (bucketNum == NO_SALTING) ? null : bucketNum, columns, parentSchemaName, parentTableName, indexes, isImmutableRows, physicalNames, defaultFamilyName, viewStatement, disableWAL, - multiTenant, storeNulls, viewType, viewIndexId, indexType, baseColumnCount, rowKeyOrderOptimizable, + multiTenant, storeNulls, viewType, viewIndexType, viewIndexId, indexType, baseColumnCount, rowKeyOrderOptimizable, transactionProvider, updateCacheFrequency, indexDisableTimestamp, isNamespaceMapped, autoParititonSeqName, isAppendOnlySchema, storageScheme, qualifierEncodingScheme, encodedColumnQualifierCounter, useStatsForParallelization); return result; @@ -1375,7 +1388,8 @@ public class PTableImpl implements PTable { } if(table.getViewIndexId() != null) { builder.setViewIndexId(table.getViewIndexId()); - } + builder.setViewIndexType(table.getViewIndexType().getSqlType()); + } if(table.getIndexType() != null) { builder.setIndexType(ByteStringer.wrap(new byte[]{table.getIndexType().getSerializedValue()})); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java index f7b7b4a..aaa444f 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java @@ -21,6 +21,7 @@ import static org.apache.phoenix.util.SchemaUtil.getVarChars; import java.io.IOException; import java.sql.SQLException; +import java.sql.Types; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -576,6 +577,10 @@ public class MetaDataUtil { } public static PDataType getViewIndexIdDataType() { + return PLong.INSTANCE; + } + + public static PDataType getLegacyViewIndexIdDataType() { return PSmallint.INSTANCE; } http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/test/java/org/apache/phoenix/compile/TenantSpecificViewIndexCompileTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/phoenix/compile/TenantSpecificViewIndexCompileTest.java b/phoenix-core/src/test/java/org/apache/phoenix/compile/TenantSpecificViewIndexCompileTest.java index 3ab6a19..7b54cf1 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/compile/TenantSpecificViewIndexCompileTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/compile/TenantSpecificViewIndexCompileTest.java @@ -50,7 +50,7 @@ public class TenantSpecificViewIndexCompileTest extends BaseConnectionlessQueryT conn.createStatement().execute("CREATE INDEX i1 ON v(v2) INCLUDE(v1)"); ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT v1,v2 FROM v WHERE v2 > 'a' ORDER BY v2"); - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [-32768,'me','a'] - [-32768,'me',*]", + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [-9223372036854775808,'me','a'] - [-9223372036854775808,'me',*]", QueryUtil.getExplainPlan(rs)); } @@ -194,7 +194,7 @@ public class TenantSpecificViewIndexCompileTest extends BaseConnectionlessQueryT conn.createStatement().execute("CREATE INDEX i1 ON v(v2)"); ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT v2 FROM v WHERE v2 > 'a' and k2 = 'a' ORDER BY v2,k2"); - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [-32768,'me','a'] - [-32768,'me',*]\n" + + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [-9223372036854775808,'me','a'] - [-9223372036854775808,'me',*]\n" + " SERVER FILTER BY FIRST KEY ONLY", QueryUtil.getExplainPlan(rs)); @@ -227,7 +227,7 @@ public class TenantSpecificViewIndexCompileTest extends BaseConnectionlessQueryT // Confirm that a read-only view on an updatable view still optimizes out the read-only parts of the updatable view ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT v2 FROM v2 WHERE v3 > 'a' and k2 = 'a' ORDER BY v3,k2"); - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [-32768,'me','a'] - [-32768,'me',*]", + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [-9223372036854775808,'me','a'] - [-9223372036854775808,'me',*]", QueryUtil.getExplainPlan(rs)); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/test/java/org/apache/phoenix/execute/CorrelatePlanTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/phoenix/execute/CorrelatePlanTest.java b/phoenix-core/src/test/java/org/apache/phoenix/execute/CorrelatePlanTest.java index 2e881b8..26caa0d 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/execute/CorrelatePlanTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/execute/CorrelatePlanTest.java @@ -261,7 +261,7 @@ public class CorrelatePlanTest { PTable pTable = PTableImpl.makePTable(null, PName.EMPTY_NAME, PName.EMPTY_NAME, PTableType.SUBQUERY, null, MetaDataProtocol.MIN_TABLE_TIMESTAMP, PTable.INITIAL_SEQ_NUM, null, null, columns, null, null, Collections.<PTable>emptyList(), - false, Collections.<PName>emptyList(), null, null, false, false, false, null, + false, Collections.<PName>emptyList(), null, null, false, false, false, null, null, null, null, true, null, 0, 0L, Boolean.FALSE, null, false, ImmutableStorageScheme.ONE_CELL_PER_COLUMN, QualifierEncodingScheme.NON_ENCODED_QUALIFIERS, EncodedCQCounter.NULL_COUNTER, true); TableRef sourceTable = new TableRef(pTable); List<ColumnRef> sourceColumnRefs = Lists.<ColumnRef> newArrayList(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-core/src/test/java/org/apache/phoenix/execute/LiteralResultIteratorPlanTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/phoenix/execute/LiteralResultIteratorPlanTest.java b/phoenix-core/src/test/java/org/apache/phoenix/execute/LiteralResultIteratorPlanTest.java index 6bf298e..f400d0b 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/execute/LiteralResultIteratorPlanTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/execute/LiteralResultIteratorPlanTest.java @@ -184,7 +184,7 @@ public class LiteralResultIteratorPlanTest { PTable pTable = PTableImpl.makePTable(null, PName.EMPTY_NAME, PName.EMPTY_NAME, PTableType.SUBQUERY, null, MetaDataProtocol.MIN_TABLE_TIMESTAMP, PTable.INITIAL_SEQ_NUM, null, null, columns, null, null, Collections.<PTable> emptyList(), false, Collections.<PName> emptyList(), null, null, false, false, - false, null, null, null, true, null, 0, 0L, false, null, false, ImmutableStorageScheme.ONE_CELL_PER_COLUMN, QualifierEncodingScheme.NON_ENCODED_QUALIFIERS, EncodedCQCounter.NULL_COUNTER, true); + false, null, null, null, null, true, null, 0, 0L, false, null, false, ImmutableStorageScheme.ONE_CELL_PER_COLUMN, QualifierEncodingScheme.NON_ENCODED_QUALIFIERS, EncodedCQCounter.NULL_COUNTER, true); TableRef sourceTable = new TableRef(pTable); List<ColumnRef> sourceColumnRefs = Lists.<ColumnRef> newArrayList(); for (PColumn column : sourceTable.getTable().getColumns()) { http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-protocol/src/main/MetaDataService.proto ---------------------------------------------------------------------- diff --git a/phoenix-protocol/src/main/MetaDataService.proto b/phoenix-protocol/src/main/MetaDataService.proto index 13d8f1a..f10aa3c 100644 --- a/phoenix-protocol/src/main/MetaDataService.proto +++ b/phoenix-protocol/src/main/MetaDataService.proto @@ -60,7 +60,8 @@ message SharedTableState { required bytes tableName = 3; repeated PColumn columns = 4; repeated bytes physicalNames = 5; - required int32 viewIndexId = 6; + required int64 viewIndexId = 6; + optional int32 viewIndexType = 7 [default = 5]; } message MetaDataResponse { @@ -75,7 +76,8 @@ message MetaDataResponse { repeated SharedTableState sharedTablesToDelete = 9; optional PSchema schema = 10; optional int64 autoPartitionNum = 11; - optional int32 viewIndexId = 12; + optional int64 viewIndexId = 12; + optional int32 viewIndexType = 13 [default = 5]; } message GetTableRequest { http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-protocol/src/main/PTable.proto ---------------------------------------------------------------------- diff --git a/phoenix-protocol/src/main/PTable.proto b/phoenix-protocol/src/main/PTable.proto index bc868bc..be771a9 100644 --- a/phoenix-protocol/src/main/PTable.proto +++ b/phoenix-protocol/src/main/PTable.proto @@ -85,7 +85,7 @@ message PTable { optional bytes viewStatement = 18; repeated bytes physicalNames = 19; optional bytes tenantId = 20; - optional int32 viewIndexId = 21; + optional int64 viewIndexId = 21; optional bytes indexType = 22; optional int64 statsTimeStamp = 23; optional bool storeNulls = 24; @@ -103,6 +103,7 @@ message PTable { repeated EncodedCQCounter encodedCQCounters = 36; optional bool useStatsForParallelization = 37; optional int32 transactionProvider = 38; + optional int32 viewIndexType = 39 [default = 5]; } message EncodedCQCounter { http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fcf43c6/phoenix-protocol/src/main/ServerCachingService.proto ---------------------------------------------------------------------- diff --git a/phoenix-protocol/src/main/ServerCachingService.proto b/phoenix-protocol/src/main/ServerCachingService.proto index c059a1a..d92f2cd 100644 --- a/phoenix-protocol/src/main/ServerCachingService.proto +++ b/phoenix-protocol/src/main/ServerCachingService.proto @@ -62,6 +62,7 @@ message IndexMaintainer { repeated ColumnInfo indexedColumnInfo = 19; required int32 encodingScheme = 20; required int32 immutableStorageScheme = 21; + optional int32 viewIndexType = 22 ; } message AddServerCacheRequest {