class CachingCalciteSchema extends CalciteSchema
CalciteSchema that caches tables,
functions and sub-schemas.| Modifier and Type | Class and Description |
|---|---|
private class |
CachingCalciteSchema.AbstractCached<T>
Implementation of
CachingCalciteSchema.Cached
that drives from cache. |
private static interface |
CachingCalciteSchema.Cached<T>
Strategy for caching the value of an object and re-creating it if its
value is out of date as of a given timestamp.
|
private static class |
CachingCalciteSchema.SubSchemaCache
Information about the implicit sub-schemas of an
CalciteSchema. |
CalciteSchema.Entry, CalciteSchema.FunctionEntry, CalciteSchema.FunctionEntryImpl, CalciteSchema.LatticeEntry, CalciteSchema.LatticeEntryImpl, CalciteSchema.TableEntry, CalciteSchema.TableEntryImpl| Modifier and Type | Field and Description |
|---|---|
private boolean |
cache |
private CachingCalciteSchema.Cached<NameSet> |
implicitFunctionCache |
private CachingCalciteSchema.Cached<CachingCalciteSchema.SubSchemaCache> |
implicitSubSchemaCache |
private CachingCalciteSchema.Cached<NameSet> |
implicitTableCache |
functionMap, functionNames, latticeMap, name, nullaryFunctionMap, schema, subSchemaMap, tableMap| Modifier | Constructor and Description |
|---|---|
(package private) |
CachingCalciteSchema(CalciteSchema parent,
Schema schema,
String name)
Creates a CachingCalciteSchema.
|
private |
CachingCalciteSchema(CalciteSchema parent,
Schema schema,
String name,
NameMap<CalciteSchema> subSchemaMap,
NameMap<CalciteSchema.TableEntry> tableMap,
NameMap<CalciteSchema.LatticeEntry> latticeMap,
NameMultimap<CalciteSchema.FunctionEntry> functionMap,
NameSet functionNames,
NameMap<CalciteSchema.FunctionEntry> nullaryFunctionMap,
List<? extends List<String>> path) |
| Modifier and Type | Method and Description |
|---|---|
CalciteSchema |
add(String name,
Schema schema)
Adds a child schema of this schema.
|
protected void |
addImplicitFuncNamesToBuilder(com.google.common.collect.ImmutableSortedSet.Builder<String> builder)
Adds implicit function names to a builder.
|
protected void |
addImplicitFunctionsToBuilder(com.google.common.collect.ImmutableList.Builder<Function> builder,
String name,
boolean caseSensitive)
Adds implicit functions to a builder.
|
protected void |
addImplicitSubSchemaToBuilder(com.google.common.collect.ImmutableSortedMap.Builder<String,CalciteSchema> builder)
Adds implicit sub-schemas to a builder.
|
protected void |
addImplicitTablesBasedOnNullaryFunctionsToBuilder(com.google.common.collect.ImmutableSortedMap.Builder<String,Table> builder)
Adds implicit table functions to a builder.
|
protected void |
addImplicitTableToBuilder(com.google.common.collect.ImmutableSortedSet.Builder<String> builder)
Adds implicit tables to a builder.
|
protected CalciteSchema |
getImplicitSubSchema(String schemaName,
boolean caseSensitive)
Returns a sub-schema with a given name that is defined implicitly
(that is, by the underlying
Schema object, not explicitly
by a call to CalciteSchema.add(String, Schema)), or null. |
protected CalciteSchema.TableEntry |
getImplicitTable(String tableName,
boolean caseSensitive)
Returns a table with a given name that is defined implicitly
(that is, by the underlying
Schema object, not explicitly
by a call to CalciteSchema.add(String, Table)), or null. |
protected CalciteSchema.TableEntry |
getImplicitTableBasedOnNullaryFunction(String tableName,
boolean caseSensitive)
Returns table function with a given name and zero arguments that is
defined implicitly (that is, by the underlying
Schema object,
not explicitly by a call to CalciteSchema.add(String, Function)), or null. |
protected boolean |
isCacheEnabled() |
boolean |
removeFunction(String name) |
boolean |
removeTable(String name) |
void |
setCache(boolean cache) |
protected CalciteSchema |
snapshot(CalciteSchema parent,
SchemaVersion version)
Returns a snapshot representation of this CalciteSchema.
|
add, add, createRootSchema, createRootSchema, createRootSchema, createSnapshot, find, find, from, getFunctionNames, getFunctions, getLatticeMap, getName, getPath, getSubSchema, getSubSchemaMap, getTable, getTableBasedOnNullaryFunction, getTableBySql, getTableNames, getTablesBasedOnNullaryFunctions, isRoot, path, plus, removeSubSchema, root, tableEntryprivate final CachingCalciteSchema.Cached<CachingCalciteSchema.SubSchemaCache> implicitSubSchemaCache
private final CachingCalciteSchema.Cached<NameSet> implicitTableCache
private final CachingCalciteSchema.Cached<NameSet> implicitFunctionCache
private boolean cache
CachingCalciteSchema(CalciteSchema parent, Schema schema, String name)
private CachingCalciteSchema(CalciteSchema parent, Schema schema, String name, NameMap<CalciteSchema> subSchemaMap, NameMap<CalciteSchema.TableEntry> tableMap, NameMap<CalciteSchema.LatticeEntry> latticeMap, NameMultimap<CalciteSchema.FunctionEntry> functionMap, NameSet functionNames, NameMap<CalciteSchema.FunctionEntry> nullaryFunctionMap, List<? extends List<String>> path)
public void setCache(boolean cache)
setCache in class CalciteSchemaprotected boolean isCacheEnabled()
isCacheEnabled in class CalciteSchemaprotected CalciteSchema getImplicitSubSchema(String schemaName, boolean caseSensitive)
CalciteSchemaSchema object, not explicitly
by a call to CalciteSchema.add(String, Schema)), or null.getImplicitSubSchema in class CalciteSchemapublic CalciteSchema add(String name, Schema schema)
add in class CalciteSchemaprotected CalciteSchema.TableEntry getImplicitTable(String tableName, boolean caseSensitive)
CalciteSchemaSchema object, not explicitly
by a call to CalciteSchema.add(String, Table)), or null.getImplicitTable in class CalciteSchemaprotected void addImplicitSubSchemaToBuilder(com.google.common.collect.ImmutableSortedMap.Builder<String,CalciteSchema> builder)
CalciteSchemaaddImplicitSubSchemaToBuilder in class CalciteSchemaprotected void addImplicitTableToBuilder(com.google.common.collect.ImmutableSortedSet.Builder<String> builder)
CalciteSchemaaddImplicitTableToBuilder in class CalciteSchemaprotected void addImplicitFunctionsToBuilder(com.google.common.collect.ImmutableList.Builder<Function> builder, String name, boolean caseSensitive)
CalciteSchemaaddImplicitFunctionsToBuilder in class CalciteSchemaprotected void addImplicitFuncNamesToBuilder(com.google.common.collect.ImmutableSortedSet.Builder<String> builder)
CalciteSchemaaddImplicitFuncNamesToBuilder in class CalciteSchemaprotected void addImplicitTablesBasedOnNullaryFunctionsToBuilder(com.google.common.collect.ImmutableSortedMap.Builder<String,Table> builder)
CalciteSchemaaddImplicitTablesBasedOnNullaryFunctionsToBuilder in class CalciteSchemaprotected CalciteSchema.TableEntry getImplicitTableBasedOnNullaryFunction(String tableName, boolean caseSensitive)
CalciteSchemaSchema object,
not explicitly by a call to CalciteSchema.add(String, Function)), or null.getImplicitTableBasedOnNullaryFunction in class CalciteSchemaprotected CalciteSchema snapshot(CalciteSchema parent, SchemaVersion version)
CalciteSchemasnapshot in class CalciteSchemapublic boolean removeTable(String name)
removeTable in class CalciteSchemapublic boolean removeFunction(String name)
removeFunction in class CalciteSchemaCopyright © 2012–2018 The Apache Software Foundation. All rights reserved.