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 |
|---|---|
@Nullable Boolean |
autoLattice
Whether to create lattices in this schema based on queries occurring in
other schemas.
|
@Nullable 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.
|
@Nullable List<Object> |
path
SQL path that is used to resolve functions used in this schema.
|
| Modifier | Constructor and Description |
|---|---|
protected |
JsonSchema(String name,
@Nullable List<Object> path,
@Nullable Boolean cache,
@Nullable Boolean autoLattice) |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
accept(ModelHandler handler) |
void |
visitChildren(ModelHandler modelHandler) |
public final String name
Required.
JsonRoot.defaultSchemapublic final @Nullable 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 final @Nullable 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 final @Nullable Boolean autoLattice
false.public abstract void accept(ModelHandler handler)
public void visitChildren(ModelHandler modelHandler)
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.