public abstract class JsonSchema extends Object
Occurs within JsonRoot.schemas.
Description of schema elements| Modifier and Type | Class and Description |
|---|---|
static class |
JsonSchema.Type
Built-in schema types.
|
| Modifier and Type | Field and Description |
|---|---|
Boolean |
autoLattice
Whether to create lattices in this schema based on queries occurring in
other schemas.
|
Boolean |
cache
Whether to cache metadata (tables, functions and sub-schemas) generated
by this schema.
|
List<JsonLattice> |
lattices |
List<JsonMaterialization> |
materializations
List of tables in this schema that are materializations of queries.
|
String |
name
Name of the schema.
|
List<Object> |
path
SQL path that is used to resolve functions used in this schema.
|
| Constructor and Description |
|---|
JsonSchema() |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
accept(ModelHandler handler) |
void |
visitChildren(ModelHandler modelHandler) |
public String name
Required.
JsonRoot.defaultSchemapublic List<Object> path
May be null, or a list, each element of which is a string or a string-list.
For example,
path: [ ['usr', 'lib'], 'lib' ]
declares a path with two elements: the schema '/usr/lib' and the schema '/lib'. Most schemas are at the top level, and for these you can use a string.
public final List<JsonMaterialization> materializations
The list may be empty.
public final List<JsonLattice> lattices
public Boolean cache
true.
If false, Calcite will go back to the schema each time it needs
metadata, for example, each time it needs a list of tables in order to
validate a query against the schema.
If true, Calcite will cache the metadata the first time it reads
it. This can lead to better performance, especially if name-matching is
case-insensitive
(see Lex.caseSensitive).
Tables, functions and sub-schemas explicitly created in a schema are not affected by this caching mechanism. They always appear in the schema immediately, and are never flushed.
public Boolean autoLattice
false.public abstract void accept(ModelHandler handler)
public void visitChildren(ModelHandler modelHandler)
Copyright © 2012-2020 Apache Software Foundation. All Rights Reserved.