T - the type of the property valuepublic final class CalciteSystemProperty<T> extends Object
Calcite system properties must always be in the "calcite" root namespace.
| Modifier and Type | Field and Description |
|---|---|
static CalciteSystemProperty<Boolean> |
ALLOW_INFINITE_COST_CONVERTERS
Whether the optimizer will consider adding converters of infinite cost in
order to convert a relational expression from one calling convention to
another.
|
static CalciteSystemProperty<Integer> |
BINDABLE_CACHE_CONCURRENCY_LEVEL
The concurrency level of the cache used for storing Bindable objects, instantiated via
dynamically generated Java classes.
|
static CalciteSystemProperty<Integer> |
BINDABLE_CACHE_MAX_SIZE
The maximum size of the cache used for storing Bindable objects, instantiated via
dynamically generated Java classes.
|
static CalciteSystemProperty<Boolean> |
COMMUTE
Whether to exploit join commutative property.
|
static CalciteSystemProperty<Boolean> |
DEBUG
Whether to run Calcite in debug mode.
|
static CalciteSystemProperty<String> |
DEFAULT_CHARSET
The name of the default character set.
|
static CalciteSystemProperty<String> |
DEFAULT_COLLATION
The name of the default collation.
|
static CalciteSystemProperty<String> |
DEFAULT_COLLATION_STRENGTH
The strength of the default collation.
|
static CalciteSystemProperty<String> |
DEFAULT_NATIONAL_CHARSET
The name of the default national character set.
|
static CalciteSystemProperty<Boolean> |
DUMP_GRAPHVIZ
Whether to include a GraphViz representation when dumping the state of the Volcano planner.
|
static CalciteSystemProperty<Boolean> |
DUMP_SETS
Whether to include
RelSet information when dumping the state of the Volcano
planner. |
static CalciteSystemProperty<Boolean> |
ENABLE_COLLATION_TRAIT
Whether to enable the collation trait in the default planner configuration.
|
static CalciteSystemProperty<Boolean> |
ENABLE_ENUMERABLE
Whether the enumerable convention is enabled in the default planner configuration.
|
static CalciteSystemProperty<Boolean> |
ENABLE_REX_DIGEST_NORMALIZE
Whether RexNode digest should be normalized (e.g.
|
static CalciteSystemProperty<Boolean> |
ENABLE_STREAM
Whether streaming is enabled in the default planner configuration.
|
static CalciteSystemProperty<Boolean> |
ENUMERABLE_ENABLE_TABLESCAN_ARRAY
Whether the EnumerableTableScan should support ARRAY fields.
|
static CalciteSystemProperty<Boolean> |
ENUMERABLE_ENABLE_TABLESCAN_MAP
Whether the EnumerableTableScan should support MAP fields.
|
static CalciteSystemProperty<Boolean> |
ENUMERABLE_ENABLE_TABLESCAN_MULTISET
Whether the EnumerableTableScan should support MULTISET fields.
|
static CalciteSystemProperty<Boolean> |
INTEGRATION_TEST
Whether to run integration tests.
|
static CalciteSystemProperty<Integer> |
METADATA_HANDLER_CACHE_MAXIMUM_SIZE
The maximum size of the cache of metadata handlers.
|
static CalciteSystemProperty<Boolean> |
STRICT
Whether to follow the SQL standard strictly.
|
static CalciteSystemProperty<Boolean> |
TEST_CASSANDRA
Whether to run Cassandra tests.
|
static CalciteSystemProperty<String> |
TEST_DATASET_PATH
Path to the dataset file that should used for integration tests.
|
static CalciteSystemProperty<String> |
TEST_DB
Which database to use for tests that require a JDBC data source.
|
static CalciteSystemProperty<Boolean> |
TEST_DRUID
Whether to run Druid tests.
|
static CalciteSystemProperty<String> |
TEST_FOODMART_QUERY_IDS
A list of ids designating the queries
(from query.json in new.hydromatic:foodmart-queries:0.4.1)
that should be run as part of FoodmartTest.
|
static CalciteSystemProperty<Boolean> |
TEST_INNODB
Whether to run InnoDB tests.
|
static CalciteSystemProperty<Boolean> |
TEST_MONGODB
Whether to run MongoDB tests.
|
static CalciteSystemProperty<Boolean> |
TEST_REDIS
Whether to run Redis tests.
|
static CalciteSystemProperty<Boolean> |
TEST_SPLUNK
Whether to run Splunk tests.
|
static CalciteSystemProperty<Boolean> |
TEST_WITH_DOCKER_CONTAINER
Whether to use Docker containers (https://www.testcontainers.org/) in tests.
|
static CalciteSystemProperty<Boolean> |
TOPDOWN_OPT
Whether to enable top-down optimization.
|
public static final CalciteSystemProperty<Boolean> DEBUG
When debug mode is activated significantly more information is gathered and printed to STDOUT. It is most commonly used to print and identify problems in generated java code. Debug mode is also used to perform more verifications at runtime, which are not performed during normal execution.
public static final CalciteSystemProperty<Boolean> COMMUTE
public static final CalciteSystemProperty<Boolean> ENABLE_COLLATION_TRAIT
Some extra optimizations are possible if enabled, but queries should work either way. At some point this will become a preference, or we will run multiple phases: first disabled, then enabled.
public static final CalciteSystemProperty<Boolean> ENABLE_ENUMERABLE
public static final CalciteSystemProperty<Boolean> ENUMERABLE_ENABLE_TABLESCAN_ARRAY
public static final CalciteSystemProperty<Boolean> ENUMERABLE_ENABLE_TABLESCAN_MAP
public static final CalciteSystemProperty<Boolean> ENUMERABLE_ENABLE_TABLESCAN_MULTISET
public static final CalciteSystemProperty<Boolean> ENABLE_STREAM
public static final CalciteSystemProperty<Boolean> ENABLE_REX_DIGEST_NORMALIZE
Normalization helps to treat $0=$1 and $1=$0 expressions equal, thus it saves efforts on planning.
public static final CalciteSystemProperty<Boolean> STRICT
public static final CalciteSystemProperty<Boolean> DUMP_GRAPHVIZ
public static final CalciteSystemProperty<Boolean> DUMP_SETS
RelSet information when dumping the state of the Volcano
planner.public static final CalciteSystemProperty<Boolean> TOPDOWN_OPT
CalciteConnectionProperty.TOPDOWN_OPT.
Note: Enabling top-down optimization will automatically disable the use of AbstractConverter and related rules.
public static final CalciteSystemProperty<Boolean> INTEGRATION_TEST
public static final CalciteSystemProperty<String> TEST_DB
The property can take one of the following values:
If the specified value is not included in the previous list, the default is used.
We recommend that casual users use hsqldb, and frequent Calcite developers use MySQL. The test suite runs faster against the MySQL database (mainly because of the 0.1 second versus 6 seconds startup time). You have to populate MySQL manually with the foodmart data set, otherwise there will be test failures.
public static final CalciteSystemProperty<String> TEST_DATASET_PATH
If a path is not set, then one of the following values will be used:
public static final CalciteSystemProperty<Boolean> TEST_MONGODB
public static final CalciteSystemProperty<Boolean> TEST_SPLUNK
Disabled by default, because we do not expect Splunk to be installed and populated with the data set necessary for testing.
public static final CalciteSystemProperty<Boolean> TEST_DRUID
public static final CalciteSystemProperty<Boolean> TEST_CASSANDRA
public static final CalciteSystemProperty<Boolean> TEST_INNODB
public static final CalciteSystemProperty<Boolean> TEST_REDIS
public static final CalciteSystemProperty<Boolean> TEST_WITH_DOCKER_CONTAINER
true, affected tests will attempt to start Docker
containers; when Docker is not available tests fallback to other execution modes and if it's
not possible they are skipped entirely.
If the property is set to false, Docker containers are not used at all and
affected tests either fallback to other execution modes or skipped entirely.
Users can override the default behavior to force non-Dockerized execution even when Docker
is installed on the machine; this can be useful for replicating an issue that appears only in
non-docker test mode or for running tests both with and without containers in CI.public static final CalciteSystemProperty<String> TEST_FOODMART_QUERY_IDS
public static final CalciteSystemProperty<Boolean> ALLOW_INFINITE_COST_CONVERTERS
public static final CalciteSystemProperty<String> DEFAULT_CHARSET
It is used by SqlValidator.
public static final CalciteSystemProperty<String> DEFAULT_NATIONAL_CHARSET
It is used with the N'string' construct in
SqlLiteral(java.lang.Object, org.apache.calcite.sql.type.SqlTypeName, org.apache.calcite.sql.parser.SqlParserPos)
and may be different from the DEFAULT_CHARSET.
public static final CalciteSystemProperty<String> DEFAULT_COLLATION
It is used in SqlCollation and
SqlLiteral(java.lang.Object, org.apache.calcite.sql.type.SqlTypeName, org.apache.calcite.sql.parser.SqlParserPos).
public static final CalciteSystemProperty<String> DEFAULT_COLLATION_STRENGTH
Collator) are: primary, secondary,
tertiary, identical.
It is used in SqlCollation and
SqlLiteral(java.lang.Object, org.apache.calcite.sql.type.SqlTypeName, org.apache.calcite.sql.parser.SqlParserPos).
public static final CalciteSystemProperty<Integer> METADATA_HANDLER_CACHE_MAXIMUM_SIZE
A typical value is the number of queries being concurrently prepared multiplied by the number of types of metadata.
If the value is less than 0, there is no limit.
public static final CalciteSystemProperty<Integer> BINDABLE_CACHE_MAX_SIZE
The default value is 0.
The property can take any value between [0, Integer.MAX_VALUE] inclusive. If the
value is not valid (or not specified) then the default value is used.
The cached objects may be quite big so it is suggested to use a rather small cache size (e.g., 1000). For the most common use cases a number close to 1000 should be enough to alleviate the performance penalty of compiling and loading classes.
Setting this property to 0 disables the cache.
public static final CalciteSystemProperty<Integer> BINDABLE_CACHE_CONCURRENCY_LEVEL
The default value is 1.
The property can take any value between [1, Integer.MAX_VALUE] inclusive. If the
value is not valid (or not specified) then the default value is used.
This property has no effect if the cache is disabled (i.e., BINDABLE_CACHE_MAX_SIZE
set to 0.
public T value()
null if a default value has not been
defined for this property.Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.