Throw an exception based on a resource in CalciteResource. E.g.

import static org.apache.calcite.util.Static.RESOURCE;

throw RESOURCE.invalidCompare(
    col1.collationName,
    "" + col1.coercibility,
    col2.collationName,
    "" + col2.coercibility).ex();

> On Feb 5, 2019, at 9:52 AM, Andrei Sereda <[email protected]> wrote:
> 
> We should not be using Preconditions.checkState to check for these
> conditions
> 
> IllegalArgumentException is preferred ?
> 
> On Tue, Feb 5, 2019 at 12:50 PM Julian Hyde <[email protected]> wrote:
> 
>> Looks good.
>> 
>> One remark about your change: a missing property, e.g. "'coordinates' is
>> missing in configuration”, is a user error. We should not be using
>> Preconditions.checkState to check for these conditions, because that is for
>> internal (coding) errors.
>> 
>> 
>> https://github.com/apache/calcite/pull/1028/files#diff-b75b1ca5d0ef9f9b6b1aa37ffafcf2d0R58
>> <
>> https://github.com/apache/calcite/pull/1028/files#diff-b75b1ca5d0ef9f9b6b1aa37ffafcf2d0R58>
>> 
>> 
>> 
>>> On Feb 5, 2019, at 8:26 AM, Andrei Sereda <[email protected]> wrote:
>>> 
>>> I have removed userConfig from ElasticsearchSchemaFactory. It is not used
>>> anymore.
>>> 
>>> https://github.com/apache/calcite/pull/1028
>>> 
>>> On Mon, Feb 4, 2019 at 2:34 PM Michael Mior <[email protected]> wrote:
>>> 
>>>> This looks like a bug. Could you try adding another key "userConfig":
>>>> "{}" under "operand" in your model file and see if that runs?
>>>> --
>>>> Michael Mior
>>>> [email protected]
>>>> 
>>>> 
>>>> Le lun. 4 févr. 2019 à 14:29, Allan Keers <[email protected]> a
>>>> écrit :
>>>>> 
>>>>> Hi there,
>>>>> I can connect my Calcite installation to the sample csv and query the
>>>> tables.
>>>>> When I try to connect to Elasticsearch I get the following error.
>>>>> Any help would be appreciated.
>>>>> Thanks,
>>>>> Allan Keers
>>>>> 
>>>>> 
>>>>> sqlline version 1.6.0
>>>>> 
>>>>> sqlline> !connect
>>>> 
>> jdbc:calcite:model=/Users/Administrator/dev/calcite/elasticsearch/elasticsearch.json
>>>> admin admin
>>>>> 
>>>>> java.lang.RuntimeException: Error instantiating
>>>> JsonCustomSchema(name=elasticsearch)
>>>>> 
>>>>> at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:287)
>>>>> 
>>>>> at
>>>> 
>> org.apache.calcite.model.JsonCustomSchema.accept(JsonCustomSchema.java:45)
>>>>> 
>>>>> at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:208)
>>>>> 
>>>>> at org.apache.calcite.model.ModelHandler.<init>(ModelHandler.java:100)
>>>>> 
>>>>> at org.apache.calcite.jdbc.Driver$1.onConnectionInit(Driver.java:104)
>>>>> 
>>>>> at
>>>> 
>> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:139)
>>>>> 
>>>>> at sqlline.DatabaseConnection.connect(DatabaseConnection.java:130)
>>>>> 
>>>>> at
>> sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:179)
>>>>> 
>>>>> at sqlline.Commands.connect(Commands.java:1247)
>>>>> 
>>>>> at sqlline.Commands.connect(Commands.java:1139)
>>>>> 
>>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>>> 
>>>>> at
>>>> 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>>>> 
>>>>> at
>>>> 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>>>> 
>>>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>>>> 
>>>>> at
>>>> 
>> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
>>>>> 
>>>>> at sqlline.SqlLine.dispatch(SqlLine.java:722)
>>>>> 
>>>>> at sqlline.SqlLine.begin(SqlLine.java:540)
>>>>> 
>>>>> at sqlline.SqlLine.start(SqlLine.java:264)
>>>>> 
>>>>> at sqlline.SqlLine.main(SqlLine.java:195)
>>>>> 
>>>>> Caused by: java.lang.NullPointerException
>>>>> 
>>>>> at
>>>> 
>> com.fasterxml.jackson.core.JsonFactory.createParser(JsonFactory.java:889)
>>>>> 
>>>>> at
>>>> 
>> com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3023)
>>>>> 
>>>>> at
>>>> 
>> org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory.create(ElasticsearchSchemaFactory.java:65)
>>>>> 
>>>>> at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:282)
>>>>> 
>>>>> ... 18 more
>>>>> 
>>>>> 
>>>>> I'm running on Macbook Pro Mac OS Mojave 10.14.1
>>>>> Elasticsearch version:
>>>>> {
>>>>>   "name": "i-xxxxxxxxxxxx",
>>>>>   "cluster_name": "prod-xxxxx",
>>>>>   "cluster_uuid": "r2G1fHbtQO6a3ft_JLbLcg",
>>>>>   "version": {
>>>>>       "number": "5.6.8",
>>>>>       "build_hash": "688ecce",
>>>>>       "build_date": "2018-02-16T16:46:30.010Z",
>>>>>       "build_snapshot": false,
>>>>>       "lucene_version": "6.6.1"
>>>>>   },
>>>>>   "tagline": "You Know, for Search"
>>>>> }
>>>>> 
>>>>> elasticsearch.json:
>>>>> {
>>>>> "version": "1.0",
>>>>> "defaultSchema": "elasticsearch",
>>>>> "schemas": [
>>>>>   {
>>>>>     "type": "custom",
>>>>>     "name": "elasticsearch",
>>>>>     "factory":
>>>> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
>>>>>     "operand": {
>>>>>       "coordinates": "{'99.99.99.99': 80}",
>>>>>       "index": "mp_mediaitems_v220190116"
>>>>>     }
>>>>>   }
>>>>> ]
>>>>> }
>>>>> 
>>>> 
>> 
>> 

Reply via email to