diff options
Diffstat (limited to 'storage/federatedx/ha_federatedx.h')
-rw-r--r-- | storage/federatedx/ha_federatedx.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/storage/federatedx/ha_federatedx.h b/storage/federatedx/ha_federatedx.h index 333028da587..473d3ecd3e2 100644 --- a/storage/federatedx/ha_federatedx.h +++ b/storage/federatedx/ha_federatedx.h @@ -131,6 +131,7 @@ typedef struct st_federatedx_share { typedef struct st_federatedx_result FEDERATEDX_IO_RESULT; typedef struct st_federatedx_row FEDERATEDX_IO_ROW; +typedef struct st_federatedx_rows FEDERATEDX_IO_ROWS; typedef ptrdiff_t FEDERATEDX_IO_OFFSET; class federatedx_io @@ -207,7 +208,8 @@ public: virtual void free_result(FEDERATEDX_IO_RESULT *io_result)=0; virtual unsigned int get_num_fields(FEDERATEDX_IO_RESULT *io_result)=0; virtual my_ulonglong get_num_rows(FEDERATEDX_IO_RESULT *io_result)=0; - virtual FEDERATEDX_IO_ROW *fetch_row(FEDERATEDX_IO_RESULT *io_result)=0; + virtual FEDERATEDX_IO_ROW *fetch_row(FEDERATEDX_IO_RESULT *io_result, + FEDERATEDX_IO_ROWS **current= NULL)=0; virtual ulong *fetch_lengths(FEDERATEDX_IO_RESULT *io_result)=0; virtual const char *get_column_data(FEDERATEDX_IO_ROW *row, unsigned int column)=0; @@ -216,7 +218,7 @@ public: virtual size_t get_ref_length() const=0; virtual void mark_position(FEDERATEDX_IO_RESULT *io_result, - void *ref)=0; + void *ref, FEDERATEDX_IO_ROWS *current)=0; virtual int seek_position(FEDERATEDX_IO_RESULT **io_result, const void *ref)=0; virtual void set_thd(void *thd) { } @@ -269,6 +271,7 @@ class ha_federatedx final : public handler federatedx_txn *txn; federatedx_io *io; FEDERATEDX_IO_RESULT *stored_result; + FEDERATEDX_IO_ROWS *current; /** Array of all stored results we get during a query execution. */ |