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
>>
>

Reply via email to