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 Not under consideration
Workspace Informix
Components Informix Server
Created by Guest
Created on Jun 30, 2022

Enhancement to DROP PROCEDURE / DROP FUNCTION syntax

Currently, the DROP PROCEDURE statement requires that the all of the procedure parameters necessary to completely identify the specific procedure. This is important due to Informix supporting polymorphic procedures, and is generally a good thing.


However, it is a minor irritant that the syntax of the DROP PROCEDURE statement requires that only the argument datatypes be included between the parentheses, such as:

DROP PROCEDURE my_procedure(int, int, char, varchar);

When editing the source for a procedure, the CREATE PROCEDURE must have variable names in addition to the datatypes, such as:

CREATE PROCEDURE my_procedure( userid int, invoiceid int, name char(16), description varchar(255))


It would be a nice feature to be able to simply copy the CREATE PROCEDURE statement and change the first word from CREATE to DROP, and add the necessary trailing ';' character.

DROP PROCEDURE my_procedure( userid int, invoiceid int, name char(16), description varchar(255));


It should be a simple task to get the parser to ignore the variable names within the DROP PROCEDURE statement.


This is not a huge thing, but it is an ongoing annoyance to have to manually remove the variable names after copying the CREATE PROCEDURE. In some cases, it can be a couple of dozen parameters that have to be manually edited before the DROP can execute.

Needed By Not sure -- Just thought it was cool
  • Guest
    Reply
    |
    Jul 15, 2022

    Note: You can use my myschema utility to get DROP statements for any or all of your routines with the -drop option:

    $ myschema -d art -f all --drop-proc 2>/dev/null |fgrep DROP|head -10
    DROP FUNCTION "art".tabname ( );
    DROP FUNCTION "art".last_four ( CHAR(9) );
    DROP FUNCTION "informix".ssd_pr3 ( INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER );
    DROP FUNCTION "art".comment_in_the_middle ( INTEGER );
    DROP FUNCTION "art".comment_between ( INTEGER );
    DROP FUNCTION "art".runcondition ( );
    DROP FUNCTION "informix".sysbldsqltextin ( "informix".lvarchar(2048) );
    DROP FUNCTION "informix".sysbldsqltextout ( "informix".sysbldsqltext(24000) );
    DROP FUNCTION "informix".sysbldsqltextsend ( "informix".sysbldsqltext(24000) );
    DROP FUNCTION "informix".sysbldsqltextrecv ( "informix".sendrecv(2048) );

  • Guest
    Reply
    |
    Jul 12, 2022

    Hopefully there would be some way to restrict it so that this only works for functions/procedures created by the users, as opposed to those provided such as the assign*, binary18*, equal, notequal, etc.

  • Guest
    Reply
    |
    Jul 7, 2022

    We have been asking for this for years, it would be incredibly useful. I believe one of the rejection reasons in the past is it was too dangerous, what if some dropped all the 'assign' functions