You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Till (JIRA)" <ji...@apache.org> on 2018/10/11 23:07:01 UTC
[jira] [Updated] (ASTERIXDB-2389) Integrate new ESRI-based spatial
support with R-Trees
[ https://issues.apache.org/jira/browse/ASTERIXDB-2389?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Till updated ASTERIXDB-2389:
----------------------------
Fix Version/s: (was: 0.9.4)
0.9.5
> Integrate new ESRI-based spatial support with R-Trees
> -----------------------------------------------------
>
> Key: ASTERIXDB-2389
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2389
> Project: Apache AsterixDB
> Issue Type: Improvement
> Components: COMP - Compiler, DOC - Documentation, IDX - Indexes, MTD - Metadata, SQL - Translator SQL++, STO - Storage, TYPE - Data Model
> Affects Versions: 0.9.4
> Reporter: Michael J. Carey
> Assignee: Ahmed Eldawy
> Priority: Major
> Fix For: 0.9.5
>
> Original Estimate: 672h
> Remaining Estimate: 672h
>
> This is the starting point in the codebase to add geometry type to RTree index.
>
> *Index creation:*
> QueryTranslator.java
> - handleCreateIndexStatement()
> - validateIndexKeyFields() : checks the key field type
> - ValidateUtil.validateKeyFields()
> case RTREE:
> switch (fieldType.getTypeTag()) {
> case POINT:
> case LINE:
> case RECTANGLE:
> case CIRCLE:
> case POLYGON:
> case UNION:
> break;
> default:
> throw new AsterixException("The field \"" + fieldName + "\" which is of type "
> + fieldType.getTypeTag() + " cannot be indexed using the RTree index.");
> }
> break;
>
> - doCreateIndex
> - IndexUtil.buildSecondaryIndexCreationJobSpec()
> - SecondaryIndexOperationsHelper.createIndexOperationsHelper()
> - case RTREE:
> indexOperationsHelper =
> new SecondaryRTreeOperationsHelper(dataset, index, physOptConf, metadataProvider);
> break;
> - runJob(hcc, spec, jobFlags);
>
>
> For picking an index, the RTree relevant class is RTreeAccessMethod.
>
> *Index pick during a query:*
> IntroduceSelectAccessMethodRule.java: select access transformation
> IntroduceJoinAccessMethodRule.java: join access transformation
> RTreeAccessMethod: specific to RTree
> - FUNC_IDENTIFIERS has a list of supported functions.
> - createIndexSearchPlan: creates an MBR for the search predicate - currently for "spatial_intersect" function only
> - So, for each function that you want to support, you need to generate a suitable MBR that can generate a candidate set
> of the actual answer.
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)