suche 36x36
  • Admin-Scout-small-Banner
           

    CURSOR Admin-Scout

    get the ultimate tool for Informix

    pfeil  
Latest versionsfixlist
14.10.xC10 FixList
12.10.xC16.X5 FixList
11.70.xC9.XB FixList
11.50.xC9.X2 FixList
11.10.xC3.W5 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

Informix - Problem description

Problem IT09439 Status: Closed

JSON LISTENER CANNNOT CORRECTLY HANDLE REGULAR EXPRESSIONS IN $REGEX

product:
INFORMIX SERVER / 5725A3900 / C10 - IDS 12.10
Problem description:
JSON listener can't handle regular expressions for $regex. 
 
Expressions like: 
 
db.arquivos.find( {"nome" :{"$regex" : /\*.[Zz][Pp][Ii]$/}}, 
{"nome":1}) will result in the following error: 
 
"code" : null, "ok" : 0, "errmsg" : "The regular expression 
/\\*.[Zz][Pp][Ii]$/ is not supported." } 
 
Listener log shows: 
 
2015-06-10 12:12:44 [JsonListener-1-thread-1] ERROR 
com.ibm.nosql.informix.json.api.InformixDMLUtils - Unable to 
process query 
com.ibm.nosql.informix.json.api.MongoException: The regular 
expression /\*.[Zz][Pp][Ii]$/ is not supported. 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertRegex 
PatternToLike(AbstractQueryProcessor.java:469) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processRegex 
(AbstractQueryProcessor.java:439) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:166) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:306) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:144) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertDBObj 
ectToWhereClause(AbstractQueryProcessor.java:338) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertDBObj 
ectToSQLQuery(AbstractQueryProcessor.java:101) 
        at 
com.ibm.nosql.informix.json.api.InformixDMLUtils.processCollecti 
onQuery(InformixDMLUtils.java:405) 
        at 
com.ibm.nosql.informix.json.api.InformixDMLUtils.processCollecti 
onQuery(InformixDMLUtils.java:327) 
        at 
com.ibm.nosql.informix.internal.request.InformixRequestHandler.p 
rocessNonSystemQuery(InformixRequestHandler.java:901) 
        at 
com.ibm.nosql.informix.internal.request.InformixRequestHandler.p 
rocessQuery(InformixRequestHandler.java:488) 
        at 
com.ibm.nosql.informix.internal.request.QueryRequest.process(Que 
ryRequest.java:250) 
        at 
com.ibm.nosql.informix.server.mongo.MongoListenerMessageHandler. 
handleMessage(MongoListenerMessageHandler.java:305) 
        at 
com.ibm.nosql.informix.server.mongo.MongoListenerMessageHandler. 
run(MongoListenerMessageHandler.java:128) 
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoo 
lExecutor.java:886) 
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe 
cutor.java:908) 
        at java.lang.Thread.run(Thread.java:736) 
 
 
Even simpler expressions like: 
 
db.arquivos.find( {nome :{$regex: /^ZIP/, $options:'i' }}) 
results in same error: 
 
"code" : null, "ok" : 0, "errmsg" : "The regular expression 
/^ZIP/ is not supported." } 
 
Listener log shows: 
 
2015-06-10 12:20:48 [JsonListener-1-thread-1] ERROR 
com.ibm.nosql.informix.json.api.InformixDMLUtils - Unable to 
process query 
com.ibm.nosql.informix.json.api.MongoException: The regular 
expression /^ZIP/ is not supported. 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertRegex 
PatternToLike(AbstractQueryProcessor.java:469) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processRegex 
(AbstractQueryProcessor.java:439) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:166) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:306) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:144) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertDBObj 
ectToWhereClause(AbstractQueryProcessor.java:338) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertDBObj 
ectToSQLQuery(AbstractQueryProcessor.java:101) 
        at 
com.ibm.nosql.informix.json.api.InformixDMLUtils.processCollecti 
onQuery(InformixDMLUtils.java:405) 
        at 
com.ibm.nosql.informix.json.api.InformixDMLUtils.processCollecti 
onQuery(InformixDMLUtils.java:327) 
        at 
com.ibm.nosql.informix.internal.request.InformixRequestHandler.p 
rocessNonSystemQuery(InformixRequestHandler.java:901) 
        at 
com.ibm.nosql.informix.internal.request.InformixRequestHandler.p 
rocessQuery(InformixRequestHandler.java:488) 
        at 
com.ibm.nosql.informix.internal.request.QueryRequest.process(Que 
ryRequest.java:250) 
        at 
com.ibm.nosql.informix.server.mongo.MongoListenerMessageHandler. 
handleMessage(MongoListenerMessageHandler.java:305) 
        at 
com.ibm.nosql.informix.server.mongo.MongoListenerMessageHandler. 
run(MongoListenerMessageHandler.java:128) 
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoo 
lExecutor.java:886) 
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe 
cutor.java:908) 
        at java.lang.Thread.run(Thread.java:736) 
 
 
If regular expression is used with $nin you will get: 
 
db.arquivos.find( { "nome" : { "$nin" : [ { "$regex" : 
/.*\.[Zz][Ii][Pp]$/}]}}, {"nome":1}) throws: 
 
"code" : null, "ok" : 0, "errmsg" : "Cannot process DB objects 
inside of an Array for $in command" } 
 
You'll see the following in the listener log file: 
 
2015-06-10 12:05:46 [JsonListener-1-thread-1] ERROR 
com.ibm.nosql.informix.json.api.InformixDMLUtils - Unable to 
process query 
com.ibm.nosql.informix.json.api.MongoException: Cannot process 
DB objects inside of an Array for $in command 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:284) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:306) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.processObjec 
t(AbstractQueryProcessor.java:144) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertDBObj 
ectToWhereClause(AbstractQueryProcessor.java:338) 
        at 
com.ibm.nosql.informix.query.AbstractQueryProcessor.convertDBObj 
ectToSQLQuery(AbstractQueryProcessor.java:101) 
        at 
com.ibm.nosql.informix.json.api.InformixDMLUtils.processCollecti 
onQuery(InformixDMLUtils.java:405) 
        at 
com.ibm.nosql.informix.json.api.InformixDMLUtils.processCollecti 
onQuery(InformixDMLUtils.java:327) 
        at 
com.ibm.nosql.informix.internal.request.InformixRequestHandler.p 
rocessNonSystemQuery(InformixRequestHandler.java:901) 
        at 
com.ibm.nosql.informix.internal.request.InformixRequestHandler.p 
rocessQuery(InformixRequestHandler.java:488) 
        at 
com.ibm.nosql.informix.internal.request.QueryRequest.process(Que 
ryRequest.java:250) 
        at 
com.ibm.nosql.informix.server.mongo.MongoListenerMessageHandler. 
handleMessage(MongoListenerMessageHandler.java:305) 
        at 
com.ibm.nosql.informix.server.mongo.MongoListenerMessageHandler. 
run(MongoListenerMessageHandler.java:128) 
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoo 
lExecutor.java:886) 
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExe 
cutor.java:908) 
        at java.lang.Thread.run(Thread.java:736)
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Users of the JSON Listener using the Mongo $regex query      * 
* operator.                                                    * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to any product release post 12.10.xC5W1.             * 
****************************************************************
Local Fix:
Solution
Workaround
not known / see Local fix
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
12.06.2015
30.12.2015
30.12.2015
Problem solved at the following versions (IBM BugInfos)
12.10.xC5
Problem solved according to the fixlist(s) of the following version(s)
Informix EditionsInformix Editions
Informix Editions
DocumentationDocumentation
Documentation
IBM NewsletterIBM Newsletter
IBM Newsletter
Current BugsCurrent Bugs
Current Bugs
Bug ResearchBug Research
Bug Research
Bug FixlistsBug Fixlists
Bug Fixlists
Release NotesRelease Notes
Release Notes
Machine NotesMachine Notes
Machine Notes
Release NewsRelease News
Release News
Product LifecycleProduct Lifecycle
Lifecycle
Media DownloadMedia Download
Media Download