aboutsummaryrefslogtreecommitdiff
path: root/contrib/native/client/src/include
diff options
context:
space:
mode:
authoralzarei <azarei@ece.ubc.ca>2015-03-18 20:07:01 -0700
committerParth Chandra <pchandra@maprtech.com>2015-03-19 10:09:26 -0700
commitff9882be766828f39340f579e1de7b7e1bb3cfec (patch)
tree3a7bd69c86123fd85ae1efdb7a51d252e562e94f /contrib/native/client/src/include
parentee5b0bc13f98a839a5ad7b63356a100a0b28c14f (diff)
DRILL-2415: Export Drill C++ Client symbols so as to provide dynamic linking
Diffstat (limited to 'contrib/native/client/src/include')
-rw-r--r--contrib/native/client/src/include/drill/drillClient.hpp8
-rw-r--r--contrib/native/client/src/include/drill/recordBatch.hpp10
2 files changed, 13 insertions, 5 deletions
diff --git a/contrib/native/client/src/include/drill/drillClient.hpp b/contrib/native/client/src/include/drill/drillClient.hpp
index 19fec6985..71a5c800f 100644
--- a/contrib/native/client/src/include/drill/drillClient.hpp
+++ b/contrib/native/client/src/include/drill/drillClient.hpp
@@ -307,6 +307,14 @@ class DECLSPEC_DRILL_CLIENT DrillClient{
*/
void freeQueryIterator(RecordIterator** pIter){ delete *pIter; *pIter=NULL;};
+ /*
+ * Applications using the async query submit method should call freeRecordBatch to free up resources
+ * once the RecordBatch is processed and no longer needed.
+ */
+ void freeRecordBatch(RecordBatch* pRecordBatch);
+
+
+
private:
static DrillClientInitializer s_init;
static DrillClientConfig s_config;
diff --git a/contrib/native/client/src/include/drill/recordBatch.hpp b/contrib/native/client/src/include/drill/recordBatch.hpp
index 4abc2de63..92a4c3ad6 100644
--- a/contrib/native/client/src/include/drill/recordBatch.hpp
+++ b/contrib/native/client/src/include/drill/recordBatch.hpp
@@ -460,7 +460,7 @@ template <typename VALUE_TYPE>
// We don't really need a destructor here, but we declare a virtual dtor in the base class in case we ever get
// more complex and start doing dynamic allocations in these classes.
-struct DateTimeBase{
+struct DECLSPEC_DRILL_CLIENT DateTimeBase{
DateTimeBase():m_datetime(0){}
virtual ~DateTimeBase(){}
int64_t m_datetime;
@@ -469,7 +469,7 @@ struct DateTimeBase{
virtual std::string toString()=0;
};
-struct DateHolder: public virtual DateTimeBase{
+struct DECLSPEC_DRILL_CLIENT DateHolder: public virtual DateTimeBase{
DateHolder(){};
DateHolder(int64_t d){m_datetime=d; load();}
int32_t m_year;
@@ -479,7 +479,7 @@ struct DateHolder: public virtual DateTimeBase{
std::string toString();
};
-struct TimeHolder: public virtual DateTimeBase{
+struct DECLSPEC_DRILL_CLIENT TimeHolder: public virtual DateTimeBase{
TimeHolder(){};
TimeHolder(uint32_t d){m_datetime=d; load();}
uint32_t m_hr;
@@ -490,14 +490,14 @@ struct TimeHolder: public virtual DateTimeBase{
std::string toString();
};
-struct DateTimeHolder: public DateHolder, public TimeHolder{
+struct DECLSPEC_DRILL_CLIENT DateTimeHolder: public DateHolder, public TimeHolder{
DateTimeHolder(){};
DateTimeHolder(int64_t d){m_datetime=d; load();}
void load();
std::string toString();
};
-struct DateTimeTZHolder: public DateTimeHolder{
+struct DECLSPEC_DRILL_CLIENT DateTimeTZHolder: public DateTimeHolder{
DateTimeTZHolder(ByteBuf_t b){
m_datetime=*(int64_t*)b;
m_tzIndex=*(uint32_t*)(b+sizeof(uint64_t));