Repository: phoenix Updated Branches: refs/heads/encodecolumns f7c1d45a1 -> be5191b04
Revert "Metadata changes to support encoding of column names" This reverts commit f7c1d45a17771c1010d1bec37a167ee127b54607. Reverting the commit. Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/be5191b0 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/be5191b0 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/be5191b0 Branch: refs/heads/encodecolumns Commit: be5191b0446bf888fe28579fabc68e8356ee372c Parents: f7c1d45 Author: Samarth <samarth.j...@salesforce.com> Authored: Fri Mar 11 18:09:59 2016 -0800 Committer: Samarth <samarth.j...@salesforce.com> Committed: Fri Mar 11 18:09:59 2016 -0800 ---------------------------------------------------------------------- .../apache/phoenix/end2end/AlterTableIT.java | 39 +---- .../apache/phoenix/compile/FromCompiler.java | 8 +- .../phoenix/compile/ListJarsQueryPlan.java | 2 +- .../apache/phoenix/compile/TraceQueryPlan.java | 2 +- .../apache/phoenix/compile/UnionCompiler.java | 3 +- .../coprocessor/MetaDataEndpointImpl.java | 11 +- .../coprocessor/generated/PTableProtos.java | 146 ++++--------------- .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 2 - .../query/ConnectionQueryServicesImpl.java | 1 - .../apache/phoenix/query/QueryConstants.java | 2 - .../apache/phoenix/schema/DelegateColumn.java | 5 - .../apache/phoenix/schema/MetaDataClient.java | 42 ++---- .../java/org/apache/phoenix/schema/PColumn.java | 7 +- .../org/apache/phoenix/schema/PColumnImpl.java | 24 +-- .../apache/phoenix/schema/PMetaDataImpl.java | 2 +- .../org/apache/phoenix/schema/SaltingUtil.java | 2 +- .../org/apache/phoenix/util/SchemaUtil.java | 14 -- .../phoenix/execute/CorrelatePlanTest.java | 2 +- .../phoenix/execute/UnnestArrayPlanTest.java | 4 +- .../expression/ColumnExpressionTest.java | 8 +- .../iterate/AggregateResultScannerTest.java | 4 - phoenix-protocol/src/main/PTable.proto | 1 - 22 files changed, 69 insertions(+), 262 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java index 04f240b..122ec16 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableIT.java @@ -36,6 +36,7 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Collections; +import java.util.List; import java.util.Map; import java.util.Properties; @@ -44,9 +45,7 @@ import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.KeepDeletedCells; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTableInterface; -import org.apache.hadoop.hbase.client.Result; -import org.apache.hadoop.hbase.client.ResultScanner; -import org.apache.hadoop.hbase.client.Scan; +import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.coprocessor.MetaDataProtocol; import org.apache.phoenix.exception.SQLExceptionCode; @@ -56,6 +55,8 @@ import org.apache.phoenix.query.QueryConstants; import org.apache.phoenix.schema.PTable; import org.apache.phoenix.schema.PTableKey; import org.apache.phoenix.schema.TableNotFoundException; +import org.apache.phoenix.schema.types.PInteger; +import org.apache.phoenix.util.ByteUtil; import org.apache.phoenix.util.IndexUtil; import org.apache.phoenix.util.PhoenixRuntime; import org.apache.phoenix.util.PropertiesUtil; @@ -64,6 +65,8 @@ import org.apache.phoenix.util.SchemaUtil; import org.junit.BeforeClass; import org.junit.Test; +import com.google.common.collect.Lists; + /** * * A lot of tests in this class test HBase level properties. As a result, @@ -2201,36 +2204,6 @@ public class AlterTableIT extends BaseOwnClusterHBaseManagedTimeIT { } } } - - @Test - public void testColumnQualifierForUpsertedValues() throws Exception { - String schemaName = "A"; - String tableName = "TEST"; - String fullTableName = SchemaUtil.getTableName(schemaName, tableName); - String ddl = "create table " + fullTableName - + " (" - + " K varchar primary key," - + " CF1.V1 varchar)"; - try (Connection conn = DriverManager.getConnection(getUrl())) { - conn.createStatement().execute(ddl); - } - String dml = "UPSERT INTO " + fullTableName + " VALUES (?, ?)"; - try (Connection conn = DriverManager.getConnection(getUrl())) { - PreparedStatement stmt = conn.prepareStatement(dml); - stmt.setString(1, "KEY1"); - stmt.setString(2, "VALUE1"); - stmt.executeUpdate(); - conn.commit(); - } - // Issue a raw hbase scan using the column qualifier 0 for column CF1.V1. - try (Connection conn = DriverManager.getConnection(getUrl())) { - HTableInterface table = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(fullTableName)); - ResultScanner scanner = table.getScanner(new Scan()); - Result next = scanner.next(); - assertTrue(next.containsColumn(Bytes.toBytes("CF1"), Bytes.toBytes("V1"))); - } - } - } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java index b207dea..ffe9621 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/FromCompiler.java @@ -221,7 +221,7 @@ public class FromCompiler { Expression sourceExpression = projector.getColumnProjector(column.getPosition()).getExpression(); PColumnImpl projectedColumn = new PColumnImpl(column.getName(), column.getFamilyName(), sourceExpression.getDataType(), sourceExpression.getMaxLength(), sourceExpression.getScale(), sourceExpression.isNullable(), - column.getPosition(), sourceExpression.getSortOrder(), column.getArraySize(), column.getViewConstant(), column.isViewReferenced(), column.getExpressionStr(), column.isRowTimestamp(), column.isDynamic(), column.getColumnQualifier()); + column.getPosition(), sourceExpression.getSortOrder(), column.getArraySize(), column.getViewConstant(), column.isViewReferenced(), column.getExpressionStr(), column.isRowTimestamp(), column.isDynamic()); projectedColumns.add(projectedColumn); } PTable t = PTableImpl.makePTable(table, projectedColumns); @@ -546,9 +546,8 @@ public class FromCompiler { theTable.getColumnFamily(family); // Verifies that column family exists familyName = PNameFactory.newName(family); } - // Dynamic columns don't have a corresponding column qualifier allcolumns.add(new PColumnImpl(name, familyName, dynColumn.getDataType(), dynColumn.getMaxLength(), - dynColumn.getScale(), dynColumn.isNull(), position, dynColumn.getSortOrder(), dynColumn.getArraySize(), null, false, dynColumn.getExpression(), false, true, null)); + dynColumn.getScale(), dynColumn.isNull(), position, dynColumn.getSortOrder(), dynColumn.getArraySize(), null, false, dynColumn.getExpression(), false, true)); position++; } theTable = PTableImpl.makePTable(theTable, allcolumns); @@ -644,10 +643,9 @@ public class FromCompiler { // referenced by an outer wild-card select. alias = String.valueOf(position); } - //TODO: samarth confirm this is the right change i.e. using null for column qualifier PColumnImpl column = new PColumnImpl(PNameFactory.newName(alias), PNameFactory.newName(QueryConstants.DEFAULT_COLUMN_FAMILY), - null, 0, 0, true, position++, SortOrder.ASC, null, null, false, null, false, false, null); + null, 0, 0, true, position++, SortOrder.ASC, null, null, false, null, false, false); columns.add(column); } PTable t = PTableImpl.makePTable(null, PName.EMPTY_NAME, PName.EMPTY_NAME, http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/compile/ListJarsQueryPlan.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/ListJarsQueryPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/ListJarsQueryPlan.java index 2a7c507..7f3277a 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/compile/ListJarsQueryPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/ListJarsQueryPlan.java @@ -80,7 +80,7 @@ public class ListJarsQueryPlan implements QueryPlan { PColumn column = new PColumnImpl(PNameFactory.newName("jar_location"), null, PVarchar.INSTANCE, null, null, false, 0, SortOrder.getDefault(), 0, null, - false, null, false, false, null); + false, null, false, false); List<PColumn> columns = new ArrayList<PColumn>(); columns.add(column); Expression expression = http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/compile/TraceQueryPlan.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/TraceQueryPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/TraceQueryPlan.java index de63249..58cdb64 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/compile/TraceQueryPlan.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/TraceQueryPlan.java @@ -78,7 +78,7 @@ public class TraceQueryPlan implements QueryPlan { PColumn column = new PColumnImpl(PNameFactory.newName(MetricInfo.TRACE.columnName), null, PLong.INSTANCE, null, null, false, 0, SortOrder.getDefault(), 0, null, - false, null, false, false, null); + false, null, false, false); List<PColumn> columns = new ArrayList<PColumn>(); columns.add(column); Expression expression = http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/compile/UnionCompiler.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/compile/UnionCompiler.java b/phoenix-core/src/main/java/org/apache/phoenix/compile/UnionCompiler.java index 59de3f9..b25baf7 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/compile/UnionCompiler.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/compile/UnionCompiler.java @@ -73,10 +73,9 @@ public class UnionCompiler { ColumnProjector colProj = plan.getProjector().getColumnProjector(i); Expression sourceExpression = colProj.getExpression(); String name = selectNodes == null ? colProj.getName() : selectNodes.get(i).getAlias(); - //TODO: samarth confirm this is the right change PColumnImpl projectedColumn = new PColumnImpl(PNameFactory.newName(name), UNION_FAMILY_NAME, sourceExpression.getDataType(), sourceExpression.getMaxLength(), sourceExpression.getScale(), sourceExpression.isNullable(), - i, sourceExpression.getSortOrder(), 500, null, false, sourceExpression.toString(), false, false, null); + i, sourceExpression.getSortOrder(), 500, null, false, sourceExpression.toString(), false, false); projectedColumns.add(projectedColumn); } Long scn = statement.getConnection().getSCN(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java index e962cb2..bcfdf20 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/MetaDataEndpointImpl.java @@ -25,7 +25,6 @@ import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CLASS_NAME_BYTES; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_COUNT_BYTES; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_DEF_BYTES; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_NAME_INDEX; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_QUALIFIER_BYTES; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_SIZE_BYTES; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.DATA_TABLE_NAME_BYTES; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.DATA_TYPE_BYTES; @@ -310,7 +309,6 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso private static final KeyValue IS_VIEW_REFERENCED_KV = KeyValue.createFirstOnRow(ByteUtil.EMPTY_BYTE_ARRAY, TABLE_FAMILY_BYTES, IS_VIEW_REFERENCED_BYTES); private static final KeyValue COLUMN_DEF_KV = KeyValue.createFirstOnRow(ByteUtil.EMPTY_BYTE_ARRAY, TABLE_FAMILY_BYTES, COLUMN_DEF_BYTES); private static final KeyValue IS_ROW_TIMESTAMP_KV = KeyValue.createFirstOnRow(ByteUtil.EMPTY_BYTE_ARRAY, TABLE_FAMILY_BYTES, IS_ROW_TIMESTAMP_BYTES); - private static final KeyValue COLUMN_QUALIFIER_KV = KeyValue.createFirstOnRow(ByteUtil.EMPTY_BYTE_ARRAY, TABLE_FAMILY_BYTES, COLUMN_QUALIFIER_BYTES); private static final List<KeyValue> COLUMN_KV_COLUMNS = Arrays.<KeyValue>asList( DECIMAL_DIGITS_KV, COLUMN_SIZE_KV, @@ -323,8 +321,7 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso VIEW_CONSTANT_KV, IS_VIEW_REFERENCED_KV, COLUMN_DEF_KV, - IS_ROW_TIMESTAMP_KV, - COLUMN_QUALIFIER_KV + IS_ROW_TIMESTAMP_KV ); static { Collections.sort(COLUMN_KV_COLUMNS, KeyValue.COMPARATOR); @@ -340,7 +337,6 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso private static final int IS_VIEW_REFERENCED_INDEX = COLUMN_KV_COLUMNS.indexOf(IS_VIEW_REFERENCED_KV); private static final int COLUMN_DEF_INDEX = COLUMN_KV_COLUMNS.indexOf(COLUMN_DEF_KV); private static final int IS_ROW_TIMESTAMP_INDEX = COLUMN_KV_COLUMNS.indexOf(IS_ROW_TIMESTAMP_KV); - private static final int COLUMN_QUALIFIER_INDEX = COLUMN_KV_COLUMNS.indexOf(COLUMN_QUALIFIER_KV); private static final int LINK_TYPE_INDEX = 0; @@ -646,11 +642,8 @@ public class MetaDataEndpointImpl extends MetaDataProtocol implements Coprocesso isRowTimestampKV == null ? false : Boolean.TRUE.equals(PBoolean.INSTANCE.toObject( isRowTimestampKV.getValueArray(), isRowTimestampKV.getValueOffset(), isRowTimestampKV.getValueLength())); - Cell columnQualifierKV = colKeyValues[COLUMN_QUALIFIER_INDEX]; - Integer columnQualifier = columnQualifierKV == null ? null : - PInteger.INSTANCE.getCodec().decodeInt(columnQualifierKV.getValueArray(), columnQualifierKV.getValueOffset(), SortOrder.getDefault()); - PColumn column = new PColumnImpl(colName, famName, dataType, maxLength, scale, isNullable, position-1, sortOrder, arraySize, viewConstant, isViewReferenced, expressionStr, isRowTimestamp, false, columnQualifier); + PColumn column = new PColumnImpl(colName, famName, dataType, maxLength, scale, isNullable, position-1, sortOrder, arraySize, viewConstant, isViewReferenced, expressionStr, isRowTimestamp, false); columns.add(column); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/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 090fd59..9fdfe51 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 @@ -269,16 +269,6 @@ public final class PTableProtos { * <code>optional bool isDynamic = 14;</code> */ boolean getIsDynamic(); - - // optional int32 columnQualifier = 15; - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - boolean hasColumnQualifier(); - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - int getColumnQualifier(); } /** * Protobuf type {@code PColumn} @@ -401,11 +391,6 @@ public final class PTableProtos { isDynamic_ = input.readBool(); break; } - case 120: { - bitField0_ |= 0x00004000; - columnQualifier_ = input.readInt32(); - break; - } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -724,22 +709,6 @@ public final class PTableProtos { return isDynamic_; } - // optional int32 columnQualifier = 15; - public static final int COLUMNQUALIFIER_FIELD_NUMBER = 15; - private int columnQualifier_; - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - public boolean hasColumnQualifier() { - return ((bitField0_ & 0x00004000) == 0x00004000); - } - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - public int getColumnQualifier() { - return columnQualifier_; - } - private void initFields() { columnNameBytes_ = com.google.protobuf.ByteString.EMPTY; familyNameBytes_ = com.google.protobuf.ByteString.EMPTY; @@ -755,7 +724,6 @@ public final class PTableProtos { expression_ = ""; isRowTimestamp_ = false; isDynamic_ = false; - columnQualifier_ = 0; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -831,9 +799,6 @@ public final class PTableProtos { if (((bitField0_ & 0x00002000) == 0x00002000)) { output.writeBool(14, isDynamic_); } - if (((bitField0_ & 0x00004000) == 0x00004000)) { - output.writeInt32(15, columnQualifier_); - } getUnknownFields().writeTo(output); } @@ -899,10 +864,6 @@ public final class PTableProtos { size += com.google.protobuf.CodedOutputStream .computeBoolSize(14, isDynamic_); } - if (((bitField0_ & 0x00004000) == 0x00004000)) { - size += com.google.protobuf.CodedOutputStream - .computeInt32Size(15, columnQualifier_); - } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -996,11 +957,6 @@ public final class PTableProtos { result = result && (getIsDynamic() == other.getIsDynamic()); } - result = result && (hasColumnQualifier() == other.hasColumnQualifier()); - if (hasColumnQualifier()) { - result = result && (getColumnQualifier() - == other.getColumnQualifier()); - } result = result && getUnknownFields().equals(other.getUnknownFields()); return result; @@ -1070,10 +1026,6 @@ public final class PTableProtos { hash = (37 * hash) + ISDYNAMIC_FIELD_NUMBER; hash = (53 * hash) + hashBoolean(getIsDynamic()); } - if (hasColumnQualifier()) { - hash = (37 * hash) + COLUMNQUALIFIER_FIELD_NUMBER; - hash = (53 * hash) + getColumnQualifier(); - } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -1211,8 +1163,6 @@ public final class PTableProtos { bitField0_ = (bitField0_ & ~0x00001000); isDynamic_ = false; bitField0_ = (bitField0_ & ~0x00002000); - columnQualifier_ = 0; - bitField0_ = (bitField0_ & ~0x00004000); return this; } @@ -1297,10 +1247,6 @@ public final class PTableProtos { to_bitField0_ |= 0x00002000; } result.isDynamic_ = isDynamic_; - if (((from_bitField0_ & 0x00004000) == 0x00004000)) { - to_bitField0_ |= 0x00004000; - } - result.columnQualifier_ = columnQualifier_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -1363,9 +1309,6 @@ public final class PTableProtos { if (other.hasIsDynamic()) { setIsDynamic(other.getIsDynamic()); } - if (other.hasColumnQualifier()) { - setColumnQualifier(other.getColumnQualifier()); - } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -1966,39 +1909,6 @@ public final class PTableProtos { return this; } - // optional int32 columnQualifier = 15; - private int columnQualifier_ ; - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - public boolean hasColumnQualifier() { - return ((bitField0_ & 0x00004000) == 0x00004000); - } - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - public int getColumnQualifier() { - return columnQualifier_; - } - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - public Builder setColumnQualifier(int value) { - bitField0_ |= 0x00004000; - columnQualifier_ = value; - onChanged(); - return this; - } - /** - * <code>optional int32 columnQualifier = 15;</code> - */ - public Builder clearColumnQualifier() { - bitField0_ = (bitField0_ & ~0x00004000); - columnQualifier_ = 0; - onChanged(); - return this; - } - // @@protoc_insertion_point(builder_scope:PColumn) } @@ -7179,7 +7089,7 @@ public final class PTableProtos { descriptor; static { java.lang.String[] descriptorData = { - "\n\014PTable.proto\032\021PGuidePosts.proto\"\277\002\n\007PC" + + "\n\014PTable.proto\032\021PGuidePosts.proto\"\246\002\n\007PC" + "olumn\022\027\n\017columnNameBytes\030\001 \002(\014\022\027\n\017family" + "NameBytes\030\002 \001(\014\022\020\n\010dataType\030\003 \002(\t\022\021\n\tmax" + "Length\030\004 \001(\005\022\r\n\005scale\030\005 \001(\005\022\020\n\010nullable\030" + @@ -7187,32 +7097,32 @@ public final class PTableProtos { "(\005\022\021\n\tarraySize\030\t \001(\005\022\024\n\014viewConstant\030\n " + "\001(\014\022\026\n\016viewReferenced\030\013 \001(\010\022\022\n\nexpressio" + "n\030\014 \001(\t\022\026\n\016isRowTimestamp\030\r \001(\010\022\021\n\tisDyn" + - "amic\030\016 \001(\010\022\027\n\017columnQualifier\030\017 \001(\005\"\232\001\n\013" + - "PTableStats\022\013\n\003key\030\001 \002(\014\022\016\n\006values\030\002 \003(\014", - "\022\033\n\023guidePostsByteCount\030\003 \001(\003\022\025\n\rkeyByte" + - "sCount\030\004 \001(\003\022\027\n\017guidePostsCount\030\005 \001(\005\022!\n" + - "\013pGuidePosts\030\006 \001(\0132\014.PGuidePosts\"\303\005\n\006PTa" + - "ble\022\027\n\017schemaNameBytes\030\001 \002(\014\022\026\n\016tableNam" + - "eBytes\030\002 \002(\014\022\036\n\ttableType\030\003 \002(\0162\013.PTable" + - "Type\022\022\n\nindexState\030\004 \001(\t\022\026\n\016sequenceNumb" + - "er\030\005 \002(\003\022\021\n\ttimeStamp\030\006 \002(\003\022\023\n\013pkNameByt" + - "es\030\007 \001(\014\022\021\n\tbucketNum\030\010 \002(\005\022\031\n\007columns\030\t" + - " \003(\0132\010.PColumn\022\030\n\007indexes\030\n \003(\0132\007.PTable" + - "\022\027\n\017isImmutableRows\030\013 \002(\010\022 \n\nguidePosts\030", - "\014 \003(\0132\014.PTableStats\022\032\n\022dataTableNameByte" + - "s\030\r \001(\014\022\031\n\021defaultFamilyName\030\016 \001(\014\022\022\n\ndi" + - "sableWAL\030\017 \002(\010\022\023\n\013multiTenant\030\020 \002(\010\022\020\n\010v" + - "iewType\030\021 \001(\014\022\025\n\rviewStatement\030\022 \001(\014\022\025\n\r" + - "physicalNames\030\023 \003(\014\022\020\n\010tenantId\030\024 \001(\014\022\023\n" + - "\013viewIndexId\030\025 \001(\005\022\021\n\tindexType\030\026 \001(\014\022\026\n" + - "\016statsTimeStamp\030\027 \001(\003\022\022\n\nstoreNulls\030\030 \001(" + - "\010\022\027\n\017baseColumnCount\030\031 \001(\005\022\036\n\026rowKeyOrde" + - "rOptimizable\030\032 \001(\010\022\025\n\rtransactional\030\033 \001(" + - "\010\022\034\n\024updateCacheFrequency\030\034 \001(\003\022\035\n\025index", - "DisableTimestamp\030\035 \001(\003*A\n\nPTableType\022\n\n\006" + - "SYSTEM\020\000\022\010\n\004USER\020\001\022\010\n\004VIEW\020\002\022\t\n\005INDEX\020\003\022" + - "\010\n\004JOIN\020\004B@\n(org.apache.phoenix.coproces" + - "sor.generatedB\014PTableProtosH\001\210\001\001\240\001\001" + "amic\030\016 \001(\010\"\232\001\n\013PTableStats\022\013\n\003key\030\001 \002(\014\022" + + "\016\n\006values\030\002 \003(\014\022\033\n\023guidePostsByteCount\030\003", + " \001(\003\022\025\n\rkeyBytesCount\030\004 \001(\003\022\027\n\017guidePost" + + "sCount\030\005 \001(\005\022!\n\013pGuidePosts\030\006 \001(\0132\014.PGui" + + "dePosts\"\303\005\n\006PTable\022\027\n\017schemaNameBytes\030\001 " + + "\002(\014\022\026\n\016tableNameBytes\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\016sequenceNumber\030\005 \002(\003\022\021\n\ttimeStamp\030\006 \002" + + "(\003\022\023\n\013pkNameBytes\030\007 \001(\014\022\021\n\tbucketNum\030\010 \002" + + "(\005\022\031\n\007columns\030\t \003(\0132\010.PColumn\022\030\n\007indexes" + + "\030\n \003(\0132\007.PTable\022\027\n\017isImmutableRows\030\013 \002(\010" + + "\022 \n\nguidePosts\030\014 \003(\0132\014.PTableStats\022\032\n\022da", + "taTableNameBytes\030\r \001(\014\022\031\n\021defaultFamilyN" + + "ame\030\016 \001(\014\022\022\n\ndisableWAL\030\017 \002(\010\022\023\n\013multiTe" + + "nant\030\020 \002(\010\022\020\n\010viewType\030\021 \001(\014\022\025\n\rviewStat" + + "ement\030\022 \001(\014\022\025\n\rphysicalNames\030\023 \003(\014\022\020\n\010te" + + "nantId\030\024 \001(\014\022\023\n\013viewIndexId\030\025 \001(\005\022\021\n\tind" + + "exType\030\026 \001(\014\022\026\n\016statsTimeStamp\030\027 \001(\003\022\022\n\n" + + "storeNulls\030\030 \001(\010\022\027\n\017baseColumnCount\030\031 \001(" + + "\005\022\036\n\026rowKeyOrderOptimizable\030\032 \001(\010\022\025\n\rtra" + + "nsactional\030\033 \001(\010\022\034\n\024updateCacheFrequency" + + "\030\034 \001(\003\022\035\n\025indexDisableTimestamp\030\035 \001(\003*A\n", + "\nPTableType\022\n\n\006SYSTEM\020\000\022\010\n\004USER\020\001\022\010\n\004VIE" + + "W\020\002\022\t\n\005INDEX\020\003\022\010\n\004JOIN\020\004B@\n(org.apache.p" + + "hoenix.coprocessor.generatedB\014PTableProt" + + "osH\001\210\001\001\240\001\001" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -7224,7 +7134,7 @@ public final class PTableProtos { internal_static_PColumn_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_PColumn_descriptor, - new java.lang.String[] { "ColumnNameBytes", "FamilyNameBytes", "DataType", "MaxLength", "Scale", "Nullable", "Position", "SortOrder", "ArraySize", "ViewConstant", "ViewReferenced", "Expression", "IsRowTimestamp", "IsDynamic", "ColumnQualifier", }); + new java.lang.String[] { "ColumnNameBytes", "FamilyNameBytes", "DataType", "MaxLength", "Scale", "Nullable", "Position", "SortOrder", "ArraySize", "ViewConstant", "ViewReferenced", "Expression", "IsRowTimestamp", "IsDynamic", }); internal_static_PTableStats_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_PTableStats_fieldAccessorTable = new http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/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 440ae22..f875a77 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 @@ -202,8 +202,6 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData { public static final byte[] BASE_COLUMN_COUNT_BYTES = Bytes.toBytes(BASE_COLUMN_COUNT); public static final String IS_ROW_TIMESTAMP = "IS_ROW_TIMESTAMP"; public static final byte[] IS_ROW_TIMESTAMP_BYTES = Bytes.toBytes(IS_ROW_TIMESTAMP); - public static final String COLUMN_QUALIFIER = "COLUMN_QUALIFIER"; - public static final byte[] COLUMN_QUALIFIER_BYTES = Bytes.toBytes(COLUMN_QUALIFIER); public static final String TABLE_FAMILY = QueryConstants.DEFAULT_COLUMN_FAMILY; public static final byte[] TABLE_FAMILY_BYTES = QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES; http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/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 a9f1e87..a8595e9 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 @@ -569,7 +569,6 @@ public class ConnectionQueryServicesImpl extends DelegateQueryServices implement } } - @Override public PMetaData updateResolvedTimestamp(PTable table, long resolvedTime) throws SQLException { synchronized (latestMetaDataLock) { throwConnectionClosedIfNullMetaData(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/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 6afe1d7..471ac73 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 @@ -29,7 +29,6 @@ import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_COUNT; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_DEF; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_FAMILY; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_NAME; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_QUALIFIER; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_SIZE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CURRENT_VALUE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CYCLE_FLAG; @@ -260,7 +259,6 @@ public interface QueryConstants { IS_ROW_TIMESTAMP + " BOOLEAN, " + TRANSACTIONAL + " BOOLEAN," + UPDATE_CACHE_FREQUENCY + " BIGINT," + - COLUMN_QUALIFIER + " INTEGER," + "CONSTRAINT " + SYSTEM_TABLE_PK_NAME + " PRIMARY KEY (" + TENANT_ID + "," + TABLE_SCHEM + "," + TABLE_NAME + "," + COLUMN_NAME + "," + COLUMN_FAMILY + "))\n" + HConstants.VERSIONS + "=" + MetaDataProtocol.DEFAULT_MAX_META_DATA_VERSIONS + ",\n" + http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateColumn.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateColumn.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateColumn.java index 65e362c..a60229e 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateColumn.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/DelegateColumn.java @@ -90,9 +90,4 @@ public class DelegateColumn extends DelegateDatum implements PColumn { public boolean isDynamic() { return getDelegate().isDynamic(); } - - @Override - public Integer getColumnQualifier() { - return getDelegate().getColumnQualifier(); - } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/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 b57bdb2..7f3f850 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 @@ -33,7 +33,6 @@ import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_COUNT; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_DEF; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_FAMILY; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_NAME; -import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_QUALIFIER; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_SIZE; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.DATA_TABLE_NAME; import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.DATA_TYPE; @@ -322,9 +321,8 @@ public class MetaDataClient { PK_NAME + "," + // write this both in the column and table rows for access by metadata APIs KEY_SEQ + "," + COLUMN_DEF + "," + - COLUMN_QUALIFIER + "," + - IS_ROW_TIMESTAMP + - ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; + IS_ROW_TIMESTAMP + + ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; private static final String INSERT_COLUMN_ALTER_TABLE = "UPSERT INTO " + SYSTEM_CATALOG_SCHEMA + ".\"" + SYSTEM_CATALOG_TABLE + "\"( " + TENANT_ID + "," + @@ -749,13 +747,8 @@ public class MetaDataClient { } else { colUpsert.setString(18, column.getExpressionStr()); } - if (column.getColumnQualifier() == null) { - colUpsert.setNull(19, Types.INTEGER); - } else { - colUpsert.setInt(19, column.getColumnQualifier()); - } - if (colUpsert.getParameterMetaData().getParameterCount() > 19) { - colUpsert.setBoolean(20, column.isRowTimestamp()); + if (colUpsert.getParameterMetaData().getParameterCount() > 18) { + colUpsert.setBoolean(19, column.isRowTimestamp()); } colUpsert.execute(); } @@ -774,7 +767,7 @@ public class MetaDataClient { argUpsert.execute(); } - private PColumn newColumn(int position, ColumnDef def, PrimaryKeyConstraint pkConstraint, String defaultColumnFamily, boolean addingToPK, Map<String, Integer> columnQualifierTracker) throws SQLException { + private PColumn newColumn(int position, ColumnDef def, PrimaryKeyConstraint pkConstraint, String defaultColumnFamily, boolean addingToPK) throws SQLException { try { ColumnName columnDefName = def.getColumnDefName(); SortOrder sortOrder = def.getSortOrder(); @@ -822,24 +815,15 @@ public class MetaDataClient { } isNull = false; } - Integer columnQualifier = null; - if (!isPK) { - columnQualifier = columnQualifierTracker.get(familyName); - if (columnQualifier == null) { - columnQualifier = 0; - } else { - columnQualifier++; - } - columnQualifierTracker.put(familyName.toString(), columnQualifier); - } + PColumn column = new PColumnImpl(PNameFactory.newName(columnName), familyName, def.getDataType(), - def.getMaxLength(), def.getScale(), isNull, position, sortOrder, def.getArraySize(), null, false, def.getExpression(), isRowTimestamp, false, columnQualifier); + def.getMaxLength(), def.getScale(), isNull, position, sortOrder, def.getArraySize(), null, false, def.getExpression(), isRowTimestamp, false); return column; } catch (IllegalArgumentException e) { // Based on precondition check in constructor throw new SQLException(e); } } - + public MutationState createTable(CreateTableStatement statement, byte[][] splits, PTable parent, String viewStatement, ViewType viewType, byte[][] viewColumnConstants, BitSet isViewColumnReferenced) throws SQLException { PTable table = createTableInternal(statement, splits, parent, viewStatement, viewType, viewColumnConstants, isViewColumnReferenced, null, null, null); if (table == null || table.getType() == PTableType.VIEW || table.isTransactional()) { @@ -1858,7 +1842,7 @@ public class MetaDataClient { } int pkPositionOffset = pkColumns.size(); int position = positionOffset; - Map<String, Integer> columnQualifierTracker = Maps.newHashMapWithExpectedSize(colDefs.size()); + for (ColumnDef colDef : colDefs) { rowTimeStampColumnAlreadyFound = checkAndValidateRowTimestampCol(colDef, pkConstraint, rowTimeStampColumnAlreadyFound, tableType); if (colDef.isPK()) { // i.e. the column is declared as CREATE TABLE COLNAME DATATYPE PRIMARY KEY... @@ -1877,7 +1861,7 @@ public class MetaDataClient { .setColumnName(colDef.getColumnDefName().getColumnName()).build().buildException(); } } - PColumn column = newColumn(position++, colDef, pkConstraint, defaultFamilyName, false, columnQualifierTracker); + PColumn column = newColumn(position++, colDef, pkConstraint, defaultFamilyName, false); if (SchemaUtil.isPKColumn(column)) { // TODO: remove this constraint? if (pkColumnsIterator.hasNext() && !column.getName().getString().equals(pkColumnsIterator.next().getFirst().getColumnName())) { @@ -2100,7 +2084,6 @@ public class MetaDataClient { } tableUpsert.setBoolean(21, transactional); tableUpsert.setLong(22, updateCacheFrequency); - tableUpsert.execute(); if (asyncCreatedDate != null) { @@ -2718,7 +2701,6 @@ public class MetaDataClient { List<PColumn> columns = Lists.newArrayListWithExpectedSize(columnDefs.size()); Set<String> colFamiliesForPColumnsToBeAdded = new LinkedHashSet<>(); Set<String> families = new LinkedHashSet<>(); - Map<String, Integer> columnQualifiers = SchemaUtil.getNextColumnQualifiers(table); if (columnDefs.size() > 0 ) { try (PreparedStatement colUpsert = connection.prepareStatement(INSERT_COLUMN_ALTER_TABLE)) { short nextKeySeq = SchemaUtil.getMaxKeySeq(table); @@ -2739,7 +2721,7 @@ public class MetaDataClient { throw new SQLExceptionInfo.Builder(SQLExceptionCode.ROWTIMESTAMP_CREATE_ONLY) .setColumnName(colDef.getColumnDefName().getColumnName()).build().buildException(); } - PColumn column = newColumn(position++, colDef, PrimaryKeyConstraint.EMPTY, table.getDefaultFamilyName() == null ? null : table.getDefaultFamilyName().getString(), true, columnQualifiers); + PColumn column = newColumn(position++, colDef, PrimaryKeyConstraint.EMPTY, table.getDefaultFamilyName() == null ? null : table.getDefaultFamilyName().getString(), true); columns.add(column); String pkName = null; Short keySeq = null; @@ -2777,7 +2759,7 @@ public class MetaDataClient { ColumnName indexColName = ColumnName.caseSensitiveColumnName(IndexUtil.getIndexColumnName(null, colDef.getColumnDefName().getColumnName())); Expression expression = new RowKeyColumnExpression(columns.get(i), new RowKeyValueAccessor(pkColumns, ++pkSlotPosition)); ColumnDef indexColDef = FACTORY.columnDef(indexColName, indexColDataType.getSqlTypeName(), colDef.isNull(), colDef.getMaxLength(), colDef.getScale(), true, colDef.getSortOrder(), expression.toString(), colDef.isRowTimestamp()); - PColumn indexColumn = newColumn(indexPosition++, indexColDef, PrimaryKeyConstraint.EMPTY, null, true, columnQualifiers); + PColumn indexColumn = newColumn(indexPosition++, indexColDef, PrimaryKeyConstraint.EMPTY, null, true); addColumnMutation(schemaName, index.getTableName().getString(), indexColumn, colUpsert, index.getParentTableName().getString(), index.getPKName() == null ? null : index.getPKName().getString(), ++nextIndexKeySeq, index.getBucketNum() != null); } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumn.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumn.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumn.java index b63c97b..0f5fa44 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumn.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumn.java @@ -27,7 +27,7 @@ package org.apache.phoenix.schema; public interface PColumn extends PDatum { /** - * @return the name of the column + * @return the name of the column qualifier */ PName getName(); @@ -60,9 +60,4 @@ public interface PColumn extends PDatum { boolean isRowTimestamp(); boolean isDynamic(); - - /** - * @return name of the HBase column qualifier - */ - Integer getColumnQualifier(); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java index 5cf1465..a556f76 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PColumnImpl.java @@ -40,7 +40,6 @@ public class PColumnImpl implements PColumn { private String expressionStr; private boolean isRowTimestamp; private boolean isDynamic; - private Integer columnQualifier; public PColumnImpl() { } @@ -52,13 +51,13 @@ public class PColumnImpl implements PColumn { Integer scale, boolean nullable, int position, - SortOrder sortOrder, Integer arrSize, byte[] viewConstant, boolean isViewReferenced, String expressionStr, boolean isRowTimestamp, boolean isDynamic, Integer columnQualifier) { - init(name, familyName, dataType, maxLength, scale, nullable, position, sortOrder, arrSize, viewConstant, isViewReferenced, expressionStr, isRowTimestamp, isDynamic, columnQualifier); + SortOrder sortOrder, Integer arrSize, byte[] viewConstant, boolean isViewReferenced, String expressionStr, boolean isRowTimestamp, boolean isDynamic) { + init(name, familyName, dataType, maxLength, scale, nullable, position, sortOrder, arrSize, viewConstant, isViewReferenced, expressionStr, isRowTimestamp, isDynamic); } public PColumnImpl(PColumn column, int position) { this(column.getName(), column.getFamilyName(), column.getDataType(), column.getMaxLength(), - column.getScale(), column.isNullable(), position, column.getSortOrder(), column.getArraySize(), column.getViewConstant(), column.isViewReferenced(), column.getExpressionStr(), column.isRowTimestamp(), column.isDynamic(), column.getColumnQualifier()); + column.getScale(), column.isNullable(), position, column.getSortOrder(), column.getArraySize(), column.getViewConstant(), column.isViewReferenced(), column.getExpressionStr(), column.isRowTimestamp(), column.isDynamic()); } private void init(PName name, @@ -70,7 +69,7 @@ public class PColumnImpl implements PColumn { int position, SortOrder sortOrder, Integer arrSize, - byte[] viewConstant, boolean isViewReferenced, String expressionStr, boolean isRowTimestamp, boolean isDynamic, Integer columnQualifier) { + byte[] viewConstant, boolean isViewReferenced, String expressionStr, boolean isRowTimestamp, boolean isDynamic) { Preconditions.checkNotNull(sortOrder); this.dataType = dataType; if (familyName == null) { @@ -95,7 +94,6 @@ public class PColumnImpl implements PColumn { this.expressionStr = expressionStr; this.isRowTimestamp = isRowTimestamp; this.isDynamic = isDynamic; - this.columnQualifier = columnQualifier; } @Override @@ -207,11 +205,6 @@ public class PColumnImpl implements PColumn { public boolean isDynamic() { return isDynamic; } - - @Override - public Integer getColumnQualifier() { - return columnQualifier; - } /** * Create a PColumn instance from PBed PColumn instance @@ -258,12 +251,8 @@ public class PColumnImpl implements PColumn { if (column.hasIsDynamic()) { isDynamic = column.getIsDynamic(); } - Integer columnQualifier = null; - if (column.hasColumnQualifier()) { - columnQualifier = column.getColumnQualifier(); - } return new PColumnImpl(columnName, familyName, dataType, maxLength, scale, nullable, position, sortOrder, - arraySize, viewConstant, isViewReferenced, expressionStr, isRowTimestamp, isDynamic, columnQualifier); + arraySize, viewConstant, isViewReferenced, expressionStr, isRowTimestamp, isDynamic); } public static PTableProtos.PColumn toProto(PColumn column) { @@ -294,9 +283,6 @@ public class PColumnImpl implements PColumn { builder.setExpression(column.getExpressionStr()); } builder.setIsRowTimestamp(column.isRowTimestamp()); - if (column.getColumnQualifier() != null) { - builder.setColumnQualifier(column.getColumnQualifier()); - } return builder.build(); } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaDataImpl.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaDataImpl.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaDataImpl.java index 91969dc..413d116 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaDataImpl.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/PMetaDataImpl.java @@ -414,7 +414,7 @@ public class PMetaDataImpl implements PMetaData { // Update position of columns that follow removed column for (int i = position+1; i < oldColumns.size(); i++) { PColumn oldColumn = oldColumns.get(i); - PColumn newColumn = new PColumnImpl(oldColumn.getName(), oldColumn.getFamilyName(), oldColumn.getDataType(), oldColumn.getMaxLength(), oldColumn.getScale(), oldColumn.isNullable(), i-1+positionOffset, oldColumn.getSortOrder(), oldColumn.getArraySize(), oldColumn.getViewConstant(), oldColumn.isViewReferenced(), null, oldColumn.isRowTimestamp(), oldColumn.isDynamic(), oldColumn.getColumnQualifier()); + PColumn newColumn = new PColumnImpl(oldColumn.getName(), oldColumn.getFamilyName(), oldColumn.getDataType(), oldColumn.getMaxLength(), oldColumn.getScale(), oldColumn.isNullable(), i-1+positionOffset, oldColumn.getSortOrder(), oldColumn.getArraySize(), oldColumn.getViewConstant(), oldColumn.isViewReferenced(), null, oldColumn.isRowTimestamp(), oldColumn.isDynamic()); columns.add(newColumn); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/schema/SaltingUtil.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/SaltingUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/SaltingUtil.java index 23cfd1b..734a9ed 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/SaltingUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/SaltingUtil.java @@ -38,7 +38,7 @@ public class SaltingUtil { public static final String SALTING_COLUMN_NAME = "_SALT"; public static final String SALTED_ROW_KEY_NAME = "_SALTED_KEY"; public static final PColumnImpl SALTING_COLUMN = new PColumnImpl( - PNameFactory.newName(SALTING_COLUMN_NAME), null, PBinary.INSTANCE, 1, 0, false, 0, SortOrder.getDefault(), 0, null, false, null, false, false, null); + PNameFactory.newName(SALTING_COLUMN_NAME), null, PBinary.INSTANCE, 1, 0, false, 0, SortOrder.getDefault(), 0, null, false, null, false, false); public static final RowKeySchema VAR_BINARY_SALTED_SCHEMA = new RowKeySchemaBuilder(2) .addField(SALTING_COLUMN, false, SortOrder.getDefault()) .addField(SchemaUtil.VAR_BINARY_DATUM, false, SortOrder.getDefault()).build(); http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java index b65119a..523f684 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java @@ -897,18 +897,4 @@ public class SchemaUtil { PName schemaName = dataTable.getSchemaName(); return getTableKey(tenantId == null ? ByteUtil.EMPTY_BYTE_ARRAY : tenantId.getBytes(), schemaName == null ? ByteUtil.EMPTY_BYTE_ARRAY : schemaName.getBytes(), dataTable.getTableName().getBytes()); } - - - /** - * Return a map of column family -> next column qualifier number to use. - */ - public static Map<String, Integer> getNextColumnQualifiers(PTable table) { - Map<String, Integer> map = Maps.newHashMapWithExpectedSize(table.getColumns().size()); - for (PColumnFamily f : table.getColumnFamilies()) { - final int size = f.getColumns().size(); - int nextColumnQualifier = size == 0 ? 0 : size; - map.put(f.getName().getString(), nextColumnQualifier); - } - return map; - } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/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 de706ff..a8757ab 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 @@ -226,7 +226,7 @@ public class CorrelatePlanTest { Expression expr = LiteralExpression.newConstant(row[i]); columns.add(new PColumnImpl(PNameFactory.newName(name), PNameFactory.newName(TupleProjector.VALUE_COLUMN_FAMILY), expr.getDataType(), expr.getMaxLength(), expr.getScale(), expr.isNullable(), - i, expr.getSortOrder(), null, null, false, name, false, false, null)); + i, expr.getSortOrder(), null, null, false, name, false, false)); } try { PTable pTable = PTableImpl.makePTable(null, PName.EMPTY_NAME, PName.EMPTY_NAME, http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/test/java/org/apache/phoenix/execute/UnnestArrayPlanTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/phoenix/execute/UnnestArrayPlanTest.java b/phoenix-core/src/test/java/org/apache/phoenix/execute/UnnestArrayPlanTest.java index 93203a5..8b2b096 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/execute/UnnestArrayPlanTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/execute/UnnestArrayPlanTest.java @@ -116,8 +116,8 @@ public class UnnestArrayPlanTest { LiteralExpression dummy = LiteralExpression.newConstant(null, arrayType); RowKeyValueAccessor accessor = new RowKeyValueAccessor(Arrays.asList(dummy), 0); UnnestArrayPlan plan = new UnnestArrayPlan(subPlan, new RowKeyColumnExpression(dummy, accessor), withOrdinality); - PColumn elemColumn = new PColumnImpl(PNameFactory.newName("ELEM"), PNameFactory.newName(TupleProjector.VALUE_COLUMN_FAMILY), baseType, null, null, true, 0, SortOrder.getDefault(), null, null, false, "", false, false, null); - PColumn indexColumn = withOrdinality ? new PColumnImpl(PNameFactory.newName("IDX"), PNameFactory.newName(TupleProjector.VALUE_COLUMN_FAMILY), PInteger.INSTANCE, null, null, true, 0, SortOrder.getDefault(), null, null, false, "", false, false, null) : null; + PColumn elemColumn = new PColumnImpl(PNameFactory.newName("ELEM"), PNameFactory.newName(TupleProjector.VALUE_COLUMN_FAMILY), baseType, null, null, true, 0, SortOrder.getDefault(), null, null, false, "", false, false); + PColumn indexColumn = withOrdinality ? new PColumnImpl(PNameFactory.newName("IDX"), PNameFactory.newName(TupleProjector.VALUE_COLUMN_FAMILY), PInteger.INSTANCE, null, null, true, 0, SortOrder.getDefault(), null, null, false, "", false, false) : null; List<PColumn> columns = withOrdinality ? Arrays.asList(elemColumn, indexColumn) : Arrays.asList(elemColumn); ProjectedColumnExpression elemExpr = new ProjectedColumnExpression(elemColumn, columns, 0, elemColumn.getName().getString()); ProjectedColumnExpression indexExpr = withOrdinality ? new ProjectedColumnExpression(indexColumn, columns, 1, indexColumn.getName().getString()) : null; http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/test/java/org/apache/phoenix/expression/ColumnExpressionTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/phoenix/expression/ColumnExpressionTest.java b/phoenix-core/src/test/java/org/apache/phoenix/expression/ColumnExpressionTest.java index e55068d..7ee579c 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/expression/ColumnExpressionTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/expression/ColumnExpressionTest.java @@ -41,7 +41,7 @@ public class ColumnExpressionTest { int maxLen = 30; int scale = 5; PColumn column = new PColumnImpl(PNameFactory.newName("c1"), PNameFactory.newName("f1"), PDecimal.INSTANCE, maxLen, scale, - true, 20, SortOrder.getDefault(), 0, null, false, null, false, false, null); + true, 20, SortOrder.getDefault(), 0, null, false, null, false, false); ColumnExpression colExp = new KeyValueColumnExpression(column); ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dOut = new DataOutputStream(baos); @@ -61,7 +61,7 @@ public class ColumnExpressionTest { public void testSerializationWithNullScale() throws Exception { int maxLen = 30; PColumn column = new PColumnImpl(PNameFactory.newName("c1"), PNameFactory.newName("f1"), PBinary.INSTANCE, maxLen, null, - true, 20, SortOrder.getDefault(), 0, null, false, null, false, false, null); + true, 20, SortOrder.getDefault(), 0, null, false, null, false, false); ColumnExpression colExp = new KeyValueColumnExpression(column); ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dOut = new DataOutputStream(baos); @@ -81,7 +81,7 @@ public class ColumnExpressionTest { public void testSerializationWithNullMaxLength() throws Exception { int scale = 5; PColumn column = new PColumnImpl(PNameFactory.newName("c1"), PNameFactory.newName("f1"), PVarchar.INSTANCE, null, scale, - true, 20, SortOrder.getDefault(), 0, null, false, null, false, false, null); + true, 20, SortOrder.getDefault(), 0, null, false, null, false, false); ColumnExpression colExp = new KeyValueColumnExpression(column); ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dOut = new DataOutputStream(baos); @@ -100,7 +100,7 @@ public class ColumnExpressionTest { @Test public void testSerializationWithNullScaleAndMaxLength() throws Exception { PColumn column = new PColumnImpl(PNameFactory.newName("c1"), PNameFactory.newName("f1"), PDecimal.INSTANCE, null, null, true, - 20, SortOrder.getDefault(), 0, null, false, null, false, false, null); + 20, SortOrder.getDefault(), 0, null, false, null, false, false); ColumnExpression colExp = new KeyValueColumnExpression(column); ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dOut = new DataOutputStream(baos); http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-core/src/test/java/org/apache/phoenix/iterate/AggregateResultScannerTest.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/test/java/org/apache/phoenix/iterate/AggregateResultScannerTest.java b/phoenix-core/src/test/java/org/apache/phoenix/iterate/AggregateResultScannerTest.java index 1ab606a..f53e871 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/iterate/AggregateResultScannerTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/iterate/AggregateResultScannerTest.java @@ -137,10 +137,6 @@ public class AggregateResultScannerTest extends BaseConnectionlessQueryTest { public boolean isDynamic() { return false; } - @Override - public Integer getColumnQualifier() { - return null; - } })), null); aggregationManager.setAggregators(new ClientAggregators(Collections.<SingleAggregateFunction>singletonList(func), 1)); ResultIterators iterators = new ResultIterators() { http://git-wip-us.apache.org/repos/asf/phoenix/blob/be5191b0/phoenix-protocol/src/main/PTable.proto ---------------------------------------------------------------------- diff --git a/phoenix-protocol/src/main/PTable.proto b/phoenix-protocol/src/main/PTable.proto index f1ed0d4..09bdeb6 100644 --- a/phoenix-protocol/src/main/PTable.proto +++ b/phoenix-protocol/src/main/PTable.proto @@ -49,7 +49,6 @@ message PColumn { optional string expression = 12; optional bool isRowTimestamp = 13; optional bool isDynamic = 14; - optional int32 columnQualifier = 15; } message PTableStats {