hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prafulla T (JIRA)" <>
Subject [jira] [Commented] (HIVE-6992) Implement PreparedStatement.getMetaData(), getParmeterMetaData()
Date Sun, 21 Dec 2014 01:24:13 GMT


Prafulla T commented on HIVE-6992:

I have some thoughts about how PraparedStatement.getMetadata can be implemented. 
Let me know your comments and I can go ahead and implement this functionality.

h4. Here is my proposal.
h5. On server-side:
Add couple of parameters TExecuteStatementReq  thrift  
* A bool variable prepareOnly indicate this is “prepare only” request. 
* An operation handle to indicate existing operation on server    .

Add couple of parameters to HiveSession.executeStatement and executeStatementAsy - operationHandle
and prepareOnly.

In HiveSessionImpl.executeStatementInternal method, 
f prepareOnly flag is set and Create operation and invoke “prepare” method instead of
If ExecuteStatementReq has valid operationHandle ( non-null ), then use that operation instead
of creating new operation.
If prepareOnly flag is not set, Invoke run method on corresponding Operation.
Return error if Operation(if given) is not in valid state. 

h5. On Client side:
In PreparedStatement.getMetadata, Check if cached schema is available, if yes return that.
Otherwise, send ExecuteStatementReq with prepareOnly flag and read schema using getSchema
When this returns, Save operationHandle locally and use it for sending when user actually
invokes PrepareMethod.execute* methods.

> Implement PreparedStatement.getMetaData(), getParmeterMetaData()
> ----------------------------------------------------------------
>                 Key: HIVE-6992
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: JDBC
>            Reporter: Bill Oliver
> It would be very helpful to have methods PreparedStatement.getMetaData() and also PreparedStatement.getParameterMetaData()
> I especially would like PreparedStatmeent.getMetaData() implemented, as I could prepare
a SQL statement, and then get information about the result set, as well as information that
the query is valid.
> I am pretty sure this information is available in some form. When you do an "EXPLAIN
query", the explain operation shows information about the result set including the column
name/aliases and the column types.
> thanks you
> -bill

This message was sent by Atlassian JIRA

View raw message