You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by Maria <li...@126.com> on 2019/04/02 12:33:12 UTC

elasticsearch-adapter test failed with "Object 'test'" not found

Hi, calcite developers. I met a question about es-adapter and still cannot resove it:  . 


1) calcite version :1.18.0
2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
3) test sql : select count(*) from test
4) elasticsearch-model.json as follow:
{
"version": "1.0","defaultSchema": "elasticsearch", "schemas": [ { "type": "custom", "name": "test", "factory": "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory", "operand": {
"coordinates": "{'xx.xx.xx.xx': 9205}",
"userConfig": "{'bulk.flush.max.actions': 10, 'bulk.flush.max.size.mb': 1}",
"index": "test" } } ] }
5) test-code:
try {
Class.forName("org.apache.calcite.jdbc.Driver");
} catch (ClassNotFoundException e) {
Throw new RuntimeException(e);
}
Properties pp = new Properties();
pp.put("lex", "JAVA");
Connection conn = null;
try {
conn = DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json", pp);
Statement ss = conn.createStatement();
String sql = "select count(*) from test";
ResultSet result = ss.escuteQuery(sql);
output(resultSet, System.out);
} catch() {
Throw new RuntimeException("======get data failed" , e);
}


6) excaptions :
org.apache.calcite.sql.validate.SqlValidatorException:Object 'test' not found
Exception in thread "main" java.lang.RuntimeException: ======get data failed
.........
caused by:org.apache.calcite.runtime.CalciteContestException: From line 1, column 22 to line 1, column 25: Object 'test' not found<4 internal calls>
at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
.........
7) other confusions:
[1] I know that in elasticsearch apdator, test case is done by EmbeddedElasticsearch, why not add one standard JDBC test case?
[2] model.json in http://calcite.apache.org/docs/elasticsearch_adapter.html need to be update,should add "userConfig", or else will be failed.




any reply will be appreciated


Maria.






















Re:Re: Re: Re: Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Maria <li...@126.com>.
You're right!  I try to query with "select count(*) from `default`" ,it works!
Thank you  sooo   much again.(* ̄︶ ̄)


Maria.
在 2019-04-03 23:57:17,"Andrei Sereda" <an...@sereda.cc> 写道:
>default is a reserved keyword in calcite.
>
>Perhaps you should try test."default" (ie quote it)
>
>On Wed, Apr 3, 2019 at 2:56 AM Maria <li...@126.com> wrote:
>
>> Thank you so much ,Andrei ,your perspective inspired me.
>> There is no test.test in test index.
>> I changed another table which has multi-type, it works!
>>
>>
>> BUT, also, I hava one another question: why elasticsearch-adapter do not
>> support querying "default" type(eg. test.default) ?
>>
>> At 2019-04-03 10:32:55, "Andrei Sereda" <an...@sereda.cc> wrote:
>> >You define your default schema as  "elasticsearch" but then elastic schema
>> >is called "test" :
>> >
>> >, "schemas": [ { "type": "custom", "name": "test" ..., index:"test" }]
>> >
>> >Also if you don't explicitly specify ES type all types for index "test"
>> >will be imported. So it is possible that there is no test.test type.
>> >
>> >On Tue, Apr 2, 2019 at 11:18 PM Maria <li...@126.com> wrote:
>> >
>> >>
>> >>
>> >> And, if the name is not correct, creating ElasticsearchSchema will be
>> >> failed.  The program will not performs "ResultSet result =
>> >> ss.excuteQuery(sql);"
>> >>
>> >> At 2019-04-03 09:47:02, "Andrei Sereda" <an...@sereda.cc> wrote:
>> >> >Can you check that it's not because of lex ?
>> >> >What if you quote table name "test" ? Maybe uppercase ?
>> >> >
>> >> >On Tue, Apr 2, 2019, 22:42 Maria <li...@126.com> wrote:
>> >> >
>> >> >> Firstly,thanks for your reply.
>> >> >> But I'm sure that my local elasticsearch-model.json has been loaded
>> >> >> correctly,because when getting connect,read the elastic info   from
>> that
>> >> >> file.
>> >> >> I will debug the test-demo again...Search for the cause of the
>> problem.
>> >> >>
>> >> >>
>> >> >> Best wishes.
>> >> >>
>> >> >>
>> >> >> Maria.
>> >> >> At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
>> >> >> >For Object 'test' not found it means Calcite does not load your son
>> >> model
>> >> >> correctly, so it can not find then validate the table there. Maybe
>> you
>> >> >> model file is not load correctly.
>> >> >> >
>> >> >> >I saw a demo in Calcite code in [1], the path sep is </> while your
>> sep
>> >> >> is <\\>, can you have a try ?
>> >> >> >
>> >> >> >[1]
>> >> >>
>> >>
>> https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
>> >> >> >
>> >> >> >Best,
>> >> >> >Danny Chan
>> >> >> >在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
>> >> >> >> Hi, calcite developers. I met a question about es-adapter and
>> still
>> >> >> cannot resove it: .
>> >> >> >>
>> >> >> >>
>> >> >> >> 1) calcite version :1.18.0
>> >> >> >> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
>> >> >> >> 3) test sql : select count(*) from test
>> >> >> >> 4) elasticsearch-model.json as follow:
>> >> >> >> {
>> >> >> >> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ {
>> >> >> "type": "custom", "name": "test", "factory":
>> >> >>
>> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
>> >> >> "operand": {
>> >> >> >> "coordinates": "{'xx.xx.xx.xx': 9205}",
>> >> >> >> "userConfig": "{'bulk.flush.max.actions': 10,
>> >> 'bulk.flush.max.size.mb':
>> >> >> 1}",
>> >> >> >> "index": "test" } } ] }
>> >> >> >> 5) test-code:
>> >> >> >> try {
>> >> >> >> Class.forName("org.apache.calcite.jdbc.Driver");
>> >> >> >> } catch (ClassNotFoundException e) {
>> >> >> >> Throw new RuntimeException(e);
>> >> >> >> }
>> >> >> >> Properties pp = new Properties();
>> >> >> >> pp.put("lex", "JAVA");
>> >> >> >> Connection conn = null;
>> >> >> >> try {
>> >> >> >> conn =
>> >> >>
>> >>
>> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
>> >> >> pp);
>> >> >> >> Statement ss = conn.createStatement();
>> >> >> >> String sql = "select count(*) from test";
>> >> >> >> ResultSet result = ss.escuteQuery(sql);
>> >> >> >> output(resultSet, System.out);
>> >> >> >> } catch() {
>> >> >> >> Throw new RuntimeException("======get data failed" , e);
>> >> >> >> }
>> >> >> >>
>> >> >> >>
>> >> >> >> 6) excaptions :
>> >> >> >> org.apache.calcite.sql.validate.SqlValidatorException:Object
>> 'test'
>> >> not
>> >> >> found
>> >> >> >> Exception in thread "main" java.lang.RuntimeException: ======get
>> data
>> >> >> failed
>> >> >> >> .........
>> >> >> >> caused by:org.apache.calcite.runtime.CalciteContestException: From
>> >> line
>> >> >> 1, column 22 to line 1, column 25: Object 'test' not found<4 internal
>> >> calls>
>> >> >> >> at
>> >> >>
>> >>
>> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
>> >> >> >> at
>> >> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
>> >> >> >> at
>> >> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
>> >> >> >> at
>> >> >>
>> >>
>> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
>> >> >> >> at
>> >> >>
>> >>
>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
>> >> >> >> .........
>> >> >> >> 7) other confusions:
>> >> >> >> [1] I know that in elasticsearch apdator, test case is done by
>> >> >> EmbeddedElasticsearch, why not add one standard JDBC test case?
>> >> >> >> [2] model.json in
>> >> >> http://calcite.apache.org/docs/elasticsearch_adapter.html need to be
>> >> >> update,should add "userConfig", or else will be failed.
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >> any reply will be appreciated
>> >> >> >>
>> >> >> >>
>> >> >> >> Maria.
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >> >>
>> >> >>
>> >>
>>

Re: Re: Re: Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Andrei Sereda <an...@sereda.cc>.
default is a reserved keyword in calcite.

Perhaps you should try test."default" (ie quote it)

On Wed, Apr 3, 2019 at 2:56 AM Maria <li...@126.com> wrote:

> Thank you so much ,Andrei ,your perspective inspired me.
> There is no test.test in test index.
> I changed another table which has multi-type, it works!
>
>
> BUT, also, I hava one another question: why elasticsearch-adapter do not
> support querying "default" type(eg. test.default) ?
>
> At 2019-04-03 10:32:55, "Andrei Sereda" <an...@sereda.cc> wrote:
> >You define your default schema as  "elasticsearch" but then elastic schema
> >is called "test" :
> >
> >, "schemas": [ { "type": "custom", "name": "test" ..., index:"test" }]
> >
> >Also if you don't explicitly specify ES type all types for index "test"
> >will be imported. So it is possible that there is no test.test type.
> >
> >On Tue, Apr 2, 2019 at 11:18 PM Maria <li...@126.com> wrote:
> >
> >>
> >>
> >> And, if the name is not correct, creating ElasticsearchSchema will be
> >> failed.  The program will not performs "ResultSet result =
> >> ss.excuteQuery(sql);"
> >>
> >> At 2019-04-03 09:47:02, "Andrei Sereda" <an...@sereda.cc> wrote:
> >> >Can you check that it's not because of lex ?
> >> >What if you quote table name "test" ? Maybe uppercase ?
> >> >
> >> >On Tue, Apr 2, 2019, 22:42 Maria <li...@126.com> wrote:
> >> >
> >> >> Firstly,thanks for your reply.
> >> >> But I'm sure that my local elasticsearch-model.json has been loaded
> >> >> correctly,because when getting connect,read the elastic info   from
> that
> >> >> file.
> >> >> I will debug the test-demo again...Search for the cause of the
> problem.
> >> >>
> >> >>
> >> >> Best wishes.
> >> >>
> >> >>
> >> >> Maria.
> >> >> At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
> >> >> >For Object 'test' not found it means Calcite does not load your son
> >> model
> >> >> correctly, so it can not find then validate the table there. Maybe
> you
> >> >> model file is not load correctly.
> >> >> >
> >> >> >I saw a demo in Calcite code in [1], the path sep is </> while your
> sep
> >> >> is <\\>, can you have a try ?
> >> >> >
> >> >> >[1]
> >> >>
> >>
> https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
> >> >> >
> >> >> >Best,
> >> >> >Danny Chan
> >> >> >在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
> >> >> >> Hi, calcite developers. I met a question about es-adapter and
> still
> >> >> cannot resove it: .
> >> >> >>
> >> >> >>
> >> >> >> 1) calcite version :1.18.0
> >> >> >> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
> >> >> >> 3) test sql : select count(*) from test
> >> >> >> 4) elasticsearch-model.json as follow:
> >> >> >> {
> >> >> >> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ {
> >> >> "type": "custom", "name": "test", "factory":
> >> >>
> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
> >> >> "operand": {
> >> >> >> "coordinates": "{'xx.xx.xx.xx': 9205}",
> >> >> >> "userConfig": "{'bulk.flush.max.actions': 10,
> >> 'bulk.flush.max.size.mb':
> >> >> 1}",
> >> >> >> "index": "test" } } ] }
> >> >> >> 5) test-code:
> >> >> >> try {
> >> >> >> Class.forName("org.apache.calcite.jdbc.Driver");
> >> >> >> } catch (ClassNotFoundException e) {
> >> >> >> Throw new RuntimeException(e);
> >> >> >> }
> >> >> >> Properties pp = new Properties();
> >> >> >> pp.put("lex", "JAVA");
> >> >> >> Connection conn = null;
> >> >> >> try {
> >> >> >> conn =
> >> >>
> >>
> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
> >> >> pp);
> >> >> >> Statement ss = conn.createStatement();
> >> >> >> String sql = "select count(*) from test";
> >> >> >> ResultSet result = ss.escuteQuery(sql);
> >> >> >> output(resultSet, System.out);
> >> >> >> } catch() {
> >> >> >> Throw new RuntimeException("======get data failed" , e);
> >> >> >> }
> >> >> >>
> >> >> >>
> >> >> >> 6) excaptions :
> >> >> >> org.apache.calcite.sql.validate.SqlValidatorException:Object
> 'test'
> >> not
> >> >> found
> >> >> >> Exception in thread "main" java.lang.RuntimeException: ======get
> data
> >> >> failed
> >> >> >> .........
> >> >> >> caused by:org.apache.calcite.runtime.CalciteContestException: From
> >> line
> >> >> 1, column 22 to line 1, column 25: Object 'test' not found<4 internal
> >> calls>
> >> >> >> at
> >> >>
> >>
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
> >> >> >> at
> >> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
> >> >> >> at
> >> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
> >> >> >> at
> >> >>
> >>
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
> >> >> >> at
> >> >>
> >>
> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
> >> >> >> .........
> >> >> >> 7) other confusions:
> >> >> >> [1] I know that in elasticsearch apdator, test case is done by
> >> >> EmbeddedElasticsearch, why not add one standard JDBC test case?
> >> >> >> [2] model.json in
> >> >> http://calcite.apache.org/docs/elasticsearch_adapter.html need to be
> >> >> update,should add "userConfig", or else will be failed.
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >> any reply will be appreciated
> >> >> >>
> >> >> >>
> >> >> >> Maria.
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >> >>
> >> >>
> >>
>

Re:Re: Re: Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Maria <li...@126.com>.
Thank you so much ,Andrei ,your perspective inspired me.
There is no test.test in test index.
I changed another table which has multi-type, it works!


BUT, also, I hava one another question: why elasticsearch-adapter do not support querying "default" type(eg. test.default) ?

At 2019-04-03 10:32:55, "Andrei Sereda" <an...@sereda.cc> wrote:
>You define your default schema as  "elasticsearch" but then elastic schema
>is called "test" :
>
>, "schemas": [ { "type": "custom", "name": "test" ..., index:"test" }]
>
>Also if you don't explicitly specify ES type all types for index "test"
>will be imported. So it is possible that there is no test.test type.
>
>On Tue, Apr 2, 2019 at 11:18 PM Maria <li...@126.com> wrote:
>
>>
>>
>> And, if the name is not correct, creating ElasticsearchSchema will be
>> failed.  The program will not performs "ResultSet result =
>> ss.excuteQuery(sql);"
>>
>> At 2019-04-03 09:47:02, "Andrei Sereda" <an...@sereda.cc> wrote:
>> >Can you check that it's not because of lex ?
>> >What if you quote table name "test" ? Maybe uppercase ?
>> >
>> >On Tue, Apr 2, 2019, 22:42 Maria <li...@126.com> wrote:
>> >
>> >> Firstly,thanks for your reply.
>> >> But I'm sure that my local elasticsearch-model.json has been loaded
>> >> correctly,because when getting connect,read the elastic info   from that
>> >> file.
>> >> I will debug the test-demo again...Search for the cause of the problem.
>> >>
>> >>
>> >> Best wishes.
>> >>
>> >>
>> >> Maria.
>> >> At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
>> >> >For Object 'test' not found it means Calcite does not load your son
>> model
>> >> correctly, so it can not find then validate the table there. Maybe you
>> >> model file is not load correctly.
>> >> >
>> >> >I saw a demo in Calcite code in [1], the path sep is </> while your sep
>> >> is <\\>, can you have a try ?
>> >> >
>> >> >[1]
>> >>
>> https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
>> >> >
>> >> >Best,
>> >> >Danny Chan
>> >> >在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
>> >> >> Hi, calcite developers. I met a question about es-adapter and still
>> >> cannot resove it: .
>> >> >>
>> >> >>
>> >> >> 1) calcite version :1.18.0
>> >> >> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
>> >> >> 3) test sql : select count(*) from test
>> >> >> 4) elasticsearch-model.json as follow:
>> >> >> {
>> >> >> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ {
>> >> "type": "custom", "name": "test", "factory":
>> >> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
>> >> "operand": {
>> >> >> "coordinates": "{'xx.xx.xx.xx': 9205}",
>> >> >> "userConfig": "{'bulk.flush.max.actions': 10,
>> 'bulk.flush.max.size.mb':
>> >> 1}",
>> >> >> "index": "test" } } ] }
>> >> >> 5) test-code:
>> >> >> try {
>> >> >> Class.forName("org.apache.calcite.jdbc.Driver");
>> >> >> } catch (ClassNotFoundException e) {
>> >> >> Throw new RuntimeException(e);
>> >> >> }
>> >> >> Properties pp = new Properties();
>> >> >> pp.put("lex", "JAVA");
>> >> >> Connection conn = null;
>> >> >> try {
>> >> >> conn =
>> >>
>> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
>> >> pp);
>> >> >> Statement ss = conn.createStatement();
>> >> >> String sql = "select count(*) from test";
>> >> >> ResultSet result = ss.escuteQuery(sql);
>> >> >> output(resultSet, System.out);
>> >> >> } catch() {
>> >> >> Throw new RuntimeException("======get data failed" , e);
>> >> >> }
>> >> >>
>> >> >>
>> >> >> 6) excaptions :
>> >> >> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test'
>> not
>> >> found
>> >> >> Exception in thread "main" java.lang.RuntimeException: ======get data
>> >> failed
>> >> >> .........
>> >> >> caused by:org.apache.calcite.runtime.CalciteContestException: From
>> line
>> >> 1, column 22 to line 1, column 25: Object 'test' not found<4 internal
>> calls>
>> >> >> at
>> >>
>> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
>> >> >> at
>> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
>> >> >> at
>> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
>> >> >> at
>> >>
>> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
>> >> >> at
>> >>
>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
>> >> >> .........
>> >> >> 7) other confusions:
>> >> >> [1] I know that in elasticsearch apdator, test case is done by
>> >> EmbeddedElasticsearch, why not add one standard JDBC test case?
>> >> >> [2] model.json in
>> >> http://calcite.apache.org/docs/elasticsearch_adapter.html need to be
>> >> update,should add "userConfig", or else will be failed.
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >> any reply will be appreciated
>> >> >>
>> >> >>
>> >> >> Maria.
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >> >>
>> >>
>>

Re: Re: Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Andrei Sereda <an...@sereda.cc>.
You define your default schema as  "elasticsearch" but then elastic schema
is called "test" :

, "schemas": [ { "type": "custom", "name": "test" ..., index:"test" }]

Also if you don't explicitly specify ES type all types for index "test"
will be imported. So it is possible that there is no test.test type.

On Tue, Apr 2, 2019 at 11:18 PM Maria <li...@126.com> wrote:

>
>
> And, if the name is not correct, creating ElasticsearchSchema will be
> failed.  The program will not performs "ResultSet result =
> ss.excuteQuery(sql);"
>
> At 2019-04-03 09:47:02, "Andrei Sereda" <an...@sereda.cc> wrote:
> >Can you check that it's not because of lex ?
> >What if you quote table name "test" ? Maybe uppercase ?
> >
> >On Tue, Apr 2, 2019, 22:42 Maria <li...@126.com> wrote:
> >
> >> Firstly,thanks for your reply.
> >> But I'm sure that my local elasticsearch-model.json has been loaded
> >> correctly,because when getting connect,read the elastic info   from that
> >> file.
> >> I will debug the test-demo again...Search for the cause of the problem.
> >>
> >>
> >> Best wishes.
> >>
> >>
> >> Maria.
> >> At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
> >> >For Object 'test' not found it means Calcite does not load your son
> model
> >> correctly, so it can not find then validate the table there. Maybe you
> >> model file is not load correctly.
> >> >
> >> >I saw a demo in Calcite code in [1], the path sep is </> while your sep
> >> is <\\>, can you have a try ?
> >> >
> >> >[1]
> >>
> https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
> >> >
> >> >Best,
> >> >Danny Chan
> >> >在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
> >> >> Hi, calcite developers. I met a question about es-adapter and still
> >> cannot resove it: .
> >> >>
> >> >>
> >> >> 1) calcite version :1.18.0
> >> >> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
> >> >> 3) test sql : select count(*) from test
> >> >> 4) elasticsearch-model.json as follow:
> >> >> {
> >> >> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ {
> >> "type": "custom", "name": "test", "factory":
> >> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
> >> "operand": {
> >> >> "coordinates": "{'xx.xx.xx.xx': 9205}",
> >> >> "userConfig": "{'bulk.flush.max.actions': 10,
> 'bulk.flush.max.size.mb':
> >> 1}",
> >> >> "index": "test" } } ] }
> >> >> 5) test-code:
> >> >> try {
> >> >> Class.forName("org.apache.calcite.jdbc.Driver");
> >> >> } catch (ClassNotFoundException e) {
> >> >> Throw new RuntimeException(e);
> >> >> }
> >> >> Properties pp = new Properties();
> >> >> pp.put("lex", "JAVA");
> >> >> Connection conn = null;
> >> >> try {
> >> >> conn =
> >>
> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
> >> pp);
> >> >> Statement ss = conn.createStatement();
> >> >> String sql = "select count(*) from test";
> >> >> ResultSet result = ss.escuteQuery(sql);
> >> >> output(resultSet, System.out);
> >> >> } catch() {
> >> >> Throw new RuntimeException("======get data failed" , e);
> >> >> }
> >> >>
> >> >>
> >> >> 6) excaptions :
> >> >> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test'
> not
> >> found
> >> >> Exception in thread "main" java.lang.RuntimeException: ======get data
> >> failed
> >> >> .........
> >> >> caused by:org.apache.calcite.runtime.CalciteContestException: From
> line
> >> 1, column 22 to line 1, column 25: Object 'test' not found<4 internal
> calls>
> >> >> at
> >>
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
> >> >> at
> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
> >> >> at
> org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
> >> >> at
> >>
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
> >> >> at
> >>
> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
> >> >> .........
> >> >> 7) other confusions:
> >> >> [1] I know that in elasticsearch apdator, test case is done by
> >> EmbeddedElasticsearch, why not add one standard JDBC test case?
> >> >> [2] model.json in
> >> http://calcite.apache.org/docs/elasticsearch_adapter.html need to be
> >> update,should add "userConfig", or else will be failed.
> >> >>
> >> >>
> >> >>
> >> >>
> >> >> any reply will be appreciated
> >> >>
> >> >>
> >> >> Maria.
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >> >>
> >>
>

Re:Re: Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Maria <li...@126.com>.

And, if the name is not correct, creating ElasticsearchSchema will be failed.  The program will not performs "ResultSet result = ss.excuteQuery(sql);"

At 2019-04-03 09:47:02, "Andrei Sereda" <an...@sereda.cc> wrote:
>Can you check that it's not because of lex ?
>What if you quote table name "test" ? Maybe uppercase ?
>
>On Tue, Apr 2, 2019, 22:42 Maria <li...@126.com> wrote:
>
>> Firstly,thanks for your reply.
>> But I'm sure that my local elasticsearch-model.json has been loaded
>> correctly,because when getting connect,read the elastic info   from that
>> file.
>> I will debug the test-demo again...Search for the cause of the problem.
>>
>>
>> Best wishes.
>>
>>
>> Maria.
>> At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
>> >For Object 'test' not found it means Calcite does not load your son model
>> correctly, so it can not find then validate the table there. Maybe you
>> model file is not load correctly.
>> >
>> >I saw a demo in Calcite code in [1], the path sep is </> while your sep
>> is <\\>, can you have a try ?
>> >
>> >[1]
>> https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
>> >
>> >Best,
>> >Danny Chan
>> >在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
>> >> Hi, calcite developers. I met a question about es-adapter and still
>> cannot resove it: .
>> >>
>> >>
>> >> 1) calcite version :1.18.0
>> >> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
>> >> 3) test sql : select count(*) from test
>> >> 4) elasticsearch-model.json as follow:
>> >> {
>> >> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ {
>> "type": "custom", "name": "test", "factory":
>> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
>> "operand": {
>> >> "coordinates": "{'xx.xx.xx.xx': 9205}",
>> >> "userConfig": "{'bulk.flush.max.actions': 10, 'bulk.flush.max.size.mb':
>> 1}",
>> >> "index": "test" } } ] }
>> >> 5) test-code:
>> >> try {
>> >> Class.forName("org.apache.calcite.jdbc.Driver");
>> >> } catch (ClassNotFoundException e) {
>> >> Throw new RuntimeException(e);
>> >> }
>> >> Properties pp = new Properties();
>> >> pp.put("lex", "JAVA");
>> >> Connection conn = null;
>> >> try {
>> >> conn =
>> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
>> pp);
>> >> Statement ss = conn.createStatement();
>> >> String sql = "select count(*) from test";
>> >> ResultSet result = ss.escuteQuery(sql);
>> >> output(resultSet, System.out);
>> >> } catch() {
>> >> Throw new RuntimeException("======get data failed" , e);
>> >> }
>> >>
>> >>
>> >> 6) excaptions :
>> >> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test' not
>> found
>> >> Exception in thread "main" java.lang.RuntimeException: ======get data
>> failed
>> >> .........
>> >> caused by:org.apache.calcite.runtime.CalciteContestException: From line
>> 1, column 22 to line 1, column 25: Object 'test' not found<4 internal calls>
>> >> at
>> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
>> >> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
>> >> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
>> >> at
>> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
>> >> at
>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
>> >> .........
>> >> 7) other confusions:
>> >> [1] I know that in elasticsearch apdator, test case is done by
>> EmbeddedElasticsearch, why not add one standard JDBC test case?
>> >> [2] model.json in
>> http://calcite.apache.org/docs/elasticsearch_adapter.html need to be
>> update,should add "userConfig", or else will be failed.
>> >>
>> >>
>> >>
>> >>
>> >> any reply will be appreciated
>> >>
>> >>
>> >> Maria.
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>>

Re:Re: Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Maria <li...@126.com>.
Nope, the index name in elasticsearch is full lowercase. 

At 2019-04-03 09:47:02, "Andrei Sereda" <an...@sereda.cc> wrote:
>Can you check that it's not because of lex ?
>What if you quote table name "test" ? Maybe uppercase ?
>
>On Tue, Apr 2, 2019, 22:42 Maria <li...@126.com> wrote:
>
>> Firstly,thanks for your reply.
>> But I'm sure that my local elasticsearch-model.json has been loaded
>> correctly,because when getting connect,read the elastic info   from that
>> file.
>> I will debug the test-demo again...Search for the cause of the problem.
>>
>>
>> Best wishes.
>>
>>
>> Maria.
>> At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
>> >For Object 'test' not found it means Calcite does not load your son model
>> correctly, so it can not find then validate the table there. Maybe you
>> model file is not load correctly.
>> >
>> >I saw a demo in Calcite code in [1], the path sep is </> while your sep
>> is <\\>, can you have a try ?
>> >
>> >[1]
>> https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
>> >
>> >Best,
>> >Danny Chan
>> >在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
>> >> Hi, calcite developers. I met a question about es-adapter and still
>> cannot resove it: .
>> >>
>> >>
>> >> 1) calcite version :1.18.0
>> >> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
>> >> 3) test sql : select count(*) from test
>> >> 4) elasticsearch-model.json as follow:
>> >> {
>> >> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ {
>> "type": "custom", "name": "test", "factory":
>> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
>> "operand": {
>> >> "coordinates": "{'xx.xx.xx.xx': 9205}",
>> >> "userConfig": "{'bulk.flush.max.actions': 10, 'bulk.flush.max.size.mb':
>> 1}",
>> >> "index": "test" } } ] }
>> >> 5) test-code:
>> >> try {
>> >> Class.forName("org.apache.calcite.jdbc.Driver");
>> >> } catch (ClassNotFoundException e) {
>> >> Throw new RuntimeException(e);
>> >> }
>> >> Properties pp = new Properties();
>> >> pp.put("lex", "JAVA");
>> >> Connection conn = null;
>> >> try {
>> >> conn =
>> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
>> pp);
>> >> Statement ss = conn.createStatement();
>> >> String sql = "select count(*) from test";
>> >> ResultSet result = ss.escuteQuery(sql);
>> >> output(resultSet, System.out);
>> >> } catch() {
>> >> Throw new RuntimeException("======get data failed" , e);
>> >> }
>> >>
>> >>
>> >> 6) excaptions :
>> >> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test' not
>> found
>> >> Exception in thread "main" java.lang.RuntimeException: ======get data
>> failed
>> >> .........
>> >> caused by:org.apache.calcite.runtime.CalciteContestException: From line
>> 1, column 22 to line 1, column 25: Object 'test' not found<4 internal calls>
>> >> at
>> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
>> >> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
>> >> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
>> >> at
>> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
>> >> at
>> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
>> >> .........
>> >> 7) other confusions:
>> >> [1] I know that in elasticsearch apdator, test case is done by
>> EmbeddedElasticsearch, why not add one standard JDBC test case?
>> >> [2] model.json in
>> http://calcite.apache.org/docs/elasticsearch_adapter.html need to be
>> update,should add "userConfig", or else will be failed.
>> >>
>> >>
>> >>
>> >>
>> >> any reply will be appreciated
>> >>
>> >>
>> >> Maria.
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>>

Re: Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Andrei Sereda <an...@sereda.cc>.
Can you check that it's not because of lex ?
What if you quote table name "test" ? Maybe uppercase ?

On Tue, Apr 2, 2019, 22:42 Maria <li...@126.com> wrote:

> Firstly,thanks for your reply.
> But I'm sure that my local elasticsearch-model.json has been loaded
> correctly,because when getting connect,read the elastic info   from that
> file.
> I will debug the test-demo again...Search for the cause of the problem.
>
>
> Best wishes.
>
>
> Maria.
> At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
> >For Object 'test' not found it means Calcite does not load your son model
> correctly, so it can not find then validate the table there. Maybe you
> model file is not load correctly.
> >
> >I saw a demo in Calcite code in [1], the path sep is </> while your sep
> is <\\>, can you have a try ?
> >
> >[1]
> https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
> >
> >Best,
> >Danny Chan
> >在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
> >> Hi, calcite developers. I met a question about es-adapter and still
> cannot resove it: .
> >>
> >>
> >> 1) calcite version :1.18.0
> >> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
> >> 3) test sql : select count(*) from test
> >> 4) elasticsearch-model.json as follow:
> >> {
> >> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ {
> "type": "custom", "name": "test", "factory":
> "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory",
> "operand": {
> >> "coordinates": "{'xx.xx.xx.xx': 9205}",
> >> "userConfig": "{'bulk.flush.max.actions': 10, 'bulk.flush.max.size.mb':
> 1}",
> >> "index": "test" } } ] }
> >> 5) test-code:
> >> try {
> >> Class.forName("org.apache.calcite.jdbc.Driver");
> >> } catch (ClassNotFoundException e) {
> >> Throw new RuntimeException(e);
> >> }
> >> Properties pp = new Properties();
> >> pp.put("lex", "JAVA");
> >> Connection conn = null;
> >> try {
> >> conn =
> DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json",
> pp);
> >> Statement ss = conn.createStatement();
> >> String sql = "select count(*) from test";
> >> ResultSet result = ss.escuteQuery(sql);
> >> output(resultSet, System.out);
> >> } catch() {
> >> Throw new RuntimeException("======get data failed" , e);
> >> }
> >>
> >>
> >> 6) excaptions :
> >> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test' not
> found
> >> Exception in thread "main" java.lang.RuntimeException: ======get data
> failed
> >> .........
> >> caused by:org.apache.calcite.runtime.CalciteContestException: From line
> 1, column 22 to line 1, column 25: Object 'test' not found<4 internal calls>
> >> at
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
> >> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
> >> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
> >> at
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
> >> at
> org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
> >> .........
> >> 7) other confusions:
> >> [1] I know that in elasticsearch apdator, test case is done by
> EmbeddedElasticsearch, why not add one standard JDBC test case?
> >> [2] model.json in
> http://calcite.apache.org/docs/elasticsearch_adapter.html need to be
> update,should add "userConfig", or else will be failed.
> >>
> >>
> >>
> >>
> >> any reply will be appreciated
> >>
> >>
> >> Maria.
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
>

Re:Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Maria <li...@126.com>.
Firstly,thanks for your reply.
But I'm sure that my local elasticsearch-model.json has been loaded correctly,because when getting connect,read the elastic info   from that file.
I will debug the test-demo again...Search for the cause of the problem.


Best wishes.


Maria.
At 2019-04-02 19:54:24, "Yuzhao Chen" <yu...@gmail.com> wrote:
>For Object 'test' not found it means Calcite does not load your son model correctly, so it can not find then validate the table there. Maybe you model file is not load correctly.
>
>I saw a demo in Calcite code in [1], the path sep is </> while your sep is <\\>, can you have a try ?
>
>[1] https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914
>
>Best,
>Danny Chan
>在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
>> Hi, calcite developers. I met a question about es-adapter and still cannot resove it: .
>>
>>
>> 1) calcite version :1.18.0
>> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
>> 3) test sql : select count(*) from test
>> 4) elasticsearch-model.json as follow:
>> {
>> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ { "type": "custom", "name": "test", "factory": "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory", "operand": {
>> "coordinates": "{'xx.xx.xx.xx': 9205}",
>> "userConfig": "{'bulk.flush.max.actions': 10, 'bulk.flush.max.size.mb': 1}",
>> "index": "test" } } ] }
>> 5) test-code:
>> try {
>> Class.forName("org.apache.calcite.jdbc.Driver");
>> } catch (ClassNotFoundException e) {
>> Throw new RuntimeException(e);
>> }
>> Properties pp = new Properties();
>> pp.put("lex", "JAVA");
>> Connection conn = null;
>> try {
>> conn = DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json", pp);
>> Statement ss = conn.createStatement();
>> String sql = "select count(*) from test";
>> ResultSet result = ss.escuteQuery(sql);
>> output(resultSet, System.out);
>> } catch() {
>> Throw new RuntimeException("======get data failed" , e);
>> }
>>
>>
>> 6) excaptions :
>> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test' not found
>> Exception in thread "main" java.lang.RuntimeException: ======get data failed
>> .........
>> caused by:org.apache.calcite.runtime.CalciteContestException: From line 1, column 22 to line 1, column 25: Object 'test' not found<4 internal calls>
>> at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
>> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
>> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
>> at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
>> at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
>> .........
>> 7) other confusions:
>> [1] I know that in elasticsearch apdator, test case is done by EmbeddedElasticsearch, why not add one standard JDBC test case?
>> [2] model.json in http://calcite.apache.org/docs/elasticsearch_adapter.html need to be update,should add "userConfig", or else will be failed.
>>
>>
>>
>>
>> any reply will be appreciated
>>
>>
>> Maria.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>

Re: elasticsearch-adapter test failed with "Object 'test'" not found

Posted by Yuzhao Chen <yu...@gmail.com>.
For Object 'test' not found it means Calcite does not load your son model correctly, so it can not find then validate the table there. Maybe you model file is not load correctly.

I saw a demo in Calcite code in [1], the path sep is </> while your sep is <\\>, can you have a try ?

[1] https://github.com/apache/calcite/blob/a75a689eff2f1333adc8fb800bdfa077e94da562/core/src/test/java/org/apache/calcite/test/LatticeTest.java#L914

Best,
Danny Chan
在 2019年4月2日 +0800 PM8:33,Maria <li...@126.com>,写道:
> Hi, calcite developers. I met a question about es-adapter and still cannot resove it: .
>
>
> 1) calcite version :1.18.0
> 2) ES version : 5.4.1(I know that in calcite-1.18.0 is 6.4.2)
> 3) test sql : select count(*) from test
> 4) elasticsearch-model.json as follow:
> {
> "version": "1.0","defaultSchema": "elasticsearch", "schemas": [ { "type": "custom", "name": "test", "factory": "org.apache.calcite.adapter.elasticsearch.ElasticsearchSchemaFactory", "operand": {
> "coordinates": "{'xx.xx.xx.xx': 9205}",
> "userConfig": "{'bulk.flush.max.actions': 10, 'bulk.flush.max.size.mb': 1}",
> "index": "test" } } ] }
> 5) test-code:
> try {
> Class.forName("org.apache.calcite.jdbc.Driver");
> } catch (ClassNotFoundException e) {
> Throw new RuntimeException(e);
> }
> Properties pp = new Properties();
> pp.put("lex", "JAVA");
> Connection conn = null;
> try {
> conn = DriverManager.getConnection("jdbc:calcite:model=D:\\calcite\\pre-git\\calcite-test\\conf\\elasticsearch-model.json", pp);
> Statement ss = conn.createStatement();
> String sql = "select count(*) from test";
> ResultSet result = ss.escuteQuery(sql);
> output(resultSet, System.out);
> } catch() {
> Throw new RuntimeException("======get data failed" , e);
> }
>
>
> 6) excaptions :
> org.apache.calcite.sql.validate.SqlValidatorException:Object 'test' not found
> Exception in thread "main" java.lang.RuntimeException: ======get data failed
> .........
> caused by:org.apache.calcite.runtime.CalciteContestException: From line 1, column 22 to line 1, column 25: Object 'test' not found<4 internal calls>
> at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:463)
> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:787)
> at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:772)
> at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:4788)
> at org.apache.calcite.sql.validate.IdentifierNamespace.resolveImpl(IdentifierNamespace.java:172)
> .........
> 7) other confusions:
> [1] I know that in elasticsearch apdator, test case is done by EmbeddedElasticsearch, why not add one standard JDBC test case?
> [2] model.json in http://calcite.apache.org/docs/elasticsearch_adapter.html need to be update,should add "userConfig", or else will be failed.
>
>
>
>
> any reply will be appreciated
>
>
> Maria.
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>