Skip to Main Content
IBM Power Ideas Portal


This portal is to open public enhancement requests against IBM Power Systems products, including IBM i. 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
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


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.

Status Functionality already exists
Workspace IBM i
Categories Db2 for i
Created by Guest
Created on Mar 24, 2023

Change JOURNALED_OBJECTS to only scan requested libraries/objects

select * from JOURNALED_OBJECTS WHERE OBJECT_LIBRARY = 'SYSIBM' and OBJECT_NAME = 'SYSDUMMY1';

When this SQL is run against the Journaled_Objects view, it scans all objects in all libraries. If there are objects locked that cannot be scanned, the underlying OBJECT_STATISTICS ignores the error but leaves the error condition in SQLCODE/SQLSTATE. Details of the locked objects will be in the job log with MCH2601.

Additionally, scanning all objects is a performance hit compared to checking a single object for journal info. If OBJECT_STATISTICS itself is scanning extra objects, that could impact performance of other processes that rely on this function under the covers.


Idea priority High
  • Guest
    Reply
    |
    Apr 7, 2023

    Thanks for the reply. For my particular task, I would up avoiding the use of the JOURNALED_OBJECTS view altogether.


    Specifying the JOURNAL_NAME and JOURNAL_LIBRARY actually does not yield different results. It will still scans all objects and generates job log messages and non-zero values for SQLCODE/SQLSTATE (462/01687). IBM Support says this is working as designed because the underlying function does not stop processing when the lock error is encountered. If the error is inconsequential enough to ignore internally, then maybe SQLCODE/SQLSTATE should be returning zeros instead?


    I tested this with the journal name and library:

    select

    journal_name

    from

    JOURNALED_OBJECTS

    Where

    journal_name = 'GENERAL' and

    journal_library = '#MXJRN';


    I have seen other instances of OBJECT_STATISTICS stumbling over system objects that the user does not have authority to -- so maybe it needs to more gracefully handle locked objects / skip objects with insufficient authority.


    Specifically on the view JOURNALED_OBJECTS, it should not be scanning objects in other libraries when a specific library and/or object are provided. The solution is probably to make JOURNALED_OBJECTS a function instead of a view to allow it to focus more narrowly when details are available.



  • Guest
    Reply
    |
    Apr 6, 2023
    IBM believes that the solution for the Idea described is already available.

    With all the services provided on the system, you need to use the right one to efficiently get the answer you need.

    When you use JOURNALED_OBJECTS, the service first finds journals and then the objects associated with the journal. There can be no quick way to find a specific object.
    If you know the journal that contains the object and include the JOURNAL_LIBRARY and JOURNAL_NAME in your predicates, you will get your answer faster.

    It sounds like you are looking for journal information for a specific object. Those details can be returned using OBJECT_STATISTICS directly. For this table function, you provide the library and object name and it will return information about the object including the journal attributes.