Exemplo n.º 1
0
        public override EventAdvancedIndexProvisionDesc ValidateEventIndex(
            string indexName,
            string indexTypeName,
            ExprNode[] columns,
            ExprNode[] parameters)
        {
            AdvancedIndexValidationHelper.ValidateColumnCount(4, indexTypeName, columns.Length);
            AdvancedIndexValidationHelper.ValidateColumnReturnTypeNumber(indexTypeName, 0, columns[0], AdvancedIndexQuadTreeConstants.COL_X);
            AdvancedIndexValidationHelper.ValidateColumnReturnTypeNumber(indexTypeName, 1, columns[1], AdvancedIndexQuadTreeConstants.COL_Y);
            AdvancedIndexValidationHelper.ValidateColumnReturnTypeNumber(indexTypeName, 2, columns[2], AdvancedIndexQuadTreeConstants.COL_WIDTH);
            AdvancedIndexValidationHelper.ValidateColumnReturnTypeNumber(indexTypeName, 3, columns[3], AdvancedIndexQuadTreeConstants.COL_HEIGHT);

            ValidateParameters(indexTypeName, parameters);

            var indexDesc             = new AdvancedIndexDesc(indexTypeName, columns);
            var xEval                 = indexDesc.IndexedExpressions[0].ExprEvaluator;
            var yEval                 = indexDesc.IndexedExpressions[1].ExprEvaluator;
            var widthEval             = indexDesc.IndexedExpressions[2].ExprEvaluator;
            var heightEval            = indexDesc.IndexedExpressions[3].ExprEvaluator;
            var indexStatementConfigs = new AdvancedIndexConfigStatementMXCIFQuadtree(xEval, yEval, widthEval, heightEval);

            return(new EventAdvancedIndexProvisionDesc(
                       indexDesc, ExprNodeUtility.GetEvaluators(parameters),
                       EventAdvancedIndexFactoryQuadTreeMXCIF.INSTANCE,
                       indexStatementConfigs));
        }
Exemplo n.º 2
0
 public EventAdvancedIndexProvisionDesc(AdvancedIndexDesc indexDesc, ExprEvaluator[] parameters,
     EventAdvancedIndexFactory factory, EventAdvancedIndexConfigStatement configStatement)
 {
     IndexDesc = indexDesc;
     Parameters = parameters;
     Factory = factory;
     ConfigStatement = configStatement;
 }
 public AdvancedIndexConfigContextPartition ConfigureContextPartition(
     EventType eventType,
     AdvancedIndexDesc indexDesc,
     ExprEvaluator[] parameters,
     ExprEvaluatorContext exprEvaluatorContext,
     EventTableOrganization organization,
     EventAdvancedIndexConfigStatement advancedIndexConfigStatement)
 {
     return(AdvancedIndexFactoryProviderQuadTree.ConfigureQuadTree(organization.IndexName, parameters, exprEvaluatorContext));
 }
        public override EventAdvancedIndexProvisionDesc ValidateEventIndex(
            string indexName, string indexTypeName, ExprNode[] columns, ExprNode[] parameters)
        {
            AdvancedIndexValidationHelper.ValidateColumnCount(2, indexTypeName, columns.Length);
            AdvancedIndexValidationHelper.ValidateColumnReturnTypeNumber(indexTypeName, 0, columns[0], AdvancedIndexQuadTreeConstants.COL_X);
            AdvancedIndexValidationHelper.ValidateColumnReturnTypeNumber(indexTypeName, 1, columns[1], AdvancedIndexQuadTreeConstants.COL_Y);

            ValidateParameters(indexTypeName, parameters);

            var           indexDesc             = new AdvancedIndexDesc(indexTypeName, columns);
            ExprEvaluator xEval                 = indexDesc.IndexedExpressions[0].ExprEvaluator;
            ExprEvaluator yEval                 = indexDesc.IndexedExpressions[1].ExprEvaluator;
            var           indexStatementConfigs = new AdvancedIndexConfigStatementPointRegionQuadtree(xEval, yEval);

            return(new EventAdvancedIndexProvisionDesc(
                       indexDesc, ExprNodeUtility.GetEvaluators(parameters),
                       EventAdvancedIndexFactoryQuadTreePointRegion.INSTANCE,
                       indexStatementConfigs));
        }