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

zhen wang commented on CALCITE-1031:
------------------------------------

best I can go today 
https://github.com/apache/calcite/compare/master...zinking:1031-scan-twice?expand=1
still failing two cases in `CalciteRemoteDriverTest`

my understanding currently is that in `CalciteMetaImpl`  it always overrides 
the base class `createIterable` method to re-execute the statement regardless 
of whether it has already been executed. 

but once the Avatica driver wrapped result set is exposed to Calcite driver, 
there seem to be certain incompatibles. the result type List<List<object>> 
doesn't seem adapt perfectly everywhere in calcite driver which generate 12 
errors Julian mentioned above.

CalciteRemoteDriverTest left to be addressed.

> In prepared statement, CsvScannableTable.scan is called twice
> -------------------------------------------------------------
>
>                 Key: CALCITE-1031
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1031
>             Project: Calcite
>          Issue Type: Bug
>          Components: avatica
>    Affects Versions: 1.5.0
>         Environment: jdk 1.8.0_20 linux mint 17.3
>            Reporter: Anıl Chalil
>            Assignee: Julian Hyde
>            Priority: Minor
>         Attachments: threads_report.txt, threads_report2.txt
>
>
> Hi,
> I just noticed something when i am playing with examples. 
> {code}
>   Class.forName("org.apache.calcite.jdbc.Driver")
>   val properties: Properties = new Properties()
>   properties.setProperty("caseSensitive","true")
>   val connection = DriverManager.getConnection("jdbc:calcite:", properties)
>   val calciteConnection=connection.unwrap(classOf[CalciteConnection])
>   val schema= (new 
> CsvSchemaFactory()).create(calciteConnection.getRootSchema,null,Map[String,AnyRef]("directory"
>  -> "src/main/resources/csv","flavor" -> "scannable").asJava)
>   calciteConnection.getRootSchema.add("TEST",schema)
>   val statement2=calciteConnection.prepareStatement("select \"tarih\" from 
> \"TEST\".\"timeseries\" where \"sensor\" = ?")
>   statement2.setString(1,"sensor38")
>   val resultSet1=statement2.executeQuery()
>   while(resultSet1.next())
>     println(resultSet1.getString("tarih"))
> {code}
> My example like above. But when i call executeQuery  i noticed that 
> CsvScannableTable.scan called twice and enumerator iterating on values. When 
> i inspected stacktraces i found that one of the call come from 
> AvaticaConnection.java:463 and the other one  is AvaticaConnection:489 . 



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

Reply via email to