@@ -227,7 +227,7 @@ private void prepare(final TriggerEvent event, final DBBroker broker, final Txn
227
227
228
228
// avoid infinite recursion
229
229
try {
230
- TriggerStatePerThread .setAndTest (this , TriggerPhase .BEFORE , event , src , dst );
230
+ TriggerStatePerThread .setAndTest (transaction , this , TriggerPhase .BEFORE , event , src , dst );
231
231
} catch (final TriggerStatePerThread .CyclicTriggerException e ) {
232
232
LOG .warn (e .getMessage ());
233
233
return ;
@@ -241,7 +241,7 @@ private void prepare(final TriggerEvent event, final DBBroker broker, final Txn
241
241
declareExternalVariables (context , TriggerPhase .BEFORE , event , src , dst , isCollection );
242
242
243
243
} catch (final XPathException | IOException | PermissionDeniedException e ) {
244
- TriggerStatePerThread .clear ();
244
+ TriggerStatePerThread .clear (transaction );
245
245
throw new TriggerException (PREPARE_EXCEPTION_MESSAGE , e );
246
246
}
247
247
@@ -255,7 +255,7 @@ private void prepare(final TriggerEvent event, final DBBroker broker, final Txn
255
255
LOG .debug ("Trigger fired for prepare" );
256
256
}
257
257
} catch (final XPathException | PermissionDeniedException e ) {
258
- TriggerStatePerThread .clear ();
258
+ TriggerStatePerThread .clear (transaction );
259
259
throw new TriggerException (PREPARE_EXCEPTION_MESSAGE , e );
260
260
} finally {
261
261
context .runCleanupTasks ();
@@ -271,7 +271,7 @@ private void finish(final TriggerEvent event, final DBBroker broker, final Txn t
271
271
272
272
// avoid infinite recursion
273
273
try {
274
- TriggerStatePerThread .setAndTest (this , TriggerPhase .AFTER , event , src , dst );
274
+ TriggerStatePerThread .setAndTest (transaction , this , TriggerPhase .AFTER , event , src , dst );
275
275
} catch (final TriggerStatePerThread .CyclicTriggerException e ) {
276
276
LOG .warn (e .getMessage ());
277
277
return ;
@@ -305,7 +305,7 @@ private void finish(final TriggerEvent event, final DBBroker broker, final Txn t
305
305
context .runCleanupTasks ();
306
306
}
307
307
308
- TriggerStatePerThread .clearIfFinished (TriggerPhase .AFTER );
308
+ TriggerStatePerThread .clearIfFinished (transaction , TriggerPhase .AFTER );
309
309
310
310
if (LOG .isDebugEnabled ()) {
311
311
LOG .debug ("Trigger fired for finish" );
@@ -393,10 +393,11 @@ private CompiledXQuery getScript(final DBBroker broker, final Txn transaction) t
393
393
}
394
394
395
395
private void execute (final TriggerPhase phase , final TriggerEvent event, final DBBroker broker , final Txn transaction , final QName functionName , final XmldbURI src , final XmldbURI dst ) throws TriggerException {
396
+ System .err .format ("phase: %s, event: %s, tx: %s, thread: %s" , phase , event , transaction , Thread .currentThread ()).println ();
396
397
397
398
// avoid infinite recursion
398
399
try {
399
- TriggerStatePerThread .setAndTest (this , phase , event , src , dst );
400
+ TriggerStatePerThread .setAndTest (transaction , this , phase , event , src , dst );
400
401
} catch (final TriggerStatePerThread .CyclicTriggerException e ) {
401
402
LOG .warn ("Skipping Trigger: {}" , e .getMessage ());
402
403
return ;
@@ -414,7 +415,7 @@ private void execute(final TriggerPhase phase, final TriggerEvent event, final D
414
415
return ;
415
416
}
416
417
} catch (final TriggerException e ) {
417
- TriggerStatePerThread .clear ();
418
+ TriggerStatePerThread .clear (transaction );
418
419
throw e ;
419
420
}
420
421
@@ -454,14 +455,14 @@ private void execute(final TriggerPhase phase, final TriggerEvent event, final D
454
455
}
455
456
}
456
457
457
- TriggerStatePerThread .clear ();
458
+ TriggerStatePerThread .clear (transaction );
458
459
throw new TriggerException (PREPARE_EXCEPTION_MESSAGE , e );
459
460
} finally {
460
461
compiledQuery .reset ();
461
462
context .runCleanupTasks ();
462
463
}
463
464
464
- TriggerStatePerThread .clearIfFinished (phase );
465
+ TriggerStatePerThread .clearIfFinished (transaction , phase );
465
466
466
467
if (LOG .isDebugEnabled ()) {
467
468
if (phase == TriggerPhase .AFTER ) {
0 commit comments