[ 
https://issues.apache.org/jira/browse/CALCITE-1259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15305660#comment-15305660
 ] 

Julian Hyde commented on CALCITE-1259:
--------------------------------------

Please review 
https://github.com/julianhyde/calcite/commit/fe5b0009fdc03aeb255ee5ad86aff50978738a48.

> 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 (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.".



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to