IBM Support

IZ61540: IN XML QUERY USING #X20+ INSTEAD OF \S (SPACE) IN THE BEGINING OF A STRING WITH OPTION 'IX' WILL CAUSE THE DATABASE TO CRASH.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In an XML query if your using #x20+ instead of \s (space) in the
    beginning a search string passed to fn:matches function with
    'ix' option can cause the database/instance to crash. For
    example:
    
    ... fn:matches(@description,"#x20+Hello","ix") ...
    
    First please note that the correct way to reference the 'space'
    in its hexadecimal format is ' '. So the correct way to
    represent the query above would be:
    
    ... fn:matches(@description," Hello","ix") ...
    
    If you add the + character after   in the search pattern,
    you will get SQL16068N:
    
    ... fn:matches(@description," +Hello","ix") ...
    
    The regular expression argument '+Hello' passed to function
    'fn:matches' is not valid. This is because the "x" flag passed
    to fn:matches indicates that the whitespace characters within
    pattern are ignored. Because of the pattern " +Hello"
    becomes:  "+Hello".     The quantifier "+" is not allowed at the
    beginning of a pattern.
    

Local fix

  • In the example given in the problem description, the right
    search string to pass function fn:matches is:
    
    ... fn:matches(@description," Hello","ix") ...
    

Problem summary

  • In an XML query if your using #x20+ instead of \s (space) in the
    beginning a search string passed to fn:matches function with
    'ix' option can cause the database/instance to crash. For
    example:
    
    ... fn:matches(@description,"#x20+Hello","ix") ...
    
    First please note that the correct way to reference the 'space'
    in its hexadecimal format is ' '. So the correct way to
    represent the query above would be:
    
    ... fn:matches(@description," Hello","ix") ...
    
    If you add the + character after   in the search pattern,
    you will get SQL16068N:
    
    ... fn:matches(@description," +Hello","ix") ...
    
    The regular expression argument '+Hello' passed to function
    'fn:matches' is not valid. This is because the "x" flag passed
    to fn:matches indicates that the whitespace characters within
    pattern are ignored. Because of the pattern " +Hello"
    becomes:  "+Hello".     The quantifier "+" is not allowed at the
    beginning of a pattern.
    

Problem conclusion

  • Defect   => wsdbu00578675
    Fixed in => v9.5 + FP6
    Module   => engn_xmschema
    

Temporary fix

  • In the example given in the problem description, the right
    search string to pass function fn:matches is:
    
    ... fn:matches(@description," Hello","ix") ...
    

Comments

APAR Information

  • APAR number

    IZ61540

  • Reported component name

    DB2 UDB ESE SOL

  • Reported component ID

    5765F4102

  • Reported release

    950

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2009-09-23

  • Closed date

    2010-09-24

  • Last modified date

    2010-09-24

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

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

    IC63383

Fix information

  • Fixed component name

    DB2 UDB ESE SOL

  • Fixed component ID

    5765F4102

Applicable component levels

  • R950 PSY

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"950","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
24 September 2010