@@ -56,9 +56,24 @@ extern "C" {
5656
5757/*!
5858 * 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).
5969 */
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+
6277
6378typedef uint64_t wsrep_trx_id_t ; //!< application transaction ID
6479typedef uint64_t wsrep_conn_id_t ; //!< application connection ID
@@ -698,21 +713,21 @@ struct wsrep_ {
698713 enum wsrep_key_type type ,
699714 wsrep_bool_t copy );
700715
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+ */
716731 wsrep_status_t (* append_data )(wsrep_t * wsrep ,
717732 wsrep_ws_handle_t * ws_handle ,
718733 const struct wsrep_buf * data ,
@@ -806,7 +821,8 @@ struct wsrep_ {
806821 * processing. Note: commits always happend in wsrep order.
807822 * @param data an array of data buffers.
808823 * @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.
810826 *
811827 * @retval WSREP_OK cluster commit succeeded
812828 * @retval WSREP_CONN_FAIL must close client connection
@@ -817,6 +833,7 @@ struct wsrep_ {
817833 int pa_range ,
818834 const struct wsrep_buf * data ,
819835 int count ,
836+ uint64_t flags ,
820837 wsrep_bool_t copy );
821838
822839 /*!
0 commit comments