Skip to content

Conversation

@phiiaz
Copy link

@phiiaz phiiaz commented Jan 5, 2015

No description provided.

ammarbakeer and others added 13 commits November 25, 2014 16:01
- Created "GlobalIndex.java" class which implements "CatalogObject.java".
- Implemented "CatalogObject.java" methods and added new methods for "GlobalIndex.java" class.
- Created "GlobalIndexRecord.java" class to hold information about a single global index record.
- Updated "CatalogObjects.thrift" to add a new catalog object type "GLOBAL_INDEX".
- Added a reference to "GlobalIndex.java" instance in "Table.java" catalog object class.
- Added a method to get that instance and to call the loading of the GlobalIndex from HDFS file path.
- Updated method analyze() in "CreateTableStmt.java" to handle GI path.
- Used "HdfsUri.java" to analyze the path.
- Created thrift structs: "TGlobalIndex", "TGlobalIndexRecord" and "TRectangle".
- Handled the mapping between the java classes and the thrift structs.
- Added methods "toThrift()" and "fromThrift()" to related java classes.
- Added "TGlobalIndex" to "TTable" as an optional instance.
- Handled transfroming "GlobalIndex" to thrift in "Table.java".
- Handled transforming "TGlobalIndex" to "GlobalIndex" in "Table.java".
- Added method "loadGlobalIndex()" which loads the global index records provided the path of the file.
- Handled returning loaded GlobalIndex to the Table.
- Handled logging errors in case of a failure while parsing the file.
- Created class "SpatialHdfsTable.java" to hold GlobalIndex if the Hdfs table is Spatial.
- Removed any reference in "Table.java" of "GlobalIndex".
- Handled creating "SpatialHdfsTable.java" in case the table is Hdfs table and Spatial.
- "SpatialHdfsTable" extends "HdfsTable" class and overrides methods "toThrift()" and "loadFromThrift()".
- Added logging while loading the global index file.
- Handled returning null in case the global index has errors in SpatialHdfsTable while loading from thrift object.
- Added needed keywords to "sql-parser.y" and "sql-scanner.flex".
- Created "SpatialPointInclusionStmt" to represent the new spatial query statement.
- Handled parsing Rectangle as an object in "sql-parser.y".
- Handled parsing the new spatial statement in "sql-parser.y".
- Added "toString()" method to "Rectangle.java" to be used in "SpatialPointInclusionStmt".
- Handled analysis phase for "SpatialPointInclusionStmt".
- Handled checking for table existence, table being spatial.
- Handled checking for table containing GlobalIndex and containing required columns.
- Updated "GlobalIndex" and "Rectangle" to return overlapping records with the provided Rectangle.
- Changed modifier of both "SelectStmt" and "SelectListItem" to be used inside the new statement.
- Added getters to "x1, y1, x2 and y2" to be used inside the point inclusion statement.
- Updated "SpatialPointInclusionStmt" to return the "SelectStmt" and it will be only available after analysis.
- Handled creating "SelectStmt" providing the table reference, select list and where predicates.
- Handled creating where predicate for "SelectStmt" with no global index overlapping.
- Handled creating where predicate using the overlapping global indexes and the boundaries of the provided "Recatngle".
- Updated "AnalysisContext" to handle "SpatialPointInclusionStmt".
- Added logging to "GlobalIndex" while checking for overlapping records.
- Updated "overlaps()" method in "Rectangle" to be consistent with the "GlobalIndex" record.
- Updated the where predicates in "SpatialPointInclusionStmt" to be consistent with the "GlobalIndex" records.
- Tested the point inclusion statement on a partitioned spatial table.
- Tested the statement in cases of rectangles out of the partitions, overlaps only one partition and overlaps two or more partitions.
1) Adding point class
2) Adding thrift point class
3) Adding KNN spatial stmt
4) Editting Global index
5) Editting Sql parser and scanner
6) Editting Analysis context
@phiiaz phiiaz assigned phiiaz and mostafaelganainy and unassigned phiiaz Jan 5, 2015
root added 2 commits January 5, 2015 19:39
Running Knn query with format:
LOAD POINTS FROM TABLE [table_name] KNN [point(x,y)] WITH_K [k] WITH_DIST [distance equation/UDF]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants