phoenix git commit: PHOENIX-2120 Padding character is not inverted as required for DESC CHAR columns

2015-07-22 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master 8c2b5a698 - 498cc5524


PHOENIX-2120 Padding character is not inverted as required for DESC CHAR columns


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/498cc552
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/498cc552
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/498cc552

Branch: refs/heads/master
Commit: 498cc5524ff73c3947160ddfc4241f759c7044f2
Parents: 8c2b5a6
Author: James Taylor jtay...@salesforce.com
Authored: Wed Jul 22 09:18:00 2015 -0700
Committer: James Taylor jtay...@salesforce.com
Committed: Wed Jul 22 09:32:25 2015 -0700

--
 .../org/apache/phoenix/end2end/BaseQueryIT.java |  10 --
 .../org/apache/phoenix/end2end/InListIT.java|  53 +-
 .../apache/phoenix/end2end/RTrimFunctionIT.java |  71 +
 .../org/apache/phoenix/end2end/SortOrderIT.java |  59 +++
 .../phoenix/compile/ExpressionCompiler.java |  12 ++-
 .../apache/phoenix/compile/WhereOptimizer.java  | 102 ++-
 .../apache/phoenix/execute/HashJoinPlan.java|   6 +-
 .../expression/ArrayConstructorExpression.java  |  28 +++--
 .../phoenix/expression/BaseExpression.java  |  43 
 .../phoenix/expression/CoerceExpression.java|  39 ---
 .../expression/ComparisonExpression.java|  32 +++---
 .../phoenix/expression/InListExpression.java|  26 -
 .../phoenix/expression/LiteralExpression.java   |  18 +++-
 .../expression/function/InvertFunction.java |   6 +-
 .../expression/function/PrefixFunction.java |  30 --
 .../expression/function/RTrimFunction.java  |  55 --
 .../visitor/CloneExpressionVisitor.java |   2 +-
 .../phoenix/schema/types/PArrayDataType.java|   4 +-
 .../java/org/apache/phoenix/query/BaseTest.java |   8 ++
 .../java/org/apache/phoenix/util/TestUtil.java  |   4 +-
 20 files changed, 408 insertions(+), 200 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/498cc552/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
index 5f87e3f..aa5068b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
@@ -23,9 +23,7 @@ import java.io.IOException;
 import java.sql.Connection;
 import java.sql.Date;
 import java.sql.DriverManager;
-import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -120,14 +118,6 @@ public abstract class BaseQueryIT extends 
BaseClientManagedTimeIT {
 return testCases;
 }
 
-protected void assertValueEqualsResultSet(ResultSet rs, ListObject 
expectedResults) throws SQLException {
-ListListObject nestedExpectedResults = 
Lists.newArrayListWithExpectedSize(expectedResults.size());
-for (Object expectedResult : expectedResults) {
-nestedExpectedResults.add(Arrays.asList(expectedResult));
-}
-assertValuesEqualsResultSet(rs, nestedExpectedResults); 
-}
-
 protected static boolean compare(CompareOp op, ImmutableBytesWritable 
lhsOutPtr, ImmutableBytesWritable rhsOutPtr) {
 int compareResult = Bytes.compareTo(lhsOutPtr.get(), 
lhsOutPtr.getOffset(), lhsOutPtr.getLength(), rhsOutPtr.get(), 
rhsOutPtr.getOffset(), rhsOutPtr.getLength());
 return ByteUtil.compare(op, compareResult);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/498cc552/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
index 3fdd906..4aff12b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
@@ -32,8 +32,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
 import org.apache.phoenix.schema.types.PLong;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
@@ -428,4 +429,54 @@ public class InListIT extends BaseHBaseManagedTimeIT {
 
 

[1/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 70d88b321 - 64319e647


http://git-wip-us.apache.org/repos/asf/phoenix/blob/64319e64/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 3f43399..5a68e44 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
@@ -17,6 +17,8 @@
  */
 package org.apache.phoenix.coprocessor;
 
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkState;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ARRAY_SIZE_BYTES;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CLASS_NAME_BYTES;
 import static 
org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.COLUMN_COUNT_BYTES;
@@ -186,7 +188,6 @@ import org.apache.phoenix.util.UpgradeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Objects;
 import com.google.common.cache.Cache;
 import com.google.common.collect.Lists;
 import com.google.protobuf.ByteString;
@@ -1678,309 +1679,526 @@ public class MetaDataEndpointImpl extends 
MetaDataProtocol implements Coprocesso
 }
 }
 
-private MetaDataMutationResult addRowsToChildViews(PTable table, 
ListMutation tableMetadata, ListMutation mutationsForAddingColumnsToViews, 
byte[] schemaName, byte[] tableName,
+private final class PutWithOrdinalPosition implements 
ComparablePutWithOrdinalPosition{
+private final Put put;
+private final int ordinalPosition;
+
+public PutWithOrdinalPosition(Put put, int ordinalPos) {
+this.put = put;
+this.ordinalPosition = ordinalPos;
+}
+
+@Override
+public int compareTo(PutWithOrdinalPosition o) {
+return (this.ordinalPosition  o.ordinalPosition ? -1 : 
this.ordinalPosition  o.ordinalPosition ? 1 : 0);
+}
+}
+
+private static int getOrdinalPosition(PTable table, PColumn col) {
+return table.getBucketNum() == null ? col.getPosition() + 1 : 
col.getPosition();
+}
+
+private static boolean isDivergedView(PTable view) {
+return view.getBaseColumnCount() == 
QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
+}
+
+/**
+ * 
+ * Class to keep track of columns and their ordinal positions as we
+ * process through the list of columns to be added.
+ *
+ */
+private static class ColumnOrdinalPositionUpdateList {
+final Listbyte[] columnKeys = new ArrayList(10);
+int offset;
+
+int size()  {
+return columnKeys.size();
+}
+
+private void setOffset(int lowestOrdinalPos) {
+this.offset = lowestOrdinalPos;
+}
+
+private void addColumn(byte[] columnKey, int position) {
+checkArgument(position = this.offset);
+int index = position - offset;
+int size = columnKeys.size();
+checkState(index = size);
+if (size == 0) {
+columnKeys.add(columnKey);
+return;
+}
+int stopIndex = size;
+// Check if an entry for this column key is already there.
+for (int i = 0; i  size; i++) {
+if (Bytes.equals(columnKeys.get(i), columnKey)) {
+stopIndex = i;
+break;
+}
+}
+if (stopIndex == size) {
+/*
+ * The column key is not present in the list. So add it at the 
specified index
+ * and right shift the elements at this index and beyond.
+ */
+columnKeys.add(index, columnKey);
+} else {
+/*
+ * The column key is already present in the list.
+ * Move the elements of the list to the left up to the stop 
index
+ */
+for (int i = stopIndex; i  index; i--) {
+columnKeys.set(i, columnKeys.get(i - 1));
+}
+columnKeys.set(index, columnKey);
+}
+}
+
+private int getOrdinalPositionFromListIdx(int listIndex) {
+checkArgument(listIndex  columnKeys.size());
+return listIndex + offset;
+}
+
+/**
+ * @param columnKey
+ * @return if present - the ordinal position of the column in this 
list.
+ * If not present - -1.
+ */
+private int getOrdinalPositionOfColumn(byte[] columnKey) 

[3/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
PHOENIX-2110 Primary key changes should be pushed to diverged views


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/64319e64
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/64319e64
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/64319e64

Branch: refs/heads/4.x-HBase-0.98
Commit: 64319e647c3f1824583a3ab5ab83c6f8f8307436
Parents: 70d88b3
Author: Samarth samarth.j...@salesforce.com
Authored: Wed Jul 22 11:28:19 2015 -0700
Committer: Samarth samarth.j...@salesforce.com
Committed: Wed Jul 22 11:28:19 2015 -0700

--
 .../apache/phoenix/end2end/AlterTableIT.java|  929 +---
 .../phoenix/end2end/AlterTableWithViewsIT.java  | 1047 ++
 .../coprocessor/MetaDataEndpointImpl.java   |  756 -
 3 files changed, 1535 insertions(+), 1197 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/64319e64/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 1758dd4..4053301 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
@@ -18,7 +18,6 @@
 package org.apache.phoenix.end2end;
 
 import static 
org.apache.hadoop.hbase.HColumnDescriptor.DEFAULT_REPLICATION_SCOPE;
-import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
 import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
 import static org.apache.phoenix.util.TestUtil.closeConnection;
 import static org.apache.phoenix.util.TestUtil.closeStatement;
@@ -33,11 +32,9 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
@@ -46,17 +43,13 @@ import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.KeepDeletedCells;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.phoenix.compile.QueryPlan;
 import org.apache.phoenix.coprocessor.MetaDataProtocol;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
-import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.query.QueryConstants;
-import org.apache.phoenix.schema.PColumn;
 import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.PTableKey;
-import org.apache.phoenix.schema.PTableType;
 import org.apache.phoenix.schema.TableNotFoundException;
 import org.apache.phoenix.util.IndexUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -66,8 +59,6 @@ import org.apache.phoenix.util.SchemaUtil;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import com.google.common.base.Objects;
-
 /**
  *
  * A lot of tests in this class test HBase level properties. As a result,
@@ -2007,923 +1998,5 @@ public class AlterTableIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 conn.close();
 }
 }
-
-@Test
-public void testAddNewColumnsToBaseTableWithViews() throws Exception {
-Connection conn = DriverManager.getConnection(getUrl());
-try {   
-conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
-+  ID char(1) NOT NULL,
-+  COL1 integer NOT NULL,
-+  COL2 bigint NOT NULL,
-+  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
-+  ));
-assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
-
-conn.createStatement().execute(CREATE VIEW VIEWOFTABLE ( 
VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW);
-assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 0, 5, 3, ID, COL1, COL2, VIEW_COL1, VIEW_COL2);
-
-// adding a new pk column and a new regular column
-conn.createStatement().execute(ALTER TABLE TABLEWITHVIEW ADD COL3 
varchar(10) PRIMARY KEY, COL4 integer);
-assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2, 
COL3, COL4);
-assertTableDefinition(conn, VIEWOFTABLE, 

[2/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
http://git-wip-us.apache.org/repos/asf/phoenix/blob/64319e64/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
new file mode 100644
index 000..0399af2
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -0,0 +1,1047 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
+import static 
org.apache.phoenix.query.QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.phoenix.compile.QueryPlan;
+import org.apache.phoenix.exception.SQLExceptionCode;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
+import org.apache.phoenix.jdbc.PhoenixStatement;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PColumn;
+import org.apache.phoenix.schema.PTable;
+import org.apache.phoenix.schema.PTableKey;
+import org.apache.phoenix.schema.PTableType;
+import org.apache.phoenix.util.IndexUtil;
+import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.SchemaUtil;
+import org.junit.Test;
+
+import com.google.common.base.Objects;
+
+public class AlterTableWithViewsIT extends BaseHBaseManagedTimeIT {
+
+@Test
+public void testAddNewColumnsToBaseTableWithViews() throws Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+try {   
+conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
++  ID char(1) NOT NULL,
++  COL1 integer NOT NULL,
++  COL2 bigint NOT NULL,
++  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
++  ));
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
+
+conn.createStatement().execute(CREATE VIEW VIEWOFTABLE ( 
VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW);
+assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 0, 5, 3, ID, COL1, COL2, VIEW_COL1, VIEW_COL2);
+
+// adding a new pk column and a new regular column
+conn.createStatement().execute(ALTER TABLE TABLEWITHVIEW ADD COL3 
varchar(10) PRIMARY KEY, COL4 integer);
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2, 
COL3, COL4);
+assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 1, 7, 5, ID, COL1, COL2, COL3, COL4, VIEW_COL1, 
VIEW_COL2);
+} finally {
+conn.close();
+}
+}
+
+@Test
+public void testAddExistingViewColumnToBaseTableWithViews() throws 
Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+try {   
+conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
++  ID char(10) NOT NULL,
++  COL1 integer NOT NULL,
++  COL2 bigint NOT NULL,
++  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
++  ));
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
+
+   

phoenix git commit: Make all tests in ExpressionFactoryValuesTest run in Phoenix rel regardless of if RexNodes can be translated. Fix collation and distribution traits in PhoenixValues rel.

2015-07-22 Thread maryannxue
Repository: phoenix
Updated Branches:
  refs/heads/calcite 73cb518d5 - c28cc110d


Make all tests in ExpressionFactoryValuesTest run in Phoenix rel regardless of 
if RexNodes can be translated. Fix collation and distribution traits in 
PhoenixValues rel.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/c28cc110
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/c28cc110
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/c28cc110

Branch: refs/heads/calcite
Commit: c28cc110d2cee28022b63969f18adb1380f5ad9c
Parents: 73cb518
Author: maryannxue wei@intel.com
Authored: Wed Jul 22 14:03:45 2015 -0400
Committer: maryannxue wei@intel.com
Committed: Wed Jul 22 14:03:45 2015 -0400

--
 .../calcite/jdbc/PhoenixCalciteDriver.java  |   3 +-
 .../calcite/jdbc/PhoenixPrepareImpl.java|   8 +-
 .../phoenix/calcite/rel/PhoenixValues.java  |  24 ++-
 .../calcite/rules/PhoenixConverterRules.java| 185 ---
 .../calcite/ExpressionFactoryValuesTest.java|  34 +++-
 5 files changed, 176 insertions(+), 78 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/c28cc110/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixCalciteDriver.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixCalciteDriver.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixCalciteDriver.java
index 37452df..cf9404a 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixCalciteDriver.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixCalciteDriver.java
@@ -3,6 +3,7 @@ package org.apache.phoenix.calcite.jdbc;
 import org.apache.calcite.jdbc.CalcitePrepare;
 import org.apache.calcite.jdbc.Driver;
 import org.apache.calcite.linq4j.function.Function0;
+import org.apache.phoenix.calcite.rules.PhoenixConverterRules;
 
 public class PhoenixCalciteDriver extends Driver {
 public static final String CONNECT_STRING_PREFIX = jdbc:phoenixcalcite:;
@@ -19,7 +20,7 @@ public class PhoenixCalciteDriver extends Driver {
 return new Function0CalcitePrepare() {
 @Override
 public CalcitePrepare apply() {
-return new PhoenixPrepareImpl();
+return new 
PhoenixPrepareImpl(PhoenixConverterRules.CONVERTIBLE_RULES);
 }  
 };
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/c28cc110/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
index 828497f..0c3ced9 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/calcite/jdbc/PhoenixPrepareImpl.java
@@ -10,15 +10,16 @@ import org.apache.calcite.rel.rules.JoinCommuteRule;
 import org.apache.phoenix.calcite.PhoenixSchema;
 import org.apache.phoenix.calcite.rules.PhoenixAddScanLimitRule;
 import org.apache.phoenix.calcite.rules.PhoenixCompactClientSortRule;
-import org.apache.phoenix.calcite.rules.PhoenixConverterRules;
 import org.apache.phoenix.calcite.rules.PhoenixFilterScanMergeRule;
 import org.apache.phoenix.calcite.rules.PhoenixInnerSortRemoveRule;
 import 
org.apache.phoenix.calcite.rules.PhoenixJoinSingleValueAggregateMergeRule;
 
 public class PhoenixPrepareImpl extends CalcitePrepareImpl {
+protected final RelOptRule[] defaultConverterRules;
 
-public PhoenixPrepareImpl() {
+public PhoenixPrepareImpl(RelOptRule[] defaultConverterRules) {
 super();
+this.defaultConverterRules = defaultConverterRules;
 }
 
 @Override
@@ -31,8 +32,7 @@ public class PhoenixPrepareImpl extends CalcitePrepareImpl {
 planner.removeRule(JoinCommuteRule.INSTANCE);
 planner.addRule(JoinCommuteRule.SWAP_OUTER);
 
-RelOptRule[] rules = PhoenixConverterRules.RULES;
-for (RelOptRule rule : rules) {
+for (RelOptRule rule : this.defaultConverterRules) {
 planner.addRule(rule);
 }
 planner.addRule(PhoenixFilterScanMergeRule.INSTANCE);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/c28cc110/phoenix-core/src/main/java/org/apache/phoenix/calcite/rel/PhoenixValues.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/rel/PhoenixValues.java 

phoenix git commit: PHOENIX-2120 Padding character is not inverted as required for DESC CHAR columns

2015-07-22 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.0 048493901 - 5d5c5af85


PHOENIX-2120 Padding character is not inverted as required for DESC CHAR columns


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/5d5c5af8
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/5d5c5af8
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/5d5c5af8

Branch: refs/heads/4.x-HBase-1.0
Commit: 5d5c5af851b4bc757fa2cc0ca61054ed7e06b014
Parents: 0484939
Author: James Taylor jtay...@salesforce.com
Authored: Wed Jul 22 09:18:00 2015 -0700
Committer: James Taylor jtay...@salesforce.com
Committed: Wed Jul 22 10:23:53 2015 -0700

--
 .../org/apache/phoenix/end2end/BaseQueryIT.java |  10 --
 .../org/apache/phoenix/end2end/InListIT.java|  53 +-
 .../apache/phoenix/end2end/RTrimFunctionIT.java |  71 +
 .../org/apache/phoenix/end2end/SortOrderIT.java |  59 +++
 .../phoenix/compile/ExpressionCompiler.java |  12 ++-
 .../apache/phoenix/compile/WhereOptimizer.java  | 102 ++-
 .../apache/phoenix/execute/HashJoinPlan.java|   6 +-
 .../expression/ArrayConstructorExpression.java  |  28 +++--
 .../phoenix/expression/BaseExpression.java  |  43 
 .../phoenix/expression/CoerceExpression.java|  39 ---
 .../expression/ComparisonExpression.java|  32 +++---
 .../phoenix/expression/InListExpression.java|  26 -
 .../phoenix/expression/LiteralExpression.java   |  18 +++-
 .../expression/function/InvertFunction.java |   6 +-
 .../expression/function/PrefixFunction.java |  30 --
 .../expression/function/RTrimFunction.java  |  55 --
 .../visitor/CloneExpressionVisitor.java |   2 +-
 .../phoenix/schema/types/PArrayDataType.java|   4 +-
 .../java/org/apache/phoenix/query/BaseTest.java |   8 ++
 .../java/org/apache/phoenix/util/TestUtil.java  |   4 +-
 20 files changed, 408 insertions(+), 200 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5d5c5af8/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
index 5f87e3f..aa5068b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
@@ -23,9 +23,7 @@ import java.io.IOException;
 import java.sql.Connection;
 import java.sql.Date;
 import java.sql.DriverManager;
-import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -120,14 +118,6 @@ public abstract class BaseQueryIT extends 
BaseClientManagedTimeIT {
 return testCases;
 }
 
-protected void assertValueEqualsResultSet(ResultSet rs, ListObject 
expectedResults) throws SQLException {
-ListListObject nestedExpectedResults = 
Lists.newArrayListWithExpectedSize(expectedResults.size());
-for (Object expectedResult : expectedResults) {
-nestedExpectedResults.add(Arrays.asList(expectedResult));
-}
-assertValuesEqualsResultSet(rs, nestedExpectedResults); 
-}
-
 protected static boolean compare(CompareOp op, ImmutableBytesWritable 
lhsOutPtr, ImmutableBytesWritable rhsOutPtr) {
 int compareResult = Bytes.compareTo(lhsOutPtr.get(), 
lhsOutPtr.getOffset(), lhsOutPtr.getLength(), rhsOutPtr.get(), 
rhsOutPtr.getOffset(), rhsOutPtr.getLength());
 return ByteUtil.compare(op, compareResult);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5d5c5af8/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
index 3fdd906..4aff12b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
@@ -32,8 +32,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
 import org.apache.phoenix.schema.types.PLong;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
@@ -428,4 +429,54 @@ public class InListIT extends BaseHBaseManagedTimeIT {
 
 

phoenix git commit: PHOENIX-2120 Padding character is not inverted as required for DESC CHAR columns

2015-07-22 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 ed3e562a2 - 70d88b321


PHOENIX-2120 Padding character is not inverted as required for DESC CHAR columns


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/70d88b32
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/70d88b32
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/70d88b32

Branch: refs/heads/4.x-HBase-0.98
Commit: 70d88b32109bbcd74bd84d5808ad414898a2c763
Parents: ed3e562
Author: James Taylor jtay...@salesforce.com
Authored: Wed Jul 22 09:18:00 2015 -0700
Committer: James Taylor jtay...@salesforce.com
Committed: Wed Jul 22 10:22:01 2015 -0700

--
 .../org/apache/phoenix/end2end/BaseQueryIT.java |  10 --
 .../org/apache/phoenix/end2end/InListIT.java|  53 +-
 .../apache/phoenix/end2end/RTrimFunctionIT.java |  71 +
 .../org/apache/phoenix/end2end/SortOrderIT.java |  59 +++
 .../phoenix/compile/ExpressionCompiler.java |  12 ++-
 .../apache/phoenix/compile/WhereOptimizer.java  | 102 ++-
 .../apache/phoenix/execute/HashJoinPlan.java|   6 +-
 .../expression/ArrayConstructorExpression.java  |  28 +++--
 .../phoenix/expression/BaseExpression.java  |  43 
 .../phoenix/expression/CoerceExpression.java|  39 ---
 .../expression/ComparisonExpression.java|  32 +++---
 .../phoenix/expression/InListExpression.java|  26 -
 .../phoenix/expression/LiteralExpression.java   |  18 +++-
 .../expression/function/InvertFunction.java |   6 +-
 .../expression/function/PrefixFunction.java |  30 --
 .../expression/function/RTrimFunction.java  |  55 --
 .../visitor/CloneExpressionVisitor.java |   2 +-
 .../phoenix/schema/types/PArrayDataType.java|   4 +-
 .../java/org/apache/phoenix/query/BaseTest.java |   8 ++
 .../java/org/apache/phoenix/util/TestUtil.java  |   4 +-
 20 files changed, 408 insertions(+), 200 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/70d88b32/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
index 5f87e3f..aa5068b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
@@ -23,9 +23,7 @@ import java.io.IOException;
 import java.sql.Connection;
 import java.sql.Date;
 import java.sql.DriverManager;
-import java.sql.ResultSet;
 import java.sql.SQLException;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -120,14 +118,6 @@ public abstract class BaseQueryIT extends 
BaseClientManagedTimeIT {
 return testCases;
 }
 
-protected void assertValueEqualsResultSet(ResultSet rs, ListObject 
expectedResults) throws SQLException {
-ListListObject nestedExpectedResults = 
Lists.newArrayListWithExpectedSize(expectedResults.size());
-for (Object expectedResult : expectedResults) {
-nestedExpectedResults.add(Arrays.asList(expectedResult));
-}
-assertValuesEqualsResultSet(rs, nestedExpectedResults); 
-}
-
 protected static boolean compare(CompareOp op, ImmutableBytesWritable 
lhsOutPtr, ImmutableBytesWritable rhsOutPtr) {
 int compareResult = Bytes.compareTo(lhsOutPtr.get(), 
lhsOutPtr.getOffset(), lhsOutPtr.getLength(), rhsOutPtr.get(), 
rhsOutPtr.getOffset(), rhsOutPtr.getLength());
 return ByteUtil.compare(op, compareResult);

http://git-wip-us.apache.org/repos/asf/phoenix/blob/70d88b32/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
index 3fdd906..4aff12b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java
@@ -32,8 +32,9 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
-import org.apache.phoenix.schema.types.PInteger;
+import org.apache.phoenix.schema.SortOrder;
 import org.apache.phoenix.schema.types.PDataType;
+import org.apache.phoenix.schema.types.PInteger;
 import org.apache.phoenix.schema.types.PLong;
 import org.apache.phoenix.util.PhoenixRuntime;
 import org.apache.phoenix.util.PropertiesUtil;
@@ -428,4 +429,54 @@ public class InListIT extends BaseHBaseManagedTimeIT {
 
 

Build failed in Jenkins: Phoenix | Master #851

2015-07-22 Thread Apache Jenkins Server
See https://builds.apache.org/job/Phoenix-master/851/changes

Changes:

[jtaylor] PHOENIX-2120 Padding character is not inverted as required for DESC 
CHAR columns

--
[...truncated 118992 lines...]
Tests run: 108, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 491.757 sec - 
in org.apache.phoenix.end2end.SortMergeJoinIT
Running org.apache.phoenix.end2end.index.SaltedIndexIT
Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 180.885 sec - 
in org.apache.phoenix.end2end.SubqueryIT
Running org.apache.phoenix.end2end.index.IndexMetadataIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.355 sec - in 
org.apache.phoenix.end2end.index.SaltedIndexIT
Running org.apache.phoenix.end2end.index.IndexExpressionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 111.382 sec - 
in org.apache.phoenix.end2end.index.IndexMetadataIT
Running org.apache.phoenix.end2end.index.DropViewIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.398 sec - in 
org.apache.phoenix.end2end.index.DropViewIT
Running org.apache.phoenix.end2end.index.LocalMutableIndexIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 220.783 sec - 
in org.apache.phoenix.end2end.index.GlobalMutableIndexIT
Running org.apache.phoenix.end2end.index.ViewIndexIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.789 sec - in 
org.apache.phoenix.end2end.index.ViewIndexIT
Running org.apache.phoenix.end2end.index.ImmutableIndexIT
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 57.658 sec - 
in org.apache.phoenix.end2end.index.ImmutableIndexIT
Running org.apache.phoenix.end2end.ServerExceptionIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.408 sec - in 
org.apache.phoenix.end2end.ServerExceptionIT
Running org.apache.phoenix.end2end.CSVCommonsLoaderIT
Tests run: 108, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 628.377 sec - 
in org.apache.phoenix.end2end.SpooledSortMergeJoinIT
Running org.apache.phoenix.end2end.ReverseFunctionIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.058 sec - in 
org.apache.phoenix.end2end.ReverseFunctionIT
Running org.apache.phoenix.end2end.ArrayAppendFunctionIT
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 383.237 sec - 
in org.apache.phoenix.end2end.index.LocalIndexIT
Running org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.799 sec - in 
org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT
Running org.apache.phoenix.end2end.AutoCommitIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.559 sec - in 
org.apache.phoenix.end2end.AutoCommitIT
Running org.apache.phoenix.end2end.PowerFunctionEnd2EndIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.784 sec - in 
org.apache.phoenix.end2end.PowerFunctionEnd2EndIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.169 sec - 
in org.apache.phoenix.end2end.CSVCommonsLoaderIT
Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 46.974 sec - 
in org.apache.phoenix.end2end.ArrayAppendFunctionIT
Running org.apache.phoenix.end2end.DateTimeIT
Running org.apache.phoenix.end2end.SpooledTmpFileDeleteIT
Tests run: 58, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 305.939 sec - 
in org.apache.phoenix.end2end.index.IndexExpressionIT
Running org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.353 sec - in 
org.apache.phoenix.end2end.SpooledTmpFileDeleteIT
Running org.apache.phoenix.end2end.DecodeFunctionIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.539 sec - in 
org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Running org.apache.phoenix.end2end.ModulusExpressionIT
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.459 sec - 
in org.apache.phoenix.end2end.DateTimeIT
Running org.apache.phoenix.end2end.LastValueFunctionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.899 sec - in 
org.apache.phoenix.end2end.DecodeFunctionIT
Running org.apache.phoenix.end2end.UpgradeIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.004 sec - in 
org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT
Running org.apache.phoenix.end2end.FirstValueFunctionIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.631 sec - in 
org.apache.phoenix.end2end.ModulusExpressionIT
Running org.apache.phoenix.end2end.DisableLocalIndexIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 238.722 sec - 
in org.apache.phoenix.end2end.index.LocalMutableIndexIT
Running org.apache.phoenix.end2end.HashJoinLocalIndexIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.23 sec - in 
org.apache.phoenix.end2end.FirstValueFunctionIT
Running 

[1/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.0 5d5c5af85 - 6dda6b95a


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6dda6b95/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 98f724f..3e42fc1 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
@@ -17,6 +17,8 @@
  */
 package org.apache.phoenix.coprocessor;
 
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkState;
 import static org.apache.hadoop.hbase.KeyValueUtil.createFirstOnRow;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ARRAY_SIZE_BYTES;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CLASS_NAME_BYTES;
@@ -187,7 +189,6 @@ import org.apache.phoenix.util.UpgradeUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import com.google.common.base.Objects;
 import com.google.common.cache.Cache;
 import com.google.common.collect.Lists;
 import com.google.protobuf.ByteString;
@@ -1678,309 +1679,526 @@ public class MetaDataEndpointImpl extends 
MetaDataProtocol implements Coprocesso
 }
 }
 
-private MetaDataMutationResult addRowsToChildViews(PTable table, 
ListMutation tableMetadata, ListMutation mutationsForAddingColumnsToViews, 
byte[] schemaName, byte[] tableName,
+private final class PutWithOrdinalPosition implements 
ComparablePutWithOrdinalPosition{
+private final Put put;
+private final int ordinalPosition;
+
+public PutWithOrdinalPosition(Put put, int ordinalPos) {
+this.put = put;
+this.ordinalPosition = ordinalPos;
+}
+
+@Override
+public int compareTo(PutWithOrdinalPosition o) {
+return (this.ordinalPosition  o.ordinalPosition ? -1 : 
this.ordinalPosition  o.ordinalPosition ? 1 : 0);
+}
+}
+
+private static int getOrdinalPosition(PTable table, PColumn col) {
+return table.getBucketNum() == null ? col.getPosition() + 1 : 
col.getPosition();
+}
+
+private static boolean isDivergedView(PTable view) {
+return view.getBaseColumnCount() == 
QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
+}
+
+/**
+ * 
+ * Class to keep track of columns and their ordinal positions as we
+ * process through the list of columns to be added.
+ *
+ */
+private static class ColumnOrdinalPositionUpdateList {
+final Listbyte[] columnKeys = new ArrayList(10);
+int offset;
+
+int size()  {
+return columnKeys.size();
+}
+
+private void setOffset(int lowestOrdinalPos) {
+this.offset = lowestOrdinalPos;
+}
+
+private void addColumn(byte[] columnKey, int position) {
+checkArgument(position = this.offset);
+int index = position - offset;
+int size = columnKeys.size();
+checkState(index = size);
+if (size == 0) {
+columnKeys.add(columnKey);
+return;
+}
+int stopIndex = size;
+// Check if an entry for this column key is already there.
+for (int i = 0; i  size; i++) {
+if (Bytes.equals(columnKeys.get(i), columnKey)) {
+stopIndex = i;
+break;
+}
+}
+if (stopIndex == size) {
+/*
+ * The column key is not present in the list. So add it at the 
specified index
+ * and right shift the elements at this index and beyond.
+ */
+columnKeys.add(index, columnKey);
+} else {
+/*
+ * The column key is already present in the list.
+ * Move the elements of the list to the left up to the stop 
index
+ */
+for (int i = stopIndex; i  index; i--) {
+columnKeys.set(i, columnKeys.get(i - 1));
+}
+columnKeys.set(index, columnKey);
+}
+}
+
+private int getOrdinalPositionFromListIdx(int listIndex) {
+checkArgument(listIndex  columnKeys.size());
+return listIndex + offset;
+}
+
+/**
+ * @param columnKey
+ * @return if present - the ordinal position of the column in this 
list.
+ * If not present - -1.
+ */
+private int getOrdinalPositionOfColumn(byte[] columnKey) {
+

[3/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
PHOENIX-2110 Primary key changes should be pushed to diverged views


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/6dda6b95
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/6dda6b95
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/6dda6b95

Branch: refs/heads/4.x-HBase-1.0
Commit: 6dda6b95a7d257e406dd1c2c1756705d14aeb8e2
Parents: 5d5c5af
Author: Samarth samarth.j...@salesforce.com
Authored: Wed Jul 22 11:37:52 2015 -0700
Committer: Samarth samarth.j...@salesforce.com
Committed: Wed Jul 22 11:37:52 2015 -0700

--
 .../apache/phoenix/end2end/AlterTableIT.java|  929 +---
 .../phoenix/end2end/AlterTableWithViewsIT.java  | 1047 ++
 .../coprocessor/MetaDataEndpointImpl.java   |  756 -
 3 files changed, 1535 insertions(+), 1197 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/6dda6b95/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 1758dd4..4053301 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
@@ -18,7 +18,6 @@
 package org.apache.phoenix.end2end;
 
 import static 
org.apache.hadoop.hbase.HColumnDescriptor.DEFAULT_REPLICATION_SCOPE;
-import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
 import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
 import static org.apache.phoenix.util.TestUtil.closeConnection;
 import static org.apache.phoenix.util.TestUtil.closeStatement;
@@ -33,11 +32,9 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
@@ -46,17 +43,13 @@ import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.KeepDeletedCells;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.phoenix.compile.QueryPlan;
 import org.apache.phoenix.coprocessor.MetaDataProtocol;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
-import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.query.QueryConstants;
-import org.apache.phoenix.schema.PColumn;
 import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.PTableKey;
-import org.apache.phoenix.schema.PTableType;
 import org.apache.phoenix.schema.TableNotFoundException;
 import org.apache.phoenix.util.IndexUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -66,8 +59,6 @@ import org.apache.phoenix.util.SchemaUtil;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import com.google.common.base.Objects;
-
 /**
  *
  * A lot of tests in this class test HBase level properties. As a result,
@@ -2007,923 +1998,5 @@ public class AlterTableIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 conn.close();
 }
 }
-
-@Test
-public void testAddNewColumnsToBaseTableWithViews() throws Exception {
-Connection conn = DriverManager.getConnection(getUrl());
-try {   
-conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
-+  ID char(1) NOT NULL,
-+  COL1 integer NOT NULL,
-+  COL2 bigint NOT NULL,
-+  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
-+  ));
-assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
-
-conn.createStatement().execute(CREATE VIEW VIEWOFTABLE ( 
VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW);
-assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 0, 5, 3, ID, COL1, COL2, VIEW_COL1, VIEW_COL2);
-
-// adding a new pk column and a new regular column
-conn.createStatement().execute(ALTER TABLE TABLEWITHVIEW ADD COL3 
varchar(10) PRIMARY KEY, COL4 integer);
-assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2, 
COL3, COL4);
-assertTableDefinition(conn, VIEWOFTABLE, 

[1/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
Repository: phoenix
Updated Branches:
  refs/heads/master 498cc5524 - 5b46793b6


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5b46793b/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 05e7acb..4c17bf1 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
@@ -17,6 +17,8 @@
  */
 package org.apache.phoenix.coprocessor;
 
+import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkState;
 import static org.apache.hadoop.hbase.KeyValueUtil.createFirstOnRow;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.ARRAY_SIZE_BYTES;
 import static org.apache.phoenix.jdbc.PhoenixDatabaseMetaData.CLASS_NAME_BYTES;
@@ -188,6 +190,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Objects;
+import com.google.common.base.Preconditions;
 import com.google.common.cache.Cache;
 import com.google.common.collect.Lists;
 import com.google.protobuf.ByteString;
@@ -1679,308 +1682,526 @@ public class MetaDataEndpointImpl extends 
MetaDataProtocol implements Coprocesso
 }
 }
 
-private MetaDataMutationResult addRowsToChildViews(PTable table, 
ListMutation tableMetadata, ListMutation mutationsForAddingColumnsToViews, 
byte[] schemaName, byte[] tableName,
+private final class PutWithOrdinalPosition implements 
ComparablePutWithOrdinalPosition{
+private final Put put;
+private final int ordinalPosition;
+
+public PutWithOrdinalPosition(Put put, int ordinalPos) {
+this.put = put;
+this.ordinalPosition = ordinalPos;
+}
+
+@Override
+public int compareTo(PutWithOrdinalPosition o) {
+return (this.ordinalPosition  o.ordinalPosition ? -1 : 
this.ordinalPosition  o.ordinalPosition ? 1 : 0);
+}
+}
+
+private static int getOrdinalPosition(PTable table, PColumn col) {
+return table.getBucketNum() == null ? col.getPosition() + 1 : 
col.getPosition();
+}
+
+private static boolean isDivergedView(PTable view) {
+return view.getBaseColumnCount() == 
QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
+}
+
+/**
+ * 
+ * Class to keep track of columns and their ordinal positions as we
+ * process through the list of columns to be added.
+ *
+ */
+private static class ColumnOrdinalPositionUpdateList {
+final Listbyte[] columnKeys = new ArrayList(10);
+int offset;
+
+int size()  {
+return columnKeys.size();
+}
+
+private void setOffset(int lowestOrdinalPos) {
+this.offset = lowestOrdinalPos;
+}
+
+private void addColumn(byte[] columnKey, int position) {
+checkArgument(position = this.offset);
+int index = position - offset;
+int size = columnKeys.size();
+checkState(index = size);
+if (size == 0) {
+columnKeys.add(columnKey);
+return;
+}
+int stopIndex = size;
+// Check if an entry for this column key is already there.
+for (int i = 0; i  size; i++) {
+if (Bytes.equals(columnKeys.get(i), columnKey)) {
+stopIndex = i;
+break;
+}
+}
+if (stopIndex == size) {
+/*
+ * The column key is not present in the list. So add it at the 
specified index
+ * and right shift the elements at this index and beyond.
+ */
+columnKeys.add(index, columnKey);
+} else {
+/*
+ * The column key is already present in the list.
+ * Move the elements of the list to the left up to the stop 
index
+ */
+for (int i = stopIndex; i  index; i--) {
+columnKeys.set(i, columnKeys.get(i - 1));
+}
+columnKeys.set(index, columnKey);
+}
+}
+
+private int getOrdinalPositionFromListIdx(int listIndex) {
+checkArgument(listIndex  columnKeys.size());
+return listIndex + offset;
+}
+
+/**
+ * @param columnKey
+ * @return if present - the ordinal position of the column in this 
list.
+ * If not present - -1.
+ */
+private int getOrdinalPositionOfColumn(byte[] columnKey) {
+int i 

[3/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
PHOENIX-2110 Primary key changes should be pushed to diverged views


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/5b46793b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/5b46793b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/5b46793b

Branch: refs/heads/master
Commit: 5b46793b6951cf1ca04850a5ad771f2cd9f5802a
Parents: 498cc55
Author: Samarth samarth.j...@salesforce.com
Authored: Wed Jul 22 11:46:05 2015 -0700
Committer: Samarth samarth.j...@salesforce.com
Committed: Wed Jul 22 11:46:05 2015 -0700

--
 .../apache/phoenix/end2end/AlterTableIT.java|  929 +---
 .../phoenix/end2end/AlterTableWithViewsIT.java  | 1047 ++
 .../coprocessor/MetaDataEndpointImpl.java   |  755 -
 3 files changed, 1536 insertions(+), 1195 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5b46793b/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 1758dd4..4053301 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
@@ -18,7 +18,6 @@
 package org.apache.phoenix.end2end;
 
 import static 
org.apache.hadoop.hbase.HColumnDescriptor.DEFAULT_REPLICATION_SCOPE;
-import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
 import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
 import static org.apache.phoenix.util.TestUtil.closeConnection;
 import static org.apache.phoenix.util.TestUtil.closeStatement;
@@ -33,11 +32,9 @@ import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
 import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Collections;
-import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
@@ -46,17 +43,13 @@ import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.KeepDeletedCells;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.util.Bytes;
-import org.apache.phoenix.compile.QueryPlan;
 import org.apache.phoenix.coprocessor.MetaDataProtocol;
 import org.apache.phoenix.exception.SQLExceptionCode;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
-import org.apache.phoenix.jdbc.PhoenixStatement;
 import org.apache.phoenix.query.QueryConstants;
-import org.apache.phoenix.schema.PColumn;
 import org.apache.phoenix.schema.PTable;
 import org.apache.phoenix.schema.PTableKey;
-import org.apache.phoenix.schema.PTableType;
 import org.apache.phoenix.schema.TableNotFoundException;
 import org.apache.phoenix.util.IndexUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
@@ -66,8 +59,6 @@ import org.apache.phoenix.util.SchemaUtil;
 import org.junit.BeforeClass;
 import org.junit.Test;
 
-import com.google.common.base.Objects;
-
 /**
  *
  * A lot of tests in this class test HBase level properties. As a result,
@@ -2007,923 +1998,5 @@ public class AlterTableIT extends 
BaseOwnClusterHBaseManagedTimeIT {
 conn.close();
 }
 }
-
-@Test
-public void testAddNewColumnsToBaseTableWithViews() throws Exception {
-Connection conn = DriverManager.getConnection(getUrl());
-try {   
-conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
-+  ID char(1) NOT NULL,
-+  COL1 integer NOT NULL,
-+  COL2 bigint NOT NULL,
-+  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
-+  ));
-assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
-
-conn.createStatement().execute(CREATE VIEW VIEWOFTABLE ( 
VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW);
-assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 0, 5, 3, ID, COL1, COL2, VIEW_COL1, VIEW_COL2);
-
-// adding a new pk column and a new regular column
-conn.createStatement().execute(ALTER TABLE TABLEWITHVIEW ADD COL3 
varchar(10) PRIMARY KEY, COL4 integer);
-assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2, 
COL3, COL4);
-assertTableDefinition(conn, VIEWOFTABLE, 

[2/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
http://git-wip-us.apache.org/repos/asf/phoenix/blob/5b46793b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
new file mode 100644
index 000..0399af2
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -0,0 +1,1047 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
+import static 
org.apache.phoenix.query.QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.phoenix.compile.QueryPlan;
+import org.apache.phoenix.exception.SQLExceptionCode;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
+import org.apache.phoenix.jdbc.PhoenixStatement;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PColumn;
+import org.apache.phoenix.schema.PTable;
+import org.apache.phoenix.schema.PTableKey;
+import org.apache.phoenix.schema.PTableType;
+import org.apache.phoenix.util.IndexUtil;
+import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.SchemaUtil;
+import org.junit.Test;
+
+import com.google.common.base.Objects;
+
+public class AlterTableWithViewsIT extends BaseHBaseManagedTimeIT {
+
+@Test
+public void testAddNewColumnsToBaseTableWithViews() throws Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+try {   
+conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
++  ID char(1) NOT NULL,
++  COL1 integer NOT NULL,
++  COL2 bigint NOT NULL,
++  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
++  ));
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
+
+conn.createStatement().execute(CREATE VIEW VIEWOFTABLE ( 
VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW);
+assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 0, 5, 3, ID, COL1, COL2, VIEW_COL1, VIEW_COL2);
+
+// adding a new pk column and a new regular column
+conn.createStatement().execute(ALTER TABLE TABLEWITHVIEW ADD COL3 
varchar(10) PRIMARY KEY, COL4 integer);
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2, 
COL3, COL4);
+assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 1, 7, 5, ID, COL1, COL2, COL3, COL4, VIEW_COL1, 
VIEW_COL2);
+} finally {
+conn.close();
+}
+}
+
+@Test
+public void testAddExistingViewColumnToBaseTableWithViews() throws 
Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+try {   
+conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
++  ID char(10) NOT NULL,
++  COL1 integer NOT NULL,
++  COL2 bigint NOT NULL,
++  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
++  ));
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
+
+   

[2/3] phoenix git commit: PHOENIX-2110 Primary key changes should be pushed to diverged views

2015-07-22 Thread samarth
http://git-wip-us.apache.org/repos/asf/phoenix/blob/6dda6b95/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
new file mode 100644
index 000..0399af2
--- /dev/null
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -0,0 +1,1047 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.phoenix.end2end;
+
+import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
+import static 
org.apache.phoenix.query.QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+import java.sql.Statement;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.phoenix.compile.QueryPlan;
+import org.apache.phoenix.exception.SQLExceptionCode;
+import org.apache.phoenix.jdbc.PhoenixConnection;
+import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
+import org.apache.phoenix.jdbc.PhoenixStatement;
+import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.schema.PColumn;
+import org.apache.phoenix.schema.PTable;
+import org.apache.phoenix.schema.PTableKey;
+import org.apache.phoenix.schema.PTableType;
+import org.apache.phoenix.util.IndexUtil;
+import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.SchemaUtil;
+import org.junit.Test;
+
+import com.google.common.base.Objects;
+
+public class AlterTableWithViewsIT extends BaseHBaseManagedTimeIT {
+
+@Test
+public void testAddNewColumnsToBaseTableWithViews() throws Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+try {   
+conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
++  ID char(1) NOT NULL,
++  COL1 integer NOT NULL,
++  COL2 bigint NOT NULL,
++  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
++  ));
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
+
+conn.createStatement().execute(CREATE VIEW VIEWOFTABLE ( 
VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW);
+assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 0, 5, 3, ID, COL1, COL2, VIEW_COL1, VIEW_COL2);
+
+// adding a new pk column and a new regular column
+conn.createStatement().execute(ALTER TABLE TABLEWITHVIEW ADD COL3 
varchar(10) PRIMARY KEY, COL4 integer);
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2, 
COL3, COL4);
+assertTableDefinition(conn, VIEWOFTABLE, PTableType.VIEW, 
TABLEWITHVIEW, 1, 7, 5, ID, COL1, COL2, COL3, COL4, VIEW_COL1, 
VIEW_COL2);
+} finally {
+conn.close();
+}
+}
+
+@Test
+public void testAddExistingViewColumnToBaseTableWithViews() throws 
Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+try {   
+conn.createStatement().execute(CREATE TABLE IF NOT EXISTS 
TABLEWITHVIEW (
++  ID char(10) NOT NULL,
++  COL1 integer NOT NULL,
++  COL2 bigint NOT NULL,
++  CONSTRAINT NAME_PK PRIMARY KEY (ID, COL1, COL2)
++  ));
+assertTableDefinition(conn, TABLEWITHVIEW, PTableType.TABLE, 
null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, ID, COL1, COL2);
+
+   

Build failed in Jenkins: Phoenix | Master #852

2015-07-22 Thread Apache Jenkins Server
See https://builds.apache.org/job/Phoenix-master/852/changes

Changes:

[samarth.jain] PHOENIX-2110 Primary key changes should be pushed to diverged 
views

--
[...truncated 118973 lines...]
Running org.apache.phoenix.end2end.HashJoinLocalIndexIT
Tests run: 31, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.322 sec - 
in org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT
Running org.apache.phoenix.end2end.SubqueryIT
Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 85.563 sec - 
in org.apache.phoenix.end2end.ArraysWithNullsIT
Running org.apache.phoenix.end2end.UpsertBigValuesIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.744 sec - in 
org.apache.phoenix.end2end.HashJoinLocalIndexIT
Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 70.962 sec - 
in org.apache.phoenix.end2end.SubqueryUsingSortMergeJoinIT
Running org.apache.phoenix.end2end.AbsFunctionEnd2EndIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.028 sec - in 
org.apache.phoenix.end2end.AbsFunctionEnd2EndIT
Running org.apache.phoenix.end2end.ToDateFunctionIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.041 sec - in 
org.apache.phoenix.end2end.UpsertBigValuesIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.73 sec - in 
org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Running org.apache.phoenix.end2end.CSVCommonsLoaderIT
Running org.apache.phoenix.end2end.DynamicFamilyIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.092 sec - 
in org.apache.phoenix.end2end.ToDateFunctionIT
Running org.apache.phoenix.end2end.SortMergeJoinIT
Tests run: 58, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 228.683 sec - 
in org.apache.phoenix.end2end.index.IndexExpressionIT
Running org.apache.phoenix.end2end.ReadOnlyIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.025 sec - in 
org.apache.phoenix.end2end.DynamicFamilyIT
Running org.apache.phoenix.end2end.FirstValueFunctionIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.673 sec - in 
org.apache.phoenix.end2end.FirstValueFunctionIT
Running org.apache.phoenix.end2end.CoalesceFunctionIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.929 sec - in 
org.apache.phoenix.end2end.ReadOnlyIT
Running org.apache.phoenix.end2end.DisableLocalIndexIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.322 sec - in 
org.apache.phoenix.end2end.DisableLocalIndexIT
Running org.apache.phoenix.end2end.TimezoneOffsetFunctionIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 36.542 sec - 
in org.apache.phoenix.end2end.CSVCommonsLoaderIT
Running org.apache.phoenix.end2end.RegexpSubstrFunctionIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.429 sec - in 
org.apache.phoenix.end2end.RegexpSubstrFunctionIT
Running org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT
Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.162 sec - 
in org.apache.phoenix.end2end.CoalesceFunctionIT
Running org.apache.phoenix.end2end.StoreNullsIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.197 sec - in 
org.apache.phoenix.end2end.TimezoneOffsetFunctionIT
Running org.apache.phoenix.end2end.SpooledSortMergeJoinIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.093 sec - in 
org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT
Running org.apache.phoenix.end2end.SortOrderIT
Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.555 sec - 
in org.apache.phoenix.end2end.SortOrderIT
Running org.apache.phoenix.end2end.InListIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 29.728 sec - in 
org.apache.phoenix.end2end.StoreNullsIT
Running org.apache.phoenix.end2end.ReverseScanIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.379 sec - in 
org.apache.phoenix.end2end.ReverseScanIT
Running org.apache.phoenix.end2end.NthValueFunctionIT
Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 123.482 sec - 
in org.apache.phoenix.end2end.SubqueryIT
Running org.apache.phoenix.end2end.MappingTableDataTypeIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.681 sec - in 
org.apache.phoenix.end2end.MappingTableDataTypeIT
Running org.apache.phoenix.end2end.LikeExpressionIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.98 sec - in 
org.apache.phoenix.end2end.NthValueFunctionIT
Running org.apache.phoenix.end2end.UpsertSelectAutoCommitIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.439 sec - in 
org.apache.phoenix.end2end.LikeExpressionIT
Running org.apache.phoenix.end2end.IsNullIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.181 sec - in 
org.apache.phoenix.end2end.IsNullIT
Running org.apache.phoenix.end2end.BinaryRowKeyIT
Tests run: 

svn commit: r9948 - in /dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0: ./ bin/ src/

2015-07-22 Thread mujtaba
Author: mujtaba
Date: Thu Jul 23 05:03:06 2015
New Revision: 9948

Log:
Phoenix 4.5.0-HBase-1.1 rc0

Added:
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz  
 (with props)

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.asc

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.md5

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.sha
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz  
 (with props)

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz.asc

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz.md5

dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz.sha

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz
==
Binary file - no diff available.

Propchange: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz
--
svn:mime-type = application/octet-stream

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.asc
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.asc
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.asc
 Thu Jul 23 05:03:06 2015
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABAgAGBQJVsHMXAAoJEDv8s5KUYReOo84P/jU+2qpem3zeSVTnA1py5Itc
+AjY1iWpmxTmhbGnkHIXxbuE3BPadA8gnzgs22gpCKU/NjJx5R+0gSpYtB9Qg8Jju
+Rvl0Cj4n05r0bhgnpOIv6EcA8eENo/sUaMbN+pXM8KrcnBntlYVENm9fPOK+VRPA
+C4pFcp7bRvCEdyqdjllMcIwwDG9Lc/BpQLzQivYMMO/wkd5S4kZ0GCssG2pTietU
+FuxG/bWyXcOhjXR4pEU09f11bG9+3xPxDRh+Tvte6tQZY9Fgma64bsaLYVToa+Aa
+Ns37/T+oI3QKLls2rn5T9f9btELIo4PrdbMyVzlVknneNkA0/ZpFNF+6kGCAVW4W
+NepeWv4+LSwvnNszM3Y4f7mXRUf63WdlsLJMGL0y3ySJtAAdS89lJqWcVez5lQSw
+gkw0uRNJT/4/7T9JwCkmhcpE+gqA0TC9MVBjXUg3S70sFs3z/7confBnSl6eXJOL
+g9s6a4zqi7hQqtyhHCBSq9YfDGyGMhozz0q0n0Fv2rGo2N2XyMtzi/lvQW0WoIDv
+CloHcnLhz6qhuJXLwjs98RZ9EpBYcs9fKXoFIdeo7tkiOEIjcbYvZ1lYzmxTJhaR
+2kSz+G4t4nc2bdccjcsMm6sHbCLtaXWjIgBhV0YK0GkAvUOGEOKXvk+XnZxsc7lI
+agRt5czUV336MCQ1nNpp
+=dCr5
+-END PGP SIGNATURE-

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.md5
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.md5
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.md5
 Thu Jul 23 05:03:06 2015
@@ -0,0 +1 @@
+db0231ae486359bf5febbee00c3b8185 *phoenix-4.5.0-HBase-1.1-bin.tar.gz

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.sha
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.sha
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/bin/phoenix-4.5.0-HBase-1.1-bin.tar.gz.sha
 Thu Jul 23 05:03:06 2015
@@ -0,0 +1,2 @@
+5f0b52c7b532033a16eba0a34375159067cd79aa36d9654a4920954c8f4361c9620a67aac4d32b541c9bef82736b7437651489d6450c14bd1a27b53ff6b382d0
 *phoenix-4.5.0-HBase-1.1-bin.tar.gz
+2ce29ffee1613542885b8cd141c585ec3667204d95ad440e616294836ba5dbd1 
*phoenix-4.5.0-HBase-1.1-bin.tar.gz

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz
==
Binary file - no diff available.

Propchange: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz.asc
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz.asc
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.1-rc0/src/phoenix-4.5.0-HBase-1.1-src.tar.gz.asc
 Thu Jul 23 05:03:06 2015
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABAgAGBQJVsHMpAAoJEDv8s5KUYReOfnoP/0tRKJ6Ag2ZUT+GW1UVugsfA
+322xsQX6csX9Z/wBb5rnX068J4pd1gUFZ9n8IkUzHQY5QHE6NaGxm9fhIzROZNzt
+PLIOpgV9fdF3AilPVQvwo8ngRBLlxf5i+nxPQUrUg7mNBLbWfh+HueHTYMgAuBsT
+l3nYW71oaWIEQvbUv1SrTAweBnEmXT2yp8PiViRFkrCzBAFMFjuZSQho/gJcMCwV
+GvOTxx1K0zvCyk8GbYRLQOTKOBG7x8qJl6UQPB7WDGXcM1ZKc9qWmFLd4slIwl/n

Apache-Phoenix | 4.x-HBase-1.0 | Build Successful

2015-07-22 Thread Apache Jenkins Server
4.x-HBase-1.0 branch build status Successful

Source repository https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=shortlog;h=refs/heads/4.x-HBase-1.0

Compiled Artifacts https://builds.apache.org/job/Phoenix-4.x-HBase-1.0/lastSuccessfulBuild/artifact/

Test Report https://builds.apache.org/job/Phoenix-4.x-HBase-1.0/lastCompletedBuild/testReport/

Changes
[mujtaba] Fix Apache RAT warnings



Build times for last couple of runsLatest build time is the right most | Legend blue: normal, red: test failure, gray: timeout


phoenix git commit: Fix Apache RAT warnings

2015-07-22 Thread mujtaba
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.0 14ea67c54 - 87a30f0bf


Fix Apache RAT warnings


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/87a30f0b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/87a30f0b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/87a30f0b

Branch: refs/heads/4.x-HBase-1.0
Commit: 87a30f0bf851fae3a442a4ff7e84b027d82ca3bc
Parents: 14ea67c
Author: Mujtaba mujt...@apache.org
Authored: Wed Jul 22 20:58:28 2015 -0700
Committer: Mujtaba mujt...@apache.org
Committed: Wed Jul 22 20:58:28 2015 -0700

--
 .../org/apache/phoenix/rpc/UpdateCacheIT.java| 17 +
 .../phoenix/compile/ListJarsQueryPlan.java   | 17 +
 .../expression/function/ArrayFillFunction.java   | 17 +
 .../apache/phoenix/parse/DeleteJarStatement.java | 17 +
 .../phoenix/schema/SequenceAllocation.java   | 19 ++-
 .../phoenix/schema/SequenceAllocationTest.java   | 17 +
 .../apache/phoenix/pherf/workload/Workload.java  | 17 +
 .../phoenix/pig/udf/ReserveNSequenceTestIT.java  | 16 +++-
 8 files changed, 135 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/87a30f0b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
index c657e41..b7f880a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
@@ -1,3 +1,20 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.rpc;
 
 import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/87a30f0b/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 9fdf35b..928bdef 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
@@ -1,3 +1,20 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.compile;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/87a30f0b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
index 5c3a2e5..c8db7f9 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
+++ 

phoenix git commit: Fix Apache RAT warnings

2015-07-22 Thread mujtaba
Repository: phoenix
Updated Branches:
  refs/heads/master 5076052d5 - 18fefed64


Fix Apache RAT warnings


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/18fefed6
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/18fefed6
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/18fefed6

Branch: refs/heads/master
Commit: 18fefed64f1a3194e70915e369da9956b8d75ae9
Parents: 5076052
Author: Mujtaba mujt...@apache.org
Authored: Wed Jul 22 20:57:41 2015 -0700
Committer: Mujtaba mujt...@apache.org
Committed: Wed Jul 22 20:57:41 2015 -0700

--
 .../org/apache/phoenix/rpc/UpdateCacheIT.java| 17 +
 .../phoenix/compile/ListJarsQueryPlan.java   | 17 +
 .../expression/function/ArrayFillFunction.java   | 17 +
 .../apache/phoenix/parse/DeleteJarStatement.java | 17 +
 .../phoenix/schema/SequenceAllocation.java   | 19 ++-
 .../phoenix/schema/SequenceAllocationTest.java   | 17 +
 .../apache/phoenix/pherf/workload/Workload.java  | 17 +
 .../phoenix/pig/udf/ReserveNSequenceTestIT.java  | 16 +++-
 8 files changed, 135 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/18fefed6/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
--
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
index c657e41..b7f880a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
@@ -1,3 +1,20 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.rpc;
 
 import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/18fefed6/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 9fdf35b..928bdef 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
@@ -1,3 +1,20 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.compile;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/18fefed6/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
index 5c3a2e5..c8db7f9 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/expression/function/ArrayFillFunction.java
@@ 

Git Push Summary

2015-07-22 Thread mujtaba
Repository: phoenix
Updated Tags:  refs/tags/v4.5.0-HBase-1.0-rc0 [created] ff840c29a


phoenix git commit: Prepare for release

2015-07-22 Thread mujtaba
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.0 87a30f0bf - 083998f15


Prepare for release


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/083998f1
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/083998f1
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/083998f1

Branch: refs/heads/4.x-HBase-1.0
Commit: 083998f15d306e6a4f8535cc3850e6edba9526f8
Parents: 87a30f0
Author: Mujtaba mujt...@apache.org
Authored: Wed Jul 22 21:34:13 2015 -0700
Committer: Mujtaba mujt...@apache.org
Committed: Wed Jul 22 21:34:13 2015 -0700

--
 dev/make_rc.sh| 59 --
 phoenix-assembly/pom.xml  |  2 +-
 phoenix-core/pom.xml  |  2 +-
 phoenix-flume/pom.xml |  2 +-
 phoenix-pherf/pom.xml |  2 +-
 phoenix-pig/pom.xml   |  2 +-
 phoenix-server-client/pom.xml |  2 +-
 phoenix-server/pom.xml|  2 +-
 phoenix-spark/pom.xml |  2 +-
 pom.xml   |  2 +-
 10 files changed, 27 insertions(+), 50 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/083998f1/dev/make_rc.sh
--
diff --git a/dev/make_rc.sh b/dev/make_rc.sh
index e23db07..a67c58a 100755
--- a/dev/make_rc.sh
+++ b/dev/make_rc.sh
@@ -36,15 +36,14 @@ DIR_REL_BIN_PATH=$DIR_REL_ROOT/$DIR_REL_BIN
 REL_SRC=phoenix-$PHOENIX-src
 DIR_REL_SRC_TAR_PATH=$DIR_REL_ROOT/src
 DIR_REL_BIN_TAR_PATH=$DIR_REL_ROOT/bin
-DIR_BIN=bin
+DIR_BIN=$DIR_REL_BIN_PATH/bin
 DIR_EXAMPLES=$DIR_REL_BIN_PATH/examples
-DIR_COMMON=$DIR_REL_BIN_PATH/common
-DIR_HADOOP=$DIR_REL_BIN_PATH/hadoop
 DIR_DOCS=dev/release_files
 
 # Verify no target exists
 mvn clean; mvn clean -Dhadoop.profile=2; rm -rf $DIR_REL_BASE;
 RESULT=$(find -iname target)
+
 if [ -z $RESULT ]
 then
   echo Verified target directory does not exist.;
@@ -63,7 +62,7 @@ mkdir $DIR_REL_BIN_PATH;
 mkdir $DIR_REL_BIN_TAR_PATH;
 mkdir $DIR_REL_SRC_TAR_PATH;
 mkdir $DIR_EXAMPLES;
-mkdir $DIR_COMMON;
+mkdir $DIR_BIN;
 
 # Move src tar
 mv $REL_SRC.tar.gz $DIR_REL_SRC_TAR_PATH;
@@ -71,50 +70,28 @@ mv $REL_SRC.tar.gz $DIR_REL_SRC_TAR_PATH;
 # Copy common jars
 mvn clean apache-rat:check package -DskipTests;
 rm -rf $(find . -type d -name archive-tmp);
-cp $(find -iname phoenix-$PHOENIX-client-minimal.jar) $DIR_COMMON;
-cp $(find -iname phoenix-$PHOENIX-client-without-hbase.jar) $DIR_COMMON;
-cp $(find -iname phoenix-core-$PHOENIX.jar) $DIR_COMMON;
-cp $(find -iname phoenix-server-$PHOENIX-runnable.jar) $DIR_COMMON;
-cp $(find -iname phoenix-$PHOENIX-query-server-thin-client.jar) $DIR_COMMON;
 
-# Copy release docs
-function_copy() {
-  if [ ! -f $1 ];
-   then
-echo ; echo ERROR!! Please check-in $1 file before running make_rc.sh; 
-exit -1; 
-  fi
-  cp $1 $DIR_REL_BIN_PATH;
-}
+cp $(find -iname phoenix-$PHOENIX-client-minimal.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-client-without-hbase.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-core-$PHOENIX.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-client.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-server.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-$PHOENIX-server-without-antlr.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-core-$PHOENIX-tests.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-flume-$PHOENIX.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-flume-$PHOENIX-tests.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-pig-$PHOENIX.jar) $DIR_REL_BIN_PATH;
+cp $(find -iname phoenix-pig-$PHOENIX-tests.jar) $DIR_REL_BIN_PATH;
+
+# Copy bin
+cp bin/* $DIR_BIN;
 
-function_copy CHANGES;
-function_copy DISCLAIMER;
-function_copy README;
+# Copy release docs
 cp $DIR_DOCS/* $DIR_REL_BIN_PATH;
 
 # Copy examples
 cp -r examples/* $DIR_EXAMPLES
 
-# Copy hadoop specific jars
-function_copy_hadoop_specific_jars() {
-  mkdir $DIR_HADOOP$1;
-  mkdir $DIR_HADOOP$1/$DIR_BIN;
-  cp $DIR_BIN/* $DIR_HADOOP$1/$DIR_BIN;
-  cp $(find -iname phoenix-$PHOENIX-client.jar) 
$DIR_HADOOP$1/phoenix-$PHOENIX-client-hadoop$1.jar;
-  cp $(find -iname phoenix-$PHOENIX-server.jar) 
$DIR_HADOOP$1/phoenix-$PHOENIX-server-hadoop$1.jar;
-  cp $(find -iname phoenix-core-$PHOENIX-tests.jar) 
$DIR_HADOOP$1/phoenix-core-$PHOENIX-tests-hadoop$1.jar;
-  cp $(find -iname phoenix-server-$PHOENIX.jar) 
$DIR_HADOOP$1/phoenix-server-$PHOENIX-hadoop$1.jar;
-  cp $(find -iname phoenix-server-$PHOENIX-tests.jar) 
$DIR_HADOOP$1/phoenix-server-$PHOENIX-tests-hadoop$1.jar;
-  cp $(find -iname phoenix-server-client-$PHOENIX.jar) 
$DIR_HADOOP$1/phoenix-server-client-$PHOENIX-hadoop$1.jar;
-  cp $(find -iname phoenix-flume-$PHOENIX.jar) 
$DIR_HADOOP$1/phoenix-flume-$PHOENIX-hadoop$1.jar;
-  cp $(find -iname phoenix-flume-$PHOENIX-tests.jar) 

Build failed in Jenkins: Phoenix | Master #855

2015-07-22 Thread Apache Jenkins Server
See https://builds.apache.org/job/Phoenix-master/855/changes

Changes:

[mujtaba] Fix Apache RAT warnings

--
[...truncated 122467 lines...]
[ERROR] DataLoadTimeSummary.java[24] (javadoc) JavadocType: Missing a Javadoc 
comment.
[ERROR] DataLoadTimeSummary.java[36] (javadoc) JavadocType: Missing a Javadoc 
comment.
[ERROR] ResultManager.java[2] (header) Header: Line does not match expected 
header line of ' * Licensed to the Apache Software Foundation (ASF) under one 
or more'.
[ERROR] ResultManager.java[28] (imports) ImportOrder: Wrong order for 
'java.util.Arrays' import.
[ERROR] ResultManager.java[31] (javadoc) JavadocType: Missing a Javadoc comment.
[ERROR] ResultManager.java[39:83] (whitespace) OperatorWrap: '?' should be on a 
new line.
[ERROR] ResultManager.java[40:68] (whitespace) OperatorWrap: ':' should be on a 
new line.
[ERROR] DataModelResult.java[2] (header) Header: Line does not match expected 
header line of ' * Licensed to the Apache Software Foundation (ASF) under one 
or more'.
[ERROR] DataModelResult.java[23] (imports) ImportOrder: Wrong order for 
'javax.xml.bind.annotation.XmlAttribute' import.
[ERROR] DataModelResult.java[25] (imports) ImportOrder: Wrong order for 
'java.util.ArrayList' import.
[ERROR] DataModelResult.java[28] (javadoc) JavadocType: Missing a Javadoc 
comment.
[ERROR] ResultValue.java[2] (header) Header: Line does not match expected 
header line of ' * Licensed to the Apache Software Foundation (ASF) under one 
or more'.
[ERROR] ResultValue.java[22] (sizes) LineLength: Line is longer than 100 
characters (found 101).
[ERROR] CSVResultHandler.java[0] (javadoc) JavadocPackage: Missing 
package-info.java file.
[ERROR] CSVResultHandler.java[2] (header) Header: Line does not match expected 
header line of ' * Licensed to the Apache Software Foundation (ASF) under one 
or more'.
[ERROR] CSVResultHandler.java[32] (imports) ImportOrder: Wrong order for 
'java.io.File' import.
[ERROR] CSVResultHandler.java[40] (sizes) LineLength: Line is longer than 100 
characters (found 103).
[ERROR] CSVResultHandler.java[61:38] (whitespace) OperatorWrap: '?' should be 
on a new line.
[ERROR] CSVResultHandler.java[64:60] (whitespace) OperatorWrap: ':' should be 
on a new line.
[ERROR] ImageResultHandler.java[2] (header) Header: Line does not match 
expected header line of ' * Licensed to the Apache Software Foundation (ASF) 
under one or more'.
[ERROR] ImageResultHandler.java[22] (imports) AvoidStarImport: Using the '.*' 
form of import should be avoided - org.apache.phoenix.pherf.result.*.
[ERROR] ImageResultHandler.java[32] (imports) AvoidStarImport: Using the '.*' 
form of import should be avoided - java.awt.*.
[ERROR] ImageResultHandler.java[32] (imports) ImportOrder: Wrong order for 
'java.awt.*' import.
[ERROR] ImageResultHandler.java[37] (javadoc) JavadocType: Missing a Javadoc 
comment.
[ERROR] ImageResultHandler.java[52:38] (whitespace) OperatorWrap: '?' should be 
on a new line.
[ERROR] ImageResultHandler.java[55:60] (whitespace) OperatorWrap: ':' should be 
on a new line.
[ERROR] XMLResultHandler.java[2] (header) Header: Line does not match expected 
header line of ' * Licensed to the Apache Software Foundation (ASF) under one 
or more'.
[ERROR] XMLResultHandler.java[22] (imports) AvoidStarImport: Using the '.*' 
form of import should be avoided - org.apache.phoenix.pherf.result.*.
[ERROR] XMLResultHandler.java[25] (imports) ImportOrder: Wrong order for 
'javax.xml.bind.JAXBContext' import.
[ERROR] XMLResultHandler.java[28] (imports) ImportOrder: Wrong order for 
'java.io.File' import.
[ERROR] XMLResultHandler.java[34] (javadoc) JavadocType: Missing a Javadoc 
comment.
[ERROR] XMLResultHandler.java[49:38] (whitespace) OperatorWrap: '?' should be 
on a new line.
[ERROR] XMLResultHandler.java[52:60] (whitespace) OperatorWrap: ':' should be 
on a new line.
[ERROR] XMLResultHandler.java[86:14] (naming) LocalVariableName: Name 'XMLfile' 
must match pattern '^[a-z][a-zA-Z0-9_]*$'.
[ERROR] ResultUtil.java[0] (misc) NewlineAtEndOfFile: File does not end with a 
newline.
[ERROR] ResultUtil.java[2] (header) Header: Line does not match expected header 
line of ' * Licensed to the Apache Software Foundation (ASF) under one or more'.
[ERROR] ResultUtil.java[27] (imports) ImportOrder: Wrong order for 
'java.io.File' import.
[ERROR] ResultUtil.java[36] (javadoc) JavadocType: Missing a Javadoc comment.
[ERROR] ResultUtil.java[39:27] (naming) StaticVariableName: Name 'FILE_SUFFIX' 
must match pattern '^[a-z][a-zA-Z0-9]*$'.
[ERROR] ResultUtil.java[215] (blocks) NeedBraces: 'if' construct must use '{}'s.
[ERROR] DataLoadThreadTime.java[0] (misc) NewlineAtEndOfFile: File does not end 
with a newline.
[ERROR] DataLoadThreadTime.java[2] (header) Header: Line does not match 
expected header line of ' * Licensed to the Apache Software Foundation (ASF) 
under one or more'.
[ERROR] DataLoadThreadTime.java[23] (imports) ImportOrder: Wrong order for 

phoenix git commit: Bug fix in ExpressionFactory for RexLiteral

2015-07-22 Thread maryannxue
Repository: phoenix
Updated Branches:
  refs/heads/calcite c28cc110d - 216010dfd


Bug fix in ExpressionFactory for RexLiteral


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/216010df
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/216010df
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/216010df

Branch: refs/heads/calcite
Commit: 216010dfdd09e96e78104870e792cec0ae16fdfb
Parents: c28cc11
Author: maryannxue wei@intel.com
Authored: Wed Jul 22 23:02:55 2015 -0400
Committer: maryannxue wei@intel.com
Committed: Wed Jul 22 23:02:55 2015 -0400

--
 .../src/main/java/org/apache/phoenix/calcite/CalciteUtils.java| 3 +++
 1 file changed, 3 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/216010df/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java 
b/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
index 99b8ba9..a28e395 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/calcite/CalciteUtils.java
@@ -6,6 +6,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
+import org.apache.calcite.avatica.util.ByteString;
 import org.apache.calcite.rex.RexCall;
 import org.apache.calcite.rex.RexInputRef;
 import org.apache.calcite.rex.RexLiteral;
@@ -470,6 +471,8 @@ public class CalciteUtils {
Object o = lit.getValue();
if (o instanceof NlsString) {
o = ((NlsString) o).getValue();
+   } else if (o instanceof ByteString) {
+   o = ((ByteString) o).getBytes();
}
try {
 return LiteralExpression.newConstant(o, targetType);



svn commit: r9947 - in /dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0: ./ bin/ src/

2015-07-22 Thread mujtaba
Author: mujtaba
Date: Thu Jul 23 04:48:22 2015
New Revision: 9947

Log:
Phoenix 4.5.0-HBase-1.0 rc0

Added:
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz  
 (with props)

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.asc

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.md5

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.sha
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz  
 (with props)

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz.asc

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz.md5

dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz.sha

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz
==
Binary file - no diff available.

Propchange: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz
--
svn:mime-type = application/octet-stream

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.asc
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.asc
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.asc
 Thu Jul 23 04:48:22 2015
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABAgAGBQJVsG/HAAoJEDv8s5KUYReOtkkP/0MjhOY62YSVFwyXa3JtMEAW
+WHzZJEVuhAlqd7kJguvHoty9gQcjXOLd8pptBeMpXqo6iLC1OIKzO71Q6JoNuCBc
+ijOK0JPIO2k+MBso0XN4m5DgofEVFTBk/NgsKLicfnbcm3fy6TgCrPCmoJo/yEBN
+9HGgSUtr3jYNsjABZhfDmYGzB4nHMMKtVOcQBMXk+UfZaW0y6boJPagDNO30KgLL
+jCtIOznniVkfjymjfVQ5kUkhF4OVhXPKC4egWwASC7mellUu024uqvXfy+IxhCJ3
+gBC4zBfGy2Iott+yRVrKWlg3UKPv0tDlMqQYzEWSvFiriOxjMSRvg0Wm2unjnKC1
+5ZoHRKylSjM0N3vBGPHdRTmJBwH5HrFhEDyI4Zx5L4PsZLb8+9StvAtoDLU9LD6G
+0qnC0JcKY9efaJ1lFLwSjZIPxHvmYXyeUL1nlEywaKrvMn/6Rp/7bJvgxNfFCaUq
+52APHJGyLhTJGwVudeAxVFPu3BoQOVPKBQb/hSX57+O23lR8+I/VpuuNEmfUGmjA
+AsQa2HZvYfsdywoGa1yoZunJhzOaiRGEpgSYHZer4Rw6QJsL2dwyNfX8d6oHy1xs
+Dr9f1P0gleCh3gETymnFv5QL3QpNEgq2Hgvq3+aGPuEN6GU9qKYOFLkrCHmn7hIq
+nPPjrV1uOJOxA29+sPIX
+=O5Py
+-END PGP SIGNATURE-

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.md5
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.md5
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.md5
 Thu Jul 23 04:48:22 2015
@@ -0,0 +1 @@
+95008bea24ddc3902dd21a7bc9cdb9d8 *phoenix-4.5.0-HBase-1.0-bin.tar.gz

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.sha
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.sha
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/bin/phoenix-4.5.0-HBase-1.0-bin.tar.gz.sha
 Thu Jul 23 04:48:22 2015
@@ -0,0 +1,2 @@
+06db0a788ef1952017f5eb9c031ec932460d096eb5d6873f7480581d29921e8525061f5faf980782ba65e446e5ae58ecf61bc140fcea590933f8465691313b1e
 *phoenix-4.5.0-HBase-1.0-bin.tar.gz
+59640ba60cc970ce0754e5dddaade9da3eb5dad78300311bb0255ff39aec4bf6 
*phoenix-4.5.0-HBase-1.0-bin.tar.gz

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz
==
Binary file - no diff available.

Propchange: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz.asc
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz.asc
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-1.0-rc0/src/phoenix-4.5.0-HBase-1.0-src.tar.gz.asc
 Thu Jul 23 04:48:22 2015
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABAgAGBQJVsG/UAAoJEDv8s5KUYReOWWUP/1xL39uac6Kymq7irpTWBwt7
+X9Nis9NOReB+3+LLVd0b4iD8d89l+c14ub2TUjC32eGgLpb4YdRXoVTxYjgYROai
+slbAU9UQogfMdCjUviFTdRZ0jx4tB6aKlC1HjO+6koA6mEC01SQJ9F8+qDKhulep
++vF29dODP0724mO34+pPHVisDazrYEZijxSC4LoeSpYa3jhrpizUr76LvQTjFock
+Bq1I/PuQqfrsArv5q1PzLeLv7lQy5ufQFt9nfotXn236iy2erybcWeF29yeZOOCP

phoenix git commit: PHOENIX-2110 Addendum to fix test failure and enforcing tenancy switch check

2015-07-22 Thread samarth
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 64319e647 - 318d096c3


PHOENIX-2110 Addendum to fix test failure and enforcing tenancy switch check


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/318d096c
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/318d096c
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/318d096c

Branch: refs/heads/4.x-HBase-0.98
Commit: 318d096c34fb0fcba439ef4b000fb715c7ff02c4
Parents: 64319e6
Author: Samarth samarth.j...@salesforce.com
Authored: Wed Jul 22 14:58:50 2015 -0700
Committer: Samarth samarth.j...@salesforce.com
Committed: Wed Jul 22 14:58:50 2015 -0700

--
 .../phoenix/end2end/AlterTableWithViewsIT.java  | 31 +
 .../end2end/TenantSpecificTablesDDLIT.java  | 47 +---
 .../coprocessor/MetaDataEndpointImpl.java   | 26 +--
 3 files changed, 95 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/318d096c/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
index 0399af2..22abd38 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -18,6 +18,7 @@
 package org.apache.phoenix.end2end;
 
 import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
+import static 
org.apache.phoenix.query.QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT;
 import static 
org.apache.phoenix.query.QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -1025,6 +1026,36 @@ public class AlterTableWithViewsIT extends 
BaseHBaseManagedTimeIT {
 }
 }
 
+@Test
+public void testAlterSaltedBaseTableWithViews() throws Exception {
+String baseTable = testAlterSaltedBaseTableWithViews.toUpperCase();
+String view1 = view1.toUpperCase();
+try (Connection conn = DriverManager.getConnection(getUrl())) {
+String baseTableDDL = CREATE TABLE  + baseTable +  (TENANT_ID 
VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 VARCHAR, V2 VARCHAR, V3 VARCHAR 
CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true ;
+conn.createStatement().execute(baseTableDDL);
+
+try (Connection tenant1Conn = getTenantConnection(tenant1)) {
+String view1DDL = CREATE VIEW  + view1 +  ( VIEW_COL1 
DECIMAL(10,2), VIEW_COL2 CHAR(256)) AS SELECT * FROM  + baseTable;
+tenant1Conn.createStatement().execute(view1DDL);
+}
+
+assertTableDefinition(conn, baseTable, PTableType.TABLE, null, 0, 
5, BASE_TABLE_BASE_COLUMN_COUNT, TENANT_ID, PK1, V1, V2, V3);
+assertTableDefinition(conn, view1, PTableType.VIEW, baseTable, 0, 
7, 5, TENANT_ID, PK1, V1, V2, V3, VIEW_COL1, VIEW_COL2);
+
+String alterBaseTable = ALTER TABLE  + baseTable +  ADD KV 
VARCHAR, PK2 VARCHAR PRIMARY KEY;
+conn.createStatement().execute(alterBaseTable);
+
+assertTableDefinition(conn, baseTable, PTableType.TABLE, null, 1, 
7, BASE_TABLE_BASE_COLUMN_COUNT, TENANT_ID, PK1, V1, V2, V3, KV, 
PK2);
+assertTableDefinition(conn, view1, PTableType.VIEW, baseTable, 1, 
9, 7, TENANT_ID, PK1, V1, V2, V3, KV, PK2, VIEW_COL1, 
VIEW_COL2);
+
+// verify that the both columns were added to view1
+try (Connection tenant1Conn = getTenantConnection(tenant1)) {
+tenant1Conn.createStatement().execute(SELECT KV from  + 
view1);
+tenant1Conn.createStatement().execute(SELECT PK2 from  + 
view1);
+}
+}
+}
+
 private static long getTableSequenceNumber(PhoenixConnection conn, String 
tableName) throws SQLException {
 PTable table = conn.getMetaDataCache().getTable(new 
PTableKey(conn.getTenantId(), SchemaUtil.normalizeIdentifier(tableName)));
 return table.getSequenceNumber();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/318d096c/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
index bf86818..05b36c3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
+++ 

phoenix git commit: PHOENIX-2110 Addendum to fix test failure and enforcing tenancy switch check

2015-07-22 Thread samarth
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.0 6dda6b95a - 434d8233d


PHOENIX-2110 Addendum to fix test failure and enforcing tenancy switch check


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/434d8233
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/434d8233
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/434d8233

Branch: refs/heads/4.x-HBase-1.0
Commit: 434d8233d6dc03da2dab1638faf1d034d3beeb77
Parents: 6dda6b9
Author: Samarth samarth.j...@salesforce.com
Authored: Wed Jul 22 15:23:54 2015 -0700
Committer: Samarth samarth.j...@salesforce.com
Committed: Wed Jul 22 15:23:54 2015 -0700

--
 .../phoenix/end2end/AlterTableWithViewsIT.java  | 31 +++
 .../end2end/TenantSpecificTablesDDLIT.java  | 47 +---
 .../coprocessor/MetaDataEndpointImpl.java   | 57 ++--
 3 files changed, 113 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/434d8233/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
index 0399af2..22abd38 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -18,6 +18,7 @@
 package org.apache.phoenix.end2end;
 
 import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
+import static 
org.apache.phoenix.query.QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT;
 import static 
org.apache.phoenix.query.QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -1025,6 +1026,36 @@ public class AlterTableWithViewsIT extends 
BaseHBaseManagedTimeIT {
 }
 }
 
+@Test
+public void testAlterSaltedBaseTableWithViews() throws Exception {
+String baseTable = testAlterSaltedBaseTableWithViews.toUpperCase();
+String view1 = view1.toUpperCase();
+try (Connection conn = DriverManager.getConnection(getUrl())) {
+String baseTableDDL = CREATE TABLE  + baseTable +  (TENANT_ID 
VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 VARCHAR, V2 VARCHAR, V3 VARCHAR 
CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true ;
+conn.createStatement().execute(baseTableDDL);
+
+try (Connection tenant1Conn = getTenantConnection(tenant1)) {
+String view1DDL = CREATE VIEW  + view1 +  ( VIEW_COL1 
DECIMAL(10,2), VIEW_COL2 CHAR(256)) AS SELECT * FROM  + baseTable;
+tenant1Conn.createStatement().execute(view1DDL);
+}
+
+assertTableDefinition(conn, baseTable, PTableType.TABLE, null, 0, 
5, BASE_TABLE_BASE_COLUMN_COUNT, TENANT_ID, PK1, V1, V2, V3);
+assertTableDefinition(conn, view1, PTableType.VIEW, baseTable, 0, 
7, 5, TENANT_ID, PK1, V1, V2, V3, VIEW_COL1, VIEW_COL2);
+
+String alterBaseTable = ALTER TABLE  + baseTable +  ADD KV 
VARCHAR, PK2 VARCHAR PRIMARY KEY;
+conn.createStatement().execute(alterBaseTable);
+
+assertTableDefinition(conn, baseTable, PTableType.TABLE, null, 1, 
7, BASE_TABLE_BASE_COLUMN_COUNT, TENANT_ID, PK1, V1, V2, V3, KV, 
PK2);
+assertTableDefinition(conn, view1, PTableType.VIEW, baseTable, 1, 
9, 7, TENANT_ID, PK1, V1, V2, V3, KV, PK2, VIEW_COL1, 
VIEW_COL2);
+
+// verify that the both columns were added to view1
+try (Connection tenant1Conn = getTenantConnection(tenant1)) {
+tenant1Conn.createStatement().execute(SELECT KV from  + 
view1);
+tenant1Conn.createStatement().execute(SELECT PK2 from  + 
view1);
+}
+}
+}
+
 private static long getTableSequenceNumber(PhoenixConnection conn, String 
tableName) throws SQLException {
 PTable table = conn.getMetaDataCache().getTable(new 
PTableKey(conn.getTenantId(), SchemaUtil.normalizeIdentifier(tableName)));
 return table.getSequenceNumber();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/434d8233/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
index bf86818..05b36c3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java

phoenix git commit: PHOENIX-2110 Addendum to fix test failure and enforcing tenancy switch check

2015-07-22 Thread samarth
Repository: phoenix
Updated Branches:
  refs/heads/master 5b46793b6 - f00c777cf


PHOENIX-2110 Addendum to fix test failure and enforcing tenancy switch check


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/f00c777c
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/f00c777c
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/f00c777c

Branch: refs/heads/master
Commit: f00c777cf5aa84fc3ecbea041756ba7c8f79aa0d
Parents: 5b46793
Author: Samarth samarth.j...@salesforce.com
Authored: Wed Jul 22 15:07:58 2015 -0700
Committer: Samarth samarth.j...@salesforce.com
Committed: Wed Jul 22 15:07:58 2015 -0700

--
 .../phoenix/end2end/AlterTableWithViewsIT.java  | 31 
 .../end2end/TenantSpecificTablesDDLIT.java  | 47 +++---
 .../coprocessor/MetaDataEndpointImpl.java   | 50 ++--
 3 files changed, 107 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/f00c777c/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
index 0399af2..22abd38 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java
@@ -18,6 +18,7 @@
 package org.apache.phoenix.end2end;
 
 import static 
org.apache.phoenix.exception.SQLExceptionCode.CANNOT_MUTATE_TABLE;
+import static 
org.apache.phoenix.query.QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT;
 import static 
org.apache.phoenix.query.QueryConstants.DIVERGED_VIEW_BASE_COLUMN_COUNT;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -1025,6 +1026,36 @@ public class AlterTableWithViewsIT extends 
BaseHBaseManagedTimeIT {
 }
 }
 
+@Test
+public void testAlterSaltedBaseTableWithViews() throws Exception {
+String baseTable = testAlterSaltedBaseTableWithViews.toUpperCase();
+String view1 = view1.toUpperCase();
+try (Connection conn = DriverManager.getConnection(getUrl())) {
+String baseTableDDL = CREATE TABLE  + baseTable +  (TENANT_ID 
VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 VARCHAR, V2 VARCHAR, V3 VARCHAR 
CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true ;
+conn.createStatement().execute(baseTableDDL);
+
+try (Connection tenant1Conn = getTenantConnection(tenant1)) {
+String view1DDL = CREATE VIEW  + view1 +  ( VIEW_COL1 
DECIMAL(10,2), VIEW_COL2 CHAR(256)) AS SELECT * FROM  + baseTable;
+tenant1Conn.createStatement().execute(view1DDL);
+}
+
+assertTableDefinition(conn, baseTable, PTableType.TABLE, null, 0, 
5, BASE_TABLE_BASE_COLUMN_COUNT, TENANT_ID, PK1, V1, V2, V3);
+assertTableDefinition(conn, view1, PTableType.VIEW, baseTable, 0, 
7, 5, TENANT_ID, PK1, V1, V2, V3, VIEW_COL1, VIEW_COL2);
+
+String alterBaseTable = ALTER TABLE  + baseTable +  ADD KV 
VARCHAR, PK2 VARCHAR PRIMARY KEY;
+conn.createStatement().execute(alterBaseTable);
+
+assertTableDefinition(conn, baseTable, PTableType.TABLE, null, 1, 
7, BASE_TABLE_BASE_COLUMN_COUNT, TENANT_ID, PK1, V1, V2, V3, KV, 
PK2);
+assertTableDefinition(conn, view1, PTableType.VIEW, baseTable, 1, 
9, 7, TENANT_ID, PK1, V1, V2, V3, KV, PK2, VIEW_COL1, 
VIEW_COL2);
+
+// verify that the both columns were added to view1
+try (Connection tenant1Conn = getTenantConnection(tenant1)) {
+tenant1Conn.createStatement().execute(SELECT KV from  + 
view1);
+tenant1Conn.createStatement().execute(SELECT PK2 from  + 
view1);
+}
+}
+}
+
 private static long getTableSequenceNumber(PhoenixConnection conn, String 
tableName) throws SQLException {
 PTable table = conn.getMetaDataCache().getTable(new 
PTableKey(conn.getTenantId(), SchemaUtil.normalizeIdentifier(tableName)));
 return table.getSequenceNumber();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/f00c777c/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
index bf86818..05b36c3 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificTablesDDLIT.java
+++ 

Build failed in Jenkins: Phoenix | Master #853

2015-07-22 Thread Apache Jenkins Server
See https://builds.apache.org/job/Phoenix-master/853/changes

Changes:

[samarth.jain] PHOENIX-2110 Addendum to fix test failure and enforcing tenancy 
switch check

--
[...truncated 118975 lines...]
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 144.937 sec - 
in org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT
Running org.apache.phoenix.end2end.index.SaltedIndexIT
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 62.084 sec - in 
org.apache.phoenix.end2end.index.SaltedIndexIT
Running org.apache.phoenix.end2end.index.IndexMetadataIT
Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 293.737 sec - 
in org.apache.phoenix.end2end.AlterTableWithViewsIT
Running org.apache.phoenix.end2end.index.IndexExpressionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 132.207 sec - 
in org.apache.phoenix.end2end.index.IndexMetadataIT
Running org.apache.phoenix.end2end.index.DropViewIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.09 sec - in 
org.apache.phoenix.end2end.index.DropViewIT
Running org.apache.phoenix.end2end.index.LocalMutableIndexIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 293.973 sec - 
in org.apache.phoenix.end2end.index.GlobalMutableIndexIT
Running org.apache.phoenix.end2end.index.ViewIndexIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.497 sec - in 
org.apache.phoenix.end2end.index.ViewIndexIT
Running org.apache.phoenix.end2end.index.ImmutableIndexIT
Tests run: 108, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 745.037 sec - 
in org.apache.phoenix.end2end.SpooledSortMergeJoinIT
Running org.apache.phoenix.end2end.ServerExceptionIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.961 sec - in 
org.apache.phoenix.end2end.ServerExceptionIT
Running org.apache.phoenix.end2end.CSVCommonsLoaderIT
Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 68.502 sec - 
in org.apache.phoenix.end2end.index.ImmutableIndexIT
Running org.apache.phoenix.end2end.ReverseFunctionIT
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.4 sec - in 
org.apache.phoenix.end2end.ReverseFunctionIT
Running org.apache.phoenix.end2end.ArrayAppendFunctionIT
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 80.661 sec - 
in org.apache.phoenix.end2end.CSVCommonsLoaderIT
Running org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT
Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 472.761 sec - 
in org.apache.phoenix.end2end.index.LocalIndexIT
Running org.apache.phoenix.end2end.AutoCommitIT
Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 39.396 sec - 
in org.apache.phoenix.end2end.ArrayAppendFunctionIT
Running org.apache.phoenix.end2end.PowerFunctionEnd2EndIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.491 sec - in 
org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT
Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.801 sec - in 
org.apache.phoenix.end2end.AutoCommitIT
Running org.apache.phoenix.end2end.DateTimeIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 19.037 sec - in 
org.apache.phoenix.end2end.PowerFunctionEnd2EndIT
Running org.apache.phoenix.end2end.SpooledTmpFileDeleteIT
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.453 sec - in 
org.apache.phoenix.end2end.SpooledTmpFileDeleteIT
Running org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT
Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.75 sec - in 
org.apache.phoenix.end2end.DateTimeIT
Running org.apache.phoenix.end2end.DecodeFunctionIT
Tests run: 58, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 344.034 sec - 
in org.apache.phoenix.end2end.index.IndexExpressionIT
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.714 sec - in 
org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT
Running org.apache.phoenix.end2end.ModulusExpressionIT
Running org.apache.phoenix.end2end.LastValueFunctionIT
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.025 sec - in 
org.apache.phoenix.end2end.DecodeFunctionIT
Running org.apache.phoenix.end2end.UpgradeIT
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 18.484 sec - in 
org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT
Running org.apache.phoenix.end2end.FirstValueFunctionIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.119 sec - 
in org.apache.phoenix.end2end.ModulusExpressionIT
Running org.apache.phoenix.end2end.DisableLocalIndexIT
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.183 sec - in 
org.apache.phoenix.end2end.FirstValueFunctionIT
Running org.apache.phoenix.end2end.HashJoinLocalIndexIT
Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.634 sec - 
in org.apache.phoenix.end2end.LastValueFunctionIT
Running 

phoenix git commit: PHOENIX-2139 LIKE '%' is not filtering out null columns

2015-07-22 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 318d096c3 - d3adafc7f


PHOENIX-2139 LIKE '%' is not filtering out null columns


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/d3adafc7
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/d3adafc7
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/d3adafc7

Branch: refs/heads/4.x-HBase-0.98
Commit: d3adafc7f19017252aeb9c19226121d622d112a5
Parents: 318d096
Author: James Taylor jamestay...@apache.org
Authored: Wed Jul 22 16:12:15 2015 -0700
Committer: James Taylor jamestay...@apache.org
Committed: Wed Jul 22 16:24:26 2015 -0700

--
 .../phoenix/end2end/LikeExpressionIT.java   | 38 
 .../phoenix/compile/ExpressionCompiler.java |  2 ++
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  2 +-
 3 files changed, 41 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/d3adafc7/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
index 1ee0669..1d93341 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
@@ -85,4 +85,42 @@ public class LikeExpressionIT extends BaseHBaseManagedTimeIT 
{
 testLikeExpression(conn, %A%, 3, 42);
 conn.close();
 }
+
+@Test
+public void testLikeEverythingExpression() throws Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+String ddl = CREATE TABLE t (k1 VARCHAR, k2 VARCHAR, CONSTRAINT pk 
PRIMARY KEY (k1,k2));
+conn.createStatement().execute(ddl);
+conn.createStatement().execute(UPSERT INTO t VALUES('aa','bb'));
+conn.createStatement().execute(UPSERT INTO t VALUES('ab','bc'));
+conn.createStatement().execute(UPSERT INTO t VALUES(null,'cc'));
+conn.createStatement().execute(UPSERT INTO t VALUES('dd',null));
+conn.commit();
+
+ResultSet rs = conn.createStatement().executeQuery(SELECT * FROM t 
WHERE k1 LIKE '%');
+assertTrue(rs.next());
+assertEquals(aa, rs.getString(1));
+assertEquals(bb, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(ab, rs.getString(1));
+assertEquals(bc, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(dd, rs.getString(1));
+assertEquals(null, rs.getString(2));
+assertFalse(rs.next());
+
+rs = conn.createStatement().executeQuery(SELECT * FROM t WHERE k2 
LIKE '%');
+assertTrue(rs.next());
+assertEquals(null, rs.getString(1));
+assertEquals(cc, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(aa, rs.getString(1));
+assertEquals(bb, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(ab, rs.getString(1));
+assertEquals(bc, rs.getString(2));
+assertFalse(rs.next());
+
+conn.close();
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d3adafc7/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
index 2f786ec..1278494 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
@@ -513,6 +513,8 @@ public class ExpressionCompiler extends 
UnsupportedAllParseNodeVisitorExpressio
   return new ComparisonExpression(Arrays.asList(lhs,rhs), 
op);
   }
 }
+} else if (index == 0  pattern.length() == 1) {
+return IsNullExpression.create(lhs, true, 
context.getTempPtr());
 }
 }
 QueryServices services = context.getConnection().getQueryServices();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/d3adafc7/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 314af2e..d27a349 100644
--- 

Git Push Summary

2015-07-22 Thread mujtaba
Repository: phoenix
Updated Tags:  refs/tags/v4.5.0-HBase-0.98-rc0 [created] 10bfae7b2


svn commit: r9944 - in /dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0: ./ bin/ src/

2015-07-22 Thread mujtaba
Author: mujtaba
Date: Thu Jul 23 00:08:14 2015
New Revision: 9944

Log:
Phoenix 4.5.0-HBase-0.98 rc0

Added:
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz
   (with props)

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.asc

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.md5

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.sha
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz
   (with props)

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz.asc

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz.md5

dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz.sha

Added: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz
==
Binary file - no diff available.

Propchange: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz
--
svn:mime-type = application/octet-stream

Added: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.asc
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.asc
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.asc
 Thu Jul 23 00:08:14 2015
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABAgAGBQJVsC6ZAAoJEDv8s5KUYReOHkEP/ino3pPcPqYw3RwJcw7F6Fn5
+C/exLcCtPuw7hQty9hweiQzO8EY3OgDLPV7XLI3yFq9r+dLNNuVcWNORLX1q1ZV4
+I1NMPGxyCiG522RwRcOC7/M96/JGi0VDJhR5TuB5MPuAok7TGM+AixaUrR5G5zFy
+/k70+TyWvYiqJJbSpZKwROLifyV1EGSuKSX0zKv3NTY5Ol+mfrUKvV/pttFe6F3n
+mZSc8XgM/TveGmylDIW6ajHVcXOGfpz6jTjjK9TY3A5H/Gxn2iVBGqUj1E4GaAXN
+AgmMeAoF9lGNhI2QWgmn/3CyW+mrv3Qva1AkFMfjf/eP4ilBip967fpCeI/zgz1W
++klZChrE6Y4FVk0xt44dtXKIJlxgfyGhbiAsHQZqaRIR1rIF1Au58vXdxa9aEV5m
+PUsFYyOfvc7GsLaSef6y3EI46R+lFgRlpEVKwykTLrV/QV1I4QMcUBVChpT5IMwV
+PQnAko333+XkKagX/D4/mPJxo730TUNzTIoFZC7EmAbIuXLPBHB+1MspnDt5DR/7
+CcEzykHiI+THpgMr15+f1uybSgppwEqIlzAScSWrFlO5KgVrsa4sVuSQgVSi2Fkk
+btxXACfG0XYHZjqMJFc2pptPIm5/D8+8ZYejassBd/WtetCMLQI8zJtCQ1dqPsxi
+I1BUMUconoFUCda+HZGP
+=hRKU
+-END PGP SIGNATURE-

Added: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.md5
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.md5
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.md5
 Thu Jul 23 00:08:14 2015
@@ -0,0 +1 @@
+9ad55905ab0b9dc8f2cc5024b019b5d3 *phoenix-4.5.0-HBase-0.98-bin.tar.gz

Added: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.sha
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.sha
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/bin/phoenix-4.5.0-HBase-0.98-bin.tar.gz.sha
 Thu Jul 23 00:08:14 2015
@@ -0,0 +1,2 @@
+732f6b9fc0ea22c9f2d06dc0b95dca052f4ddf02211392c6093fbdcece2c8e047b803ca6048c257b4a1a6d3f75521fb9c34e3b9d44c6053d5049f21cd27c7af7
 *phoenix-4.5.0-HBase-0.98-bin.tar.gz
+a2f1a24c59a367ca3288e39d96d600e7899041c9b9d9d5b4056617efcf97015e 
*phoenix-4.5.0-HBase-0.98-bin.tar.gz

Added: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz
==
Binary file - no diff available.

Propchange: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz
--
svn:mime-type = application/octet-stream

Added: 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz.asc
==
--- 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz.asc
 (added)
+++ 
dev/phoenix/phoenix-4.5.0-HBase-0.98-rc0/src/phoenix-4.5.0-HBase-0.98-src.tar.gz.asc
 Thu Jul 23 00:08:14 2015
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1.4.11 (GNU/Linux)
+
+iQIcBAABAgAGBQJVsC6mAAoJEDv8s5KUYReOc6AQAJ7GAy8G9iFM0tVqPt62Ib4G
+39eJFGDRH3c2Wzz+AHfxXcQm3A66bMywQRF/wu0zQd0MdEXhE4D5HpEgRoKshpBF
+Z3ki57ccaIbeP9KOq0eLyvHBySAvsQJFGK6BL0T3NVKPmv1rMb9VNpmIntV2BU3g
+6GnNqHgpEK9XGTCf+/d9ADRDMePlX/80I658y3numVXTJkYiwEnHxFe7EEhAjBd1

Apache-Phoenix | 4.x-HBase-1.0 | Build Successful

2015-07-22 Thread Apache Jenkins Server
4.x-HBase-1.0 branch build status Successful

Source repository https://git-wip-us.apache.org/repos/asf?p=phoenix.git;a=shortlog;h=refs/heads/4.x-HBase-1.0

Compiled Artifacts https://builds.apache.org/job/Phoenix-4.x-HBase-1.0/lastSuccessfulBuild/artifact/

Test Report https://builds.apache.org/job/Phoenix-4.x-HBase-1.0/lastCompletedBuild/testReport/

Changes
[jamestaylor] PHOENIX-2139 LIKE '%' is not filtering out null columns



Build times for last couple of runsLatest build time is the right most | Legend blue: normal, red: test failure, gray: timeout


phoenix git commit: PHOENIX-2139 LIKE '%' is not filtering out null columns

2015-07-22 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.0 434d8233d - 14ea67c54


PHOENIX-2139 LIKE '%' is not filtering out null columns


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/14ea67c5
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/14ea67c5
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/14ea67c5

Branch: refs/heads/4.x-HBase-1.0
Commit: 14ea67c54fecad4cfea3c91f56a3cfcd63c03c47
Parents: 434d823
Author: James Taylor jamestay...@apache.org
Authored: Wed Jul 22 16:12:15 2015 -0700
Committer: James Taylor jamestay...@apache.org
Committed: Wed Jul 22 16:25:37 2015 -0700

--
 .../phoenix/end2end/LikeExpressionIT.java   | 38 
 .../phoenix/compile/ExpressionCompiler.java |  2 ++
 .../phoenix/jdbc/PhoenixDatabaseMetaData.java   |  2 +-
 3 files changed, 41 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/14ea67c5/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
index 1ee0669..1d93341 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
@@ -85,4 +85,42 @@ public class LikeExpressionIT extends BaseHBaseManagedTimeIT 
{
 testLikeExpression(conn, %A%, 3, 42);
 conn.close();
 }
+
+@Test
+public void testLikeEverythingExpression() throws Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+String ddl = CREATE TABLE t (k1 VARCHAR, k2 VARCHAR, CONSTRAINT pk 
PRIMARY KEY (k1,k2));
+conn.createStatement().execute(ddl);
+conn.createStatement().execute(UPSERT INTO t VALUES('aa','bb'));
+conn.createStatement().execute(UPSERT INTO t VALUES('ab','bc'));
+conn.createStatement().execute(UPSERT INTO t VALUES(null,'cc'));
+conn.createStatement().execute(UPSERT INTO t VALUES('dd',null));
+conn.commit();
+
+ResultSet rs = conn.createStatement().executeQuery(SELECT * FROM t 
WHERE k1 LIKE '%');
+assertTrue(rs.next());
+assertEquals(aa, rs.getString(1));
+assertEquals(bb, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(ab, rs.getString(1));
+assertEquals(bc, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(dd, rs.getString(1));
+assertEquals(null, rs.getString(2));
+assertFalse(rs.next());
+
+rs = conn.createStatement().executeQuery(SELECT * FROM t WHERE k2 
LIKE '%');
+assertTrue(rs.next());
+assertEquals(null, rs.getString(1));
+assertEquals(cc, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(aa, rs.getString(1));
+assertEquals(bb, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(ab, rs.getString(1));
+assertEquals(bc, rs.getString(2));
+assertFalse(rs.next());
+
+conn.close();
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14ea67c5/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
index 2f786ec..1278494 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
@@ -513,6 +513,8 @@ public class ExpressionCompiler extends 
UnsupportedAllParseNodeVisitorExpressio
   return new ComparisonExpression(Arrays.asList(lhs,rhs), 
op);
   }
 }
+} else if (index == 0  pattern.length() == 1) {
+return IsNullExpression.create(lhs, true, 
context.getTempPtr());
 }
 }
 QueryServices services = context.getConnection().getQueryServices();

http://git-wip-us.apache.org/repos/asf/phoenix/blob/14ea67c5/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 314af2e..d27a349 100644
--- 

phoenix git commit: PHOENIX-2139 LIKE '%' is not filtering out null columns

2015-07-22 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master f00c777cf - a50ead27a


PHOENIX-2139 LIKE '%' is not filtering out null columns


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/a50ead27
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/a50ead27
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/a50ead27

Branch: refs/heads/master
Commit: a50ead27afa467f6d530052354ac741fb8aa1307
Parents: f00c777
Author: James Taylor jamestay...@apache.org
Authored: Wed Jul 22 16:12:15 2015 -0700
Committer: James Taylor jamestay...@apache.org
Committed: Wed Jul 22 16:13:17 2015 -0700

--
 .../phoenix/end2end/LikeExpressionIT.java   | 38 
 .../phoenix/compile/ExpressionCompiler.java |  2 ++
 2 files changed, 40 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/a50ead27/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
index 1ee0669..1d93341 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LikeExpressionIT.java
@@ -85,4 +85,42 @@ public class LikeExpressionIT extends BaseHBaseManagedTimeIT 
{
 testLikeExpression(conn, %A%, 3, 42);
 conn.close();
 }
+
+@Test
+public void testLikeEverythingExpression() throws Exception {
+Connection conn = DriverManager.getConnection(getUrl());
+String ddl = CREATE TABLE t (k1 VARCHAR, k2 VARCHAR, CONSTRAINT pk 
PRIMARY KEY (k1,k2));
+conn.createStatement().execute(ddl);
+conn.createStatement().execute(UPSERT INTO t VALUES('aa','bb'));
+conn.createStatement().execute(UPSERT INTO t VALUES('ab','bc'));
+conn.createStatement().execute(UPSERT INTO t VALUES(null,'cc'));
+conn.createStatement().execute(UPSERT INTO t VALUES('dd',null));
+conn.commit();
+
+ResultSet rs = conn.createStatement().executeQuery(SELECT * FROM t 
WHERE k1 LIKE '%');
+assertTrue(rs.next());
+assertEquals(aa, rs.getString(1));
+assertEquals(bb, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(ab, rs.getString(1));
+assertEquals(bc, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(dd, rs.getString(1));
+assertEquals(null, rs.getString(2));
+assertFalse(rs.next());
+
+rs = conn.createStatement().executeQuery(SELECT * FROM t WHERE k2 
LIKE '%');
+assertTrue(rs.next());
+assertEquals(null, rs.getString(1));
+assertEquals(cc, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(aa, rs.getString(1));
+assertEquals(bb, rs.getString(2));
+assertTrue(rs.next());
+assertEquals(ab, rs.getString(1));
+assertEquals(bc, rs.getString(2));
+assertFalse(rs.next());
+
+conn.close();
+}
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a50ead27/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
index 2f786ec..1278494 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/compile/ExpressionCompiler.java
@@ -513,6 +513,8 @@ public class ExpressionCompiler extends 
UnsupportedAllParseNodeVisitorExpressio
   return new ComparisonExpression(Arrays.asList(lhs,rhs), 
op);
   }
 }
+} else if (index == 0  pattern.length() == 1) {
+return IsNullExpression.create(lhs, true, 
context.getTempPtr());
 }
 }
 QueryServices services = context.getConnection().getQueryServices();



phoenix git commit: PHOENIX-2139 LIKE '%' is not filtering out null columns

2015-07-22 Thread jamestaylor
Repository: phoenix
Updated Branches:
  refs/heads/master a50ead27a - 5076052d5


PHOENIX-2139 LIKE '%' is not filtering out null columns


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/5076052d
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/5076052d
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/5076052d

Branch: refs/heads/master
Commit: 5076052d5a84194554da96894c27a3829ce6e75b
Parents: a50ead2
Author: James Taylor jamestay...@apache.org
Authored: Wed Jul 22 16:22:58 2015 -0700
Committer: James Taylor jamestay...@apache.org
Committed: Wed Jul 22 16:22:58 2015 -0700

--
 .../main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5076052d/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 314af2e..d27a349 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
@@ -491,7 +491,7 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData, org.apache.pho
 where.append(COLUMN_NAME +  like ' + 
StringUtil.escapeStringConstant(colPattern) + ' );
 }
 }
-if (colPattern == null) {
+if (colPattern == null || colPattern.length() == 0) {
 appendConjunction(where);
 where.append(COLUMN_NAME +  is not null );
 }



phoenix git commit: Fix Apache RAT warnings

2015-07-22 Thread mujtaba
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 d3adafc7f - afbd865bd


Fix Apache RAT warnings


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/afbd865b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/afbd865b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/afbd865b

Branch: refs/heads/4.x-HBase-0.98
Commit: afbd865bdff7b37e64376e24a56922ed1e8d60b8
Parents: d3adafc
Author: Mujtaba mujt...@apache.org
Authored: Wed Jul 22 16:45:45 2015 -0700
Committer: Mujtaba mujt...@apache.org
Committed: Wed Jul 22 16:45:45 2015 -0700

--
 .../apache/phoenix/compile/ListJarsQueryPlan.java  | 17 +
 .../apache/phoenix/parse/DeleteJarStatement.java   | 17 +
 2 files changed, 34 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/afbd865b/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 9fdf35b..4683320 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
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.compile;
 
 import java.io.IOException;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/afbd865b/phoenix-core/src/main/java/org/apache/phoenix/parse/DeleteJarStatement.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/parse/DeleteJarStatement.java 
b/phoenix-core/src/main/java/org/apache/phoenix/parse/DeleteJarStatement.java
index 7ccdc72..49bfc02 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/parse/DeleteJarStatement.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/parse/DeleteJarStatement.java
@@ -1,3 +1,20 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * License); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 package org.apache.phoenix.parse;
 
 public class DeleteJarStatement extends MutableStatement {



phoenix git commit: Prepare for release

2015-07-22 Thread mujtaba
Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-0.98 afbd865bd - 26ba0159e


Prepare for release


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/26ba0159
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/26ba0159
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/26ba0159

Branch: refs/heads/4.x-HBase-0.98
Commit: 26ba0159e08aad05e10e921209a65082fdb7d954
Parents: afbd865
Author: Mujtaba mujt...@apache.org
Authored: Wed Jul 22 16:58:03 2015 -0700
Committer: Mujtaba mujt...@apache.org
Committed: Wed Jul 22 16:58:03 2015 -0700

--
 CHANGES   | 110 +
 phoenix-assembly/pom.xml  |   2 +-
 phoenix-core/pom.xml  |   2 +-
 phoenix-flume/pom.xml |   2 +-
 phoenix-pherf/pom.xml |   2 +-
 phoenix-pig/pom.xml   |   2 +-
 phoenix-server-client/pom.xml |   2 +-
 phoenix-server/pom.xml|   2 +-
 phoenix-spark/pom.xml |   2 +-
 pom.xml   |   2 +-
 10 files changed, 119 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/26ba0159/CHANGES
--
diff --git a/CHANGES b/CHANGES
index 0476f8a..9aab678 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,113 @@
+Release Notes - Phoenix - Version 4.5.0
+
+** Improvement
+* [PHOENIX-1660] - Implement missing math built-in functions
+* [PHOENIX-1763] - Support building with HBase-1.1.0 
+* [PHOENIX-1934] - queryserver support for Windows service descriptor
+* [PHOENIX-1965] - Upgrade Pig to version 0.13
+* [PHOENIX-1968] - Phoenix-Spark: Should support saving arrays
+* [PHOENIX-1975] - Detect and use HBASE_HOME when set
+* [PHOENIX-1996] - Use BytesStringer instead of ZeroCopyByteString
+* [PHOENIX-2012] - RowKeyComparisonFilter logs unencoded data at DEBUG 
level
+* [PHOENIX-2033] - PQS log environment details on launch
+* [PHOENIX-2095] - Lower the default for phoenix.sequence.saltBuckets
+* [PHOENIX-2110] - Primary key changes should be pushed to diverged views
+* [PHOENIX-2115] - Simplify Pherf generated dependency jar and pom.xml 
+* [PHOENIX-2120] - Padding character is not inverted as required for DESC 
CHAR columns
+* [PHOENIX-2126] - Improving performance of merge sort by multi-threaded 
and minheap implementation
+
+** New Feature
+* [PHOENIX-922] - Support SELECT without a from clause
+* [PHOENIX-1819] - Build a framework to capture and report phoenix client 
side request level metrics
+* [PHOENIX-1920] - Pherf - Add support for mixed r/w workloads
+* [PHOENIX-1954] - Reserve chunks of numbers for a sequence
+* [PHOENIX-2098] - Pig Udf that given a count Reserve chunks of numbers 
for a sequence
+
+** Sub-task
+* [PHOENIX-978] - Allow views to extend base table's PK (only if last PK 
column is fixed length)
+* [PHOENIX-1504] - Support adding column to a table that has views
+* [PHOENIX-1611] - Support ABS function 
+* [PHOENIX-1687] - Implement missing math built-in POWER function
+* [PHOENIX-1889] - Support alter/replace and drop functions
+* [PHOENIX-1890] - Provide queries for adding/deleting jars to/from common 
place in hdfs which is used by dynamic class loader
+* [PHOENIX-1984] - Return value of INSTR should be one-based instead of 
zero-based
+* [PHOENIX-1987] - SIGN built-in function should be order preserving
+* [PHOENIX-2015] - Implement Build-in math function CBRT
+* [PHOENIX-2018] - Implement math build-in function SQRT
+* [PHOENIX-2019] - Implement Build-in math function ln and log
+* [PHOENIX-2020] - Implement build-in math function EXP
+* [PHOENIX-2021] - Implement ARRAY_CAT built in function
+* [PHOENIX-2049] - Change ArraysWithNullsIT to be derived from 
BaseHBaseManagedTimeIT
+* [PHOENIX-2060] - Implement ARRAY_FILL built in function
+* [PHOENIX-2101] - Implement ARRAY_TO_STRING built in function
+
+** Bug
+* [PHOENIX-1277] - CSVCommonsLoader not allowing null CHAR values (non PK)
+* [PHOENIX-1659] - PhoenixDatabaseMetaData.getColumns does not return 
REMARKS column
+* [PHOENIX-1827] - TrackOrderPreservingExpressionCompiler may falsely say 
ORDER BY is order preserving
+* [PHOENIX-1919] - Clean up more ASL headers
+* [PHOENIX-1945] - Phoenix tarball from assembly does not contain 
phoenix-[version]-server.jar
+* [PHOENIX-1976] - Improve PhoenixDriver registration when addShutdownHook 
fails
+* [PHOENIX-1980] - CsvBulkLoad cannot load hbase-site.xml from classpath
+* [PHOENIX-1990] - bin/queryserver makeWinServiceDesc doesn't actually 
work in Windows
+* [PHOENIX-1995] - client uberjar doesn't support dfs
+* [PHOENIX-2005] - 

Jenkins build is back to normal : Phoenix | Master #854

2015-07-22 Thread Apache Jenkins Server
See https://builds.apache.org/job/Phoenix-master/854/changes