From 4f213570f29a30c8609afacba0ca01cc33cdc7d0 Mon Sep 17 00:00:00 2001 From: Parth Chandra Date: Fri, 27 Mar 2015 11:21:07 -0700 Subject: DRILL-2573: C++ Client - Separate QueryResult into QueryResult and QueryData --- contrib/native/client/src/include/drill/common.hpp | 2 +- contrib/native/client/src/include/drill/drillClient.hpp | 4 +++- contrib/native/client/src/include/drill/recordBatch.hpp | 9 +++++---- 3 files changed, 9 insertions(+), 6 deletions(-) (limited to 'contrib/native/client/src/include') diff --git a/contrib/native/client/src/include/drill/common.hpp b/contrib/native/client/src/include/drill/common.hpp index 656069271..72b9a9873 100644 --- a/contrib/native/client/src/include/drill/common.hpp +++ b/contrib/native/client/src/include/drill/common.hpp @@ -34,7 +34,7 @@ #include #include -#define DRILL_RPC_VERSION 3 +#define DRILL_RPC_VERSION 4 #define LENGTH_PREFIX_MAX_LENGTH 5 #define LEN_PREFIX_BUFLEN LENGTH_PREFIX_MAX_LENGTH diff --git a/contrib/native/client/src/include/drill/drillClient.hpp b/contrib/native/client/src/include/drill/drillClient.hpp index 9289df3c7..c288c7073 100644 --- a/contrib/native/client/src/include/drill/drillClient.hpp +++ b/contrib/native/client/src/include/drill/drillClient.hpp @@ -167,7 +167,9 @@ typedef void* QueryHandle_t; * Query Results listener callback. This function is called for every record batch after it has * been received and decoded. The listener function should return a status. * If the listener returns failure, the query will be canceled. - * + * The listener is also called one last time when the query is completed or gets an error. In that + * case the RecordBatch Parameter is NULL. The DrillClientError parameter is NULL is there was no + * error oterwise it will have a valid DrillClientError object. * DrillClientQueryResult will hold a listener & listener contxt for the call back function */ typedef status_t (*pfnQueryResultsListener)(QueryHandle_t ctx, RecordBatch* b, DrillClientError* err); diff --git a/contrib/native/client/src/include/drill/recordBatch.hpp b/contrib/native/client/src/include/drill/recordBatch.hpp index 92a4c3ad6..12cbad46d 100644 --- a/contrib/native/client/src/include/drill/recordBatch.hpp +++ b/contrib/native/client/src/include/drill/recordBatch.hpp @@ -56,6 +56,7 @@ namespace exec{ class SerializedField; class RecordBatchDef; class QueryResult; + class QueryData; }; }; @@ -863,7 +864,7 @@ class DECLSPEC_DRILL_CLIENT RecordBatch{ //m_allocatedBuffer is the memory block allocated to hold the incoming RPC message. Record Batches operate on //slices of the allocated buffer. The first slice (the first Field Batch), begins at m_buffer. Data in the //allocated buffer before m_buffer is mostly the RPC header, and the QueryResult object. - RecordBatch(exec::shared::QueryResult* pResult, AllocatedBufferPtr r, ByteBuf_t b); + RecordBatch(exec::shared::QueryData* pResult, AllocatedBufferPtr r, ByteBuf_t b); ~RecordBatch(); @@ -876,7 +877,7 @@ class DECLSPEC_DRILL_CLIENT RecordBatch{ size_t getNumRecords(){ return m_numRecords;} std::vector& getFields(){ return m_fields;} size_t getNumFields(); - bool isLastChunk(); + DEPRECATED bool isLastChunk(); boost::shared_ptr > getColumnDefs(){ return m_fieldDefs;} @@ -902,10 +903,10 @@ class DECLSPEC_DRILL_CLIENT RecordBatch{ bool hasSchemaChanged(){ return m_bHasSchemaChanged;} #ifdef DEBUG - const exec::shared::QueryResult* getQueryResult(){ return this->m_pQueryResult;} + const exec::shared::QueryData* getQueryResult(){ return this->m_pQueryResult;} #endif private: - const exec::shared::QueryResult* m_pQueryResult; + const exec::shared::QueryData* m_pQueryResult; const exec::shared::RecordBatchDef* m_pRecordBatchDef; AllocatedBufferPtr m_allocatedBuffer; ByteBuf_t m_buffer; -- cgit v1.2.3