@@ -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