public class MaterializationService
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
MaterializationService.DefaultTableFactory
Default implementation of
MaterializationService.TableFactory . |
static interface |
MaterializationService.TableFactory
Creates tables that represent a materialized view.
|
Modifier and Type | Field and Description |
---|---|
private MaterializationActor |
actor |
private static java.util.Comparator<Pair<CalciteSchema.TableEntry,TileKey>> |
C |
private static MaterializationService |
INSTANCE |
private MaterializationService.DefaultTableFactory |
tableFactory |
private static java.lang.ThreadLocal<MaterializationService> |
THREAD_INSTANCE
For testing.
|
Modifier | Constructor and Description |
---|---|
private |
MaterializationService() |
Modifier and Type | Method and Description |
---|---|
private boolean |
allSatisfiable(java.util.List<Lattice.Measure> measureList,
TileKey tileKey) |
CalciteSchema.TableEntry |
checkValid(MaterializationKey key)
Checks whether a materialization is valid, and if so, returns the table
where the data are stored.
|
void |
clear()
De-registers all materialized tables in the system.
|
MaterializationKey |
defineMaterialization(CalciteSchema schema,
TileKey tileKey,
java.lang.String viewSql,
java.util.List<java.lang.String> viewSchemaPath,
java.lang.String suggestedTableName,
boolean create,
boolean existing)
Defines a new materialization.
|
MaterializationKey |
defineMaterialization(CalciteSchema schema,
TileKey tileKey,
java.lang.String viewSql,
java.util.List<java.lang.String> viewSchemaPath,
java.lang.String suggestedTableName,
MaterializationService.TableFactory tableFactory,
boolean create,
boolean existing)
Defines a new materialization.
|
Pair<CalciteSchema.TableEntry,TileKey> |
defineTile(Lattice lattice,
ImmutableBitSet groupSet,
java.util.List<Lattice.Measure> measureList,
CalciteSchema schema,
boolean create,
boolean exact)
Defines a tile.
|
Pair<CalciteSchema.TableEntry,TileKey> |
defineTile(Lattice lattice,
ImmutableBitSet groupSet,
java.util.List<Lattice.Measure> measureList,
CalciteSchema schema,
boolean create,
boolean exact,
java.lang.String suggestedTableName,
MaterializationService.TableFactory tableFactory) |
static MaterializationService |
instance()
Returns the instance of the materialization service.
|
java.util.List<Prepare.Materialization> |
query(CalciteSchema rootSchema)
Gathers a list of all materialized tables known within a given root
schema.
|
void |
removeMaterialization(MaterializationKey key) |
static void |
setThreadLocal()
Used by tests, to ensure that they see their own service.
|
private static final MaterializationService INSTANCE
private static final java.lang.ThreadLocal<MaterializationService> THREAD_INSTANCE
private static final java.util.Comparator<Pair<CalciteSchema.TableEntry,TileKey>> C
private final MaterializationActor actor
private final MaterializationService.DefaultTableFactory tableFactory
public MaterializationKey defineMaterialization(CalciteSchema schema, TileKey tileKey, java.lang.String viewSql, java.util.List<java.lang.String> viewSchemaPath, java.lang.String suggestedTableName, boolean create, boolean existing)
public MaterializationKey defineMaterialization(CalciteSchema schema, TileKey tileKey, java.lang.String viewSql, java.util.List<java.lang.String> viewSchemaPath, java.lang.String suggestedTableName, MaterializationService.TableFactory tableFactory, boolean create, boolean existing)
public CalciteSchema.TableEntry checkValid(MaterializationKey key)
public Pair<CalciteSchema.TableEntry,TileKey> defineTile(Lattice lattice, ImmutableBitSet groupSet, java.util.List<Lattice.Measure> measureList, CalciteSchema schema, boolean create, boolean exact)
Setting the create
flag to false prevents a materialization
from being created if one does not exist. Critically, it is set to false
during the recursive SQL that populates a materialization. Otherwise a
materialization would try to create itself to populate itself!
public Pair<CalciteSchema.TableEntry,TileKey> defineTile(Lattice lattice, ImmutableBitSet groupSet, java.util.List<Lattice.Measure> measureList, CalciteSchema schema, boolean create, boolean exact, java.lang.String suggestedTableName, MaterializationService.TableFactory tableFactory)
private boolean allSatisfiable(java.util.List<Lattice.Measure> measureList, TileKey tileKey)
public java.util.List<Prepare.Materialization> query(CalciteSchema rootSchema)
public void clear()
public static void setThreadLocal()
public static MaterializationService instance()
setThreadLocal()
has been called by the current thread).public void removeMaterialization(MaterializationKey key)
Copyright © 2012–2019 The Apache Software Foundation. All rights reserved.