You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2014/12/03 21:47:31 UTC
phoenix git commit: PHOENIX-1484 Index creation failed due to
specifying DEFAULT_COLUMN_FAMILY option (James Taylor)
Repository: phoenix
Updated Branches:
refs/heads/3.0 63b3e4eb8 -> 8768902a6
PHOENIX-1484 Index creation failed due to specifying
DEFAULT_COLUMN_FAMILY option (James Taylor)
Conflicts:
phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java
phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/8768902a
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/8768902a
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/8768902a
Branch: refs/heads/3.0
Commit: 8768902a6c8b8d85fcefa28fae7b7cb0d5f42924
Parents: 63b3e4e
Author: James Taylor <jt...@salesforce.com>
Authored: Wed Dec 3 11:13:06 2014 -0800
Committer: James Taylor <jt...@salesforce.com>
Committed: Wed Dec 3 12:46:59 2014 -0800
----------------------------------------------------------------------
.../end2end/BaseTenantSpecificViewIndexIT.java | 1 -
.../apache/phoenix/end2end/SortMergeJoinIT.java | 1 -
.../example/EndToEndCoveredIndexingIT.java | 1 -
.../phoenix/execute/SortMergeJoinPlan.java | 3 +--
.../DistinctValueWithCountServerAggregator.java | 5 -----
.../phoenix/iterate/MappedByteBufferQueue.java | 1 +
.../iterate/MappedByteBufferSortedQueue.java | 6 +++---
.../apache/phoenix/parse/ParseNodeFactory.java | 1 -
.../apache/phoenix/schema/MetaDataClient.java | 5 ++---
.../schema/stats/StatisticsCollector.java | 1 -
.../org/apache/phoenix/util/ServerUtil.java | 1 -
.../org/apache/phoenix/util/UpgradeUtil.java | 1 -
.../phoenix/compile/QueryCompilerTest.java | 21 ++++++++++++++++++++
.../apache/phoenix/schema/SaltingUtilTest.java | 13 ++++++------
14 files changed, 35 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
index c1e82db..c6a6a7e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
@@ -115,7 +115,6 @@ public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeIT {
return DriverManager.getConnection(getUrl(), props);
}
- @SuppressWarnings("unchecked")
private void verifyViewData(Connection conn, String valuePrefix) throws SQLException {
String query = "SELECT k1, k2, v2 FROM v WHERE v2='" + valuePrefix + "v2-1'";
ResultSet rs = conn.createStatement().executeQuery(query);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java
index 12dc034..b4396f7 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinIT.java
@@ -50,7 +50,6 @@ import java.util.Properties;
import org.apache.phoenix.exception.SQLExceptionCode;
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.schema.TableAlreadyExistsException;
-import org.apache.phoenix.util.MetaDataUtil;
import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.QueryUtil;
import org.apache.phoenix.util.ReadOnlyProps;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/it/java/org/apache/phoenix/hbase/index/covered/example/EndToEndCoveredIndexingIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/hbase/index/covered/example/EndToEndCoveredIndexingIT.java b/phoenix-core/src/it/java/org/apache/phoenix/hbase/index/covered/example/EndToEndCoveredIndexingIT.java
index 88bcb2a..5196031 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/hbase/index/covered/example/EndToEndCoveredIndexingIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/hbase/index/covered/example/EndToEndCoveredIndexingIT.java
@@ -857,7 +857,6 @@ public class EndToEndCoveredIndexingIT {
// setup the primary table
String indexedTableName = Bytes.toString(TestTable.getTableName());
- @SuppressWarnings("deprecation")
HTableDescriptor pTable = new HTableDescriptor(indexedTableName);
pTable.addFamily(new HColumnDescriptor(FAM));
pTable.addFamily(new HColumnDescriptor(FAM2));
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/execute/SortMergeJoinPlan.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/execute/SortMergeJoinPlan.java b/phoenix-core/src/main/java/org/apache/phoenix/execute/SortMergeJoinPlan.java
index fdbd23f..9121cf6 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/execute/SortMergeJoinPlan.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/SortMergeJoinPlan.java
@@ -50,11 +50,11 @@ import org.apache.phoenix.query.KeyRange;
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.query.QueryServicesOptions;
import org.apache.phoenix.schema.KeyValueSchema;
+import org.apache.phoenix.schema.KeyValueSchema.KeyValueSchemaBuilder;
import org.apache.phoenix.schema.PColumn;
import org.apache.phoenix.schema.PTable;
import org.apache.phoenix.schema.TableRef;
import org.apache.phoenix.schema.ValueBitSet;
-import org.apache.phoenix.schema.KeyValueSchema.KeyValueSchemaBuilder;
import org.apache.phoenix.schema.tuple.ResultTuple;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.SchemaUtil;
@@ -598,7 +598,6 @@ public class SortMergeJoinPlan implements QueryPlan {
return Bytes.SIZEOF_INT * 2 + kv.getLength();
}
- @SuppressWarnings("deprecation")
@Override
protected void writeToBuffer(MappedByteBuffer buffer, Tuple e) {
KeyValue kv = e.getValue(0);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
index 6b6ed3e..3a1789b 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/expression/aggregator/DistinctValueWithCountServerAggregator.java
@@ -32,10 +32,6 @@ import org.apache.phoenix.schema.SortOrder;
import org.apache.phoenix.schema.tuple.Tuple;
import org.apache.phoenix.util.ByteUtil;
import org.apache.phoenix.util.SizedUtil;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
import org.iq80.snappy.Snappy;
/**
@@ -45,7 +41,6 @@ import org.iq80.snappy.Snappy;
* @since 1.2.1
*/
public class DistinctValueWithCountServerAggregator extends BaseAggregator {
- private static final Logger LOG = LoggerFactory.getLogger(DistinctValueWithCountServerAggregator.class);
public static final int DEFAULT_ESTIMATED_DISTINCT_VALUES = 10000;
public static final byte[] COMPRESS_MARKER = new byte[] { (byte)1 };
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferQueue.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferQueue.java b/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferQueue.java
index 8ada952..135ab26 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferQueue.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferQueue.java
@@ -180,6 +180,7 @@ public abstract class MappedByteBufferQueue<T> extends AbstractQueue<T> {
return this.index;
}
+ @Override
public int size() {
if (flushBuffer)
return flushedCount;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferSortedQueue.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferSortedQueue.java b/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferSortedQueue.java
index 742f356..805eac7 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferSortedQueue.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/iterate/MappedByteBufferSortedQueue.java
@@ -23,16 +23,17 @@ import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Queue;
+
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.client.Result;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.util.Bytes;
-
-import com.google.common.collect.MinMaxPriorityQueue;
import org.apache.phoenix.iterate.OrderedResultIterator.ResultEntry;
import org.apache.phoenix.schema.tuple.ResultTuple;
import org.apache.phoenix.schema.tuple.Tuple;
+import com.google.common.collect.MinMaxPriorityQueue;
+
public class MappedByteBufferSortedQueue extends MappedByteBufferQueue<ResultEntry> {
private Comparator<ResultEntry> comparator;
private final int limit;
@@ -81,7 +82,6 @@ public class MappedByteBufferSortedQueue extends MappedByteBufferQueue<ResultEnt
return sizeof(e.sortKeys) + sizeof(toKeyValues(e));
}
- @SuppressWarnings("deprecation")
@Override
protected void writeToBuffer(MappedByteBuffer buffer, ResultEntry e) {
int totalLen = 0;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java b/phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java
index 93e575d..e3a0076 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/parse/ParseNodeFactory.java
@@ -63,7 +63,6 @@ import com.google.common.collect.Maps;
public class ParseNodeFactory {
private static final String ARRAY_ELEM = "ARRAY_ELEM";
// TODO: Use Google's Reflection library instead to find aggregate functions
- @SuppressWarnings("unchecked")
private static final List<Class<? extends FunctionExpression>> CLIENT_SIDE_BUILT_IN_FUNCTIONS = Arrays.<Class<? extends FunctionExpression>>asList(
CurrentDateFunction.class,
CurrentTimeFunction.class,
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/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 4fa0cb3..053155f 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
@@ -907,7 +907,7 @@ public class MetaDataClient {
}
// Set DEFAULT_COLUMN_FAMILY_NAME of index to match data table
// We need this in the props so that the correct column family is created
- if (dataTable.getDefaultFamilyName() != null && dataTable.getType() != PTableType.VIEW) {
+ if (dataTable.getDefaultFamilyName() != null && dataTable.getType() != PTableType.VIEW && viewIndexId == null) {
statement.getProps().put("", new Pair<String,Object>(DEFAULT_COLUMN_FAMILY_NAME,dataTable.getDefaultFamilyName().getString()));
}
CreateTableStatement tableStatement = FACTORY.createTable(indexTableName, statement.getProps(), columnDefs, pk, statement.getSplitNodes(), PTableType.INDEX, statement.ifNotExists(), null, null, statement.getBindCount());
@@ -1100,11 +1100,10 @@ public class MetaDataClient {
}
boolean removedProp = false;
- // Can't set MULTI_TENANT or DEFAULT_COLUMN_FAMILY_NAME on an index
+ // Can't set MULTI_TENANT or DEFAULT_COLUMN_FAMILY_NAME on an INDEX or a non mapped VIEW
if (tableType != PTableType.INDEX && (tableType != PTableType.VIEW || viewType == ViewType.MAPPED)) {
Boolean multiTenantProp = (Boolean) tableProps.remove(PhoenixDatabaseMetaData.MULTI_TENANT);
multiTenant = Boolean.TRUE.equals(multiTenantProp);
- // Remove, but add back after our check below
defaultFamilyName = (String)tableProps.remove(PhoenixDatabaseMetaData.DEFAULT_COLUMN_FAMILY_NAME);
removedProp = (defaultFamilyName != null);
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
index beaac2f..6dcbd37 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java
@@ -22,7 +22,6 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.hadoop.hbase.regionserver.HRegion;
import org.apache.hadoop.hbase.regionserver.InternalScanner;
import org.apache.hadoop.hbase.regionserver.Store;
-import org.apache.hadoop.hbase.util.Bytes;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.phoenix.coprocessor.MetaDataProtocol;
import org.apache.phoenix.hbase.index.util.ImmutableBytesPtr;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java
index bd701a8..8dcf8c5 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/ServerUtil.java
@@ -30,7 +30,6 @@ import org.apache.phoenix.exception.SQLExceptionCode;
import org.apache.phoenix.exception.SQLExceptionInfo;
-@SuppressWarnings("deprecation")
public class ServerUtil {
private static final String FORMAT = "ERROR %d (%s): %s";
private static final Pattern PATTERN = Pattern.compile("ERROR (\\d+) \\((\\w+)\\): (.*)");
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
index 1e57941..d6251b6 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java
@@ -86,7 +86,6 @@ public class UpgradeUtil {
}
}
- @SuppressWarnings("deprecation")
private static void copyTable(PhoenixConnection conn, byte[] sourceName, byte[] targetName) throws SQLException {
int batchSizeBytes = 100 * 1024; // 100K chunks
int sizeBytes = 0;
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryCompilerTest.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryCompilerTest.java b/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryCompilerTest.java
index 3857736..58d7710 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryCompilerTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/compile/QueryCompilerTest.java
@@ -1452,4 +1452,25 @@ public class QueryCompilerTest extends BaseConnectionlessQueryTest {
assertFalse("Did not expected to find GROUP BY limit optimization in: " + query, QueryUtil.getExplainPlan(rs).contains(" LIMIT 3 GROUPS"));
}
}
+
+ @Test
+ public void testViewIndexCreationWithDefaultFamilyOption() throws Exception {
+ Connection conn1 = DriverManager.getConnection(getUrl());
+ try{
+ Statement statement = conn1.createStatement();
+ statement.execute("create table example (id integer not null,fn varchar,"
+ + "ln varchar constraint pk primary key(id)) DEFAULT_COLUMN_FAMILY='F'");
+ statement.execute("create view v as select * from example");
+ try {
+ statement.execute("create index my_idx on v (fn) DEFAULT_COLUMN_FAMILY='F'");
+ fail();
+ } catch (SQLException e) {
+ assertEquals(SQLExceptionCode.VIEW_WITH_PROPERTIES.getErrorCode(),e.getErrorCode());
+ }
+ statement.execute("create index my_idx on v (fn)");
+ } finally {
+ conn1.close();
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/8768902a/phoenix-core/src/test/java/org/apache/phoenix/schema/SaltingUtilTest.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/schema/SaltingUtilTest.java b/phoenix-core/src/test/java/org/apache/phoenix/schema/SaltingUtilTest.java
index 9642045..244c813 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/schema/SaltingUtilTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/schema/SaltingUtilTest.java
@@ -17,15 +17,16 @@
*/
package org.apache.phoenix.schema;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Sets;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.Test;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.util.Set;
-import static org.junit.Assert.*;
-import static org.junit.Assert.assertEquals;
+import org.apache.hadoop.hbase.util.Bytes;
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Sets;
public class SaltingUtilTest {