Skip to main content

IC81766: CALL OF ST_ISVALID() RETURNS ERROR -392


Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • The following error was found while using the Spatial DataBlade.
    Running the SQL statement mentioned below from Python script
    causes an error.
    A similar call in dbaccess works fine, but this is not a
    workaround, because for large polygons the following error
    appears:
    
     -9642 A quoted string exceeds 32768 bytes.
    
    =======================================
      SELECT *
      FROM table(function ST_isvalid( :1 ))
    
    
    SQLCODE -392 in PREPARE:
    IX000: System error - unexpected null pointer encountered.
    
    PREPARE -392 [{'message': 'System error - unexpected null
    pointer encountered.', 'sqlstate': 'IX000'}]
    =======================================
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users, preparing SQL query which has a routine acting on *
    * a collection-derived table.                                  *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Call of ST_isvalid() returns error -392                      *
    *                                                              *
    * Example :                                                    *
    * EXEC SQL prepare sel_prep from 'SELECT * FROM table(function *
    * initcap( ? ))';                                              *
    *                                                              *
    * Whenever you use a question mark (?) in a PREPARE statement  *
    * for a host variable of a UDR in a collection-derived table,  *
    * the server cannot resolve argument  types of a routine       *
    * during prepare phase. So prepare is unsuccessful.            *
    * Server can only bind  the values successfully that are       *
    * received from a client  for a host host variables during     *
    * EXECUTE phase, as shown below                                *
    * EXEC SQL execute sel_prep into :Result using :input_value;   *
    * and                                                          *
    *  If there are mutliple UDRs with same name but different     *
    * arguments types, due to ambiguity server can't determine     *
    * return types of a UDR.                                       *
    *                                                              *
    * So for above such case, we always have to cast the host      *
    * variable of a UDR in a collection-derived table for prepare  *
    * statement to be successful.                                  *
    *                                                              *
    * Provided workaround to the customer, since we cannot handle  *
    * this at server side because of generic UDR infrastructure    *
    * currently we have.                                           *
    *                                                              *
    * Workaround :: Cast                                           *
    * SELECT * FROM table(function                                 *
    * ST_IsValid(?::st_multipolygon));                             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    * Update to IDS-11.70.xC5                                      *
    ****************************************************************
    

Problem conclusion

  • Problem Fixed In IDS-11.70.xC5
    

Temporary fix

Comments

APAR Information

  • APAR number

    IC81766

  • Reported component name

    INFORMIX SERVER

  • Reported component ID

    5725A3900

  • Reported release

    B70

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-03-01

  • Closed date

    2012-10-31

  • Last modified date

    2012-11-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    INFORMIX SERVER

  • Fixed component ID

    5725A3900

Applicable component levels

  • RB70 PSY

       UP

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

Informix Servers


Software version:
B70


Reference #:
IC81766


Modified date:
2012-11-01

Translate my page

Content navigation