@@ -108,16 +108,24 @@ function processDatalog() {
108108 */
109109
110110 $ replication_error = false ;
111+ $ data ['mirrored ' ] = false ;
111112
112113 $ this ->current_datalog_id = $ d ['datalog_id ' ];
113114
114115 /*
115116 * If we are in a mirror setup, rewrite the server_id of records that originally
116117 * belonged to the mirrored server to the local server_id
117118 */
119+
118120 if ($ conf ['mirror_server_id ' ] > 0 && $ d ['dbtable ' ] != 'server ' ) {
119- if (isset ($ data ['new ' ]['server_id ' ]) && $ data ['new ' ]['server_id ' ] == $ conf ['mirror_server_id ' ]) $ data ['new ' ]['server_id ' ] = $ conf ['server_id ' ];
120- if (isset ($ data ['old ' ]['server_id ' ]) && $ data ['old ' ]['server_id ' ] == $ conf ['mirror_server_id ' ]) $ data ['old ' ]['server_id ' ] = $ conf ['server_id ' ];
121+ if (isset ($ data ['new ' ]['server_id ' ]) && $ data ['new ' ]['server_id ' ] == $ conf ['mirror_server_id ' ]) {
122+ $ data ['new ' ]['server_id ' ] = $ conf ['server_id ' ];
123+ $ data ['mirrored ' ] = true ;
124+ }
125+ if (isset ($ data ['old ' ]['server_id ' ]) && $ data ['old ' ]['server_id ' ] == $ conf ['mirror_server_id ' ]) {
126+ $ data ['old ' ]['server_id ' ] = $ conf ['server_id ' ];
127+ $ data ['mirrored ' ] = true ;
128+ }
121129 }
122130
123131 if (count ($ data ['new ' ]) > 0 ) {
@@ -217,6 +225,9 @@ function processDatalog() {
217225 }
218226 */
219227
228+ //* Data on a single server is never mirrored
229+ $ data ['mirrored ' ] = false ;
230+
220231 $ this ->current_datalog_id = $ d ['datalog_id ' ];
221232 if (is_array ($ data ['old ' ]) || is_array ($ data ['new ' ])) {
222233 $ this ->raiseTableHook ($ d ['dbtable ' ],$ d ['action ' ],$ data );
0 commit comments