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 Delivered
Workspace IBM i
Categories Db2 for i
Created by Guest
Created on Jul 4, 2024

Bring JSON_SET function to i

I am writing to propose the development and implementation of a new function, JSON_SET(), on the IBM i system. As developers on the IBM i platform, we face limitations in manipulating JSON data, which has become increasingly prevalent in modern applications. Given that there are not many options for NoSQL databases on IBM i yet, we are leveraging our DB2 for i tables to store JSON data. However, this approach would greatly benefit from enhanced manipulation capabilities provided by a JSON_SET() function.

Benefits of Implementing JSON_SET() Function

Enhanced Data Manipulation:

  • Ease of Use: The JSON_SET() function would simplify the process of updating JSON data within our DB2 for i tables. Developers could easily add, update, or remove key-value pairs without complex and error-prone string manipulation.
  • Increased Efficiency: By providing a built-in method to modify JSON data, we can reduce the overhead associated with manual data parsing and reconstruction. This will lead to faster development cycles and more efficient code execution.

Improved Data Integrity:

  • Consistency: Ensuring JSON data integrity and consistency can be challenging with current methods. The JSON_SET() function would help maintain data structure and validity, reducing the risk of errors and inconsistencies.
  • Transaction Safety: Leveraging DB2 for i's transactional capabilities with JSON manipulation ensures that changes are atomic, consistent, isolated, and durable (ACID properties).

Modernization and Competitiveness:

  • Alignment with Modern Practices: JSON is a widely adopted data interchange format in modern web and mobile applications. By enhancing our capabilities to handle JSON data natively, we align our IBM i platform with contemporary development practices.
  • Attracting Talent: Modernizing our toolset helps attract and retain talented developers who are accustomed to working with JSON and other modern technologies.

Enhanced Interoperability:

  • Integration with Other Systems: Many external systems and APIs use JSON as their primary data format. Having robust JSON manipulation functions like JSON_SET() facilitates easier integration and data exchange with these systems.
  • Support for Hybrid Solutions: As we continue to adopt hybrid solutions involving both traditional relational databases and NoSQL data structures, the ability to efficiently handle JSON within DB2 for i becomes increasingly important.

Developer Productivity:

  • Reduced Complexity: Simplifying JSON manipulations reduces the cognitive load on developers, allowing them to focus on implementing business logic rather than handling data format intricacies.
  • Code Maintainability: Built-in functions like JSON_SET() lead to cleaner and more maintainable code, as they abstract away the complexities of data manipulation.

Conclusion

The implementation of a JSON_SET() function on the IBM i system will significantly enhance our ability to work with JSON data, aligning with modern development practices and improving overall efficiency. This function will not only streamline data manipulation processes but also support our ongoing efforts to modernize the IBM i platform and make it more attractive to developers.

I believe this enhancement will be a valuable addition to our toolset and look forward to discussing this proposal further.

Thank you for considering this request.

Idea priority High
  • Guest
    Reply
    |
    Jul 31, 2024
    IBM believes that the solution for this Idea is available with the JSON_UPDATE function.
    This idea is being closed.

    Db2 for i development team
    IBM Power Systems Development
  • Guest
    Reply
    |
    Jul 18, 2024

    I am truly sorry for not looking into this earlier and for not registering it. It seems I've been living under a rock when it comes to IBM i development updates! Clearly, I need to pay more attention to the IBM i dev team announcements and make it a point to attend more of the IBM i Common conferences. Maybe I'll even bring some extra coffee to stay alert during those sessions!

    Thank you for pointing out the JSON_UPDATE function. I will certainly evaluate it for our update requirements. It looks like it might just be the solution we need.

    I appreciate all the hard work you do to keep us developers in the loop. I'll definitely be keeping a closer eye on updates from now on!

  • Guest
    Reply
    |
    Jul 18, 2024
    We added the JSON_UPDATE function to Db2 for i two years ago. Have you evaluated using it for your update requirement?
    https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_75/db2/rbafzscajsonupdate.htm

    Db2 for i development team
    IBM Power Systems Development
  • Guest
    Reply
    |
    Jul 6, 2024

    Just curious is this different than JSON_UPDATE?