Here is the geode link for querying on enum type. https://geode.apache.org/docs/guide/112/developing/query_select/the_where_clause.html
On Fri, Apr 10, 2020 at 11:55 AM Anilkumar Gingade <[email protected]> wrote: > Hi Stephen, > > For enum type, you have to use toString() in the query where clause. > select * from /exampleRegion p where p.eStatus.toString() = 'active' > > You can find more on this at: > > https://gemfire.docs.pivotal.io/910/geode/developing/query_select/the_where_clause.html > > -Anil > > > > > On Thu, Apr 9, 2020 at 5:12 PM Chell, Stephen < > [email protected]> wrote: > >> Hi Anil, >> >> Yes, status is an enum type. >> tradeAuditAction is a field in the JSON document. >> >> Regards >> Stephen >> >> ________________________________ >> From: Anilkumar Gingade <[email protected]> >> Sent: Friday, 10 April 2020 8:53 AM >> To: [email protected] <[email protected]> >> Subject: Re: Continuous Query problem >> >> What is the type of "status" and "tradeAuditAction" fields? >> Is status enum type? >> >> -Anil >> >> >> >> On Thu, Apr 9, 2020 at 1:03 PM Jason Huynh <[email protected]<mailto: >> [email protected]>> wrote: >> Hi Stephen, >> >> I am not sure how the cq operation is null. I tried to reproduce with a >> test (not exactly the same and haven't been able to so far). The queries >> themselves look like they should work. When populating the second region, >> is the client cq just doing a put back to the server or is it using some >> other mechanism to update the region? Is there more than 1 client that is >> updating the region (not sure it would matter, just seeing if there is a >> chance at a possible version incompatibility). It looks like the server is >> on 1.9.2? >> >> Anyone else with any ideas, please chime in :-) >> >> -Jason >> >> >> >> >> >> On Wed, Apr 8, 2020 at 11:26 PM Chell, Stephen < >> [email protected]<mailto:[email protected]>> wrote: >> Hi all, >> >> Has anyone come across the following error before when using continuous >> queries? >> >> java.lang.Throwable: Exception occurred while applying query on a cache >> event. >> at >> org.apache.geode.cache.query.cq.internal.CqEventImpl.setException(CqEventImpl.java:131) >> ~[geode-cq-1.9.2.jar!/:na] >> at >> org.apache.geode.cache.query.cq.internal.CqEventImpl.<init>(CqEventImpl.java:53) >> ~[geode-cq-1.9.2.jar!/:na] >> at >> org.apache.geode.cache.query.cq.internal.CqServiceImpl.dispatchCqListeners(CqServiceImpl.java:960) >> ~[geode-cq-1.9.2.jar!/:na] >> at >> org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.processCqs(CacheClientUpdater.java:1319) >> [geode-core-1.9.2.jar!/:na] >> at >> org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.handleUpdate(CacheClientUpdater.java:757) >> [geode-core-1.9.2.jar!/:na] >> at >> org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.processMessages(CacheClientUpdater.java:1660) >> [geode-core-1.9.2.jar!/:na] >> at >> org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.run(CacheClientUpdater.java:487) >> [geode-core-1.9.2.jar!/:na] >> >> I have two continuous queries in my app. The first one works, the second >> one doesn't. >> >> The first one is: >> SELECT * from /FM_TRADE_EVENTS WHERE tradeAuditAction <> 'MATURE' >> It fetches JSON documents that have been serialized as PDX. The onEvent >> method in my CqListener implementation is successfully called with events >> that look like: >> CqEvent [CqName=tradeEventListener; base operation=CREATE; cq >> operation=CREATE; key=TRADE-1006; value=PDX[19350515,__GEMFIRE_JSON]{...}] >> (I've replaced the JSON document with ... for brevity.) >> >> The second one selects from a different region: >> SELECT * from /FM_TRADE_EVENTS_STATE WHERE subscriberID = 'MIR' AND >> status.name<http://status.name> = 'Pending' >> It fetches objects that were serialized from java POJOs of type >> GemfireEventState (a custom type). The onError method (not onEvent) in my >> CqListener implementation is called with events that look like: >> CqEvent [CqName=tradeEventStateListener; base operation=CREATE; cq >> operation=null; key=TRADE-1006:MIR; >> value=com.westpac.rdp.event.gemfire.GemfireEventState@2b503086 >> [eventKey=TRADE-1006,subscriberID=MIR,status=Pending,errorMessage=<null>]] >> ... and they contain a throwable as above. >> >> It looks like the second query fails because the event has the "cq >> operation" field set to null. The question is why is it null? (In the >> first one both the base operation and cq operation are CREATE). >> >> Another piece of info that may be relevant: the region queried by the >> second CqListener is populated by the first CqListener >> >> Any help would be much appreciated! >> >> Thanks in advance ... >> >> Stephen >> >> Confidential communication >> Westpac Banking Corporation (ABN 33 007 457 141, AFSL 233714) >> Westpac Institutional Bank is a division of Westpac Banking Corporation >> >> Confidential communication >> Westpac Banking Corporation (ABN 33 007 457 141, AFSL 233714) >> Westpac Institutional Bank is a division of Westpac Banking Corporation >> >
