[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357004312
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/GeoHashImpl.java
 ##
 @@ -147,7 +206,18 @@ public void init(String handlerName, Map 
properties) throws Exce
   CarbonCommonConstants.INDEX_HANDLER, CONVERSION_RATIO));
 }
 
-// TODO: Fill the values to the instance fields
+// Fill the values to the instance fields
+this.oriLatitude = Double.valueOf(originLatitude);
+this.userDefineMaxLongitude = Double.valueOf(maxLongitude);
+this.userDefineMaxLatitude = Double.valueOf(maxLatitude);
+this.userDefineMinLongitude = Double.valueOf(minLongitude);
+this.userDefineMinLatitude = Double.valueOf(minLatitude);
+this.gridSize = Integer.parseInt(gridSize);
+this.conversionRatio = Integer.parseInt(conversionRatio);
+this.lon0ByRation = userDefineMinLongitude * this.conversionRatio;
+this.lat0ByRation = userDefineMinLatitude * this.conversionRatio;
+// calculate the data
 
 Review comment:
   okay


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357004397
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/GeoHashImpl.java
 ##
 @@ -147,7 +206,18 @@ public void init(String handlerName, Map 
properties) throws Exce
   CarbonCommonConstants.INDEX_HANDLER, CONVERSION_RATIO));
 }
 
-// TODO: Fill the values to the instance fields
+// Fill the values to the instance fields
+this.oriLatitude = Double.valueOf(originLatitude);
+this.userDefineMaxLongitude = Double.valueOf(maxLongitude);
+this.userDefineMaxLatitude = Double.valueOf(maxLatitude);
+this.userDefineMinLongitude = Double.valueOf(minLongitude);
+this.userDefineMinLatitude = Double.valueOf(minLatitude);
+this.gridSize = Integer.parseInt(gridSize);
+this.conversionRatio = Integer.parseInt(conversionRatio);
+this.lon0ByRation = userDefineMinLongitude * this.conversionRatio;
+this.lat0ByRation = userDefineMinLatitude * this.conversionRatio;
+// calculate the data
+calculateData();
 
 Review comment:
   okay


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357006821
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/GeoHashImpl.java
 ##
 @@ -168,20 +238,151 @@ public String generate(List sources) throws 
Exception {
 if (!(sources.get(0) instanceof Long) || !(sources.get(1) instanceof 
Long)) {
   throw new RuntimeException("Source columns must be of Long type.");
 }
-//TODO: generate geohashId
-return String.valueOf(0);
+Long longitude = (Long) sources.get(0);
+Long latitude  = (Long) sources.get(1);
+// generate the hash code
+int[] gridPoint = calculateID(longitude, latitude);
+Long hashId = createHashID(gridPoint[0], gridPoint[1]);
+return String.valueOf(hashId);
   }
 
   /**
* Query processor for GeoHash.
-   * @param polygon
+   * example: (`LONGITUDE`, `LATITUDE`, '116270714,40112476;116217155,40028403;
+   * 
116337318,39927378;116459541,39966859;116447868,40076233;116385384,40129279;')
+   * @param polygon a group of pints, close out to form an area
* @return Returns list of ranges of GeoHash IDs
* @throws Exception
*/
   @Override
   public List query(String polygon) throws Exception {
-List rangeList = new ArrayList();
-// TODO: process the polygon coordinates and generate the list of ranges 
of GeoHash IDs
-return rangeList;
+String[] pointList = polygon.split(";");
+if (3  > pointList.length) {
+  throw new RuntimeException("polygon need at least 3 points, really has " 
+ pointList.length);
+} else {
+  List queryList = new ArrayList<>();
+  for (String str: pointList) {
+String[] points = str.split(",");
+if (2 != points.length) {
+  throw new RuntimeException("longitude and latitude is a pair need 2 
data");
+} else {
+  try {
+queryList.add(new double[] {Double.valueOf(points[0]), 
Double.valueOf(points[1])});
+  } catch (NumberFormatException e) {
+throw new RuntimeException("can not covert the string data to 
double", e);
+  }
+}
+  }
+  if (3 > queryList.size()) {
 
 Review comment:
   At first, I thought that the amount of input data is enough, but mybe it is 
not enough after split or format filtering.
   so in this position, use (3 > queryList.size()) judgement.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357007228
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/GeoHashImpl.java
 ##
 @@ -168,20 +238,151 @@ public String generate(List sources) throws 
Exception {
 if (!(sources.get(0) instanceof Long) || !(sources.get(1) instanceof 
Long)) {
   throw new RuntimeException("Source columns must be of Long type.");
 }
-//TODO: generate geohashId
-return String.valueOf(0);
+Long longitude = (Long) sources.get(0);
+Long latitude  = (Long) sources.get(1);
+// generate the hash code
+int[] gridPoint = calculateID(longitude, latitude);
+Long hashId = createHashID(gridPoint[0], gridPoint[1]);
+return String.valueOf(hashId);
   }
 
   /**
* Query processor for GeoHash.
-   * @param polygon
+   * example: (`LONGITUDE`, `LATITUDE`, '116270714,40112476;116217155,40028403;
+   * 
116337318,39927378;116459541,39966859;116447868,40076233;116385384,40129279;')
+   * @param polygon a group of pints, close out to form an area
* @return Returns list of ranges of GeoHash IDs
* @throws Exception
*/
   @Override
   public List query(String polygon) throws Exception {
-List rangeList = new ArrayList();
-// TODO: process the polygon coordinates and generate the list of ranges 
of GeoHash IDs
-return rangeList;
+String[] pointList = polygon.split(";");
+if (3  > pointList.length) {
+  throw new RuntimeException("polygon need at least 3 points, really has " 
+ pointList.length);
+} else {
+  List queryList = new ArrayList<>();
+  for (String str: pointList) {
+String[] points = str.split(",");
+if (2 != points.length) {
+  throw new RuntimeException("longitude and latitude is a pair need 2 
data");
+} else {
+  try {
+queryList.add(new double[] {Double.valueOf(points[0]), 
Double.valueOf(points[1])});
+  } catch (NumberFormatException e) {
+throw new RuntimeException("can not covert the string data to 
double", e);
+  }
+}
+  }
+  if (3 > queryList.size()) {
+throw new RuntimeException("polygon list size" + queryList.size() + " 
less than three");
+  } else {
+List rangeList = getPolygonRangeList(queryList);
+return rangeList;
+  }
+}
+  }
+
+  /**
+   * use query polygon condition to get the hash id list, the list is merged 
and sorted.
+   * @param queryList polygon points close out to form an area
+   * @return hash id list
+   * @throws Exception
+   */
+  private  List getPolygonRangeList(List queryList) throws 
Exception {
+QuadTreeCls qTreee = new QuadTreeCls(userDefineMinLongitude, 
userDefineMinLatitude,
+CalculateMaxLongitude, CalculateMaxLatitude, cutLevel);
+qTreee.insert(queryList);
+return qTreee.getNodesData();
+  }
+
+  /**
+   *  After necessary attributes, perform necessary calculation
+   * @throws Exception
+   */
+  private void calculateData() throws Exception {
+// Angular to radian, radians = (Math.PI / 180) * degrees
+// Cosine value of latitude angle of origin
+this.mCos = Math.cos(this.oriLatitude / this.conversionRatio * Math.PI / 
CONVERT_FACTOR);
+// get δx=L∗360/(2πR∗cos(lat))
+this.deltaX = (this.gridSize * 360) / (2 * Math.PI * EARTH_RADIUS * 
this.mCos);
+this.deltaXByRatio = this.deltaX * this.conversionRatio;
+// get δy=L∗360/2πR
+this.deltaY = (this.gridSize * 360) / (2 * Math.PI * EARTH_RADIUS);
+this.deltaYByRatio = this.deltaY * this.conversionRatio;
+LOGGER.info("after spatial calculate delta X is: " + String.format("%f", 
this.deltaX)
++ "the delta Y is: " + String.format("%f", this.deltaY));
+LOGGER.info("after spatial calculate X ByRatio is: " + String.format("%f", 
this.deltaXByRatio)
++ "the Y ByRatio is: " + String.format("%f", 
this.deltaYByRatio));
+// Calculate the complement area and grid i,j for grid number
+// Xmax = x0+(2^n∗δx) Ymax = y0+(2^n∗δx) Where n is the number of cut
+// Where x0, Y0 are the minimum x, y coordinates of a given region,
+// Xmax >= maxLongitude Ymax >= maxLatitude
+// In the calculation process, first substitute maxlongitude and 
maxlatitude to calculate n.
+// if n is not an integer, then take the next integer of N, and then 
substitute to find
+// xmax and ymax。
+this.calculateArea();
+  }
+
+  /**
+   * Calculate the complement area, including the range of the complement 
area, t
+   * he number of knives cut and the depth of the quad tree
+   */
+  private void calculateArea() {
+// step 1 calculate xn, yn by using maxLongitude, maxLatitude, 
minLongitude, minLatitude
+// substitution formula
+// Here, the user's given area is most

[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357007769
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/GeoHashImpl.java
 ##
 @@ -168,20 +238,151 @@ public String generate(List sources) throws 
Exception {
 if (!(sources.get(0) instanceof Long) || !(sources.get(1) instanceof 
Long)) {
   throw new RuntimeException("Source columns must be of Long type.");
 }
-//TODO: generate geohashId
-return String.valueOf(0);
+Long longitude = (Long) sources.get(0);
+Long latitude  = (Long) sources.get(1);
+// generate the hash code
+int[] gridPoint = calculateID(longitude, latitude);
+Long hashId = createHashID(gridPoint[0], gridPoint[1]);
+return String.valueOf(hashId);
   }
 
   /**
* Query processor for GeoHash.
-   * @param polygon
+   * example: (`LONGITUDE`, `LATITUDE`, '116270714,40112476;116217155,40028403;
+   * 
116337318,39927378;116459541,39966859;116447868,40076233;116385384,40129279;')
+   * @param polygon a group of pints, close out to form an area
* @return Returns list of ranges of GeoHash IDs
* @throws Exception
*/
   @Override
   public List query(String polygon) throws Exception {
-List rangeList = new ArrayList();
-// TODO: process the polygon coordinates and generate the list of ranges 
of GeoHash IDs
-return rangeList;
+String[] pointList = polygon.split(";");
+if (3  > pointList.length) {
+  throw new RuntimeException("polygon need at least 3 points, really has " 
+ pointList.length);
+} else {
+  List queryList = new ArrayList<>();
+  for (String str: pointList) {
+String[] points = str.split(",");
+if (2 != points.length) {
+  throw new RuntimeException("longitude and latitude is a pair need 2 
data");
+} else {
+  try {
+queryList.add(new double[] {Double.valueOf(points[0]), 
Double.valueOf(points[1])});
+  } catch (NumberFormatException e) {
+throw new RuntimeException("can not covert the string data to 
double", e);
+  }
+}
+  }
+  if (3 > queryList.size()) {
+throw new RuntimeException("polygon list size" + queryList.size() + " 
less than three");
+  } else {
+List rangeList = getPolygonRangeList(queryList);
+return rangeList;
+  }
+}
+  }
+
+  /**
+   * use query polygon condition to get the hash id list, the list is merged 
and sorted.
+   * @param queryList polygon points close out to form an area
+   * @return hash id list
+   * @throws Exception
+   */
+  private  List getPolygonRangeList(List queryList) throws 
Exception {
+QuadTreeCls qTreee = new QuadTreeCls(userDefineMinLongitude, 
userDefineMinLatitude,
+CalculateMaxLongitude, CalculateMaxLatitude, cutLevel);
+qTreee.insert(queryList);
+return qTreee.getNodesData();
+  }
+
+  /**
+   *  After necessary attributes, perform necessary calculation
+   * @throws Exception
+   */
+  private void calculateData() throws Exception {
+// Angular to radian, radians = (Math.PI / 180) * degrees
+// Cosine value of latitude angle of origin
+this.mCos = Math.cos(this.oriLatitude / this.conversionRatio * Math.PI / 
CONVERT_FACTOR);
+// get δx=L∗360/(2πR∗cos(lat))
+this.deltaX = (this.gridSize * 360) / (2 * Math.PI * EARTH_RADIUS * 
this.mCos);
+this.deltaXByRatio = this.deltaX * this.conversionRatio;
+// get δy=L∗360/2πR
+this.deltaY = (this.gridSize * 360) / (2 * Math.PI * EARTH_RADIUS);
+this.deltaYByRatio = this.deltaY * this.conversionRatio;
+LOGGER.info("after spatial calculate delta X is: " + String.format("%f", 
this.deltaX)
++ "the delta Y is: " + String.format("%f", this.deltaY));
+LOGGER.info("after spatial calculate X ByRatio is: " + String.format("%f", 
this.deltaXByRatio)
++ "the Y ByRatio is: " + String.format("%f", 
this.deltaYByRatio));
+// Calculate the complement area and grid i,j for grid number
+// Xmax = x0+(2^n∗δx) Ymax = y0+(2^n∗δx) Where n is the number of cut
+// Where x0, Y0 are the minimum x, y coordinates of a given region,
+// Xmax >= maxLongitude Ymax >= maxLatitude
+// In the calculation process, first substitute maxlongitude and 
maxlatitude to calculate n.
+// if n is not an integer, then take the next integer of N, and then 
substitute to find
+// xmax and ymax。
+this.calculateArea();
+  }
+
+  /**
+   * Calculate the complement area, including the range of the complement 
area, t
+   * he number of knives cut and the depth of the quad tree
+   */
+  private void calculateArea() {
+// step 1 calculate xn, yn by using maxLongitude, maxLatitude, 
minLongitude, minLatitude
+// substitution formula
+// Here, the user's given area is most

[GitHub] [carbondata] marchpure closed pull request #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
marchpure closed pull request #3507: [CARBONDATA-3617] loadDataUsingGlobalSort 
should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] marchpure opened a new pull request #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
marchpure opened a new pull request #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507
 
 
   … Instead Of Whole CarbonRow
   
   Modification reason: During loading Data usesing globalsort, the sortby 
processing is based the whole carbon row, the overhead of gc is huge when there 
are many columns. Theoretically, the sortby processing can works well just 
based on the sort columns, which will brings less time overhead and gc overhead.
   
   Modification content: In case of loadDataUsingGlobalSort, the first 
parameter of rdd.sortby is changed to CarbonRow.getKey from CarbonRow.getData. 
In CarbonRow.getKey, we get the sortcolumns of CarbonRow
   
   Be sure to do all of the following checklist to help us incorporate 
   your contribution quickly and easily:
   
- [ ] Any interfaces changed?

- [ ] Any backward compatibility impacted?

- [ ] Document update required?
   
- [ ] Testing done
   Please provide details on 
   - Whether new unit test cases have been added or why no new tests 
are required?
   - How it is tested? Please attach test report.
   - Is it a performance related change? Please attach the performance 
test report.
   - Any additional information to help reviewers in testing this 
change.
  
- [ ] For large changes, please consider breaking it into sub-tasks under 
an umbrella JIRA. 
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] marchpure commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
marchpure commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort 
should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564905604
 
 
   retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] jackylk commented on issue #3224: [CARBONDATA-3379] thrift file-format support generate c++ code

2019-12-12 Thread GitBox
jackylk commented on issue #3224: [CARBONDATA-3379] thrift file-format support 
generate c++ code
URL: https://github.com/apache/carbondata/pull/3224#issuecomment-564909635
 
 
   retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] jackylk commented on issue #3224: [CARBONDATA-3379] thrift file-format support generate c++ code

2019-12-12 Thread GitBox
jackylk commented on issue #3224: [CARBONDATA-3379] thrift file-format support 
generate c++ code
URL: https://github.com/apache/carbondata/pull/3224#issuecomment-564909613
 
 
   retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3504: [CARBONDATA-3614] Support Alter table properties set/unset for longstring columns

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3504: [CARBONDATA-3614] Support Alter table 
properties set/unset for longstring columns
URL: https://github.com/apache/carbondata/pull/3504#issuecomment-564911249
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1181/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] vikramahuja1001 closed pull request #3505: [CARBONDATA-3615]: Show metacache shows the index server index-dictionary files when data loaded after index server disabled using set

2019-12-12 Thread GitBox
vikramahuja1001 closed pull request #3505: [CARBONDATA-3615]: Show metacache 
shows the index server index-dictionary files when data loaded after index 
server disabled using set command
URL: https://github.com/apache/carbondata/pull/3505
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564914570
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1162/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3504: [CARBONDATA-3614] Support Alter table properties set/unset for longstring columns

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3504: [CARBONDATA-3614] Support Alter table 
properties set/unset for longstring columns
URL: https://github.com/apache/carbondata/pull/3504#issuecomment-564915662
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1172/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] kumarvishal09 commented on a change in pull request #3436: [CARBONDATA-3548]Geospatial Support: Modified to create and load the table with a nonschema dimension sort column. And

2019-12-12 Thread GitBox
kumarvishal09 commented on a change in pull request #3436: 
[CARBONDATA-3548]Geospatial Support: Modified to create and load the table with 
a nonschema dimension sort column. And added InPolygon UDF
URL: https://github.com/apache/carbondata/pull/3436#discussion_r357029022
 
 

 ##
 File path: 
hadoop/src/main/java/org/apache/carbondata/hadoop/api/CarbonInputFormat.java
 ##
 @@ -568,6 +569,11 @@ private int getBlockCount(List 
blocklets) {
 filter = filter == null ? new DataMapFilter(carbonTable, null) : filter;
 ExplainCollector.setFilterStatement(
 filter.getExpression() == null ? "none" : 
filter.getExpression().getStatement());
+if (filter.isEmpty() && filter.getExpression() != null &&
 
 Review comment:
   why this check is required??


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3504: [CARBONDATA-3614] Support Alter table properties set/unset for longstring columns

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3504: [CARBONDATA-3614] Support Alter table 
properties set/unset for longstring columns
URL: https://github.com/apache/carbondata/pull/3504#issuecomment-564916723
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1175/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] jackylk opened a new pull request #3508: [HOTFIX] Solve GSON jar dependency conflict with Hadoop

2019-12-12 Thread GitBox
jackylk opened a new pull request #3508: [HOTFIX] Solve GSON jar dependency 
conflict with Hadoop
URL: https://github.com/apache/carbondata/pull/3508
 
 
   Currently CarbonData depends on GSON 2.4 which conflict with the GSON 2.2.4 
used in Hadoop. This PR resolve this conflict
   
- [ ] Any interfaces changed?

- [ ] Any backward compatibility impacted?

- [ ] Document update required?
   
- [ ] Testing done
   Please provide details on 
   - Whether new unit test cases have been added or why no new tests 
are required?
   - How it is tested? Please attach test report.
   - Is it a performance related change? Please attach the performance 
test report.
   - Any additional information to help reviewers in testing this 
change.
  
- [ ] For large changes, please consider breaking it into sub-tasks under 
an umbrella JIRA. 
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency conflict with Hadoop

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency 
conflict with Hadoop
URL: https://github.com/apache/carbondata/pull/3508#issuecomment-564918173
 
 
   Build Failed  with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1164/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency conflict with Hadoop

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency 
conflict with Hadoop
URL: https://github.com/apache/carbondata/pull/3508#issuecomment-564919065
 
 
   Build Failed  with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1182/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency conflict with Hadoop

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency 
conflict with Hadoop
URL: https://github.com/apache/carbondata/pull/3508#issuecomment-564919809
 
 
   Build Failed with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1173/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] kumarvishal09 commented on a change in pull request #3436: [CARBONDATA-3548]Geospatial Support: Modified to create and load the table with a nonschema dimension sort column. And

2019-12-12 Thread GitBox
kumarvishal09 commented on a change in pull request #3436: 
[CARBONDATA-3548]Geospatial Support: Modified to create and load the table with 
a nonschema dimension sort column. And added InPolygon UDF
URL: https://github.com/apache/carbondata/pull/3436#discussion_r357035370
 
 

 ##
 File path: 
core/src/main/java/org/apache/carbondata/core/metadata/schema/table/CarbonTable.java
 ##
 @@ -391,7 +391,12 @@ private static void setLocalDictInfo(CarbonTable table, 
TableInfo tableInfo) {
*/
   private void fillCreateOrderColumn(String tableName) {
 List columns = new ArrayList();
-List dimensions = this.tableDimensionsMap.get(tableName);
+List dimensions = new ArrayList();
+for (CarbonDimension dimension : this.tableDimensionsMap.get(tableName)) {
+  if (dimension.getColumnSchema().getSchemaOrdinal() != -1) {
 
 Review comment:
   @VenuReddy2103 for index column please add one extra property which can be 
used to differentiate between table column and index column. Do not use -1 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357035315
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
 
 Review comment:
   add o comment, okay has done.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357036798
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
 
 Review comment:
   done


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357036588
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
 
 Review comment:
   add o comment, okay has done.
   now we donot need user to give the first and last is same. if now user give 
the same we think them as 2 points. my be we can both support the same and last 
is same or not.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: 
add hash id create,query condition analyze and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#issuecomment-564923951
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1166/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3334: [HOTFIX]modify the code style as scala

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3334: [HOTFIX]modify the code style as scala
URL: https://github.com/apache/carbondata/pull/3334#issuecomment-564924031
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1167/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564924253
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1165/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3224: [CARBONDATA-3379] thrift file-format support generate c++ code

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3224: [CARBONDATA-3379] thrift file-format 
support generate c++ code
URL: https://github.com/apache/carbondata/pull/3224#issuecomment-564924285
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1168/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] kumarvishal09 commented on a change in pull request #3436: [CARBONDATA-3548]Geospatial Support: Modified to create and load the table with a nonschema dimension sort column. And

2019-12-12 Thread GitBox
kumarvishal09 commented on a change in pull request #3436: 
[CARBONDATA-3548]Geospatial Support: Modified to create and load the table with 
a nonschema dimension sort column. And added InPolygon UDF
URL: https://github.com/apache/carbondata/pull/3436#discussion_r357041033
 
 

 ##
 File path: 
processing/src/main/java/org/apache/carbondata/processing/loading/steps/InputProcessorStepWithNoConverterImpl.java
 ##
 @@ -63,6 +64,8 @@
 
   private Map dataFieldsWithComplexDataType;
 
+  private RowConverterImpl rowConverter;
 
 Review comment:
   Why InputProcessorStepWithNoConverterImpl need RowConverter its better to 
call direct interface of index generator because for other columns no need to 
convert the data  


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357042799
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry polygo

[GitHub] [carbondata] zzcclp commented on issue #3334: [HOTFIX]modify the code style as scala

2019-12-12 Thread GitBox
zzcclp commented on issue #3334: [HOTFIX]modify the code style as scala
URL: https://github.com/apache/carbondata/pull/3334#issuecomment-564927824
 
 
   please add description for this pr, there are many changes but not just code 
style.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357043723
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
 
 Review comment:
   done


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357043937
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry polygo

[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r35704
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry polygo

[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357046264
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry polygo

[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357046966
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry polygo

[GitHub] [carbondata] kumarvishal09 commented on a change in pull request #3436: [CARBONDATA-3548]Geospatial Support: Modified to create and load the table with a nonschema dimension sort column. And

2019-12-12 Thread GitBox
kumarvishal09 commented on a change in pull request #3436: 
[CARBONDATA-3548]Geospatial Support: Modified to create and load the table with 
a nonschema dimension sort column. And added InPolygon UDF
URL: https://github.com/apache/carbondata/pull/3436#discussion_r357048589
 
 

 ##
 File path: 
processing/src/main/java/org/apache/carbondata/processing/loading/converter/impl/RowConverterImpl.java
 ##
 @@ -162,28 +167,96 @@ public DictionaryClient call() throws Exception {
 return null;
   }
 
+  private int getDataFieldIndexByName(String column) {
+for (int i = 0; i < fields.length; i++) {
+  if (fields[i].getColumn().getColName().equalsIgnoreCase(column)) {
+return i;
+  }
+}
+return -1;
+  }
+
+  private String generateNonSchemaColumnValue(DataField field, CarbonRow row) {
 
 Review comment:
   why this method is here. Better to handle at Field Converter layer. Index 
column is will take input from other columns and  generate the data . Changing 
code in RowConverter is not clean 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] zzcclp commented on a change in pull request #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
zzcclp commented on a change in pull request #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#discussion_r357053276
 
 

 ##
 File path: 
integration/spark-common/src/main/scala/org/apache/carbondata/spark/load/DataLoadProcessBuilderOnSpark.scala
 ##
 @@ -121,9 +121,12 @@ object DataLoadProcessBuilderOnSpark {
 CarbonProperties.getInstance().getGlobalSortRddStorageLevel()))
 }
 
+val sortColumnIndex = 
configuration.getSortColumnRangeInfo.getSortColumnIndex
 
 Review comment:
   don't use configuration.getSortColumnRangeInfo.getSortColumnIndex, when 
sort_scope is global sort, configuration.getSortColumnRangeInfo is null. 
   Use:
   `val numberOfSortColumns = configuration.getNumberOfSortColumns`,
   and change CarbonRow.getKey(int[] sortColumnIndex) to getKey(int 
numberOfSortColumn).
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
ajantha-bhat commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357053147
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/GeoHashImpl.java
 ##
 @@ -38,10 +41,66 @@
  * columns.
  */
 public class GeoHashImpl extends CustomIndex> {
+  private static final Logger LOGGER =
+  LogServiceFactory.getLogService(GeoHashImpl.class.getName());
+
+  // conversion factor of angle to radian
+  private static final double CONVERT_FACTOR = 180.0;
+  // Earth radius
+  private static final double EARTH_RADIUS = 6371004.0;
+  // Longitude of coordinate origin
+  // private double oriLongitude = 0;
+  // Latitude of coordinate origin
+  private double oriLatitude;
+  // User defined maximum longitude of map
+  private double userDefineMaxLongitude;
+  // User defined maximum latitude of map
+  private double userDefineMaxLatitude;
+  // User defined map minimum longitude
+  private double userDefineMinLongitude;
+  // User defined map minimum latitude
+  private double userDefineMinLatitude;
+  // The maximum longitude of the completed map after calculation
+  private double CalculateMaxLongitude;
+  // The maximum latitude of the completed map after calculation
+  private double CalculateMaxLatitude;
+  // Grid length is in meters
+  private int gridSize;
+  // cos value of latitude of origin of coordinate
+  private double mCos;
+  // The degree of Y axis corresponding to each grid size length
+  private double deltaY;
+  // Each grid size length should be the degree of X axis
+  private double deltaX;
+  // Degree * coefficient of Y axis corresponding to each grid size length
+  private double deltaYByRatio;
+  // Each grid size length should be X-axis Degree * coefficient
+  private double deltaXByRatio;
+  // The number of knives cut for the whole area (one horizontally and one 
vertically)
+  // is the depth of quad tree
+  private int cutLevel;
+  // used to convert the latitude and longitude of double type to int type for 
calculation
+  private int conversionRatio;
+  // * Constant of coefficient
+  private double lon0ByRation;
+  // * Constant of coefficient
+  private double lat0ByRation;
+
+
   /**
* Initialize the geohash index handler instance.
-   * @param handlerName
-   * @param properties
+   * the properties is like that:
+   * TBLPROPERTIES ('INDEX_HANDLER'='mygeohash',
+   * 'INDEX_HANDLER.mygeohash.type'='geohash',
+   * 'INDEX_HANDLER.mygeohash.sourcecolumns'='longitude, latitude',
+   * 'INDEX_HANDLER.mygeohash.gridSize'='50'
+   * 'INDEX_HANDLER.mygeohash.minLongitude'='0'
+   * 'INDEX_HANDLER.mygeohash.maxLongitude'='0'
+   * 'INDEX_HANDLER.mygeohash.minLatitude'='100'
+   * 'INDEX_HANDLER.mygeohash.maxLatitude'='100'
+   * 'INDEX_HANDLER.mygeohash.orilatitude''8')
 
 Review comment:
   No, I am not talking about comment. I am talking about whole file. This file 
cannot be the default implementation


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
ajantha-bhat commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357054630
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
 
 Review comment:
   I know it is not mandatory for user to have same point for first and last. 
But if user gives the first and last point as same, we need not have to handle 
it. code should handle both the sceneario


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564938170
 
 
   Build Failed with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1174/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564938040
 
 
   Build Failed  with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1183/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357059903
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
 
 Review comment:
   okay i will add check


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: 
add hash id create,query condition analyze and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#issuecomment-564944900
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1169/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 integration

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 
integration
URL: https://github.com/apache/carbondata/pull/3378#issuecomment-564944907
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1170/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] marchpure closed pull request #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
marchpure closed pull request #3507: [CARBONDATA-3617] loadDataUsingGlobalSort 
should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] marchpure opened a new pull request #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
marchpure opened a new pull request #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507
 
 
   … Instead Of Whole CarbonRow
   
   Modification reason: During loading Data usesing globalsort, the sortby 
processing is based the whole carbon row, the overhead of gc is huge when there 
are many columns. Theoretically, the sortby processing can works well just 
based on the sort columns, which will brings less time overhead and gc overhead.
   
   Modification content: In case of loadDataUsingGlobalSort, the first 
parameter of rdd.sortby is changed to CarbonRow.getKey from CarbonRow.getData. 
In CarbonRow.getKey, we get the sortcolumns of CarbonRow
   
   Be sure to do all of the following checklist to help us incorporate 
   your contribution quickly and easily:
   
- [ ] Any interfaces changed?

- [ ] Any backward compatibility impacted?

- [ ] Document update required?
   
- [ ] Testing done
   Please provide details on 
   - Whether new unit test cases have been added or why no new tests 
are required?
   - How it is tested? Please attach test report.
   - Is it a performance related change? Please attach the performance 
test report.
   - Any additional information to help reviewers in testing this 
change.
  
- [ ] For large changes, please consider breaking it into sub-tasks under 
an umbrella JIRA. 
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3224: [CARBONDATA-3379] thrift file-format support generate c++ code

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3224: [CARBONDATA-3379] thrift file-format 
support generate c++ code
URL: https://github.com/apache/carbondata/pull/3224#issuecomment-564955184
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1186/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3334: [HOTFIX]modify the code style as scala

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3334: [HOTFIX]modify the code style as scala
URL: https://github.com/apache/carbondata/pull/3334#issuecomment-564957647
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1185/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #1092: [CARBONDATA-1225] Create Table Failed for partition table having date and timestamp when format is not specified

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #1092: [CARBONDATA-1225] Create Table Failed 
for partition table having date and timestamp when format is not specified
URL: https://github.com/apache/carbondata/pull/1092#issuecomment-564958317
 
 
   Build Failed  with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1190/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3334: [HOTFIX]modify the code style as scala

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3334: [HOTFIX]modify the code style as scala
URL: https://github.com/apache/carbondata/pull/3334#issuecomment-564958264
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1176/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3224: [CARBONDATA-3379] thrift file-format support generate c++ code

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3224: [CARBONDATA-3379] thrift file-format 
support generate c++ code
URL: https://github.com/apache/carbondata/pull/3224#issuecomment-564960654
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1177/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564961214
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1171/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 integration

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 
integration
URL: https://github.com/apache/carbondata/pull/3378#issuecomment-564964648
 
 
   Build Failed with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1178/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
ajantha-bhat commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357093765
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry poly

[GitHub] [carbondata] ajantha-bhat commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
ajantha-bhat commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357094067
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry poly

[GitHub] [carbondata] CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: 
add hash id create,query condition analyze and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#issuecomment-564973322
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1187/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] ajantha-bhat opened a new pull request #3509: [WIP] Update query should throw exception if key has more than one value

2019-12-12 Thread GitBox
ajantha-bhat opened a new pull request #3509: [WIP] Update query should throw 
exception if key has more than one value
URL: https://github.com/apache/carbondata/pull/3509
 
 
   [WIP] Update query should throw exception if key has more than one value
   
   Be sure to do all of the following checklist to help us incorporate 
   your contribution quickly and easily:
   
- [ ] Any interfaces changed?

- [ ] Any backward compatibility impacted?

- [ ] Document update required?
   
- [ ] Testing done
   Please provide details on 
   - Whether new unit test cases have been added or why no new tests 
are required?
   - How it is tested? Please attach test report.
   - Is it a performance related change? Please attach the performance 
test report.
   - Any additional information to help reviewers in testing this 
change.
  
- [ ] For large changes, please consider breaking it into sub-tasks under 
an umbrella JIRA. 
   
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564979284
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1180/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: 
add hash id create,query condition analyze and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#issuecomment-564980600
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1179/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357116517
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
 
 Review comment:
   done


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3509: [WIP] Update query should throw exception if key has more than one value

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3509: [WIP] Update query should throw 
exception if key has more than one value
URL: https://github.com/apache/carbondata/pull/3509#issuecomment-564986449
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1172/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357118320
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry polygo

[GitHub] [carbondata] MarvinLitt commented on a change in pull request #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
MarvinLitt commented on a change in pull request #3481: 
[CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze 
and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#discussion_r357120857
 
 

 ##
 File path: geo/src/main/java/org/apache/carbondata/geo/QuadTreeCls.java
 ##
 @@ -0,0 +1,904 @@
+/*
+ * 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.carbondata.geo;
+
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.carbondata.common.logging.LogServiceFactory;
+
+import org.apache.log4j.Logger;
+
+import org.locationtech.jts.geom.Coordinate;
+import org.locationtech.jts.geom.Geometry;
+import org.locationtech.jts.geom.GeometryFactory;
+import org.locationtech.jts.geom.Point;
+import org.locationtech.jts.geom.Polygon;
+
+
+
+/**
+ * Spatial region function processing related classes
+ */
+class GeometryOperation {
+  private static final GeometryFactory geoFactory = new GeometryFactory();
+
+  /**
+   * Convert point object to polygon object in Geo
+   *
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByPointList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i).x, polygon.get(i).y);
+  }
+  rect[size] = new Coordinate(polygon.get(0).x, polygon.get(0).y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Convert point object to polygon object in Geo
+   * @param polygon Area coordinates stored as a list
+   * @return JTS Polygon objects
+   */
+  public static Polygon getPolygonByDoubleList(List polygon) {
+int size = polygon.size();
+if (size < 3) {
+  return null;
+} else {
+  Coordinate[] rect = new Coordinate[size + 1];
+  for (int i = 0; i < size; i++) {
+rect[i] = new Coordinate(polygon.get(i)[0], polygon.get(i)[1]);
+  }
+  double x = polygon.get(0)[0];
+  double y = polygon.get(0)[1];
+  rect[size] = new Coordinate(x, y);
+  return geoFactory.createPolygon(rect);
+}
+  }
+
+  /**
+   * Converting point objects to point objects in Geo
+   * @param pointB Point2D Point object
+   * @return JTS Point object
+   */
+  public static Point getPointByPoint2D(Point2D.Double pointB) {
+Coordinate point = new Coordinate(pointB.x, pointB.y);
+return geoFactory.createPoint(point);
+  }
+
+
+  /**
+   * Apart a and B do not intersect, a and B are polygons
+   * @param polygonA polygon
+   * @param polygonB polygon
+   * @return true Polygons apart,false Polygons are inseparable
+   */
+  public static boolean disjoint(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+boolean result  = polygonA.disjoint(polyB);
+return result;
+  }
+
+  /**
+   * A and B do not intersect each other, A is a polygon, B is a point
+   * @param polygonA polygon
+   * @param pointB point
+   * @return true Point away from polygon,false Points are inseparable from 
polygons
+   */
+  public static boolean disjoint(Geometry polygonA, Point2D.Double pointB) {
+Point pointGeo = getPointByPoint2D(pointB);
+boolean result = polygonA.disjoint(pointGeo);
+return result;
+  }
+
+  /**
+   * contains - A contains B Compare polygon a with polygon B
+   * @param polygonA  polygon
+   * @param polygonB  polygon
+   * @return 0 Polygon a contains polygon B (a = B or a > b),
+   *-1 Polygon a does not contain polygon B
+   */
+  public static boolean contains(Geometry polygonA, List 
polygonB) {
+Polygon polyB = getPolygonByPointList(polygonB);
+return polygonA.contains(polyB);
+  }
+
+
+  /**
+   * contains - A contains B Compare whether polygon a contains B
+   * @param polygonA  polygon
+   * @param pointB   point
+   * @return true Polygon a contains point B (B in a), false Polygon a does 
not contain point B
+   */
+  public static boolean contains(Geometry polygo

[GitHub] [carbondata] CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] loadDataUsingGlobalSort should based on SortColumns…

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3507: [CARBONDATA-3617] 
loadDataUsingGlobalSort should based on SortColumns…
URL: https://github.com/apache/carbondata/pull/3507#issuecomment-564989860
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1189/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: 
add hash id create,query condition analyze and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#issuecomment-564990626
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1173/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 integration

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 
integration
URL: https://github.com/apache/carbondata/pull/3378#issuecomment-564996443
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1188/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3509: [WIP] Update query should throw exception if key has more than one value

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3509: [WIP] Update query should throw 
exception if key has more than one value
URL: https://github.com/apache/carbondata/pull/3509#issuecomment-565010355
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1181/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: 
add hash id create,query condition analyze and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#issuecomment-565015715
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1182/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3509: [WIP] Update query should throw exception if key has more than one value

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3509: [WIP] Update query should throw 
exception if key has more than one value
URL: https://github.com/apache/carbondata/pull/3509#issuecomment-565019654
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1191/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: add hash id create,query condition analyze and generate hash id list

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3481: [CARBONDATA-3548]Geospatial Support: 
add hash id create,query condition analyze and generate hash id list
URL: https://github.com/apache/carbondata/pull/3481#issuecomment-565030368
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1192/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] zzcclp commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 integration

2019-12-12 Thread GitBox
zzcclp commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 
integration
URL: https://github.com/apache/carbondata/pull/3378#issuecomment-565088832
 
 
   retest this please


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 integration

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 
integration
URL: https://github.com/apache/carbondata/pull/3378#issuecomment-565103213
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1174/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global dictionary feature

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global 
dictionary feature
URL: https://github.com/apache/carbondata/pull/3502#issuecomment-565119643
 
 
   Build Failed  with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1195/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global dictionary feature

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global 
dictionary feature
URL: https://github.com/apache/carbondata/pull/3502#issuecomment-565120167
 
 
   Build Failed with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1185/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global dictionary feature

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global 
dictionary feature
URL: https://github.com/apache/carbondata/pull/3502#issuecomment-565120409
 
 
   Build Failed  with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1176/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 integration

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 
integration
URL: https://github.com/apache/carbondata/pull/3378#issuecomment-565125610
 
 
   Build Failed with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1183/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency conflict with Hadoop

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency 
conflict with Hadoop
URL: https://github.com/apache/carbondata/pull/3508#issuecomment-565125852
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1175/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 integration

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3378: [CARBONDATA-3514] Support Spark 2.4.4 
integration
URL: https://github.com/apache/carbondata/pull/3378#issuecomment-565140291
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1193/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency conflict with Hadoop

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency 
conflict with Hadoop
URL: https://github.com/apache/carbondata/pull/3508#issuecomment-565181607
 
 
   Build Failed with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1184/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency conflict with Hadoop

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3508: [HOTFIX] Solve GSON jar dependency 
conflict with Hadoop
URL: https://github.com/apache/carbondata/pull/3508#issuecomment-565182381
 
 
   Build Failed  with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1194/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global dictionary feature

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global 
dictionary feature
URL: https://github.com/apache/carbondata/pull/3502#issuecomment-565285328
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1177/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Created] (CARBONDATA-3618) Update query should throw exception if key has more than one value

2019-12-12 Thread Ajantha Bhat (Jira)
Ajantha Bhat created CARBONDATA-3618:


 Summary: Update query should throw exception if key has more than 
one value
 Key: CARBONDATA-3618
 URL: https://issues.apache.org/jira/browse/CARBONDATA-3618
 Project: CarbonData
  Issue Type: Bug
Reporter: Ajantha Bhat
Assignee: Ajantha Bhat


problem: Update query should throw exception if key has more than one value

cause : Currently update command is adding multiple entries of key instead of 
throwing exception when update result key has more than one value to replace.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [carbondata] asfgit closed pull request #3496: [CARBONDATA-3601] Show Segments displays wrong Index size for Partition table with Merge Index Enabled

2019-12-12 Thread GitBox
asfgit closed pull request #3496: [CARBONDATA-3601] Show Segments displays 
wrong Index size for Partition table with Merge Index Enabled
URL: https://github.com/apache/carbondata/pull/3496
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] asfgit closed pull request #3493: [CARBONDATA-3600] Fix creating mv timeseries UDF column as partition column

2019-12-12 Thread GitBox
asfgit closed pull request #3493: [CARBONDATA-3600] Fix creating mv timeseries 
UDF column as partition column
URL: https://github.com/apache/carbondata/pull/3493
 
 
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[jira] [Resolved] (CARBONDATA-3600) Fix creating mv timeseries UDF column as partition column

2019-12-12 Thread Ajantha Bhat (Jira)


 [ 
https://issues.apache.org/jira/browse/CARBONDATA-3600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ajantha Bhat resolved CARBONDATA-3600.
--
Fix Version/s: 2.0.0
   Resolution: Fixed

> Fix creating mv timeseries UDF column as partition column
> -
>
> Key: CARBONDATA-3600
> URL: https://issues.apache.org/jira/browse/CARBONDATA-3600
> Project: CarbonData
>  Issue Type: Bug
>Reporter: Indhumathi Muthumurugesh
>Priority: Minor
> Fix For: 2.0.0
>
>  Time Spent: 4h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (CARBONDATA-3601) Show Segments displays wrong Index size for Partition table with Merge Index Enabled

2019-12-12 Thread Ajantha Bhat (Jira)


 [ 
https://issues.apache.org/jira/browse/CARBONDATA-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ajantha Bhat resolved CARBONDATA-3601.
--
Fix Version/s: 2.0.0
   Resolution: Fixed

> Show Segments displays wrong Index size for Partition table with Merge Index 
> Enabled
> 
>
> Key: CARBONDATA-3601
> URL: https://issues.apache.org/jira/browse/CARBONDATA-3601
> Project: CarbonData
>  Issue Type: Bug
>Reporter: Indhumathi Muthumurugesh
>Priority: Major
> Fix For: 2.0.0
>
>  Time Spent: 4h 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global dictionary feature

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global 
dictionary feature
URL: https://github.com/apache/carbondata/pull/3502#issuecomment-565300689
 
 
   Build Failed with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1186/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3509: [CARBONDATA-3618] Update query should throw exception if key has more than one value

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3509: [CARBONDATA-3618] Update query should 
throw exception if key has more than one value
URL: https://github.com/apache/carbondata/pull/3509#issuecomment-565300961
 
 
   Build Success with Spark 2.2.1, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.2/1187/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global dictionary feature

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3502: [CARBONATA-3605][WIP] Remove global 
dictionary feature
URL: https://github.com/apache/carbondata/pull/3502#issuecomment-565301277
 
 
   Build Failed  with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1196/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3509: [CARBONDATA-3618] Update query should throw exception if key has more than one value

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3509: [CARBONDATA-3618] Update query should 
throw exception if key has more than one value
URL: https://github.com/apache/carbondata/pull/3509#issuecomment-565301741
 
 
   Build Success with Spark 2.1.0, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.1/1178/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] [carbondata] CarbonDataQA1 commented on issue #3509: [CARBONDATA-3618] Update query should throw exception if key has more than one value

2019-12-12 Thread GitBox
CarbonDataQA1 commented on issue #3509: [CARBONDATA-3618] Update query should 
throw exception if key has more than one value
URL: https://github.com/apache/carbondata/pull/3509#issuecomment-565304318
 
 
   Build Success with Spark 2.3.4, Please check CI 
http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/1197/
   


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services