Java Code Examples for org.apache.kylin.metadata.filter.TupleFilter.FilterOperatorEnum#EQ
The following examples show how to use
org.apache.kylin.metadata.filter.TupleFilter.FilterOperatorEnum#EQ .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: DerivedFilterTranslator.java From kylin-on-parquet-v2 with Apache License 2.0 | 6 votes |
private static TupleFilter buildInFilter(TblColRef[] hostCols, Set<Array<String>> satisfyingHostRecords) { if (satisfyingHostRecords.size() == 0) { return ConstantTupleFilter.FALSE; } int hn = hostCols.length; if (hn == 1) { CompareTupleFilter in = new CompareTupleFilter(FilterOperatorEnum.IN); in.addChild(new ColumnTupleFilter(hostCols[0])); in.addChild(new ConstantTupleFilter(asValues(satisfyingHostRecords))); return in; } else { LogicalTupleFilter or = new LogicalTupleFilter(FilterOperatorEnum.OR); for (Array<String> rec : satisfyingHostRecords) { LogicalTupleFilter and = new LogicalTupleFilter(FilterOperatorEnum.AND); for (int i = 0; i < hn; i++) { CompareTupleFilter eq = new CompareTupleFilter(FilterOperatorEnum.EQ); eq.addChild(new ColumnTupleFilter(hostCols[i])); eq.addChild(new ConstantTupleFilter(rec.data[i])); and.addChild(eq); } or.addChild(and); } return or; } }
Example 2
Source File: GTCubeStorageQueryBase.java From kylin-on-parquet-v2 with Apache License 2.0 | 6 votes |
protected Set<CompareTupleFilter> findSingleValuesCompFilters(TupleFilter filter) { Collection<? extends TupleFilter> toCheck; if (filter instanceof CompareTupleFilter) { toCheck = Collections.singleton(filter); } else if (filter instanceof LogicalTupleFilter && filter.getOperator() == FilterOperatorEnum.AND) { toCheck = filter.getChildren(); } else { return Collections.emptySet(); } Set<CompareTupleFilter> result = Sets.newHashSet(); for (TupleFilter f : toCheck) { if (f instanceof CompareTupleFilter) { CompareTupleFilter compFilter = (CompareTupleFilter) f; // is COL=const ? if (compFilter.getOperator() == FilterOperatorEnum.EQ && compFilter.getValues().size() == 1 && compFilter.getColumn() != null) { result.add(compFilter); } } } return result; }
Example 3
Source File: DerivedFilterTranslator.java From kylin with Apache License 2.0 | 6 votes |
private static TupleFilter buildInFilter(TblColRef[] hostCols, Set<Array<String>> satisfyingHostRecords) { if (satisfyingHostRecords.size() == 0) { return ConstantTupleFilter.FALSE; } int hn = hostCols.length; if (hn == 1) { CompareTupleFilter in = new CompareTupleFilter(FilterOperatorEnum.IN); in.addChild(new ColumnTupleFilter(hostCols[0])); in.addChild(new ConstantTupleFilter(asValues(satisfyingHostRecords))); return in; } else { LogicalTupleFilter or = new LogicalTupleFilter(FilterOperatorEnum.OR); for (Array<String> rec : satisfyingHostRecords) { LogicalTupleFilter and = new LogicalTupleFilter(FilterOperatorEnum.AND); for (int i = 0; i < hn; i++) { CompareTupleFilter eq = new CompareTupleFilter(FilterOperatorEnum.EQ); eq.addChild(new ColumnTupleFilter(hostCols[i])); eq.addChild(new ConstantTupleFilter(rec.data[i])); and.addChild(eq); } or.addChild(and); } return or; } }
Example 4
Source File: GTCubeStorageQueryBase.java From kylin with Apache License 2.0 | 6 votes |
protected Set<CompareTupleFilter> findSingleValuesCompFilters(TupleFilter filter) { Collection<? extends TupleFilter> toCheck; if (filter instanceof CompareTupleFilter) { toCheck = Collections.singleton(filter); } else if (filter instanceof LogicalTupleFilter && filter.getOperator() == FilterOperatorEnum.AND) { toCheck = filter.getChildren(); } else { return Collections.emptySet(); } Set<CompareTupleFilter> result = Sets.newHashSet(); for (TupleFilter f : toCheck) { if (f instanceof CompareTupleFilter) { CompareTupleFilter compFilter = (CompareTupleFilter) f; // is COL=const ? if (compFilter.getOperator() == FilterOperatorEnum.EQ && compFilter.getValues().size() == 1 && compFilter.getColumn() != null) { result.add(compFilter); } } } return result; }
Example 5
Source File: DerivedFilterTranslator.java From Kylin with Apache License 2.0 | 6 votes |
private static TupleFilter buildInFilter(TblColRef[] hostCols, Set<Array<String>> satisfyingHostRecords) { if (satisfyingHostRecords.size() == 0) { return ConstantTupleFilter.FALSE; } int hn = hostCols.length; if (hn == 1) { CompareTupleFilter in = new CompareTupleFilter(FilterOperatorEnum.IN); in.addChild(new ColumnTupleFilter(hostCols[0])); in.addChild(new ConstantTupleFilter(asValues(satisfyingHostRecords))); return in; } else { LogicalTupleFilter or = new LogicalTupleFilter(FilterOperatorEnum.OR); for (Array<String> rec : satisfyingHostRecords) { LogicalTupleFilter and = new LogicalTupleFilter(FilterOperatorEnum.AND); for (int i = 0; i < hn; i++) { CompareTupleFilter eq = new CompareTupleFilter(FilterOperatorEnum.EQ); eq.addChild(new ColumnTupleFilter(hostCols[i])); eq.addChild(new ConstantTupleFilter(rec.data[i])); and.addChild(eq); } or.addChild(and); } return or; } }
Example 6
Source File: TupleFilterTest.java From kylin-on-parquet-v2 with Apache License 2.0 | 5 votes |
private TupleFilter createEQFilter(String colName, String colVal) { CompareTupleFilter compareTupleFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); compareTupleFilter .addChild(new ColumnTupleFilter(TblColRef.newInnerColumn(colName, InnerDataTypeEnum.LITERAL))); compareTupleFilter.addChild(new ConstantTupleFilter(colVal)); return compareTupleFilter; }
Example 7
Source File: FilterBaseTest.java From kylin-on-parquet-v2 with Apache License 2.0 | 5 votes |
protected CompareTupleFilter buildCompareCaseFilter(List<TblColRef> groups, String constValue) { CompareTupleFilter compareFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); CaseTupleFilter caseFilter = buildCaseFilter(groups); compareFilter.addChild(caseFilter); ConstantTupleFilter constantFilter = new ConstantTupleFilter(constValue); compareFilter.addChild(constantFilter); return compareFilter; }
Example 8
Source File: TupleFilterTest.java From kylin with Apache License 2.0 | 5 votes |
private TupleFilter createEQFilter(String colName, String colVal) { CompareTupleFilter compareTupleFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); compareTupleFilter .addChild(new ColumnTupleFilter(TblColRef.newInnerColumn(colName, InnerDataTypeEnum.LITERAL))); compareTupleFilter.addChild(new ConstantTupleFilter(colVal)); return compareTupleFilter; }
Example 9
Source File: FilterBaseTest.java From kylin with Apache License 2.0 | 5 votes |
protected CompareTupleFilter buildCompareCaseFilter(List<TblColRef> groups, String constValue) { CompareTupleFilter compareFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); CaseTupleFilter caseFilter = buildCaseFilter(groups); compareFilter.addChild(caseFilter); ConstantTupleFilter constantFilter = new ConstantTupleFilter(constValue); compareFilter.addChild(constantFilter); return compareFilter; }
Example 10
Source File: OLAPFilterRel.java From Kylin with Apache License 2.0 | 5 votes |
private CompareTupleFilter mergeToInClause(TupleFilter filter) { List<? extends TupleFilter> children = filter.getChildren(); TblColRef inColumn = null; List<String> inValues = new LinkedList<String>(); for (TupleFilter child : children) { if (child.getOperator() == FilterOperatorEnum.EQ) { CompareTupleFilter compFilter = (CompareTupleFilter) child; TblColRef column = compFilter.getColumn(); if (inColumn == null) { inColumn = column; } if (column == null || !column.equals(inColumn)) { return null; } inValues.addAll(compFilter.getValues()); } else { return null; } } children.clear(); CompareTupleFilter inFilter = new CompareTupleFilter(FilterOperatorEnum.IN); inFilter.addChild(new ColumnTupleFilter(inColumn)); inFilter.addChild(new ConstantTupleFilter(inValues)); return inFilter; }
Example 11
Source File: CubeStorageEngine.java From Kylin with Apache License 2.0 | 5 votes |
@SuppressWarnings("unchecked") private Set<TblColRef> findSingleValueColumns(TupleFilter filter) { Collection<? extends TupleFilter> toCheck; if (filter instanceof CompareTupleFilter) { toCheck = Collections.singleton(filter); } else if (filter instanceof LogicalTupleFilter && filter.getOperator() == FilterOperatorEnum.AND) { toCheck = filter.getChildren(); } else { return (Set<TblColRef>) Collections.EMPTY_SET; } Set<TblColRef> result = Sets.newHashSet(); for (TupleFilter f : toCheck) { if (f instanceof CompareTupleFilter) { CompareTupleFilter compFilter = (CompareTupleFilter) f; // is COL=const ? if (compFilter.getOperator() == FilterOperatorEnum.EQ && compFilter.getValues().size() == 1 && compFilter.getColumn() != null) { result.add(compFilter.getColumn()); } } } // expand derived Set<TblColRef> resultD = Sets.newHashSet(); for (TblColRef col : result) { if (cubeDesc.isDerived(col)) { DeriveInfo hostInfo = cubeDesc.getHostInfo(col); if (hostInfo.isOneToOne) { for (TblColRef hostCol : hostInfo.columns) { resultD.add(hostCol); } } //if not one2one, it will be pruned } else { resultD.add(col); } } return resultD; }
Example 12
Source File: StorageTest.java From Kylin with Apache License 2.0 | 5 votes |
private CompareTupleFilter buildFilter1(TblColRef column) { CompareTupleFilter compareFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); ColumnTupleFilter columnFilter1 = new ColumnTupleFilter(column); compareFilter.addChild(columnFilter1); ConstantTupleFilter constantFilter1 = new ConstantTupleFilter("2013-03-10"); compareFilter.addChild(constantFilter1); return compareFilter; }
Example 13
Source File: StorageTest.java From Kylin with Apache License 2.0 | 5 votes |
private CompareTupleFilter buildFilter2(TblColRef column) { CompareTupleFilter compareFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); ColumnTupleFilter columnFilter2 = new ColumnTupleFilter(column); compareFilter.addChild(columnFilter2); ConstantTupleFilter constantFilter2 = new ConstantTupleFilter("ClothinShoes & Accessories"); compareFilter.addChild(constantFilter2); return compareFilter; }
Example 14
Source File: FilterBaseTest.java From Kylin with Apache License 2.0 | 5 votes |
protected CompareTupleFilter buildCompareFilter(List<TblColRef> groups, int index) { TblColRef column = groups.get(index); CompareTupleFilter compareFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); ColumnTupleFilter columnFilter = new ColumnTupleFilter(column); compareFilter.addChild(columnFilter); ConstantTupleFilter constantFilter = null; if (index == 0) { constantFilter = new ConstantTupleFilter("2013-03-10"); } else if (index == 1) { constantFilter = new ConstantTupleFilter("ClothinShoes & Accessories"); } compareFilter.addChild(constantFilter); return compareFilter; }
Example 15
Source File: FilterBaseTest.java From Kylin with Apache License 2.0 | 5 votes |
protected CompareTupleFilter buildCompareCaseFilter(List<TblColRef> groups, String constValue) { CompareTupleFilter compareFilter = new CompareTupleFilter(FilterOperatorEnum.EQ); CaseTupleFilter caseFilter = buildCaseFilter(groups); compareFilter.addChild(caseFilter); ConstantTupleFilter constantFilter = new ConstantTupleFilter(constValue); compareFilter.addChild(constantFilter); return compareFilter; }