bugfix: fix rowgroup not unlocked after ctrl-c command bugfix: fix scan error while some tpcc query rollbacked but not sync to delta
This commit is contained in:
@ -76,7 +76,6 @@ public:
|
||||
void FillPerRowGroupDelta(_in_ IMCStoreScanState* state, _in_ uint32 cuid, _out_ VectorBatch* vecBatchOut);
|
||||
bool InsertDeltaRowToBatch(_in_ IMCStoreScanState* state, ItemPointerData item, _out_ VectorBatch* vecBatchOut);
|
||||
bool ImcstoreFillByDeltaScan(_in_ CStoreScanState* state, _out_ VectorBatch* vecBatchOut) override;
|
||||
void UnlockRowGroups();
|
||||
|
||||
private:
|
||||
IMCUStorage** m_imcuStorage;
|
||||
@ -90,5 +89,12 @@ private:
|
||||
List* m_currentRowGroups;
|
||||
};
|
||||
|
||||
typedef struct PinnedRowGroup : public BaseObject {
|
||||
RowGroup *rowgroup;
|
||||
IMCSDesc *desc;
|
||||
PinnedRowGroup(RowGroup *rowgroup, IMCSDesc *desc) : rowgroup(rowgroup), desc(desc) {};
|
||||
} PinnedRowGroup;
|
||||
void UnlockRowGroups();
|
||||
|
||||
#endif // ENABLE_HTAP
|
||||
#endif // IMCSTORE_AM_H
|
||||
|
||||
@ -3014,6 +3014,12 @@ typedef struct knl_u_datavec_context {
|
||||
int ivfflat_probes;
|
||||
} knl_u_datavec_context;
|
||||
|
||||
#ifdef ENABLE_HTAP
|
||||
typedef struct knl_u_imcstore_context {
|
||||
List* pinnedRowGroups;
|
||||
} knl_u_imcstore_context;
|
||||
#endif
|
||||
|
||||
typedef struct knl_session_context {
|
||||
volatile knl_session_status status;
|
||||
/* used for threadworker, elem in m_readySessionList */
|
||||
@ -3170,6 +3176,10 @@ typedef struct knl_session_context {
|
||||
|
||||
knl_u_datavec_context datavec_ctx;
|
||||
|
||||
#ifdef ENABLE_HTAP
|
||||
knl_u_imcstore_context imcstore_ctx;
|
||||
#endif
|
||||
|
||||
} knl_session_context;
|
||||
|
||||
enum stp_xact_err_type {
|
||||
|
||||
Reference in New Issue
Block a user