Apache.Calcite.Extensions
1.0.3
See the version list below for details.
dotnet add package Apache.Calcite.Extensions --version 1.0.3
NuGet\Install-Package Apache.Calcite.Extensions -Version 1.0.3
<PackageReference Include="Apache.Calcite.Extensions" Version="1.0.3" />
<PackageVersion Include="Apache.Calcite.Extensions" Version="1.0.3" />
<PackageReference Include="Apache.Calcite.Extensions" />
paket add Apache.Calcite.Extensions --version 1.0.3
#r "nuget: Apache.Calcite.Extensions, 1.0.3"
#:package Apache.Calcite.Extensions@1.0.3
#addin nuget:?package=Apache.Calcite.Extensions&version=1.0.3
#tool nuget:?package=Apache.Calcite.Extensions&version=1.0.3
Apache.Calcite.Extensions
Apache.Calcite.Extensions provides .NET-friendly helper and interop types for working with Apache Calcite via IKVM. It bridges the gap between the Java-oriented Calcite configuration API and idiomatic .NET code.
This package is used internally by Apache.Calcite.Data and Apache.Calcite.Adapter.AdoNet. Reference it directly when you need typed access to Calcite connection properties from your own code.
Install
dotnet add package Apache.Calcite.Extensions
Key types
CalciteConnectionProperties
Provides strongly-typed .NET properties over a Calcite java.util.Properties map. Instead of reading and writing raw string keys, you get compile-time-checked access to every Calcite connection option:
using Apache.Calcite.Data;
using java.util;
using org.apache.calcite.avatica.util;
var props = new CalciteConnectionProperties();
// Typed setters — no magic strings needed.
props.Lex = Lex.MYSQL_ANSI;
props.CaseSensitive = false;
props.DefaultNullCollation = NullCollation.LOW;
props.Fun = "oracle,spatial";
props.TimeZone = "UTC";
props.ForceDecorrelate = true;
props.MaterializationsEnabled = false;
Available properties mirror every CalciteConnectionProperty enum value:
| Property | Type | Default | Description |
|---|---|---|---|
Model |
string |
— | URI or inline JSON model. |
Schema |
string |
— | Default schema name. |
CaseSensitive |
bool |
true |
Case-sensitive identifier matching. |
Lex |
Lex |
ORACLE |
Lexical policy (ORACLE, MYSQL, MYSQL_ANSI, SQL_SERVER, JAVA, BIG_QUERY). |
Quoting |
Quoting |
from Lex |
Identifier quote character. |
QuotedCasing |
Casing? |
from Lex |
Storage of quoted identifiers. |
UnquotedCasing |
Casing? |
from Lex |
Storage of unquoted identifiers. |
Fun |
string |
standard |
Function libraries, e.g. oracle,spatial. |
Conformance |
SqlConformanceEnum |
DEFAULT |
SQL conformance level. |
DefaultNullCollation |
NullCollation |
HIGH |
NULL sort order when NULLS FIRST/LAST is omitted. |
TimeZone |
string |
JVM default | Session time zone. |
Locale |
string |
JVM default | Session locale. |
ForceDecorrelate |
bool |
true |
Aggressive subquery de-correlation. |
MaterializationsEnabled |
bool |
false |
Use materializations in the planner. |
TypeCoercion |
bool |
true |
Implicit type coercion during validation. |
ApproximateDecimal |
bool |
false |
Allow approximate DECIMAL aggregate results. |
ApproximateDistinctCount |
bool |
false |
Allow approximate COUNT(DISTINCT ...). |
ApproximateTopN |
bool |
false |
Allow approximate Top-N results. |
Spark |
bool |
false |
Use Spark as the in-process execution engine. |
TopdownOpt |
bool |
false |
Enable top-down optimization in the Volcano planner. |
LenientOperatorLookup |
bool |
false |
Silently create unknown functions during parsing. |
SchemaFactory |
string |
— | Schema factory class name (when not using a model). |
SchemaType |
string |
MAP |
Schema type: MAP, JDBC, or CUSTOM. |
ParserFactory |
string |
— | Custom SQL parser factory. |
TypeSystem |
string |
— | Type system class name. |
CalciteConnectionPropertiesSchemaMap
Exposes the schema.*-prefixed sub-properties of a CalciteConnectionProperties instance as a typed dictionary, making it easy to pass operand values to a custom schema factory:
var props = new CalciteConnectionProperties();
props.SchemaProperties["directory"] = "data/csv";
props.SchemaProperties["flavor"] = "scannable";
Related packages
| Package | Purpose |
|---|---|
Apache.Calcite.Data |
Core ADO.NET provider for Apache Calcite. |
Apache.Calcite.Adapter.AdoNet |
Federated ADO.NET adapter for Calcite. |
Further reading
License
Apache License 2.0.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- IKVM (>= 8.15.0)
- IKVM.Java.Extensions (>= 8.15.0)
- IKVM.Jdbc.Data (>= 1.0.13)
NuGet packages (4)
Showing the top 4 NuGet packages that depend on Apache.Calcite.Extensions:
| Package | Downloads |
|---|---|
|
Apache.Calcite.Data
An in-process ADO.NET provider for Apache Calcite. Runs Calcite's SQL parser, planner and query engine inside the .NET process via IKVM, with no JDBC driver or server. |
|
|
Apache.Calcite.Adapter.AdoNet
An Apache Calcite adapter that exposes any ADO.NET database as a Calcite schema and pushes filters, projections, joins, aggregations, sorts and set operations down to it. Includes support for SQL Server, SQLite, ODBC, OLE DB and INFORMATION_SCHEMA databases. |
|
|
Apache.Calcite.Cosmos.Adapter
Apache Calcite adapter that plans queries against Azure Cosmos DB by generating Cosmos SQL. |
|
|
Apache.Calcite.Data.Common
The mapping between Apache Calcite SQL types and .NET types used by Apache.Calcite.Data and Apache.Calcite.Adapter.AdoNet: which .NET type each SQL type is read as, and the conversions in both directions. Extensible with custom type resolvers. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.1-pre.267 | 84 | 9/28/2026 |
| 2.0.1-pre.254 | 115 | 9/28/2026 |
| 2.0.1-pre.250 | 63 | 9/27/2026 |
| 2.0.1-pre.236 | 73 | 9/26/2026 |
| 2.0.1-pre.230 | 79 | 9/26/2026 |
| 2.0.1-pre.190 | 172 | 9/20/2026 |
| 2.0.1-pre.188 | 332 | 9/19/2026 |
| 2.0.0-pre.9 | 189 | 9/1/2026 |
| 2.0.0-pre.8 | 259 | 8/31/2026 |
| 2.0.0-pre.7 | 267 | 8/14/2026 |
| 2.0.0-pre.5 | 126 | 8/12/2026 |
| 2.0.0-pre.4 | 118 | 8/11/2026 |
| 2.0.0-pre.3 | 150 | 8/10/2026 |
| 2.0.0-pre.2 | 143 | 8/9/2026 |
| 2.0.0-pre.1 | 152 | 8/9/2026 |
| 1.0.3 | 155 | 6/4/2026 |
| 1.0.2 | 132 | 5/28/2026 |
| 1.0.1 | 131 | 5/26/2026 |
| 1.0.0 | 114 | 5/26/2026 |
| 0.0.4 | 153 | 1/29/2026 |