suche 36x36
  • CURSOR Service Distribution
           
     

    CURSOR Service Distribution

    24x7 Always Up

    pfeil
  • Logistics and transportation
           
     

    Logistics and transportation

    24x7 Always Up

    pfeil
  • Industrial environments
           
     

    Industrial environments

    24x7 Always Up

    pfeil
  • Trade and commerce
           
     

    Trade and commerce

    24x7 Always Up

    pfeil
  • Online shopping
           
     

    Online shopping

    24x7 Always Up

    pfeil
  • We care about your databases
           
     

    We care about your databases

    24x7 Always Up

    pfeil
 

Erik Stahlhut

CURSOR Service Distribution

Wir halten Ihre IBM Datenbanken am Laufen 

             
 

Monitoring Monitoring

Monitoring

  • Unternehmen mit existenziell wichtigen Datenbanken vertrauen auf unser Informix Monitoring. Wir vermeiden Systemausfälle bevor sie entstehen.

  • Automatisierte Überwachung rund um die Uhr. Frühzeitiges Erkennen von Engpässen auf Basis von Verlaufsdaten mit dem CURSOR Admin-Scout.

  • Administration für alle Installationsgrößen. Standard-, Remote- oder Standby Administration, bis hin zur 24x7 Bereitschaft für Systeme mit Hochverfügbarkeit.

  • Individuelle Anpassungen an die Service-Level unserer Kunden mit kurzen Reaktionszeiten und persönlichen Ansprechpartnern im Support.

Erfahren Sie mehr zum Informix Monitoring mit der CURSOR Service Distribution!
 

ServiceService

Service

  • Anforderungen aus allen Bereichen des Datenmanagements. Servicepakete oder individuell vereinbarte Projekte wie:
    • Aufbau von Replikationen oder Hochverfügbarkeit;
    • Performance-, Laufzeitanalyse, Tuning;
    • Release-, Plattform- oder Cloud-Migration;
    • Zugriffskontrolle, Verschlüsselung, Archivierung.
  • Die CURSOR Service Distribution ist langjähriger IBM High-Value Service Provider für IBM Informix.

  • Speziell für Informix bieten wir zusätzlich Online Seminare, Workshops und Schulungen an.

Informationen zu Service- und Supportleistungen, kommen Sie mit Ihrem Projekt auf uns zu!
 

SupportSupport

Support

  • Anfrage von Supportleistungen zu IBM Datenbanken. Unsere Kunden profitieren von der Kompetenz aus über 25 Jahren Informix Support und systemnaher Entwicklung von Datenbank-Tools.

  • Im Supportfall sind wir der erste und zentrale Ansprechpartner. Wir haben den direkten Draht in die IBM und HCL Supportabteilungen und sind für unsere Kunden mit 24x7 Vereinbarungen rund um die Uhr erreichbar.

  • Auch Informix Kunden ohne aktive IBM Produktwartung können unseren First-Aid Support in Anspruch nehmen.

Buchen Sie ein Ticket auf unserer Website oder rufen Sie uns einfach an!
 
 
 
 

IBM Software

für Hersteller

und Technologiepartner

IBM Embedded Solution Agreement (ESA)
Integration von IBM Software in Ihre Lösung!

  Service
  • Integrieren Sie IBM Software in Ihre Lösung!

  • Profitieren Sie von der Leistung der IBM Software, nutzen Sie die günstigen Konditionen für IBM Lizenzen und Wartung!

  • Die Mitarbeiter der CURSOR Service Distribution haben zwanzig Jahre Erfahrung im indirekten Vertrieb von IBM Software (OEM/ASL/ESA Lizenzierung). Wir zeigen Ihnen wie Sie IBM ESA Business Partner werden.

esa bp werden blue 1000x100

 
 
 
 

KompetenzService

in der Informix Administration

 
 

der CURSOR

Admin-Scout für Informix

esa bp werden blue 1000x100

esa bp werden blue 1000x100

 

 

  • Das Informix Tool direkt aus dem CURSOR Informix Support.

  • Entwickelt von Administratoren für Administratoren.

    Mit einem Hintergrund von über 25 Jahren Informix Support, Administration und systemnaher Programmierung, entwickeln und vertreiben wir den Admin-Scout seit 2015.

  • Durch unseren Managed Service Ansatz, eignet sich der Admin-Scout für nahezu alle Einsatzbereiche des Informix Datenbanksystems. Unsere Kunden sind IT-Abteilungen und Administratoren im Handel, bei Banken, Hochschulen, Gewerbe und in der Industrie.

 
 
 
 

Über uns

die CURSOR Service Distribution

  • High-Value Service Provider für IBM Informix.

  • Distribution für IBM Data-Management Software (OEM/ASL/ESA Lizenzierung für ISVs).

Die CURSOR Service Distribution ist ein Geschäftsbereich der CURSOR Software AG, hervorgegangen aus der Übernahme des Informix und Development-Tool Spezialisten «Nonne & Schneider» Ende 2005.

Wir bieten weitreichende technische Serviceleistung für IBM Informix. Als High-Value Serviceprovider sind wir der direkter Ansprechpartner für alle Servicebelange unserer Kunden zu diesen Datenbanken.

Unsere Serviceleistungen sind dabei unabhängig von einer Lizenzierung über unser Haus. Namhafte Kunden setzen auf unser Monitoring und haben unsere Tools im Einsatz, während Lizenzierung und Update-Wartung direkt bei IBM unter Vertrag sind.

 

CURSOR Software AG

Seit über 25 Jahren entwickelt und vermarktet CURSOR CRM-Lösungen für den gehobenen Mittelstand und Konzerne.

  • Gemeinsam.
    Zusammen mit Ihnen führen wir Ihr CRM-Projekt zum Erfolg. Unsere Experten bieten dafür umfassende Leistungen aus einer Hand: Softwareentwicklung, Beratung, Softwareeinführung, Schulungen, Support – und die laufende Optimierung Ihres CRM-Systems.

  • Begeisternd.
    Wir „leben“ CRM und möchten Sie mit CRM-Software und Dienstleistungen Made in Germany begeistern. Maßstab dafür sind Begeisterung und Loyalität unserer Kunden – und deren Kunden.

  • Erfolgreich.
    Seit 30 Jahren steht der Name CURSOR für exzellentes Kunden- und Geschäftsprozessmanagement – CRM und BPM. Unseren Erfolg messen wir an der Zufriedenheit und den Markterfolgen unserer Kunden. Mehr über erfolgreiche CRM-Projekte erfahren Sie am besten direkt von unseren Anwendern.

 
 
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC77489 Status: Geschlossen

POSSIBLE INCORRECT RESULTS FROM A GROUP OF LEFT JOIN, INNER JOIN, AND
COALESCE EXPRESSION IN AN ON PREDICATE

Produkt:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problembeschreibung:
DB2 may return an incorrect result set if the query has all of 
the following patterns: 
 
1. A group of multiple LEFT OUTER JOIN and INNER JOIN. 
2. There is an INNER JOIN as a right side table of another LEFT 
OUTER JOIN. 
3. There is a COALESCE expression in the ON predicate and this 
ON predicate is not the last join of the group. 
4. The first non-null column of the COALESCE expression is from 
the tables of the INNER JOIN in (2). 
 
Example: 
 
CREATE TABLE A1 ( 
          A1_ID BIGINT NOT NULL) 
         ; 
CREATE TABLE A2 ( 
          A2_ID BIGINT NOT NULL) 
         ; 
CREATE TABLE A3 ( 
          A3_ID BIGINT NOT NULL) 
         ; 
 
CREATE TABLE B1  ( 
                  B1_SRC BIGINT NOT NULL , 
                  B1_DEST BIGINT NOT NULL ) 
                 ; 
CREATE TABLE B2   ( 
                  B2_SRC BIGINT NOT NULL , 
                  B2_DEST BIGINT NOT NULL ) 
                 ; 
CREATE TABLE B3   ( 
                  B3_SRC BIGINT NOT NULL , 
                  B3_DEST BIGINT NOT NULL ) 
                 ; 
 
INSERT INTO A1(A1_ID) VALUES 1,2; 
INSERT INTO A2(A2_ID) VALUES 1; 
INSERT INTO A3(A3_ID) VALUES 1; 
INSERT INTO B1(B1_SRC, B1_DEST) VALUES (1,1),(2,2); 
INSERT INTO B2(B2_SRC, B2_DEST) VALUES (1,1),(2,2); 
INSERT INTO B3(B3_SRC, B3_DEST) VALUES (1,1),(2,2); 
 
-- Pattern 1: A group of LEFT JOINs and INNER JOINs 
SELECT B1.B1_SRC 
FROM 
    B1 
INNER JOIN 
    A1 
ON B1.B1_DEST=A1.A1_ID 
LEFT JOIN 
    (B2 
     INNER JOIN                   -- Pattern 2: An INNER JOIN on 
the right side table of a LEFT JOIN 
     A2 
     ON B2.B2_DEST=A2.A2_ID) 
ON A1.A1_ID=B2.B2_SRC 
INNER JOIN 
    B3 
ON COALESCE(A2.A2_ID, A1.A1_ID)=B3.B3_SRC -- Pattern 3: COALESCE 
expression but not the last ON predicate 
 
        -- Pattern 4: The first non-null column A2_ID is from 
the table in (2) 
INNER JOIN 
    A3 
ON 1=1 
; 
 
The correct result set is: 
 
B1_SRC 
-------------------- 
                   1 
                   2 
 
  2 record(s) selected. 
 
To observe that a query has hit this problem, inspect the 
Optimized Statement section of the db2exfmt output of the query. 
If there is no COALESCE in the statement text, it is possible 
that the query has hit this problem.
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* DB2 may return an incorrect result set if the query has all  * 
* of                                                           * 
* the following patterns:                                      * 
*                                                              * 
* 1. A group of multiple LEFT OUTER JOIN and INNER JOIN.       * 
* 2. There is an INNER JOIN as a right side table of another   * 
* LEFT                                                         * 
* OUTER JOIN.                                                  * 
* 3. There is a COALESCE expression in the ON predicate and    * 
* this                                                         * 
* ON predicate is not the last join of the group.              * 
* 4. The first non-null column of the COALESCE expression is   * 
* from                                                         * 
* the tables of the INNER JOIN in (2).                         * 
*                                                              * 
* Example:                                                     * 
*                                                              * 
* CREATE TABLE A1 (                                            * 
*           A1_ID BIGINT NOT NULL)                             * 
*         ;                                                    * 
* CREATE TABLE A2 (                                            * 
*           A2_ID BIGINT NOT NULL)                             * 
*         ;                                                    * 
* CREATE TABLE A3 (                                            * 
*           A3_ID BIGINT NOT NULL)                             * 
*         ;                                                    * 
*                                                              * 
* CREATE TABLE B1  (                                           * 
*                   B1_SRC BIGINT NOT NULL ,                   * 
*                   B1_DEST BIGINT NOT NULL )                  * 
*                 ;                                            * 
* CREATE TABLE B2  (                                           * 
*                   B2_SRC BIGINT NOT NULL ,                   * 
*                   B2_DEST BIGINT NOT NULL )                  * 
*                 ;                                            * 
* CREATE TABLE B3  (                                           * 
*                   B3_SRC BIGINT NOT NULL ,                   * 
*                   B3_DEST BIGINT NOT NULL )                  * 
*                 ;                                            * 
*                                                              * 
* INSERT INTO A1(A1_ID) VALUES 1,2;                            * 
* INSERT INTO A2(A2_ID) VALUES 1;                              * 
* INSERT INTO A3(A3_ID) VALUES 1;                              * 
* INSERT INTO B1(B1_SRC, B1_DEST) VALUES (1,1),(2,2);          * 
* INSERT INTO B2(B2_SRC, B2_DEST) VALUES (1,1),(2,2);          * 
* INSERT INTO B3(B3_SRC, B3_DEST) VALUES (1,1),(2,2);          * 
*                                                              * 
* -- Pattern 1: A group of LEFT JOINs and INNER JOINs          * 
* SELECT B1.B1_SRC                                             * 
* FROM                                                         * 
*     B1                                                       * 
* INNER JOIN                                                   * 
*     A1                                                       * 
* ON B1.B1_DEST=A1.A1_ID                                       * 
* LEFT JOIN                                                    * 
*     (B2                                                      * 
*     INNER JOIN                  -- Pattern 2: An INNER JOIN  * 
* on                                                           * 
* the right side table of a LEFT JOIN                          * 
*     A2                                                       * 
*     ON B2.B2_DEST=A2.A2_ID)                                  * 
* ON A1.A1_ID=B2.B2_SRC                                        * 
* INNER JOIN                                                   * 
*     B3                                                       * 
* ON COALESCE(A2.A2_ID, A1.A1_ID)=B3.B3_SRC -- Pattern 3:      * 
* COALESCE                                                     * 
* expression but not the last ON predicate                     * 
*                                                              * 
*         -- Pattern 4: The first non-null column A2_ID is     * 
* from                                                         * 
* the table in (2)                                             * 
* INNER JOIN                                                   * 
*     A3                                                       * 
* ON 1=1                                                       * 
* ;                                                            * 
*                                                              * 
* The correct result set is:                                   * 
*                                                              * 
* B1_SRC                                                       * 
* --------------------                                         * 
*                   1                                          * 
*                   2                                          * 
*                                                              * 
*   2 record(s) selected.                                      * 
*                                                              * 
* To observe that a query has hit this problem, inspect the    * 
* Optimized Statement section of the db2exfmt output of the    * 
* query.                                                       * 
* If there is no COALESCE in the statement text, it is         * 
* possible                                                     * 
* that the query has hit this problem.                         * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgraded to DB2 version 9.5 Fix Pack 9.                      * 
****************************************************************
Local-Fix:
You can obtain the correct result set by manually reordering the 
LEFT JOIN/INNER JOIN in the query. 
To ensure that the rewrite is 
correct, observe that the COALESCE is in the statement text of 
the Optimized Statement section of the db2exfmt output.
verfügbare FixPacks:
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Lösung
Upgraded to DB2 version 9.5 Fix Pack 9.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
12.07.2011
05.03.2012
06.03.2012
Problem behoben ab folgender Versionen (IBM BugInfos)
9.5.FP9
Problem behoben lt. FixList in der Version
9.5.0.9 FixList