public final class Schemas
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
private static class |
Schemas.DummyDataContext
Dummy data context that has no variables.
|
private static class |
Schemas.PathImpl
Implementation of
Path . |
Modifier | Constructor and Description |
---|---|
private |
Schemas() |
Modifier and Type | Method and Description |
---|---|
static CalcitePrepare.AnalyzeViewResult |
analyzeView(CalciteConnection connection,
CalciteSchema schema,
java.util.List<java.lang.String> schemaPath,
java.lang.String viewSql,
java.util.List<java.lang.String> viewPath,
boolean fail)
Analyzes a view.
|
private static boolean |
canConvert(RelDataType fromType,
RelDataType toType) |
static CalcitePrepare.ConvertResult |
convert(CalciteConnection connection,
CalciteSchema schema,
java.util.List<java.lang.String> schemaPath,
java.lang.String sql)
Parses and validates a SQL query and converts to relational algebra.
|
static DataContext |
createDataContext(java.sql.Connection connection,
SchemaPlus rootSchema) |
static Enumerable<java.lang.Object[]> |
enumerable(FilterableTable table,
DataContext root)
Returns an
Enumerable over the rows of
a given table, not applying any filters, representing each row as an object
array. |
static Enumerable<java.lang.Object[]> |
enumerable(ProjectableFilterableTable table,
DataContext root)
Returns an
Enumerable over the rows of
a given table, not applying any filters and projecting all columns,
representing each row as an object array. |
static Enumerable<java.lang.Object[]> |
enumerable(ScannableTable table,
DataContext root)
Returns an
Enumerable over the rows of
a given table, representing each row as an object array. |
static Expression |
expression(SchemaPlus schema)
Returns the expression for a schema.
|
private static void |
gatherLattices(CalciteSchema schema,
java.util.List<CalciteSchema.LatticeEntry> list) |
static java.util.List<CalciteSchema.LatticeEntry> |
getLatticeEntries(CalciteSchema schema)
Returns the lattices defined in a schema.
|
static java.util.List<Lattice> |
getLattices(CalciteSchema schema)
Returns the lattices defined in a schema.
|
static java.util.List<CalciteSchema.TableEntry> |
getStarTables(CalciteSchema schema)
Returns the star tables defined in a schema.
|
private static int[] |
identity(int count) |
private static CalcitePrepare.Context |
makeContext(CalciteConnection connection,
CalciteSchema schema,
java.util.List<java.lang.String> schemaPath,
java.util.List<java.lang.String> objectPath,
com.google.common.collect.ImmutableMap<CalciteConnectionProperty,java.lang.String> propValues)
Creates a context for the purposes of preparing a statement.
|
private static CalcitePrepare.Context |
makeContext(CalciteConnectionConfig connectionConfig,
JavaTypeFactory typeFactory,
DataContext dataContext,
CalciteSchema schema,
java.util.List<java.lang.String> schemaPath,
java.util.List<java.lang.String> objectPath_) |
private static boolean |
matches(RelDataTypeFactory typeFactory,
Function member,
java.util.List<RelDataType> argumentTypes) |
private static CalciteConnectionConfig |
mutate(CalciteConnectionConfig config,
com.google.common.collect.ImmutableMap<CalciteConnectionProperty,java.lang.String> propValues) |
static CalcitePrepare.ParseResult |
parse(CalciteConnection connection,
CalciteSchema schema,
java.util.List<java.lang.String> schemaPath,
java.lang.String sql)
Parses and validates a SQL query.
|
static Path |
path(CalciteSchema rootSchema,
java.lang.Iterable<java.lang.String> names)
Creates a path with a given list of names starting from a given root
schema.
|
static Schemas.PathImpl |
path(com.google.common.collect.ImmutableList<Pair<java.lang.String,Schema>> build) |
static Path |
path(SchemaPlus schema)
Returns the path to get to a schema from its root.
|
static CalcitePrepare.CalciteSignature<java.lang.Object> |
prepare(CalciteConnection connection,
CalciteSchema schema,
java.util.List<java.lang.String> schemaPath,
java.lang.String sql,
com.google.common.collect.ImmutableMap<CalciteConnectionProperty,java.lang.String> map)
Prepares a SQL query for execution.
|
static RelProtoDataType |
proto(ScalarFunction function)
Returns an implementation of
RelProtoDataType
that asks a given scalar function for its return type with a given type
factory. |
static RelProtoDataType |
proto(Table table)
Returns an implementation of
RelProtoDataType
that asks a given table for its row type with a given type factory. |
static <E> Queryable<E> |
queryable(DataContext root,
java.lang.Class<E> clazz,
java.lang.Iterable<? extends java.lang.String> names)
Returns a
Queryable , given a fully-qualified table name as an
iterable. |
static <E> Queryable<E> |
queryable(DataContext root,
java.lang.Class<E> clazz,
java.lang.String... names)
Returns a
Queryable , given a fully-qualified table name. |
static <E> Queryable<E> |
queryable(DataContext root,
SchemaPlus schema,
java.lang.Class<E> clazz,
java.lang.String tableName)
Returns a
Queryable , given a schema and table name. |
static CalciteSchema.FunctionEntry |
resolve(RelDataTypeFactory typeFactory,
java.lang.String name,
java.util.Collection<CalciteSchema.FunctionEntry> functionEntries,
java.util.List<RelDataType> argumentTypes) |
static CalciteSchema |
subSchema(CalciteSchema schema,
java.lang.Iterable<java.lang.String> names)
Returns a sub-schema of a given schema obtained by following a sequence
of names.
|
static Expression |
subSchemaExpression(SchemaPlus schema,
java.lang.String name,
java.lang.Class type)
Returns the expression for a sub-schema.
|
static Table |
table(DataContext root,
java.lang.String... names)
Returns an
Enumerable over object
arrays, given a fully-qualified table name which leads to a
ScannableTable . |
static Expression |
tableExpression(SchemaPlus schema,
java.lang.reflect.Type elementType,
java.lang.String tableName,
java.lang.Class clazz)
Returns the expression to access a table within a schema.
|
static java.lang.String |
uniqueTableName(CalciteSchema schema,
java.lang.String base)
Generates a table name that is unique within the given schema.
|
static Expression |
unwrap(Expression call,
java.lang.Class type)
Converts a schema expression to a given type by calling the
SchemaPlus.unwrap(Class) method. |
public static CalciteSchema.FunctionEntry resolve(RelDataTypeFactory typeFactory, java.lang.String name, java.util.Collection<CalciteSchema.FunctionEntry> functionEntries, java.util.List<RelDataType> argumentTypes)
private static boolean matches(RelDataTypeFactory typeFactory, Function member, java.util.List<RelDataType> argumentTypes)
private static boolean canConvert(RelDataType fromType, RelDataType toType)
public static Expression expression(SchemaPlus schema)
public static Expression subSchemaExpression(SchemaPlus schema, java.lang.String name, java.lang.Class type)
public static Expression unwrap(Expression call, java.lang.Class type)
SchemaPlus.unwrap(Class)
method.public static Expression tableExpression(SchemaPlus schema, java.lang.reflect.Type elementType, java.lang.String tableName, java.lang.Class clazz)
public static DataContext createDataContext(java.sql.Connection connection, SchemaPlus rootSchema)
public static <E> Queryable<E> queryable(DataContext root, java.lang.Class<E> clazz, java.lang.String... names)
Queryable
, given a fully-qualified table name.public static <E> Queryable<E> queryable(DataContext root, java.lang.Class<E> clazz, java.lang.Iterable<? extends java.lang.String> names)
Queryable
, given a fully-qualified table name as an
iterable.public static <E> Queryable<E> queryable(DataContext root, SchemaPlus schema, java.lang.Class<E> clazz, java.lang.String tableName)
Queryable
, given a schema and table name.public static Enumerable<java.lang.Object[]> enumerable(ScannableTable table, DataContext root)
Enumerable
over the rows of
a given table, representing each row as an object array.public static Enumerable<java.lang.Object[]> enumerable(FilterableTable table, DataContext root)
Enumerable
over the rows of
a given table, not applying any filters, representing each row as an object
array.public static Enumerable<java.lang.Object[]> enumerable(ProjectableFilterableTable table, DataContext root)
Enumerable
over the rows of
a given table, not applying any filters and projecting all columns,
representing each row as an object array.private static int[] identity(int count)
public static Table table(DataContext root, java.lang.String... names)
Enumerable
over object
arrays, given a fully-qualified table name which leads to a
ScannableTable
.public static CalcitePrepare.ParseResult parse(CalciteConnection connection, CalciteSchema schema, java.util.List<java.lang.String> schemaPath, java.lang.String sql)
public static CalcitePrepare.ConvertResult convert(CalciteConnection connection, CalciteSchema schema, java.util.List<java.lang.String> schemaPath, java.lang.String sql)
public static CalcitePrepare.AnalyzeViewResult analyzeView(CalciteConnection connection, CalciteSchema schema, java.util.List<java.lang.String> schemaPath, java.lang.String viewSql, java.util.List<java.lang.String> viewPath, boolean fail)
public static CalcitePrepare.CalciteSignature<java.lang.Object> prepare(CalciteConnection connection, CalciteSchema schema, java.util.List<java.lang.String> schemaPath, java.lang.String sql, com.google.common.collect.ImmutableMap<CalciteConnectionProperty,java.lang.String> map)
private static CalcitePrepare.Context makeContext(CalciteConnection connection, CalciteSchema schema, java.util.List<java.lang.String> schemaPath, java.util.List<java.lang.String> objectPath, com.google.common.collect.ImmutableMap<CalciteConnectionProperty,java.lang.String> propValues)
connection
- Connectionschema
- SchemaschemaPath
- Path wherein to look for functionsobjectPath
- Path of the object being analyzed (usually a view),
or nullpropValues
- Connection propertiesprivate static CalciteConnectionConfig mutate(CalciteConnectionConfig config, com.google.common.collect.ImmutableMap<CalciteConnectionProperty,java.lang.String> propValues)
private static CalcitePrepare.Context makeContext(CalciteConnectionConfig connectionConfig, JavaTypeFactory typeFactory, DataContext dataContext, CalciteSchema schema, java.util.List<java.lang.String> schemaPath, java.util.List<java.lang.String> objectPath_)
public static RelProtoDataType proto(Table table)
RelProtoDataType
that asks a given table for its row type with a given type factory.public static RelProtoDataType proto(ScalarFunction function)
RelProtoDataType
that asks a given scalar function for its return type with a given type
factory.public static java.util.List<CalciteSchema.TableEntry> getStarTables(CalciteSchema schema)
schema
- Schemapublic static java.util.List<Lattice> getLattices(CalciteSchema schema)
schema
- Schemapublic static java.util.List<CalciteSchema.LatticeEntry> getLatticeEntries(CalciteSchema schema)
schema
- Schemaprivate static void gatherLattices(CalciteSchema schema, java.util.List<CalciteSchema.LatticeEntry> list)
public static CalciteSchema subSchema(CalciteSchema schema, java.lang.Iterable<java.lang.String> names)
The result is null if the initial schema is null or any sub-schema does not exist.
public static java.lang.String uniqueTableName(CalciteSchema schema, java.lang.String base)
public static Path path(CalciteSchema rootSchema, java.lang.Iterable<java.lang.String> names)
public static Schemas.PathImpl path(com.google.common.collect.ImmutableList<Pair<java.lang.String,Schema>> build)
public static Path path(SchemaPlus schema)
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.