@@ -56,9 +56,24 @@ extern "C" {
56
56
57
57
/*!
58
58
* Writeset flags
59
+ *
60
+ * COMMIT the writeset and all preceding writesets must be committed
61
+ * ROLLBACK all preceding writesets in a transaction must be rolled back
62
+ * PA_UNSAFE the writeset cannot be applied in parallel
63
+ * ISOLATION the writeset must be applied AND committed in isolation
64
+ * COMMUTATIVE the order in which the writeset is applied does not matter
65
+ * NATIVE the writeset contains another writeset in this provider format
66
+ *
67
+ * Note that some of the flags are mutually exclusive (e.g. COMMIT and
68
+ * ROLLBACK).
59
69
*/
60
- #define WSREP_FLAG_PA_SAFE ( 1ULL << 0 )
61
- #define WSREP_FLAG_COMMUTATIVE ( 1ULL << 1 )
70
+ #define WSREP_FLAG_COMMIT ( 1ULL << 0 )
71
+ #define WSREP_FLAG_ROLLBACK ( 1ULL << 1 )
72
+ #define WSREP_FLAG_PA_UNSAFE ( 1ULL << 3 )
73
+ #define WSREP_FLAG_ISOLATION ( 1ULL << 2 )
74
+ #define WSREP_FLAG_COMMUTATIVE ( 1ULL << 4 )
75
+ #define WSREP_FLAG_NATIVE ( 1ULL << 5 )
76
+
62
77
63
78
typedef uint64_t wsrep_trx_id_t ; //!< application transaction ID
64
79
typedef uint64_t wsrep_conn_id_t ; //!< application connection ID
@@ -698,21 +713,21 @@ struct wsrep_ {
698
713
enum wsrep_key_type type ,
699
714
wsrep_bool_t copy );
700
715
701
- /*!
702
- * @brief Appends data to transaction writeset
703
- *
704
- * This method can be called any time before commit and it
705
- * appends a number of data buffers to transaction writeset.
706
- *
707
- * Both copy and unordered flags can be ignored by provider.
708
- *
709
- * @param wsrep provider handle
710
- * @param ws_handle writeset handle
711
- * @param data array of data buffers
712
- * @param count buffer count
713
- * @param type type of data
714
- * @param copy can be set to FALSE if data persists through commit.
715
- */
716
+ /*!
717
+ * @brief Appends data to transaction writeset
718
+ *
719
+ * This method can be called any time before commit and it
720
+ * appends a number of data buffers to transaction writeset.
721
+ *
722
+ * Both copy and unordered flags can be ignored by provider.
723
+ *
724
+ * @param wsrep provider handle
725
+ * @param ws_handle writeset handle
726
+ * @param data array of data buffers
727
+ * @param count buffer count
728
+ * @param type type of data
729
+ * @param copy can be set to FALSE if data persists through commit.
730
+ */
716
731
wsrep_status_t (* append_data )(wsrep_t * wsrep ,
717
732
wsrep_ws_handle_t * ws_handle ,
718
733
const struct wsrep_buf * data ,
@@ -806,7 +821,8 @@ struct wsrep_ {
806
821
* processing. Note: commits always happend in wsrep order.
807
822
* @param data an array of data buffers.
808
823
* @param count length of data buffer array.
809
- * @param copy whether provider needs to make a copy of event
824
+ * @param flags WSREP_FLAG_... flags
825
+ * @param copy whether provider needs to make a copy of event.
810
826
*
811
827
* @retval WSREP_OK cluster commit succeeded
812
828
* @retval WSREP_CONN_FAIL must close client connection
@@ -817,6 +833,7 @@ struct wsrep_ {
817
833
int pa_range ,
818
834
const struct wsrep_buf * data ,
819
835
int count ,
836
+ uint64_t flags ,
820
837
wsrep_bool_t copy );
821
838
822
839
/*!
0 commit comments