本文整理汇总了Java中org.apache.calcite.linq4j.QueryProvider类的典型用法代码示例。如果您正苦于以下问题:Java QueryProvider类的具体用法?Java QueryProvider怎么用?Java QueryProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
QueryProvider类属于org.apache.calcite.linq4j包,在下文中一共展示了QueryProvider类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
@Override
public Queryable<Integer> asQueryable(QueryProvider queryProvider, SchemaPlus schemaPlus, String tableName) {
return new AbstractTableQueryable<Integer>(queryProvider, schemaPlus, this, tableName) {
@Override
public Enumerator<Integer> enumerator() {
FluentIterable<Integer> it = FluentIterable
.from(classesList.getClasses())
.transformAndConcat(
new Function<IClass, Iterable<Integer>>() {
@Override
public Iterable<Integer> apply(IClass input) {
try {
return Ints.asList(input
.getObjectIds());
} catch (SnapshotException e) {
e.printStackTrace();
return Collections.emptyList();
}
}
});
return Linq4j.iterableEnumerator(it);
}
};
}
示例2: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
@Override
public Queryable<Object[]> asQueryable(QueryProvider queryProvider, SchemaPlus schemaPlus, String tableName) {
return new AbstractTableQueryable<Object[]>(queryProvider, schemaPlus, this, tableName) {
@Override
public Enumerator<Object[]> enumerator() {
FluentIterable<Object[]> it = FluentIterable
.from(references)
.transform(new Function<NamedReference, Object[]>() {
@Nullable
@Override
public Object[] apply(@Nullable NamedReference namedReference) {
HeapReference ref = null;
try {
ref = HeapReference.valueOf(namedReference.getObject());
} catch (SnapshotException e) {
e.printStackTrace();
}
return new Object[]{namedReference.getName(), ref};
}
});
return Linq4j.iterableEnumerator(it);
}
};
}
示例3: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
public <T> Queryable<T> asQueryable(final QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
return new AbstractQueryable<T>() {
public Type getElementType() {
return elementType;
}
public Expression getExpression() {
return expression;
}
public QueryProvider getProvider() {
return queryProvider;
}
public Iterator<T> iterator() {
//noinspection unchecked
return list.iterator();
}
public Enumerator<T> enumerator() {
//noinspection unchecked
return Linq4j.enumerator(list);
}
};
}
示例4: oneThreePlus
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
private static QueryableTable oneThreePlus(String s) {
List<Integer> items;
// Argument is null in case SQL contains function call with expression.
// Then the engine calls a function with null arguments to get getRowType.
if (s == null) {
items = ImmutableList.of();
} else {
Integer latest = Integer.parseInt(s.substring(1, s.length() - 1));
items = ImmutableList.of(1, 3, latest);
}
final Enumerable<Integer> enumerable = Linq4j.asEnumerable(items);
return new AbstractQueryableTable(Integer.class) {
public <E> Queryable<E> asQueryable(
QueryProvider queryProvider, SchemaPlus schema, String tableName) {
//noinspection unchecked
return (Queryable<E>) enumerable.asQueryable();
}
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
return typeFactory.builder().add("c", SqlTypeName.INTEGER).build();
}
};
}
示例5: processCursor
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
/**
* A function that adds a number to the first column of input cursor
*/
public static QueryableTable processCursor(final int offset,
final Enumerable<Object[]> a) {
return new AbstractQueryableTable(Object[].class) {
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
return typeFactory.builder()
.add("result", SqlTypeName.INTEGER)
.build();
}
public <T> Queryable<T> asQueryable(QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
final Enumerable<Integer> enumerable =
a.select(new Function1<Object[], Integer>() {
public Integer apply(Object[] a0) {
return offset + ((Integer) a0[0]);
}
});
//noinspection unchecked
return (Queryable) enumerable.asQueryable();
}
};
}
示例6: processCursors
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
/**
* A function that sums the second column of first input cursor, second
* column of first input and the given int.
*/
public static QueryableTable processCursors(final int offset,
final Enumerable<Object[]> a, final Enumerable<IntString> b) {
return new AbstractQueryableTable(Object[].class) {
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
return typeFactory.builder()
.add("result", SqlTypeName.INTEGER)
.build();
}
public <T> Queryable<T> asQueryable(QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
final Enumerable<Integer> enumerable =
a.zip(b, new Function2<Object[], IntString, Integer>() {
public Integer apply(Object[] v0, IntString v1) {
return ((Integer) v0[1]) + v1.n + offset;
}
});
//noinspection unchecked
return (Queryable) enumerable.asQueryable();
}
};
}
示例7: testQueryProviderSingleColumn
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
@Test public void testQueryProviderSingleColumn() throws Exception {
Connection connection = CalciteAssert
.that(CalciteAssert.Config.REGULAR).connect();
QueryProvider queryProvider = connection.unwrap(QueryProvider.class);
ParameterExpression e = Expressions.parameter(Employee.class, "e");
// "Enumerable<T> asEnumerable(final T[] ts)"
List<Integer> list =
queryProvider.createQuery(
Expressions.call(
Expressions.call(
Types.of(Enumerable.class, Employee.class),
null,
LINQ4J_AS_ENUMERABLE_METHOD,
Expressions.constant(new JdbcTest.HrSchema().emps)),
"asQueryable"),
Employee.class)
.select(
Expressions.<Function1<Employee, Integer>>lambda(
Expressions.field(e, "empid"),
e))
.toList();
assertEquals(Arrays.asList(100, 200, 150, 110), list);
}
示例8: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
public <T> Queryable<T> asQueryable(QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
return new AbstractTableQueryable<T>(queryProvider, schema, this,
tableName) {
@SuppressWarnings(value = "unchecked")
public Enumerator<T> enumerator() {
return (Enumerator<T>) MetadataTable.this.enumerator(
((CalciteConnectionImpl) queryProvider).meta());
}
};
}
示例9: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
public <T> Queryable<T> asQueryable(final QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
return new AbstractTableQueryable<T>(queryProvider, schema, this,
tableName) {
@SuppressWarnings("unchecked")
public Enumerator<T> enumerator() {
return null;
}
};
}
示例10: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
@Override
public <T> Queryable<T> asQueryable(QueryProvider queryProvider, SchemaPlus schema, String tableName) {
return new AbstractTableQueryable<T>(queryProvider, schema, this, tableName) {
@SuppressWarnings("unchecked")
public Enumerator<T> enumerator() {
final OLAPQuery query = new OLAPQuery(EnumeratorTypeEnum.OLAP, 0);
return (Enumerator<T>) query.enumerator();
}
};
}
示例11: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public <T> Queryable<T> asQueryable(QueryProvider queryProvider, SchemaPlus schemaPlus, String s) {
BaseQueryable<HeapReference> queryable = new BaseQueryable<HeapReference>(null, HeapReference.class, null) {
@Override
public Enumerator<HeapReference> enumerator() {
return Linq4j.enumerator(references);
}
};
return (Queryable<T>) queryable;
}
示例12: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
public <T> Queryable<T> asQueryable(QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
return new AbstractTableQueryable<T>(queryProvider, schema, this,
tableName) {
public Enumerator<T> enumerator() {
//noinspection unchecked
return (Enumerator<T>) Linq4j.enumerator(rows);
}
};
}
示例13: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
public <T> Queryable<T> asQueryable(QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
return new AbstractTableQueryable<T>(queryProvider, schema, this,
tableName) {
@SuppressWarnings("unchecked")
public Enumerator<T> enumerator() {
return (Enumerator<T>) MetadataTable.this.enumerator(
((CalciteConnectionImpl) queryProvider).meta());
}
};
}
示例14: asQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
public <T> Queryable<T> asQueryable(QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
return new AbstractTableQueryable<T>(queryProvider, schema, this,
tableName) {
@SuppressWarnings("unchecked")
public Enumerator<T> enumerator() {
return (Enumerator<T>) enumerable.enumerator();
}
};
}
示例15: createCloneTable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
private Table createCloneTable(QueryProvider queryProvider,
QueryableTable sourceTable, String name) {
final Queryable<Object> queryable =
sourceTable.asQueryable(queryProvider, sourceSchema, name);
final JavaTypeFactory typeFactory =
((CalciteConnection) queryProvider).getTypeFactory();
return createCloneTable(typeFactory, Schemas.proto(sourceTable),
ImmutableList.<RelCollation>of(), null, queryable);
}