Skip to content

Conversation

turboFei
Copy link
Member

@turboFei turboFei commented Sep 28, 2025

Why are the changes needed?

For RESTful api, the session protocol version is set to V1 before and not open to users.

final val SESSION_PROTOCOL_VERSION = TProtocolVersion.HIVE_CLI_SERVICE_PROTOCOL_V1

And before V6, the result is RowBased, since V6, it is ColumnBased.

public static RowSet create(TRowSet results, TProtocolVersion version) throws TException {
if (version.getValue() >= HIVE_CLI_SERVICE_PROTOCOL_V6.getValue()) {
return new ColumnBasedSet(results);
}
return new RowBasedSet(results);

And with HIVE_CLI_SERVICE_PROTOCOL_V1, for BINARY type column, it is converted as STRING type for RESTful API.

In this PR, we make the session protocol open to users and support to transfer binary type values.

How was this patch tested?

UT.

Was this patch authored or co-authored using generative AI tooling?

No.

@turboFei turboFei changed the title Rest protocol Support customized session thrift protocol version and binary column type Sep 28, 2025
@turboFei turboFei changed the title Support customized session thrift protocol version and binary column type Support customized session thrift protocol version and support binary column type Sep 28, 2025
@turboFei turboFei closed this Sep 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant