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

Xavier FH Leong commented on CALCITE-522:
-----------------------------------------

To add, JdbcMeta do not know the underlying connection is Calcite, it gets the 
property by calling the connection databasemeta class functions, so to build 
the map, it needs to call all the functions and cache it. Then there will be 3 
layers of cache, at remote, server and Calcite.

So I'm very keen to have the server and database layer service the single call, 
and only have the remote meta to cache the results in it's internal map to 
eliminate double request for static values. 

> In remote JDBC driver, transmit static database properties as a map
> -------------------------------------------------------------------
>
>                 Key: CALCITE-522
>                 URL: https://issues.apache.org/jira/browse/CALCITE-522
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Julian Hyde
>            Assignee: Julian Hyde
>
> A lot of DatabaseMetaData methods are not parameterized, and give the same 
> answer every time. Some examples:
> * allProceduresAreCallable
> * getUserName
> * isReadOnly
> * getDatabaseProductName
> * getDatabaseProductVersion
> * getDriverName
> * getDriverVersion
> * getDriverMajorVersion
> * getDriverMinorVersion
> * getSqlKeywords
> * getNumericFunctions
> * getStringFunctions
> * getSystemFunctions
> * getTimeDateFunctions
> This task would define an enum of properties, add a method to Meta that 
> returns (property, value) map.
> See DatabaseMetaData and Connection for the full list.
> Obsolete the following Meta methods:
> * getSqlKeywords
> * getNumericFunctions
> * getStringFunctions
> * getSystemFunctions
> * getTimeDateFunctions



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

Reply via email to