Skip to Main Content
IBM Data and AI Ideas Portal for Customers


This portal is to open public enhancement requests against products and services offered by the IBM Data & AI organization. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:


Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,


Post your ideas

Post ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

IBM Employees should enter Ideas at https://ideas.ibm.com


Status Delivered
Workspace Db2 for z/OS
Created by Guest
Created on Dec 13, 2017

Index Access for MERGE sql

The sql MERGE should simplify the life of a developer. Instead of implementing an insert update logic you could just use a sql statement with merge. In case of a merge statement is to update an index column this index can't be used in the access path to avoid the halloween problem. We would expect the support of list prefetch for merge statements so these indexes could be used because tablespace scans as well as creating a new index for each case are no viable solution.
  • Admin
    Janet Figone
    Reply
    |
    Jan 19, 2023

    Dear Fabian,

    We are pleased to inform you that this enhancement request has been delivered in the Db2 13 for z/OS service stream and is available in APAR PH47581/UI82002.

    We appreciate your input to the Db2 for z/OS development team. And we hope that you will continue to submit enhancement suggestions for improvements as customer feedback is a key component to shaping the future direction of Db2 for z/OS.

    Sincerely,

    The Db2 for z/OS Team

  • Guest
    Reply
    |
    Feb 13, 2020

    Thank you for your response. We are using Db2 for z/OS Version 11 at the moment where your provided Syntax is not supported. Because the problem doesn't exist in Version 12 you can close this request.

  • Admin
    Janet Figone
    Reply
    |
    Feb 13, 2020

    Please let us know if you have any questions, or if we may now close this enhancement request. Thank you,

  • Admin
    Janet Figone
    Reply
    |
    Feb 13, 2020

    Thank you for submitting this enhancement. We have reviewed it and would like to advise that you use extended FULL MERGE with a bit of query rewrite in order to have index access path. The MERGE statement you had is the V9 MERGE and we will not enhance it.

    See example below (from CREATE INDEX to MERGE statements).

    If run with FULL merge syntax, it works, we pick index access (list prefetch) on the target table of merge.

    create unique index i1 on table1(col1,col2);

    MERGE INTO TABLE1 AS MT

    USING (

    SELECT :hv col1

    FROM SYSIBM.SYSDUMMY1 )VT

    ON ( MT.COL1 = VT.COL1)

    WHEN MATCHED THEN

    UPDATE SET MT.COL1 = VT.COL1;

    MERGE INTO TABLE1 AS MT

    USING (

    SELECT :hv col1

    FROM SYSIBM.SYSDUMMY1 )VT

    ON ( MT.COL1 = VT.COL1)

    WHEN MATCHED THEN

    UPDATE SET MT.COL2 = VT.COL1;

    Both are index access (list prefetch), no matter SET column is part of search key or not.