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

Kevin Minder commented on CALCITE-2322:
---------------------------------------

Sorry, I'm still uncertain.  I specifically chose "fetch_size" because it 
aligned with the style of all of the other URL parameters in 
BuiltInConnectionProperty (i.e. avatica_user, avatica_password, 
httpclient_factory, httpclient_impl, truststore_password, 
hostname_verification).  Can you confirm that you want a URL like below?

jdbc:phoenix:thin:url=...;avatica_user=u;avatica_password=p;httpclient_impl=c;truststore_password=t;fetchSize=1000
{code:java}
/** Avatica-based authentication user name */
AVATICA_USER("avatica_user", Type.STRING, null, false),

/** Avatica-based authentication password */
AVATICA_PASSWORD("avatica_password", Type.STRING, null, false),

/** Factory for constructing http clients. */
HTTP_CLIENT_FACTORY("httpclient_factory", Type.PLUGIN,
    AvaticaHttpClientFactoryImpl.class.getName(), false),

/** HttpClient implementation class name. */
HTTP_CLIENT_IMPL("httpclient_impl", Type.STRING, null, false),

/** Principal to use to perform Kerberos login. */
PRINCIPAL("principal", Type.STRING, null, false),

/** Keytab to use to perform Kerberos login. */
KEYTAB("keytab", Type.STRING, null, false),

/** Truststore for SSL/TLS communication */
TRUSTSTORE("truststore", Type.STRING, null, false),

/** Password for the truststore */
TRUSTSTORE_PASSWORD("truststore_password", Type.STRING, null, false),

HOSTNAME_VERIFICATION("hostname_verification", Type.ENUM, 
HostnameVerification.STRICT,
    HostnameVerification.class, false),

/** Fetch size limit, default is 100 rows. */
FETCH_SIZE("fetch_size", Type.NUMBER, AvaticaStatement.DEFAULT_FETCH_SIZE, 
false);{code}
Most of the ones you mention (i.e. escapeProcessing, fetchDirection, maxRows, 
poolable, queryTimeout) don't even appear to be settable via the connection URL.

> Add fetch size support to connection url and JDBC statement
> -----------------------------------------------------------
>
>                 Key: CALCITE-2322
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2322
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 1.11.0
>            Reporter: Kevin Minder
>            Assignee: Julian Hyde
>            Priority: Major
>
> Currently the remote driver defaults to hard coded fetch size of 100 rows.  
> When a connection is operating in HTTP mode having such a small fetch size 
> can add enormous overhead.  This is especially true if TLS connections are 
> used and made worse if each connection flows throw multiple proxies.  
> Consider that 100K rows returned 100 rows at a time will make 1K HTTP POST 
> requests.  One might say that nobody should ever do that but some tools like 
> Spotfire may end up doing this.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to