[
https://issues.apache.org/jira/browse/CALCITE-1259?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Julian Hyde updated CALCITE-1259:
-
Description:
Allow connecting to a single schema without writing a model. Currently, to use
a SchemaFactory you need to write a model.json file, but with this feature, you
could specify the same information as connect string parameters.
Examples
1. JDBC (built-in). Instead of writing a model with
{code}
{
type: 'jdbc',
name: 'FOODMART',
jdbcUser: 'FOODMART',
jdbcPassword: 'FOODMART',
jdbcUrl: 'jdbc:hsqldb:res:foodmart',
jdbcSchema: 'foodmart'
}
{code}
use the connect string {{jdbc:calcite:schema_type=jdbc;
schema.jdbcUser=FOODMART; schema.jdbcPassword=FOODMART;
schema.jdbcUrl='jdbc:hsqldb:res:foodmart'; schema.jdbcSchema=foodmart}}
2. Mongo (user-defined). Instead of writing a model with
{code}
{
type: 'custom',
name: 'mongo_raw',
factory: 'org.apache.calcite.adapter.mongodb.MongoSchemaFactory',
operand: {
host: 'localhost',
database: 'test'
}
}
{code}
use the connect string
{{jdbc:calcite:schemaFactory=org.apache.calcite.adapter.mongodb.MongoSchemaFactory;
schema.host=localhost; schema.database=test}}
3. Cassandra (user-defined). Instead of writing a model with
{code}
{
type: 'custom',
name: 'twissandra',
factory: 'org.apache.calcite.adapter.cassandra.CassandraSchemaFactory',
operand: {
host: 'localhost',
keyspace: 'twissandra'
}
}
{code}
use the connect string
{{jdbc:calcite:schemaFactory=org.apache.calcite.adapter.cassandra.CassandraSchemaFactory;
schema.host=localhost; schema.keyspace=twissandra}}
You can supply any operand supported by the adapter, as long as you prefix its
name with "schema.".
was:
Allow connecting to a single schema without writing a model. Currently, to use
a SchemaFactory you need to write a model.json file, but with this feature, you
could specify the same information as connect string parameters.
Examples
1. JDBC (built-in). Instead of writing a model with
{code}
{
type: 'jdbc',
name: 'FOODMART',
jdbcUser: 'FOODMART',
jdbcPassword: 'FOODMART',
jdbcUrl: 'jdbc:hsqldb:res:foodmart',
jdbcSchema: 'foodmart'
}
{code}
use the connect string {{jdbc:calcite:schema_type=jdbc;
schema_jdbcUser=FOODMART; schema_jdbcPassword=FOODMART;
schema_jdbcUrl='jdbc:hsqldb:res:foodmart'; schema_jdbcSchema=foodmart}}
2. Mongo (user-defined). Instead of writing a model with
{code}
{
type: 'custom',
name: 'mongo_raw',
factory: 'org.apache.calcite.adapter.mongodb.MongoSchemaFactory',
operand: {
host: 'localhost',
database: 'test'
}
}
{code}
use the connect string
{{jdbc:calcite:schemaFactory=org.apache.calcite.adapter.mongodb.MongoSchemaFactory;
schema_host=localhost; schema_database=test}}
3. Cassandra (user-defined). Instead of writing a model with
{code}
{
type: 'custom',
name: 'twissandra',
factory: 'org.apache.calcite.adapter.cassandra.CassandraSchemaFactory',
operand: {
host: 'localhost',
keyspace: 'twissandra'
}
}
{code}
use the connect string
{{jdbc:calcite:schemaFactory=org.apache.calcite.adapter.cassandra.CassandraSchemaFactory;
schema_host=localhost; schema_keyspace=twissandra}}
> Allow connecting to a single schema without writing a model
> ---
>
> Key: CALCITE-1259
> URL: https://issues.apache.org/jira/browse/CALCITE-1259
> Project: Calcite
> Issue Type: Bug
>Reporter: Julian Hyde
>Assignee: Julian Hyde
>
> Allow connecting to a single schema without writing a model. Currently, to
> use a SchemaFactory you need to write a model.json file, but with this
> feature, you could specify the same information as connect string parameters.
> Examples
> 1. JDBC (built-in). Instead of writing a model with
> {code}
> {
> type: 'jdbc',
> name: 'FOODMART',
> jdbcUser: 'FOODMART',
> jdbcPassword: 'FOODMART',
> jdbcUrl: 'jdbc:hsqldb:res:foodmart',
> jdbcSchema: 'foodmart'
> }
> {code}
> use the connect string {{jdbc:calcite:schema_type=jdbc;
> schema.jdbcUser=FOODMART; schema.jdbcPassword=FOODMART;
> schema.jdbcUrl='jdbc:hsqldb:res:foodmart'; schema.jdbcSchema=foodmart}}
> 2. Mongo (user-defined). Instead of writing a model with
> {code}
> {
> type: 'custom',
> name: 'mongo_raw',
> factory: 'org.apache.calcite.adapter.mongodb.MongoSchemaFactory',
> operand: {
> host: 'localhost',
> database: 'test'
> }
> }
> {code}
> use the connect string
> {{jdbc:calcite:schemaFactory=org.apache.calcite.adapter.mongodb.MongoSchemaFactory;
> schema.host=localhost; schema.database=test}}
> 3. Cassandra