136 template<
class TARGET>
140 template<
class TARGET>
158 current = current->nextQueryResult.get();
162 bool isEnd()
const {
return current ==
nullptr; }
182 std::shared_ptr<processor::FlatTuple>
tuple;
#define LBUG_API
Definition api.h:25
Definition query_result.h:150
void operator++()
Definition query_result.h:156
bool hasNextQueryResult() const
Definition query_result.h:164
bool isEnd() const
Definition query_result.h:162
QueryResult * getCurrentResult() const
Definition query_result.h:166
QueryResultIterator(QueryResult *startResult)
Definition query_result.h:154
QueryResultIterator()=default
static std::unique_ptr< QueryResult > getQueryResultWithError(const std::string &errorMessage)
LBUG_API QuerySummary * getQuerySummary() const
std::unique_ptr< QuerySummary > querySummary
Definition query_result.h:184
QueryResultIterator queryResultIterator
Definition query_result.h:188
QueryResultType getType() const
Definition query_result.h:121
virtual LBUG_API uint64_t getNumTuples() const =0
void setColumnTypes(std::vector< common::LogicalType > columnTypes)
LBUG_API bool isSuccess() const
void addNextResult(std::unique_ptr< QueryResult > next_)
virtual LBUG_API void resetIterator()=0
Resets the result tuple iterator.
void validateQuerySucceed() const
virtual LBUG_API std::shared_ptr< processor::FlatTuple > getNext()=0
QueryResult(QueryResultType type, std::vector< std::string > columnNames, std::vector< common::LogicalType > columnTypes)
virtual LBUG_API std::string toString() const =0
bool success
Definition query_result.h:174
LBUG_API std::string getErrorMessage() const
LBUG_API std::vector< std::string > getColumnNames() const
virtual LBUG_API bool hasNextArrowChunk()=0
std::shared_ptr< common::DatabaseLifeCycleManager > dbLifeCycleManager
Definition query_result.h:190
std::vector< std::string > columnNames
Definition query_result.h:178
QuerySummary * getQuerySummaryUnsafe()
std::string errMsg
Definition query_result.h:176
std::vector< common::LogicalType > columnTypes
Definition query_result.h:180
void setQuerySummary(std::unique_ptr< QuerySummary > summary)
LBUG_API std::unique_ptr< ArrowSchema > getArrowSchema() const
Returns the arrow schema of the query result.
void setColumnNames(std::vector< std::string > columnNames)
LBUG_API size_t getNumColumns() const
LBUG_API QueryResult()
Used to create a QueryResult object for the failing query.
virtual LBUG_API ~QueryResult()=0
Deconstructs the QueryResult object.
std::shared_ptr< processor::FlatTuple > tuple
Definition query_result.h:182
QueryResultType type
Definition query_result.h:172
LBUG_API QueryResult * getNextQueryResult()
std::unique_ptr< QueryResult > moveNextResult()
virtual LBUG_API std::unique_ptr< ArrowArray > getNextArrowChunk(int64_t chunkSize)=0
Returns the next chunk of the query result as an arrow array.
LBUG_API bool hasNextQueryResult() const
TARGET & cast()
Definition query_result.h:137
LBUG_API std::vector< common::LogicalType > getColumnDataTypes() const
const TARGET & constCast() const
Definition query_result.h:141
std::unique_ptr< QueryResult > nextQueryResult
Definition query_result.h:186
void checkDatabaseClosedOrThrow() const
virtual LBUG_API bool hasNext() const =0
QueryResult(QueryResultType type)
void setDBLifeCycleManager(std::shared_ptr< common::DatabaseLifeCycleManager > dbLifeCycleManager)
QuerySummary stores the execution time, plan, compiling time and query options of a query.
Definition query_summary.h:25
Stores a vector of Values.
Definition flat_tuple.h:16
TO ku_dynamic_cast(FROM *old)
Definition cast.h:11
Definition bind_input.h:16
QueryResultType
Definition query_result.h:17
@ FTABLE
Definition query_result.h:18
@ ARROW
Definition query_result.h:19
Definition client_context.h:41
Definition array_utils.h:7