IBM Support

SI39887 - OSP-DB DB2ROW trigger inserts unexpected rows with MERGE sta

PTF ( Program Temporary Fixes ) Cover letter


Order this fix

Abstract

OSP-DB DB2ROW trigger inserts unexpected rows with MERGE sta


Pre/Co-Requisite PTF / Fix List

REQ  LICENSED      PTF/FIX  LEVEL

TYPE PROGRAM  REL  NUMBER   MIN/MAX  OPTION
---- -------- ---  -------  -------  ------
CO   5770SS1  710  SI39889   00/00    0000



NOTICE:
-------
Application of this PTF may disable or render ineffective programs that
use system memory addresses not generated by the IBM translator,
including programs that circumvent control technology designed to limit
interactive capacity to purchased levels.  This PTF may be a prerequisite
for future PTFs.  By applying this PTF you authorize and agree to the
foregoing.

This PTF is subject to the terms of the license agreement which
accompanied, or was contained in, the Program for which you are obtaining
the PTF.  You are not authorized to install or use the PTF except as part
of a Program for which you have a valid Proof of Entitlement.

SUBJECT TO ANY WARRANTIES WHICH CAN NOT BE EXCLUDED OR EXCEPT AS EXPLICITLY
AGREED TO IN THE APPLICABLE LICENSE AGREEMENT OR AN APPLICABLE SUPPORT
AGREEMENT, IBM MAKES NO WARRANTIES OR CONDITIONS EITHER EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OR CONDITIONS OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON INFRINGEMENT,
REGARDING THE PTF.

The applicable license agreement may have been provided to you in printed
form and/or may be viewed using the Work with Software Agreements (WRKSFWAGR)
CL command.





APAR Error Description / Circumvention

-----------------------------------------------
When a trigger such as an AFTER INSERT trigger is defined on a
table that is the target of a MERGE statement, and the trigger
is defined as MODE DB2ROW, rows inserted by the MERGE may run
the trigger program more times than expected.

CORRECTION FOR APAR SE43424 :
-----------------------------
Logic to manage data in transition tables is changed, to ensure
trigger programs are run the number of times expected.

CIRCUMVENTION FOR APAR SE43424 :
--------------------------------
None.


Activation Instructions


None.




Special Instructions


To properly enable this PTF for prestarted server jobs,
you will need to stop and restart the SQL server jobs,
the Directory Services server jobs, the DRDA TCPIP server
jobs, and the host server jobs.  Otherwise,
the prestarted server jobs may continue to use older versions
of programs and unexpected results may occur.Applying this
PTF as delayed would achieve the same results.

To stop and restart the SQL server jobs, run the following:

ENDPJ SBS(QSYSWRK) PGM(QSQSRVR) OPTION(*IMMED)
STRPJ SBS(QSYSWRK) PGM(QSQSRVR)

To stop and restart the QRWTSRVR prestart jobs, run the following:

ENDPJ SBS(QUSRWRK) PGM(QRWTSRVR) OPTION(*IMMED)
STRPJ SBS(QUSRWRK) PGM(QRWTSRVR)

To stop and restart the DRDA TCPIP server jobs, run the following:

ENDTCPSVR SERVER(*DDM) OPTION(*IMMED)
STRTCPSVR SERVER(*DDM)

To stop and restart the Directory Services server job,
run the following:

ENDTCPSVR SERVER(*DIRSRV) OPTION(*IMMED)
STRTCPSVR SERVER(*DIRSRV)

To stop and restart the host server jobs, the following directions
must be followed.

The database server prestart jobs (QZDAINIT, QZDASOINIT, and
QZDASSINIT) by default are shipped to run in subsystem QSERVER
(QZDAINIT) and QUSRWRK (QZDASOINIT and QZDASSINIT).  However,
systems
can be customized to allow the database server prestart jobs to run
in other subsystems.

SYSTEMS WITH DEFAULT CONFIGURATION (database server prestart jobs
run
ONLY in the QSERVER and QUSRWRK subsystems).

---------------------------------------------------------------------

1) To ensure that the database server prestart jobs are ended,
issue the requests:

QSYS/ENDPJ SBS(QSERVER) PGM(QSYS/QZDAINIT) OPTION(*IMMED)
and
QSYS/ENDPJ SBS(QUSRWRK) PGM(QSYS/QZDASOINIT) OPTION(*IMMED)
and
QSYS/ENDPJ SBS(QUSRWRK) PGM(QSYS/QZDASSINIT) OPTION(*IMMED)
and if a non default prestart job configuration exists
QSYS/STRPJ SBS("subsystem-name") PGM(QSYS/QZDAINIT)

If the above commands fail with CPF0922, nothing more needs
to be done (the prestarted jobs are already inactive).

2) To re-enable the function after the PTF is applied, issue the
requests:

QSYS/STRPJ SBS(QSERVER) PGM(QSYS/QZDAINIT)
and
QSYS/STRPJ SBS(QUSRWRK) PGM(QSYS/QZDASOINIT)
and
QSYS/STRPJ SBS(QUSRWRK) PGM(QSYS/QZDASSINIT)
and if a non default prestart job configuration exists
QSYS/STRPJ SBS("subsystem-name") PGM(QSYS/QZDASSINIT)

If the above commands fail with CPF0921, nothing more needs
to be done (the prestarted jobs are already active).


Default Instructions

THIS PTF CAN BE APPLIED IMMEDIATE OR DELAYED.



Supersedes

PTF/FIX NO(S).  APAR TITLE LINE
--------------  ------------------------------------------------------------
   SI39167      OSP-DB Internal Maintenance
   SI37207      OSP-DB MCH3601 F/QSQRUN2 PROCEDURE SQL_VALUESINTO X/10387 T/

Summary Information

System.............................. i
Models..............................
Release............................. V7R1M0
Licensed Program............... 5770SS1
APAR Fixed.......................... View details for APAR SE43424
Superseded by:...................... View fix details for PTF SI67347
Recompile........................... N
Library............................. QSYS
MRI Feature ........................ NONE
Cum Level........................... C0229710


System i Support

IBM disclaims all warranties, whether express or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. By furnishing this document, IBM grants no licenses to any related patents or copyrights. Copyright © 1996,1997,1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 IBM Corporation. Any trademarks and product or brand names referenced in this document are the property of their respective owners. Consult the Terms of use link for trademark information.

Document information

More support for: i family

Software version: V7R1M0

Operating system(s): OS/400

Reference #: SI39887

Modified date: 09 June 2010