当前位置: 首页>>代码示例>>Java>>正文


Java QueryProvider类代码示例

本文整理汇总了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);
        }
    };
}
 
开发者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


注:本文中的org.apache.calcite.linq4j.QueryProvider类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。