本文整理汇总了Java中org.apache.calcite.linq4j.QueryProvider类的典型用法代码示例。如果您正苦于以下问题:Java QueryProvider类的具体用法?Java QueryProvider怎么用?Java QueryProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
QueryProvider类属于org.apache.calcite.linq4j包,在下文中一共展示了QueryProvider类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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);
}
};
}
开发者ID:vlsi,项目名称:mat-calcite-plugin,代码行数:26,代码来源:InstanceIdsByClassTable.java
示例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);
}
};
}
开发者ID:vlsi,项目名称:mat-calcite-plugin,代码行数:26,代码来源:OutboundReferencesTable.java
示例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);
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:27,代码来源:ListTable.java
示例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();
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:24,代码来源:Smalls.java
示例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();
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:26,代码来源:Smalls.java
示例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();
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:27,代码来源:Smalls.java
示例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);
}
开发者ID:apache,项目名称:calcite,代码行数:25,代码来源:ReflectiveSchemaTest.java
示例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());
}
};
}
开发者ID:bitnine-oss,项目名称:octopus,代码行数:12,代码来源:CalciteMetaImpl.java
示例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;
}
};
}
开发者ID:qubole,项目名称:quark,代码行数:11,代码来源:QuarkViewTable.java
示例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();
}
};
}
开发者ID:apache,项目名称:kylin,代码行数:11,代码来源:OLAPTable.java
示例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;
}
开发者ID:vlsi,项目名称:mat-calcite-plugin,代码行数:12,代码来源:TableFunctions.java
示例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);
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:SqlCreateTable.java
示例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());
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:12,代码来源:CalciteMetaImpl.java
示例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();
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:ReflectiveSchema.java
示例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);
}
开发者ID:apache,项目名称:calcite,代码行数:10,代码来源:CloneSchema.java
示例16: 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() {
final Content content = supplier.get();
return content.enumerator();
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:12,代码来源:ArrayTable.java
示例17: AbstractTableQueryable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
public AbstractTableQueryable(QueryProvider queryProvider,
SchemaPlus schema, QueryableTable table, String tableName) {
this.queryProvider = queryProvider;
this.schema = schema;
this.table = table;
this.tableName = tableName;
}
开发者ID:apache,项目名称:calcite,代码行数:8,代码来源:AbstractTableQueryable.java
示例18: 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>) RangeTable.this.enumerator();
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:RangeTable.java
示例19: 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(list);
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:11,代码来源:SqlCreateTable.java
示例20: multiplicationTable
import org.apache.calcite.linq4j.QueryProvider; //导入依赖的package包/类
/** A function that generates multiplication table of {@code ncol} columns x
* {@code nrow} rows. */
public static QueryableTable multiplicationTable(final int ncol,
final int nrow, Integer offset) {
final int offs = offset == null ? 0 : offset;
return new AbstractQueryableTable(Object[].class) {
public RelDataType getRowType(RelDataTypeFactory typeFactory) {
final RelDataTypeFactory.Builder builder = typeFactory.builder();
builder.add("row_name", typeFactory.createJavaType(String.class));
final RelDataType int_ = typeFactory.createJavaType(int.class);
for (int i = 1; i <= ncol; i++) {
builder.add("c" + i, int_);
}
return builder.build();
}
public Queryable<Object[]> asQueryable(QueryProvider queryProvider,
SchemaPlus schema, String tableName) {
final List<Object[]> table = new AbstractList<Object[]>() {
@Override public Object[] get(int index) {
Object[] cur = new Object[ncol + 1];
cur[0] = "row " + index;
for (int j = 1; j <= ncol; j++) {
cur[j] = j * (index + 1) + offs;
}
return cur;
}
@Override public int size() {
return nrow;
}
};
return Linq4j.asEnumerable(table).asQueryable();
}
};
}
开发者ID:apache,项目名称:calcite,代码行数:37,代码来源:Smalls.java
注:本文中的org.apache.calcite.linq4j.QueryProvider类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论