public abstract class JsonSchema extends Object
Description of schema elements| Modifier and Type | Field and Description |
|---|---|
Boolean |
cache
Whether to cache metadata (tables, functions and sub-schemas) generated
by this schema.
|
List<JsonLattice> |
lattices |
List<JsonMaterialization> |
materializations |
String |
name |
List<Object> |
path
SQL-path.
|
| Constructor and Description |
|---|
JsonSchema() |
public String name
public List<Object> path
public final List<JsonMaterialization> materializations
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).
However, it also leads to the problem of cache staleness.
A particular schema implementation can override the
Schema.contentsHaveChangedSince(long, long)
method to tell Calcite when it should consider its cache to be out of
date.
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 abstract void accept(ModelHandler handler)
public void visitChildren(ModelHandler modelHandler)
Copyright © 2012–2015 The Apache Software Foundation. All rights reserved.